@fiction/widget 1.0.50 → 1.0.52
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/dist/widget.js +1 -1
- package/package.json +4 -4
package/dist/widget.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var FictionWidget=function(e){"use strict";var t=Object.defineProperty,r=(e,r,i)=>((e,r,i)=>r in e?t(e,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[r]=i)(e,"symbol"!=typeof r?r+"":r,i),i=Object.defineProperty,n=(e,t,r)=>((e,t,r)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);const o=e=>"symbol"==typeof e;let a;const s=()=>a||(a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(o)),s().requestIdleCallback,s().cancelIdleCallback;{const e=s(),t=(t,r)=>{let i;return(i=e[t])||(i=e[t]=[]),i.push(r),e=>{i.length>1?i.forEach(t=>t(e)):i[0](e)}};t("__VUE_INSTANCE_SETTERS__",e=>e),t("__VUE_SSR_SETTERS__",e=>e)}function l({prefix:e="id_"}={}){const t=e.length>=3?e.substring(0,3):e.padEnd(3,"_"),r=Math.floor(Date.now()/1e3).toString(16).padStart(8,"0");let i="";for(let n=0;n<16;n++)i+=Math.floor(16*Math.random()).toString(16);return t+r+i}g.default=g,g.stable=b,g.stableStringify=b;var c="[...]",d="[Circular]",h=[],u=[];function p(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function g(e,t,r,i){var n;void 0===i&&(i=p()),v(e,"",0,[],void 0,0,i);try{n=0===u.length?JSON.stringify(e,t,r):JSON.stringify(e,w(t),r)}catch(a){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==h.length;){var o=h.pop();4===o.length?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return n}function m(e,t,r,i){var n=Object.getOwnPropertyDescriptor(i,r);void 0!==n.get?n.configurable?(Object.defineProperty(i,r,{value:e}),h.push([i,r,t,n])):u.push([t,r,e]):(i[r]=e,h.push([i,r,t]))}function v(e,t,r,i,n,o,a){var s;if(o+=1,"object"==typeof e&&null!==e){for(s=0;s<i.length;s++)if(i[s]===e)return void m(d,e,t,n);if(void 0!==a.depthLimit&&o>a.depthLimit)return void m(c,e,t,n);if(void 0!==a.edgesLimit&&r+1>a.edgesLimit)return void m(c,e,t,n);if(i.push(e),Array.isArray(e))for(s=0;s<e.length;s++)v(e[s],s,s,i,e,o,a);else{var l=Object.keys(e);for(s=0;s<l.length;s++){var h=l[s];v(e[h],h,s,i,e,o,a)}}i.pop()}}function f(e,t){return e<t?-1:e>t?1:0}function b(e,t,r,i){void 0===i&&(i=p());var n,o=k(e,"",0,[],void 0,0,i)||e;try{n=0===u.length?JSON.stringify(o,t,r):JSON.stringify(o,w(t),r)}catch(s){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==h.length;){var a=h.pop();4===a.length?Object.defineProperty(a[0],a[1],a[3]):a[0][a[1]]=a[2]}}return n}function k(e,t,r,i,n,o,a){var s;if(o+=1,"object"==typeof e&&null!==e){for(s=0;s<i.length;s++)if(i[s]===e)return void m(d,e,t,n);try{if("function"==typeof e.toJSON)return}catch(g){return}if(void 0!==a.depthLimit&&o>a.depthLimit)return void m(c,e,t,n);if(void 0!==a.edgesLimit&&r+1>a.edgesLimit)return void m(c,e,t,n);if(i.push(e),Array.isArray(e))for(s=0;s<e.length;s++)k(e[s],s,s,i,e,o,a);else{var l={},u=Object.keys(e).sort(f);for(s=0;s<u.length;s++){var p=u[s];k(e[p],p,s,i,e,o,a),l[p]=e[p]}if(void 0===n)return l;h.push([n,t,e]),n[t]=l}i.pop()}}function w(e){return e=void 0!==e?e:function(e,t){return t},function(t,r){if(u.length>0)for(var i=0;i<u.length;i++){var n=u[i];if(n[1]===t&&n[0]===r){r=n[2],u.splice(i,1);break}}return e.call(this,t,r)}}!function(){var e=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function t(e,t){var r=e[0],i=e[1],n=e[2],o=e[3];i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&n|~i&o)+t[0]-680876936|0)<<7|r>>>25)+i|0)&i|~r&n)+t[1]-389564586|0)<<12|o>>>20)+r|0)&r|~o&i)+t[2]+606105819|0)<<17|n>>>15)+o|0)&o|~n&r)+t[3]-1044525330|0)<<22|i>>>10)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&n|~i&o)+t[4]-176418897|0)<<7|r>>>25)+i|0)&i|~r&n)+t[5]+1200080426|0)<<12|o>>>20)+r|0)&r|~o&i)+t[6]-1473231341|0)<<17|n>>>15)+o|0)&o|~n&r)+t[7]-45705983|0)<<22|i>>>10)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&n|~i&o)+t[8]+1770035416|0)<<7|r>>>25)+i|0)&i|~r&n)+t[9]-1958414417|0)<<12|o>>>20)+r|0)&r|~o&i)+t[10]-42063|0)<<17|n>>>15)+o|0)&o|~n&r)+t[11]-1990404162|0)<<22|i>>>10)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&n|~i&o)+t[12]+1804603682|0)<<7|r>>>25)+i|0)&i|~r&n)+t[13]-40341101|0)<<12|o>>>20)+r|0)&r|~o&i)+t[14]-1502002290|0)<<17|n>>>15)+o|0)&o|~n&r)+t[15]+1236535329|0)<<22|i>>>10)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&o|n&~o)+t[1]-165796510|0)<<5|r>>>27)+i|0)&n|i&~n)+t[6]-1069501632|0)<<9|o>>>23)+r|0)&i|r&~i)+t[11]+643717713|0)<<14|n>>>18)+o|0)&r|o&~r)+t[0]-373897302|0)<<20|i>>>12)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&o|n&~o)+t[5]-701558691|0)<<5|r>>>27)+i|0)&n|i&~n)+t[10]+38016083|0)<<9|o>>>23)+r|0)&i|r&~i)+t[15]-660478335|0)<<14|n>>>18)+o|0)&r|o&~r)+t[4]-405537848|0)<<20|i>>>12)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&o|n&~o)+t[9]+568446438|0)<<5|r>>>27)+i|0)&n|i&~n)+t[14]-1019803690|0)<<9|o>>>23)+r|0)&i|r&~i)+t[3]-187363961|0)<<14|n>>>18)+o|0)&r|o&~r)+t[8]+1163531501|0)<<20|i>>>12)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&o|n&~o)+t[13]-1444681467|0)<<5|r>>>27)+i|0)&n|i&~n)+t[2]-51403784|0)<<9|o>>>23)+r|0)&i|r&~i)+t[7]+1735328473|0)<<14|n>>>18)+o|0)&r|o&~r)+t[12]-1926607734|0)<<20|i>>>12)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i^n^o)+t[5]-378558|0)<<4|r>>>28)+i|0)^i^n)+t[8]-2022574463|0)<<11|o>>>21)+r|0)^r^i)+t[11]+1839030562|0)<<16|n>>>16)+o|0)^o^r)+t[14]-35309556|0)<<23|i>>>9)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i^n^o)+t[1]-1530992060|0)<<4|r>>>28)+i|0)^i^n)+t[4]+1272893353|0)<<11|o>>>21)+r|0)^r^i)+t[7]-155497632|0)<<16|n>>>16)+o|0)^o^r)+t[10]-1094730640|0)<<23|i>>>9)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i^n^o)+t[13]+681279174|0)<<4|r>>>28)+i|0)^i^n)+t[0]-358537222|0)<<11|o>>>21)+r|0)^r^i)+t[3]-722521979|0)<<16|n>>>16)+o|0)^o^r)+t[6]+76029189|0)<<23|i>>>9)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i^n^o)+t[9]-640364487|0)<<4|r>>>28)+i|0)^i^n)+t[12]-421815835|0)<<11|o>>>21)+r|0)^r^i)+t[15]+530742520|0)<<16|n>>>16)+o|0)^o^r)+t[2]-995338651|0)<<23|i>>>9)+n|0,i=((i+=((o=((o+=(i^((r=((r+=(n^(i|~o))+t[0]-198630844|0)<<6|r>>>26)+i|0)|~n))+t[7]+1126891415|0)<<10|o>>>22)+r|0)^((n=((n+=(r^(o|~i))+t[14]-1416354905|0)<<15|n>>>17)+o|0)|~r))+t[5]-57434055|0)<<21|i>>>11)+n|0,i=((i+=((o=((o+=(i^((r=((r+=(n^(i|~o))+t[12]+1700485571|0)<<6|r>>>26)+i|0)|~n))+t[3]-1894986606|0)<<10|o>>>22)+r|0)^((n=((n+=(r^(o|~i))+t[10]-1051523|0)<<15|n>>>17)+o|0)|~r))+t[1]-2054922799|0)<<21|i>>>11)+n|0,i=((i+=((o=((o+=(i^((r=((r+=(n^(i|~o))+t[8]+1873313359|0)<<6|r>>>26)+i|0)|~n))+t[15]-30611744|0)<<10|o>>>22)+r|0)^((n=((n+=(r^(o|~i))+t[6]-1560198380|0)<<15|n>>>17)+o|0)|~r))+t[13]+1309151649|0)<<21|i>>>11)+n|0,i=((i+=((o=((o+=(i^((r=((r+=(n^(i|~o))+t[4]-145523070|0)<<6|r>>>26)+i|0)|~n))+t[11]-1120210379|0)<<10|o>>>22)+r|0)^((n=((n+=(r^(o|~i))+t[2]+718787259|0)<<15|n>>>17)+o|0)|~r))+t[9]-343485551|0)<<21|i>>>11)+n|0,e[0]=r+e[0]|0,e[1]=i+e[1]|0,e[2]=n+e[2]|0,e[3]=o+e[3]|0}function r(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return r}function i(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24);return r}function n(e){var i,n,o,a,s,l,c=e.length,d=[1732584193,-271733879,-1732584194,271733878];for(i=64;i<=c;i+=64)t(d,r(e.substring(i-64,i)));for(n=(e=e.substring(i-64)).length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=0;i<n;i+=1)o[i>>2]|=e.charCodeAt(i)<<(i%4<<3);if(o[i>>2]|=128<<(i%4<<3),i>55)for(t(d,o),i=0;i<16;i+=1)o[i]=0;return a=(a=8*c).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),l=parseInt(a[1],16)||0,o[14]=s,o[15]=l,t(d,o),d}function o(t){var r,i="";for(r=0;r<4;r+=1)i+=e[t>>8*r+4&15]+e[t>>8*r&15];return i}function a(e){var t;for(t=0;t<e.length;t+=1)e[t]=o(e[t]);return e.join("")}function s(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function l(e){var t,r=[],i=e.length;for(t=0;t<i-1;t+=2)r.push(parseInt(e.substr(t,2),16));return String.fromCharCode.apply(String,r)}function c(){this.reset()}a(n("hello")),"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function e(e,t){return(e=0|e||0)<0?Math.max(e+t,0):Math.min(e,t)}ArrayBuffer.prototype.slice=function(t,r){var i,n,o,a,s=this.byteLength,l=e(t,s),c=s;return undefined!==r&&(c=e(r,s)),l>c?new ArrayBuffer(0):(i=c-l,n=new ArrayBuffer(i),o=new Uint8Array(n),a=new Uint8Array(this,l,i),o.set(a),n)}}(),c.prototype.append=function(e){return this.appendBinary(s(e)),this},c.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var i,n=this._buff.length;for(i=64;i<=n;i+=64)t(this._hash,r(this._buff.substring(i-64,i)));return this._buff=this._buff.substring(i-64),this},c.prototype.end=function(e){var t,r,i=this._buff,n=i.length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<n;t+=1)o[t>>2]|=i.charCodeAt(t)<<(t%4<<3);return this._finish(o,n),r=a(this._hash),e&&(r=l(r)),this.reset(),r},c.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},c.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},c.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this},c.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},c.prototype._finish=function(e,r){var i,n,o,a=r;if(e[a>>2]|=128<<(a%4<<3),a>55)for(t(this._hash,e),a=0;a<16;a+=1)e[a]=0;i=(i=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),n=parseInt(i[2],16),o=parseInt(i[1],16)||0,e[14]=n,e[15]=o,t(this._hash,e)},c.hash=function(e,t){return c.hashBinary(s(e),t)},c.hashBinary=function(e,t){var r=a(n(e));return t?l(r):r},c.ArrayBuffer=function(){this.reset()},c.ArrayBuffer.prototype.append=function(e){var r,n,o,a,s=(n=this._buff.buffer,o=e,(a=new Uint8Array(n.byteLength+o.byteLength)).set(new Uint8Array(n)),a.set(new Uint8Array(o),n.byteLength),a),l=s.length;for(this._length+=e.byteLength,r=64;r<=l;r+=64)t(this._hash,i(s.subarray(r-64,r)));return this._buff=r-64<l?new Uint8Array(s.buffer.slice(r-64)):new Uint8Array(0),this},c.ArrayBuffer.prototype.end=function(e){var t,r,i=this._buff,n=i.length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<n;t+=1)o[t>>2]|=i[t]<<(t%4<<3);return this._finish(o,n),r=a(this._hash),e&&(r=l(r)),this.reset(),r},c.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},c.ArrayBuffer.prototype.getState=function(){var e,t=c.prototype.getState.call(this);return t.buff=(e=t.buff,String.fromCharCode.apply(null,new Uint8Array(e))),t},c.ArrayBuffer.prototype.setState=function(e){return e.buff=function(e,t){var r,i=e.length,n=new ArrayBuffer(i),o=new Uint8Array(n);for(r=0;r<i;r+=1)o[r]=e.charCodeAt(r);return t?o:n}(e.buff,!0),c.prototype.setState.call(this,e)},c.ArrayBuffer.prototype.destroy=c.prototype.destroy,c.ArrayBuffer.prototype._finish=c.prototype._finish,c.ArrayBuffer.hash=function(e,r){var n=a(function(e){var r,n,o,a,s,l,c=e.length,d=[1732584193,-271733879,-1732584194,271733878];for(r=64;r<=c;r+=64)t(d,i(e.subarray(r-64,r)));for(n=(e=r-64<c?e.subarray(r-64):new Uint8Array(0)).length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r=0;r<n;r+=1)o[r>>2]|=e[r]<<(r%4<<3);if(o[r>>2]|=128<<(r%4<<3),r>55)for(t(d,o),r=0;r<16;r+=1)o[r]=0;return a=(a=8*c).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),l=parseInt(a[1],16)||0,o[14]=s,o[15]=l,t(d,o),d}(new Uint8Array(e)));return r?l(n):n}}();const y="undefined"!=typeof window,x=!y&&"undefined"!=typeof globalThis&&void 0!==globalThis.process,C={error:{priority:50,color:"#FF0000",nodeColor:"\x1b[31m"},warn:{priority:40,color:"#FFA500",nodeColor:"\x1b[33m"},info:{priority:30,color:"#00ABFF",nodeColor:"\x1b[36m"},debug:{priority:20,color:"#00BD0C",nodeColor:"\x1b[32m"},trace:{priority:10,color:"#5233FF",nodeColor:"\x1b[35m"}};class S{constructor(e={},t){n(this,"settings"),n(this,"enabledInBrowser",!1),n(this,"context"),this.context=t,this.settings={enabled:e.enabled??!0,minLevel:e.minLevel??(this.isProduction()?"info":"trace"),colors:e.colors??!0,timestamps:e.timestamps??!0},y&&this.initBrowserLogging()}isProduction(){var e,t;if(x)return"production"===(null==(t=null==(e=globalThis.process)?void 0:e.env)?void 0:t.NODE_ENV);if(y&&window.location){const e=window.location.hostname;return"localhost"!==e&&!e.includes("127.0.0.1")}return!1}initBrowserLogging(){var e;if(!y)return;const t=(null==(e=window.location)?void 0:e.hostname)||"";this.enabledInBrowser=!this.isProduction()||"localhost"===t||t.includes("127.0.0.1")||"true"===localStorage.getItem("enableLogging"),!this.enabledInBrowser&&this.isProduction()}shouldLog(e){return!!this.settings.enabled&&(!(y&&!this.enabledInBrowser)&&C[e].priority>=C[this.settings.minLevel].priority)}formatTimestamp(){return(new Date).toLocaleTimeString("en-GB",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}formatData(e,t=5,r=0,i=12e3,n=100){var o,a,s;if(r>=t)return`[Max Depth Reached: ${t}]`;if(null==e)return e;if(e instanceof Error)return{name:e.name,message:e.message,stack:null==(o=e.stack)?void 0:o.split("\n").slice(0,5).join("\n")};if(e instanceof Date)return`DATE: ${e.toISOString()}`;if("object"!=typeof e)return e;if(Array.isArray(e))return e.length>20?`Array(${e.length}) [${e.slice(0,3).map(e=>this.formatData(e,t,r+1,i,n)).join(", ")}, ...]`:e.map(e=>this.formatData(e,t,r+1,i,n));try{const t=JSON.stringify(e);if(t.length>i){return`[${(a=e)instanceof Map?"Map":a instanceof Set?"Set":(null==(s=a.constructor)?void 0:s.name)??"Object"}: ${Object.keys(e).length} properties, Size: ${t.length}/${i}]`}}catch{return"[Circular Reference or Unserializable]"}const l={},c=Object.entries(e).slice(0,n);for(const[d,h]of c)try{l[d]=this.formatData(h,t,r+1,i,n)}catch{l[d]="[Circular or Unserializable]"}return Object.keys(e).length>n&&(l["..."]=Object.keys(e).length-n+" more properties"),l}logToBrowser(e){if(!y||!this.shouldLog(e.level))return;const{level:t,description:r,context:i,data:n,error:o}=e,a=C[t];i||this.context,this.settings.timestamps&&this.formatTimestamp(),a.color,a.color,a.color,a.color,void 0!==n&&n instanceof Error&&n.stack}logError(e){const{error:t,context:r="Unknown Context",description:i}=e,n=t,o=(this.formatTimestamp(),"\x1b[0m");`\x1b[31m(${r}):${o}`.padEnd(15),n.message;n.message,n.stack&&n.stack.split("\n").slice(1,6).map(e=>`\x1b[2m${e.trim()}${o}`).join("\n")}logToNode(e){if(!x||!this.shouldLog(e.level))return;const{level:t,description:r,context:i,data:n,error:o}=e,a=C[t],s=i||this.context||"app";this.settings.timestamps&&this.formatTimestamp();if(o)return void this.logError({error:o,context:s,description:r});const l=this.settings.colors?a.nodeColor:"";t.toUpperCase(),`${l}(${s}):\x1b[0m`.padEnd(15),void 0!==n&&(n instanceof Error?this.logError({error:n,context:s}):this.formatData(n))}log(e){y?this.logToBrowser(e):x&&this.logToNode(e)}error(e,t){this.log({level:"error",description:e,data:t,context:this.context})}warn(e,t){this.log({level:"warn",description:e,data:t,context:this.context})}info(e,t){this.log({level:"info",description:e,data:t,context:this.context})}debug(e,t){this.log({level:"debug",description:e,data:t,context:this.context})}trace(e,t){this.log({level:"trace",description:e,data:t,context:this.context})}createContextLogger(e){const t=new S(this.settings,e);return{error:(e,r)=>t.error(e,r),warn:(e,r)=>t.warn(e,r),info:(e,r)=>t.info(e,r),debug:(e,r)=>t.debug(e,r),trace:(e,r)=>t.trace(e,r)}}setLevel(e){this.settings.minLevel=e}setEnabled(e){this.settings.enabled=e}}const T=new S;function E(e){const t=Object.create(null);for(const r of e.split(","))t[r]=1;return e=>e in t}T.error.bind(T),T.warn.bind(T),T.info.bind(T),T.debug.bind(T),T.trace.bind(T),new class{constructor(e=".body-content"){n(this,"originalBodyPosition"),n(this,"originalBodyTop"),n(this,"originalBodyLeft"),n(this,"originalBodyWidth"),n(this,"originalBodyOverflow"),n(this,"originalScrollPosition"),n(this,"siteContentElement"),n(this,"isActivated",!1),n(this,"clearTimeout"),this.originalBodyPosition="",this.originalBodyTop="",this.originalBodyLeft="",this.originalBodyWidth="",this.originalBodyOverflow="",this.originalScrollPosition=0,"undefined"!=typeof document&&(this.siteContentElement=document.querySelector(e))}activate(){if("undefined"==typeof document)return;this.clearTimeout&&clearTimeout(this.clearTimeout),this.isActivated=!0,this.originalBodyPosition=document.body.style.position,this.originalBodyTop=document.body.style.top,this.originalBodyLeft=document.body.style.left,this.originalBodyWidth=document.body.style.width,this.originalBodyOverflow=document.body.style.overflow,this.originalScrollPosition=window.pageYOffset;const e=window.innerHeight,t=document.documentElement.scrollHeight-e,r=t>0?this.originalScrollPosition/t:0,i=Math.min(Math.max(100*r,30),70);document.body.style.position="fixed",document.body.style.top=`-${this.originalScrollPosition}px`,document.body.style.left="0",document.body.style.width="100%",document.body.style.overflow="hidden",this.siteContentElement&&(this.siteContentElement.style.transformOrigin=`center ${i}%`,this.siteContentElement.style.transform="scale(.96)",this.siteContentElement.style.transition="transform .75s cubic-bezier(0.25, 1, 0.33, 1)",this.siteContentElement.style.overflow="hidden")}deactivate(){"undefined"!=typeof document&&this.isActivated&&(this.isActivated=!1,document.body.style.position=this.originalBodyPosition,document.body.style.top=this.originalBodyTop,document.body.style.left=this.originalBodyLeft,document.body.style.width=this.originalBodyWidth,document.body.style.overflow=this.originalBodyOverflow,this.siteContentElement&&(this.siteContentElement.style.transform="scale(1)",this.siteContentElement.style.overflow=""),window.scrollTo(0,this.originalScrollPosition),this.clearTimeout=setTimeout(()=>{this.siteContentElement&&(this.siteContentElement.style.transform="",this.siteContentElement.style.transformOrigin="",this.siteContentElement.style.transition="")},1500))}},new class{constructor(){n(this,"callbacks",new Set),n(this,"initialized",!1)}get _testCallbacks(){return this.callbacks}get _testInitialized(){return this.initialized}set _testInitialized(e){this.initialized=e}onReset(e){return"undefined"==typeof window?()=>{}:(this.callbacks.add(e),this.init(),()=>this.callbacks.delete(e))}reset(){this.callbacks.forEach(e=>{try{e()}catch(t){}})}init(){this.initialized||"undefined"==typeof window||(this.initialized=!0,window.addEventListener("keydown",e=>{"Escape"===e.key&&this.reset()}),window.addEventListener("click",()=>this.reset()),this.initRouteWatcher())}initRouteWatcher(){window.addEventListener("popstate",()=>this.reset());const e=history.pushState.bind(history),t=history.replaceState.bind(history);history.pushState=(...t)=>{e(...t),setTimeout(()=>this.reset(),0)},history.replaceState=(...e)=>{t(...e),setTimeout(()=>this.reset(),0)}}};const I={},P=[],_=()=>{},M=()=>!1,R=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),A=e=>e.startsWith("onUpdate:"),O=Object.assign,D=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},L=Object.prototype.hasOwnProperty,N=(e,t)=>L.call(e,t),j=Array.isArray,U=e=>"[object Map]"===$(e),z=e=>"[object Set]"===$(e),F=e=>"function"==typeof e,B=e=>"string"==typeof e,V=e=>"symbol"==typeof e,q=e=>null!==e&&"object"==typeof e,H=e=>(q(e)||F(e))&&F(e.then)&&F(e.catch),W=Object.prototype.toString,$=e=>W.call(e),G=e=>"[object Object]"===$(e),J=e=>B(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,K=E(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Q=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},Z=/-\w/g,Y=Q(e=>e.replace(Z,e=>e.slice(1).toUpperCase())),X=/\B([A-Z])/g,ee=Q(e=>e.replace(X,"-$1").toLowerCase()),te=Q(e=>e.charAt(0).toUpperCase()+e.slice(1)),re=Q(e=>e?`on${te(e)}`:""),ie=(e,t)=>!Object.is(e,t),ne=(e,...t)=>{for(let r=0;r<e.length;r++)e[r](...t)},oe=(e,t,r,i=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:r})},ae=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let se;const le=()=>se||(se="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function ce(e){if(j(e)){const t={};for(let r=0;r<e.length;r++){const i=e[r],n=B(i)?pe(i):ce(i);if(n)for(const e in n)t[e]=n[e]}return t}if(B(e)||q(e))return e}const de=/;(?![^(]*\))/g,he=/:([^]+)/,ue=/\/\*[^]*?\*\//g;function pe(e){const t={};return e.replace(ue,"").split(de).forEach(e=>{if(e){const r=e.split(he);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ge(e){let t="";if(B(e))t=e;else if(j(e))for(let r=0;r<e.length;r++){const i=ge(e[r]);i&&(t+=i+" ")}else if(q(e))for(const r in e)e[r]&&(t+=r+" ");return t.trim()}function me(e){if(!e)return null;let{class:t,style:r}=e;return t&&!B(t)&&(e.class=ge(t)),r&&(e.style=ce(r)),e}const ve=E("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function fe(e){return!!e||""===e}const be=e=>!(!e||!0!==e.__v_isRef),ke=e=>B(e)?e:null==e?"":j(e)||q(e)&&(e.toString===W||!F(e.toString))?be(e)?ke(e.value):JSON.stringify(e,we,2):String(e),we=(e,t)=>be(t)?we(e,t.value):U(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,r],i)=>(e[ye(t,i)+" =>"]=r,e),{})}:z(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>ye(e))}:V(t)?ye(t):!q(t)||j(t)||G(t)?t:String(t),ye=(e,t="")=>{var r;return V(e)?`Symbol(${null!=(r=e.description)?r:t})`:e};let xe,Ce;class Se{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=xe,!e&&xe&&(this.index=(xe.scopes||(xe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){let e,t;if(this._isPaused=!1,this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){const t=xe;try{return xe=this,e()}finally{xe=t}}}on(){1===++this._on&&(this.prevScope=xe,xe=this)}off(){this._on>0&&0===--this._on&&(xe=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,r;for(this._active=!1,t=0,r=this.effects.length;t<r;t++)this.effects[t].stop();for(this.effects.length=0,t=0,r=this.cleanups.length;t<r;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,r=this.scopes.length;t<r;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){const e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}}const Te=new WeakSet;class Ee{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,xe&&xe.active&&xe.effects.push(this)}pause(){this.flags|=64}resume(){64&this.flags&&(this.flags&=-65,Te.has(this)&&(Te.delete(this),this.trigger()))}notify(){2&this.flags&&!(32&this.flags)||8&this.flags||Me(this)}run(){if(!(1&this.flags))return this.fn();this.flags|=2,qe(this),Oe(this);const e=Ce,t=ze;Ce=this,ze=!0;try{return this.fn()}finally{De(this),Ce=e,ze=t,this.flags&=-3}}stop(){if(1&this.flags){for(let e=this.deps;e;e=e.nextDep)je(e);this.deps=this.depsTail=void 0,qe(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){64&this.flags?Te.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Le(this)&&this.run()}get dirty(){return Le(this)}}let Ie,Pe,_e=0;function Me(e,t=!1){if(e.flags|=8,t)return e.next=Pe,void(Pe=e);e.next=Ie,Ie=e}function Re(){_e++}function Ae(){if(--_e>0)return;if(Pe){let e=Pe;for(Pe=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ie;){let r=Ie;for(Ie=void 0;r;){const i=r.next;if(r.next=void 0,r.flags&=-9,1&r.flags)try{r.trigger()}catch(t){e||(e=t)}r=i}}if(e)throw e}function Oe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function De(e){let t,r=e.depsTail,i=r;for(;i;){const e=i.prevDep;-1===i.version?(i===r&&(r=e),je(i),Ue(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=e}e.deps=t,e.depsTail=r}function Le(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ne(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ne(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===He)return;if(e.globalVersion=He,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!Le(e)))return;e.flags|=2;const t=e.dep,r=Ce,i=ze;Ce=e,ze=!0;try{Oe(e);const r=e.fn(e._value);(0===t.version||ie(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(n){throw t.version++,n}finally{Ce=r,ze=i,De(e),e.flags&=-3}}function je(e,t=!1){const{dep:r,prevSub:i,nextSub:n}=e;if(i&&(i.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=i,e.nextSub=void 0),r.subs===e&&(r.subs=i,!i&&r.computed)){r.computed.flags&=-5;for(let e=r.computed.deps;e;e=e.nextDep)je(e,!0)}t||--r.sc||!r.map||r.map.delete(r.key)}function Ue(e){const{prevDep:t,nextDep:r}=e;t&&(t.nextDep=r,e.prevDep=void 0),r&&(r.prevDep=t,e.nextDep=void 0)}let ze=!0;const Fe=[];function Be(){Fe.push(ze),ze=!1}function Ve(){const e=Fe.pop();ze=void 0===e||e}function qe(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=Ce;Ce=void 0;try{t()}finally{Ce=e}}}let He=0;class We{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class $e{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!Ce||!ze||Ce===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==Ce)t=this.activeLink=new We(Ce,this),Ce.deps?(t.prevDep=Ce.depsTail,Ce.depsTail.nextDep=t,Ce.depsTail=t):Ce.deps=Ce.depsTail=t,Ge(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Ce.depsTail,t.nextDep=void 0,Ce.depsTail.nextDep=t,Ce.depsTail=t,Ce.deps===t&&(Ce.deps=e)}return t}trigger(e){this.version++,He++,this.notify(e)}notify(e){Re();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ae()}}}function Ge(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Ge(e)}const r=e.dep.subs;r!==e&&(e.prevSub=r,r&&(r.nextSub=e)),e.dep.subs=e}}const Je=new WeakMap,Ke=Symbol(""),Qe=Symbol(""),Ze=Symbol("");function Ye(e,t,r){if(ze&&Ce){let t=Je.get(e);t||Je.set(e,t=new Map);let i=t.get(r);i||(t.set(r,i=new $e),i.map=t,i.key=r),i.track()}}function Xe(e,t,r,i,n,o){const a=Je.get(e);if(!a)return void He++;const s=e=>{e&&e.trigger()};if(Re(),"clear"===t)a.forEach(s);else{const n=j(e),o=n&&J(r);if(n&&"length"===r){const e=Number(i);a.forEach((t,r)=>{("length"===r||r===Ze||!V(r)&&r>=e)&&s(t)})}else switch((void 0!==r||a.has(void 0))&&s(a.get(r)),o&&s(a.get(Ze)),t){case"add":n?o&&s(a.get("length")):(s(a.get(Ke)),U(e)&&s(a.get(Qe)));break;case"delete":n||(s(a.get(Ke)),U(e)&&s(a.get(Qe)));break;case"set":U(e)&&s(a.get(Ke))}}Ae()}function et(e){const t=Nt(e);return t===e?t:(Ye(t,0,Ze),Dt(e)?t:t.map(jt))}function tt(e){return Ye(e=Nt(e),0,Ze),e}const rt={__proto__:null,[Symbol.iterator](){return it(this,Symbol.iterator,jt)},concat(...e){return et(this).concat(...e.map(e=>j(e)?et(e):e))},entries(){return it(this,"entries",e=>(e[1]=jt(e[1]),e))},every(e,t){return ot(this,"every",e,t,void 0,arguments)},filter(e,t){return ot(this,"filter",e,t,e=>e.map(jt),arguments)},find(e,t){return ot(this,"find",e,t,jt,arguments)},findIndex(e,t){return ot(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ot(this,"findLast",e,t,jt,arguments)},findLastIndex(e,t){return ot(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ot(this,"forEach",e,t,void 0,arguments)},includes(...e){return st(this,"includes",e)},indexOf(...e){return st(this,"indexOf",e)},join(e){return et(this).join(e)},lastIndexOf(...e){return st(this,"lastIndexOf",e)},map(e,t){return ot(this,"map",e,t,void 0,arguments)},pop(){return lt(this,"pop")},push(...e){return lt(this,"push",e)},reduce(e,...t){return at(this,"reduce",e,t)},reduceRight(e,...t){return at(this,"reduceRight",e,t)},shift(){return lt(this,"shift")},some(e,t){return ot(this,"some",e,t,void 0,arguments)},splice(...e){return lt(this,"splice",e)},toReversed(){return et(this).toReversed()},toSorted(e){return et(this).toSorted(e)},toSpliced(...e){return et(this).toSpliced(...e)},unshift(...e){return lt(this,"unshift",e)},values(){return it(this,"values",jt)}};function it(e,t,r){const i=tt(e),n=i[t]();return i===e||Dt(e)||(n._next=n.next,n.next=()=>{const e=n._next();return e.done||(e.value=r(e.value)),e}),n}const nt=Array.prototype;function ot(e,t,r,i,n,o){const a=tt(e),s=a!==e&&!Dt(e),l=a[t];if(l!==nt[t]){const t=l.apply(e,o);return s?jt(t):t}let c=r;a!==e&&(s?c=function(t,i){return r.call(this,jt(t),i,e)}:r.length>2&&(c=function(t,i){return r.call(this,t,i,e)}));const d=l.call(a,c,i);return s&&n?n(d):d}function at(e,t,r,i){const n=tt(e);let o=r;return n!==e&&(Dt(e)?r.length>3&&(o=function(t,i,n){return r.call(this,t,i,n,e)}):o=function(t,i,n){return r.call(this,t,jt(i),n,e)}),n[t](o,...i)}function st(e,t,r){const i=Nt(e);Ye(i,0,Ze);const n=i[t](...r);return-1!==n&&!1!==n||!Lt(r[0])?n:(r[0]=Nt(r[0]),i[t](...r))}function lt(e,t,r=[]){Be(),Re();const i=Nt(e)[t].apply(e,r);return Ae(),Ve(),i}const ct=E("__proto__,__v_isRef,__isVue"),dt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(V));function ht(e){V(e)||(e=String(e));const t=Nt(this);return Ye(t,0,e),t.hasOwnProperty(e)}class ut{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,r){if("__v_skip"===t)return e.__v_skip;const i=this._isReadonly,n=this._isShallow;if("__v_isReactive"===t)return!i;if("__v_isReadonly"===t)return i;if("__v_isShallow"===t)return n;if("__v_raw"===t)return r===(i?n?Pt:It:n?Et:Tt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(r)?e:void 0;const o=j(e);if(!i){let e;if(o&&(e=rt[t]))return e;if("hasOwnProperty"===t)return ht}const a=Reflect.get(e,t,zt(e)?e:r);if(V(t)?dt.has(t):ct(t))return a;if(i||Ye(e,0,t),n)return a;if(zt(a)){const e=o&&J(t)?a:a.value;return i&&q(e)?Mt(e):e}return q(a)?i?Mt(a):_t(a):a}}class pt extends ut{constructor(e=!1){super(!1,e)}set(e,t,r,i){let n=e[t];if(!this._isShallow){const t=Ot(n);if(Dt(r)||Ot(r)||(n=Nt(n),r=Nt(r)),!j(e)&&zt(n)&&!zt(r))return t||(n.value=r),!0}const o=j(e)&&J(t)?Number(t)<e.length:N(e,t),a=Reflect.set(e,t,r,zt(e)?e:i);return e===Nt(i)&&(o?ie(r,n)&&Xe(e,"set",t,r):Xe(e,"add",t,r)),a}deleteProperty(e,t){const r=N(e,t);e[t];const i=Reflect.deleteProperty(e,t);return i&&r&&Xe(e,"delete",t,void 0),i}has(e,t){const r=Reflect.has(e,t);return V(t)&&dt.has(t)||Ye(e,0,t),r}ownKeys(e){return Ye(e,0,j(e)?"length":Ke),Reflect.ownKeys(e)}}class gt extends ut{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}}const mt=new pt,vt=new gt,ft=new pt(!0),bt=e=>e,kt=e=>Reflect.getPrototypeOf(e);function wt(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function yt(e,t){const r=function(e,t){const r={get(r){const i=this.__v_raw,n=Nt(i),o=Nt(r);e||(ie(r,o)&&Ye(n,0,r),Ye(n,0,o));const{has:a}=kt(n),s=t?bt:e?Ut:jt;return a.call(n,r)?s(i.get(r)):a.call(n,o)?s(i.get(o)):void(i!==n&&i.get(r))},get size(){const t=this.__v_raw;return!e&&Ye(Nt(t),0,Ke),t.size},has(t){const r=this.__v_raw,i=Nt(r),n=Nt(t);return e||(ie(t,n)&&Ye(i,0,t),Ye(i,0,n)),t===n?r.has(t):r.has(t)||r.has(n)},forEach(r,i){const n=this,o=n.__v_raw,a=Nt(o),s=t?bt:e?Ut:jt;return!e&&Ye(a,0,Ke),o.forEach((e,t)=>r.call(i,s(e),s(t),n))}};return O(r,e?{add:wt("add"),set:wt("set"),delete:wt("delete"),clear:wt("clear")}:{add(e){t||Dt(e)||Ot(e)||(e=Nt(e));const r=Nt(this);return kt(r).has.call(r,e)||(r.add(e),Xe(r,"add",e,e)),this},set(e,r){t||Dt(r)||Ot(r)||(r=Nt(r));const i=Nt(this),{has:n,get:o}=kt(i);let a=n.call(i,e);a||(e=Nt(e),a=n.call(i,e));const s=o.call(i,e);return i.set(e,r),a?ie(r,s)&&Xe(i,"set",e,r):Xe(i,"add",e,r),this},delete(e){const t=Nt(this),{has:r,get:i}=kt(t);let n=r.call(t,e);n||(e=Nt(e),n=r.call(t,e)),i&&i.call(t,e);const o=t.delete(e);return n&&Xe(t,"delete",e,void 0),o},clear(){const e=Nt(this),t=0!==e.size,r=e.clear();return t&&Xe(e,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(i=>{r[i]=function(e,t,r){return function(...i){const n=this.__v_raw,o=Nt(n),a=U(o),s="entries"===e||e===Symbol.iterator&&a,l="keys"===e&&a,c=n[e](...i),d=r?bt:t?Ut:jt;return!t&&Ye(o,0,l?Qe:Ke),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:s?[d(e[0]),d(e[1])]:d(e),done:t}},[Symbol.iterator](){return this}}}}(i,e,t)}),r}(e,t);return(t,i,n)=>"__v_isReactive"===i?!e:"__v_isReadonly"===i?e:"__v_raw"===i?t:Reflect.get(N(r,i)&&i in t?r:t,i,n)}const xt={get:yt(!1,!1)},Ct={get:yt(!1,!0)},St={get:yt(!0,!1)},Tt=new WeakMap,Et=new WeakMap,It=new WeakMap,Pt=new WeakMap;function _t(e){return Ot(e)?e:Rt(e,!1,mt,xt,Tt)}function Mt(e){return Rt(e,!0,vt,St,It)}function Rt(e,t,r,i,n){if(!q(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const o=(a=e).__v_skip||!Object.isExtensible(a)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>$(e).slice(8,-1))(a));var a;if(0===o)return e;const s=n.get(e);if(s)return s;const l=new Proxy(e,2===o?i:r);return n.set(e,l),l}function At(e){return Ot(e)?At(e.__v_raw):!(!e||!e.__v_isReactive)}function Ot(e){return!(!e||!e.__v_isReadonly)}function Dt(e){return!(!e||!e.__v_isShallow)}function Lt(e){return!!e&&!!e.__v_raw}function Nt(e){const t=e&&e.__v_raw;return t?Nt(t):e}const jt=e=>q(e)?_t(e):e,Ut=e=>q(e)?Mt(e):e;function zt(e){return!!e&&!0===e.__v_isRef}function Ft(e){return Bt(e,!1)}function Bt(e,t){return zt(e)?e:new Vt(e,t)}class Vt{constructor(e,t){this.dep=new $e,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:Nt(e),this._value=t?e:jt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,r=this.__v_isShallow||Dt(e)||Ot(e);e=r?e:Nt(e),ie(e,t)&&(this._rawValue=e,this._value=r?e:jt(e),this.dep.trigger())}}function qt(e){return zt(e)?e.value:e}const Ht={get:(e,t,r)=>"__v_raw"===t?e:qt(Reflect.get(e,t,r)),set:(e,t,r,i)=>{const n=e[t];return zt(n)&&!zt(r)?(n.value=r,!0):Reflect.set(e,t,r,i)}};function Wt(e){return At(e)?e:new Proxy(e,Ht)}class $t{constructor(e,t,r){this.fn=e,this.setter=t,this._value=void 0,this.dep=new $e(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=He-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=r}notify(){if(this.flags|=16,!(8&this.flags)&&Ce!==this)return Me(this,!0),!0}get value(){const e=this.dep.track();return Ne(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const Gt={},Jt=new WeakMap;let Kt;function Qt(e,t=1/0,r){if(t<=0||!q(e)||e.__v_skip)return e;if(((r=r||new Map).get(e)||0)>=t)return e;if(r.set(e,t),t--,zt(e))Qt(e.value,t,r);else if(j(e))for(let i=0;i<e.length;i++)Qt(e[i],t,r);else if(z(e)||U(e))e.forEach(e=>{Qt(e,t,r)});else if(G(e)){for(const i in e)Qt(e[i],t,r);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&Qt(e[i],t,r)}return e}function Zt(e,t,r,i){try{return i?e(...i):e()}catch(n){Xt(n,t,r)}}function Yt(e,t,r,i){if(F(e)){const n=Zt(e,t,r,i);return n&&H(n)&&n.catch(e=>{Xt(e,t,r)}),n}if(j(e)){const n=[];for(let o=0;o<e.length;o++)n.push(Yt(e[o],t,r,i));return n}}function Xt(e,t,r,i=!0){t&&t.vnode;const{errorHandler:n,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||I;if(t){let i=t.parent;const o=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${r}`;for(;i;){const t=i.ec;if(t)for(let r=0;r<t.length;r++)if(!1===t[r](e,o,a))return;i=i.parent}if(n)return Be(),Zt(n,null,10,[e,o,a]),void Ve()}!function(e,t,r,i=!0,n=!1){if(n)throw e}(e,0,0,i,o)}const er=[];let tr=-1;const rr=[];let ir=null,nr=0;const or=Promise.resolve();let ar=null;function sr(e){const t=ar||or;return e?t.then(this?e.bind(this):e):t}function lr(e){if(!(1&e.flags)){const t=ur(e),r=er[er.length-1];!r||!(2&e.flags)&&t>=ur(r)?er.push(e):er.splice(function(e){let t=tr+1,r=er.length;for(;t<r;){const i=t+r>>>1,n=er[i],o=ur(n);o<e||o===e&&2&n.flags?t=i+1:r=i}return t}(t),0,e),e.flags|=1,cr()}}function cr(){ar||(ar=or.then(pr))}function dr(e,t,r=tr+1){for(;r<er.length;r++){const t=er[r];if(t&&2&t.flags){if(e&&t.id!==e.uid)continue;er.splice(r,1),r--,4&t.flags&&(t.flags&=-2),t(),4&t.flags||(t.flags&=-2)}}}function hr(e){if(rr.length){const e=[...new Set(rr)].sort((e,t)=>ur(e)-ur(t));if(rr.length=0,ir)return void ir.push(...e);for(ir=e,nr=0;nr<ir.length;nr++){const e=ir[nr];4&e.flags&&(e.flags&=-2),8&e.flags||e(),e.flags&=-2}ir=null,nr=0}}const ur=e=>null==e.id?2&e.flags?-1:1/0:e.id;function pr(e){try{for(tr=0;tr<er.length;tr++){const e=er[tr];!e||8&e.flags||(4&e.flags&&(e.flags&=-2),Zt(e,e.i,e.i?15:14),4&e.flags||(e.flags&=-2))}}finally{for(;tr<er.length;tr++){const e=er[tr];e&&(e.flags&=-2)}tr=-1,er.length=0,hr(),ar=null,(er.length||rr.length)&&pr()}}let gr=null,mr=null;function vr(e){const t=gr;return gr=e,mr=e&&e.type.__scopeId||null,t}function fr(e,t=gr,r){if(!t)return e;if(e._n)return e;const i=(...r)=>{i._d&&Dn(-1);const n=vr(t);let o;try{o=e(...r)}finally{vr(n),i._d&&Dn(1)}return o};return i._n=!0,i._c=!0,i._d=!0,i}function br(e,t){if(null===gr)return e;const r=po(gr),i=e.dirs||(e.dirs=[]);for(let n=0;n<t.length;n++){let[e,o,a,s=I]=t[n];e&&(F(e)&&(e={mounted:e,updated:e}),e.deep&&Qt(o),i.push({dir:e,instance:r,value:o,oldValue:void 0,arg:a,modifiers:s}))}return e}function kr(e,t,r,i){const n=e.dirs,o=t&&t.dirs;for(let a=0;a<n.length;a++){const s=n[a];o&&(s.oldValue=o[a].value);let l=s.dir[i];l&&(Be(),Yt(l,r,8,[e.el,s,e,t]),Ve())}}const wr=Symbol("_vte"),yr=e=>e.__isTeleport,xr=e=>e&&(e.disabled||""===e.disabled),Cr=e=>e&&(e.defer||""===e.defer),Sr=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,Tr=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,Er=(e,t)=>{const r=e&&e.to;return B(r)?t?t(r):null:r},Ir={name:"Teleport",__isTeleport:!0,process(e,t,r,i,n,o,a,s,l,c){const{mc:d,pc:h,pbc:u,o:{insert:p,querySelector:g,createText:m,createComment:v}}=c,f=xr(t.props);let{shapeFlag:b,children:k,dynamicChildren:w}=t;if(null==e){const e=t.el=m(""),c=t.anchor=m("");p(e,r,i),p(c,r,i);const h=(e,t)=>{16&b&&d(k,e,t,n,o,a,s,l)},u=()=>{const e=t.target=Er(t.props,g),r=Rr(e,t,m,p);e&&("svg"!==a&&Sr(e)?a="svg":"mathml"!==a&&Tr(e)&&(a="mathml"),n&&n.isCE&&(n.ce._teleportTargets||(n.ce._teleportTargets=new Set)).add(e),f||(h(e,r),Mr(t,!1)))};f&&(h(r,c),Mr(t,!0)),Cr(t.props)?(t.el.__isMounted=!1,rn(()=>{u(),delete t.el.__isMounted},o)):u()}else{if(Cr(t.props)&&!1===e.el.__isMounted)return void rn(()=>{Ir.process(e,t,r,i,n,o,a,s,l,c)},o);t.el=e.el,t.targetStart=e.targetStart;const d=t.anchor=e.anchor,p=t.target=e.target,m=t.targetAnchor=e.targetAnchor,v=xr(e.props),b=v?r:p,k=v?d:m;if("svg"===a||Sr(p)?a="svg":("mathml"===a||Tr(p))&&(a="mathml"),w?(u(e.dynamicChildren,w,b,n,o,a,s),sn(e,t,!0)):l||h(e,t,b,k,n,o,a,s,!1),f)v?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Pr(t,r,d,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=Er(t.props,g);e&&Pr(t,e,null,c,0)}else v&&Pr(t,p,m,c,1);Mr(t,f)}},remove(e,t,r,{um:i,o:{remove:n}},o){const{shapeFlag:a,children:s,anchor:l,targetStart:c,targetAnchor:d,target:h,props:u}=e;if(h&&(n(c),n(d)),o&&n(l),16&a){const e=o||!xr(u);for(let n=0;n<s.length;n++){const o=s[n];i(o,t,r,e,!!o.dynamicChildren)}}},move:Pr,hydrate:function(e,t,r,i,n,o,{o:{nextSibling:a,parentNode:s,querySelector:l,insert:c,createText:d}},h){function u(e,t,l,c){t.anchor=h(a(e),t,s(e),r,i,n,o),t.targetStart=l,t.targetAnchor=c}const p=t.target=Er(t.props,l),g=xr(t.props);if(p){const s=p._lpa||p.firstChild;if(16&t.shapeFlag)if(g)u(e,t,s,s&&a(s));else{t.anchor=a(e);let l=s;for(;l;){if(l&&8===l.nodeType)if("teleport start anchor"===l.data)t.targetStart=l;else if("teleport anchor"===l.data){t.targetAnchor=l,p._lpa=t.targetAnchor&&a(t.targetAnchor);break}l=a(l)}t.targetAnchor||Rr(p,t,d,c),h(s&&a(s),t,p,r,i,n,o)}Mr(t,g)}else g&&16&t.shapeFlag&&u(e,t,e,a(e));return t.anchor&&a(t.anchor)}};function Pr(e,t,r,{o:{insert:i},m:n},o=2){0===o&&i(e.targetAnchor,t,r);const{el:a,anchor:s,shapeFlag:l,children:c,props:d}=e,h=2===o;if(h&&i(a,t,r),(!h||xr(d))&&16&l)for(let u=0;u<c.length;u++)n(c[u],t,r,2);h&&i(s,t,r)}const _r=Ir;function Mr(e,t){const r=e.ctx;if(r&&r.ut){let i,n;for(t?(i=e.el,n=e.anchor):(i=e.targetStart,n=e.targetAnchor);i&&i!==n;)1===i.nodeType&&i.setAttribute("data-v-owner",r.uid),i=i.nextSibling;r.ut()}}function Rr(e,t,r,i){const n=t.targetStart=r(""),o=t.targetAnchor=r("");return n[wr]=o,e&&(i(n,e),i(o,e)),o}const Ar=Symbol("_leaveCb"),Or=Symbol("_enterCb");function Dr(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ai(()=>{e.isMounted=!0}),ci(()=>{e.isUnmounting=!0}),e}const Lr=[Function,Array],Nr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Lr,onEnter:Lr,onAfterEnter:Lr,onEnterCancelled:Lr,onBeforeLeave:Lr,onLeave:Lr,onAfterLeave:Lr,onLeaveCancelled:Lr,onBeforeAppear:Lr,onAppear:Lr,onAfterAppear:Lr,onAppearCancelled:Lr},jr=e=>{const t=e.subTree;return t.component?jr(t.component):t};function Ur(e){let t=e[0];if(e.length>1)for(const r of e)if(r.type!==Pn){t=r;break}return t}const zr={name:"BaseTransition",props:Nr,setup(e,{slots:t}){const r=ro(),i=Dr();return()=>{const n=t.default&&Wr(t.default(),!0);if(!n||!n.length)return;const o=Ur(n),a=Nt(e),{mode:s}=a;if(i.isLeaving)return Vr(o);const l=qr(o);if(!l)return Vr(o);let c=Br(l,a,i,r,e=>c=e);l.type!==Pn&&Hr(l,c);let d=r.subTree&&qr(r.subTree);if(d&&d.type!==Pn&&!zn(d,l)&&jr(r).type!==Pn){let e=Br(d,a,i,r);if(Hr(d,e),"out-in"===s&&l.type!==Pn)return i.isLeaving=!0,e.afterLeave=()=>{i.isLeaving=!1,8&r.job.flags||r.update(),delete e.afterLeave,d=void 0},Vr(o);"in-out"===s&&l.type!==Pn?e.delayLeave=(e,t,r)=>{Fr(i,d)[String(d.key)]=d,e[Ar]=()=>{t(),e[Ar]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{r(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return o}}};function Fr(e,t){const{leavingVNodes:r}=e;let i=r.get(t.type);return i||(i=Object.create(null),r.set(t.type,i)),i}function Br(e,t,r,i,n){const{appear:o,mode:a,persisted:s=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:d,onEnterCancelled:h,onBeforeLeave:u,onLeave:p,onAfterLeave:g,onLeaveCancelled:m,onBeforeAppear:v,onAppear:f,onAfterAppear:b,onAppearCancelled:k}=t,w=String(e.key),y=Fr(r,e),x=(e,t)=>{e&&Yt(e,i,9,t)},C=(e,t)=>{const r=t[1];x(e,t),j(e)?e.every(e=>e.length<=1)&&r():e.length<=1&&r()},S={mode:a,persisted:s,beforeEnter(t){let i=l;if(!r.isMounted){if(!o)return;i=v||l}t[Ar]&&t[Ar](!0);const n=y[w];n&&zn(e,n)&&n.el[Ar]&&n.el[Ar](),x(i,[t])},enter(e){let t=c,i=d,n=h;if(!r.isMounted){if(!o)return;t=f||c,i=b||d,n=k||h}let a=!1;const s=e[Or]=t=>{a||(a=!0,x(t?n:i,[e]),S.delayedLeave&&S.delayedLeave(),e[Or]=void 0)};t?C(t,[e,s]):s()},leave(t,i){const n=String(e.key);if(t[Or]&&t[Or](!0),r.isUnmounting)return i();x(u,[t]);let o=!1;const a=t[Ar]=r=>{o||(o=!0,i(),x(r?m:g,[t]),t[Ar]=void 0,y[n]===e&&delete y[n])};y[n]=e,p?C(p,[t,a]):a()},clone(e){const o=Br(e,t,r,i,n);return n&&n(o),o}};return S}function Vr(e){if(Yr(e))return(e=Wn(e)).children=null,e}function qr(e){if(!Yr(e))return yr(e.type)&&e.children?Ur(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:r}=e;if(r){if(16&t)return r[0];if(32&t&&F(r.default))return r.default()}}function Hr(e,t){6&e.shapeFlag&&e.component?(e.transition=t,Hr(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Wr(e,t=!1,r){let i=[],n=0;for(let o=0;o<e.length;o++){let a=e[o];const s=null==r?a.key:String(r)+String(null!=a.key?a.key:o);a.type===En?(128&a.patchFlag&&n++,i=i.concat(Wr(a.children,t,s))):(t||a.type!==Pn)&&i.push(null!=s?Wn(a,{key:s}):a)}if(n>1)for(let o=0;o<i.length;o++)i[o].patchFlag=-2;return i}function $r(e,t){return F(e)?(()=>O({name:e.name},t,{setup:e}))():e}function Gr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Jr=new WeakMap;function Kr(e,t,r,i,n=!1){if(j(e))return void e.forEach((e,o)=>Kr(e,t&&(j(t)?t[o]:t),r,i,n));if(Zr(i)&&!n)return void(512&i.shapeFlag&&i.type.__asyncResolved&&i.component.subTree.component&&Kr(e,t,r,i.component.subTree));const o=4&i.shapeFlag?po(i.component):i.el,a=n?null:o,{i:s,r:l}=e,c=t&&t.r,d=s.refs===I?s.refs={}:s.refs,h=s.setupState,u=Nt(h),p=h===I?M:e=>N(u,e);if(null!=c&&c!==l)if(Qr(t),B(c))d[c]=null,p(c)&&(h[c]=null);else if(zt(c)){c.value=null;const e=t;e.k&&(d[e.k]=null)}if(F(l))Zt(l,s,12,[a,d]);else{const t=B(l),i=zt(l);if(t||i){const s=()=>{if(e.f){const r=t?p(l)?h[l]:d[l]:l.value;if(n)j(r)&&D(r,o);else if(j(r))r.includes(o)||r.push(o);else if(t)d[l]=[o],p(l)&&(h[l]=d[l]);else{const t=[o];l.value=t,e.k&&(d[e.k]=t)}}else t?(d[l]=a,p(l)&&(h[l]=a)):i&&(l.value=a,e.k&&(d[e.k]=a))};if(a){const t=()=>{s(),Jr.delete(e)};t.id=-1,Jr.set(e,t),rn(t,r)}else Qr(e),s()}}}function Qr(e){const t=Jr.get(e);t&&(t.flags|=8,Jr.delete(e))}le().requestIdleCallback,le().cancelIdleCallback;const Zr=e=>!!e.type.__asyncLoader,Yr=e=>e.type.__isKeepAlive;function Xr(e,t){ti(e,"a",t)}function ei(e,t){ti(e,"da",t)}function ti(e,t,r=to){const i=e.__wdc||(e.__wdc=()=>{let t=r;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(ii(t,i,r),r){let e=r.parent;for(;e&&e.parent;)Yr(e.parent.vnode)&&ri(i,t,r,e),e=e.parent}}function ri(e,t,r,i){const n=ii(t,e,i,!0);di(()=>{D(i[t],n)},r)}function ii(e,t,r=to,i=!1){if(r){const n=r[e]||(r[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Be();const n=oo(r),o=Yt(t,r,e,i);return n(),Ve(),o});return i?n.unshift(o):n.push(o),o}}const ni=e=>(t,r=to)=>{lo&&"sp"!==e||ii(e,(...e)=>t(...e),r)},oi=ni("bm"),ai=ni("m"),si=ni("bu"),li=ni("u"),ci=ni("bum"),di=ni("um"),hi=ni("sp"),ui=ni("rtg"),pi=ni("rtc");function gi(e,t=to){ii("ec",e,t)}const mi=Symbol.for("v-ndc");function vi(e){return B(e)?function(e,t,r=!0,i=!1){const n=gr||to;if(n){const r=n.type;{const e=function(e,t=!0){return F(e)?e.displayName||e.name:e.name||t&&e.__name}(r,!1);if(e&&(e===t||e===Y(t)||e===te(Y(t))))return r}const o=fi(n[e]||r[e],t)||fi(n.appContext[e],t);return!o&&i?r:o}}("components",e,!1)||e:e||mi}function fi(e,t){return e&&(e[t]||e[Y(t)]||e[te(Y(t))])}function bi(e,t,r,i){let n;const o=r,a=j(e);if(a||B(e)){let r=!1,i=!1;a&&At(e)&&(r=!Dt(e),i=Ot(e),e=tt(e)),n=new Array(e.length);for(let a=0,s=e.length;a<s;a++)n[a]=t(r?i?Ut(jt(e[a])):jt(e[a]):e[a],a,void 0,o)}else if("number"==typeof e){n=new Array(e);for(let r=0;r<e;r++)n[r]=t(r+1,r,void 0,o)}else if(q(e))if(e[Symbol.iterator])n=Array.from(e,(e,r)=>t(e,r,void 0,o));else{const r=Object.keys(e);n=new Array(r.length);for(let i=0,a=r.length;i<a;i++){const a=r[i];n[i]=t(e[a],a,i,o)}}else n=[];return n}function ki(e,t,r={},i,n){if(gr.ce||gr.parent&&Zr(gr.parent)&&gr.parent.ce){const e=Object.keys(r).length>0;return"default"!==t&&(r.name=t),An(),jn(En,null,[qn("slot",r,i&&i())],e?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),An();const a=o&&wi(o(r)),s=r.key||a&&a.key,l=jn(En,{key:(s&&!V(s)?s:`_${t}`)+(!a&&i?"_fb":"")},a||(i?i():[]),a&&1===e._?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function wi(e){return e.some(e=>!Un(e)||e.type!==Pn&&!(e.type===En&&!wi(e.children)))?e:null}const yi=e=>e?so(e)?po(e):yi(e.parent):null,xi=O(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>yi(e.parent),$root:e=>yi(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>_i(e),$forceUpdate:e=>e.f||(e.f=()=>{lr(e.update)}),$nextTick:e=>e.n||(e.n=sr.bind(e.proxy)),$watch:e=>gn.bind(e)}),Ci=(e,t)=>e!==I&&!e.__isScriptSetup&&N(e,t),Si={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:r,setupState:i,data:n,props:o,accessCache:a,type:s,appContext:l}=e;let c;if("$"!==t[0]){const s=a[t];if(void 0!==s)switch(s){case 1:return i[t];case 2:return n[t];case 4:return r[t];case 3:return o[t]}else{if(Ci(i,t))return a[t]=1,i[t];if(n!==I&&N(n,t))return a[t]=2,n[t];if((c=e.propsOptions[0])&&N(c,t))return a[t]=3,o[t];if(r!==I&&N(r,t))return a[t]=4,r[t];Ei&&(a[t]=0)}}const d=xi[t];let h,u;return d?("$attrs"===t&&Ye(e.attrs,0,""),d(e)):(h=s.__cssModules)&&(h=h[t])?h:r!==I&&N(r,t)?(a[t]=4,r[t]):(u=l.config.globalProperties,N(u,t)?u[t]:void 0)},set({_:e},t,r){const{data:i,setupState:n,ctx:o}=e;return Ci(n,t)?(n[t]=r,!0):i!==I&&N(i,t)?(i[t]=r,!0):!(N(e.props,t)||"$"===t[0]&&t.slice(1)in e||(o[t]=r,0))},has({_:{data:e,setupState:t,accessCache:r,ctx:i,appContext:n,propsOptions:o,type:a}},s){let l,c;return!!(r[s]||e!==I&&"$"!==s[0]&&N(e,s)||Ci(t,s)||(l=o[0])&&N(l,s)||N(i,s)||N(xi,s)||N(n.config.globalProperties,s)||(c=a.__cssModules)&&c[s])},defineProperty(e,t,r){return null!=r.get?e._.accessCache[t]=0:N(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}};function Ti(e){return j(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}let Ei=!0;function Ii(e,t,r){Yt(j(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,r)}function Pi(e,t,r,i){let n=i.includes(".")?mn(r,i):()=>r[i];if(B(e)){const r=t[e];F(r)&&un(n,r)}else if(F(e))un(n,e.bind(r));else if(q(e))if(j(e))e.forEach(e=>Pi(e,t,r,i));else{const i=F(e.handler)?e.handler.bind(r):t[e.handler];F(i)&&un(n,i,e)}}function _i(e){const t=e.type,{mixins:r,extends:i}=t,{mixins:n,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,s=o.get(t);let l;return s?l=s:n.length||r||i?(l={},n.length&&n.forEach(e=>Mi(l,e,a,!0)),Mi(l,t,a)):l=t,q(t)&&o.set(t,l),l}function Mi(e,t,r,i=!1){const{mixins:n,extends:o}=t;o&&Mi(e,o,r,!0),n&&n.forEach(t=>Mi(e,t,r,!0));for(const a in t)if(i&&"expose"===a);else{const i=Ri[a]||r&&r[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const Ri={data:Ai,props:Ni,emits:Ni,methods:Li,computed:Li,beforeCreate:Di,created:Di,beforeMount:Di,mounted:Di,beforeUpdate:Di,updated:Di,beforeDestroy:Di,beforeUnmount:Di,destroyed:Di,unmounted:Di,activated:Di,deactivated:Di,errorCaptured:Di,serverPrefetch:Di,components:Li,directives:Li,watch:function(e,t){if(!e)return t;if(!t)return e;const r=O(Object.create(null),e);for(const i in t)r[i]=Di(e[i],t[i]);return r},provide:Ai,inject:function(e,t){return Li(Oi(e),Oi(t))}};function Ai(e,t){return t?e?function(){return O(F(e)?e.call(this,this):e,F(t)?t.call(this,this):t)}:t:e}function Oi(e){if(j(e)){const t={};for(let r=0;r<e.length;r++)t[e[r]]=e[r];return t}return e}function Di(e,t){return e?[...new Set([].concat(e,t))]:t}function Li(e,t){return e?O(Object.create(null),e,t):t}function Ni(e,t){return e?j(e)&&j(t)?[...new Set([...e,...t])]:O(Object.create(null),Ti(e),Ti(null!=t?t:{})):t}function ji(){return{app:null,config:{isNativeTag:M,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ui=0;function zi(e,t){return function(t,r=null){F(t)||(t=O({},t)),null==r||q(r)||(r=null);const i=ji(),n=new WeakSet,o=[];let a=!1;const s=i.app={_uid:Ui++,_component:t,_props:r,_container:null,_context:i,_instance:null,version:mo,get config(){return i.config},set config(e){},use:(e,...t)=>(n.has(e)||(e&&F(e.install)?(n.add(e),e.install(s,...t)):F(e)&&(n.add(e),e(s,...t))),s),mixin:e=>(i.mixins.includes(e)||i.mixins.push(e),s),component:(e,t)=>t?(i.components[e]=t,s):i.components[e],directive:(e,t)=>t?(i.directives[e]=t,s):i.directives[e],mount(n,o,l){if(!a){const o=s._ceVNode||qn(t,r);return o.appContext=i,!0===l?l="svg":!1===l&&(l=void 0),e(o,n,l),a=!0,s._container=n,n.__vue_app__=s,po(o.component)}},onUnmount(e){o.push(e)},unmount(){a&&(Yt(o,s._instance,16),e(null,s._container),delete s._container.__vue_app__)},provide:(e,t)=>(i.provides[e]=t,s),runWithContext(e){const t=Fi;Fi=s;try{return e()}finally{Fi=t}}};return s}}let Fi=null;function Bi(e,t,r=!1){const i=ro();if(i||Fi){let n=Fi?Fi._context.provides:i?null==i.parent||i.ce?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(n&&e in n)return n[e];if(arguments.length>1)return r&&F(t)?t.call(i&&i.proxy):t}}const Vi={},qi=()=>Object.create(Vi),Hi=e=>Object.getPrototypeOf(e)===Vi;function Wi(e,t,r,i){const[n,o]=e.propsOptions;let a,s=!1;if(t)for(let l in t){if(K(l))continue;const c=t[l];let d;n&&N(n,d=Y(l))?o&&o.includes(d)?(a||(a={}))[d]=c:r[d]=c:wn(e.emitsOptions,l)||l in i&&c===i[l]||(i[l]=c,s=!0)}if(o){const t=Nt(r),i=a||I;for(let a=0;a<o.length;a++){const s=o[a];r[s]=$i(n,t,s,i[s],e,!N(i,s))}}return s}function $i(e,t,r,i,n,o){const a=e[r];if(null!=a){const e=N(a,"default");if(e&&void 0===i){const e=a.default;if(a.type!==Function&&!a.skipFactory&&F(e)){const{propsDefaults:o}=n;if(r in o)i=o[r];else{const a=oo(n);i=o[r]=e.call(null,t),a()}}else i=e;n.ce&&n.ce._setProp(r,i)}a[0]&&(o&&!e?i=!1:!a[1]||""!==i&&i!==ee(r)||(i=!0))}return i}const Gi=new WeakMap;function Ji(e,t,r=!1){const i=r?Gi:t.propsCache,n=i.get(e);if(n)return n;const o=e.props,a={},s=[];let l=!1;if(!F(e)){const i=e=>{l=!0;const[r,i]=Ji(e,t,!0);O(a,r),i&&s.push(...i)};!r&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!o&&!l)return q(e)&&i.set(e,P),P;if(j(o))for(let d=0;d<o.length;d++){const e=Y(o[d]);Ki(e)&&(a[e]=I)}else if(o)for(const d in o){const e=Y(d);if(Ki(e)){const t=o[d],r=a[e]=j(t)||F(t)?{type:t}:O({},t),i=r.type;let n=!1,l=!0;if(j(i))for(let e=0;e<i.length;++e){const t=i[e],r=F(t)&&t.name;if("Boolean"===r){n=!0;break}"String"===r&&(l=!1)}else n=F(i)&&"Boolean"===i.name;r[0]=n,r[1]=l,(n||N(r,"default"))&&s.push(e)}}const c=[a,s];return q(e)&&i.set(e,c),c}function Ki(e){return"$"!==e[0]&&!K(e)}const Qi=e=>"_"===e||"_ctx"===e||"$stable"===e,Zi=e=>j(e)?e.map(Jn):[Jn(e)],Yi=(e,t,r)=>{if(t._n)return t;const i=fr((...e)=>Zi(t(...e)),r);return i._c=!1,i},Xi=(e,t,r)=>{const i=e._ctx;for(const n in e){if(Qi(n))continue;const r=e[n];if(F(r))t[n]=Yi(0,r,i);else if(null!=r){const e=Zi(r);t[n]=()=>e}}},en=(e,t)=>{const r=Zi(t);e.slots.default=()=>r},tn=(e,t,r)=>{for(const i in t)!r&&Qi(i)||(e[i]=t[i])},rn=function(e,t){var r;t&&t.pendingBranch?j(e)?t.effects.push(...e):t.effects.push(e):(j(r=e)?rr.push(...r):ir&&-1===r.id?ir.splice(nr+1,0,r):1&r.flags||(rr.push(r),r.flags|=1),cr())};function nn(e){return function(e){le().__VUE__=!0;const{insert:t,remove:r,patchProp:i,createElement:n,createText:o,createComment:a,setText:s,setElementText:l,parentNode:c,nextSibling:d,setScopeId:h=_,insertStaticContent:u}=e,p=(e,t,r,i=null,n=null,o=null,a=void 0,s=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!zn(e,t)&&(i=q(e),U(e,n,o,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:d,shapeFlag:h}=t;switch(c){case In:g(e,t,r,i);break;case Pn:m(e,t,r,i);break;case _n:null==e&&v(t,r,i,a);break;case En:S(e,t,r,i,n,o,a,s,l);break;default:1&h?f(e,t,r,i,n,o,a,s,l):6&h?T(e,t,r,i,n,o,a,s,l):(64&h||128&h)&&c.process(e,t,r,i,n,o,a,s,l,G)}null!=d&&n?Kr(d,e&&e.ref,o,t||e,!t):null==d&&e&&null!=e.ref&&Kr(e.ref,null,o,e,!0)},g=(e,r,i,n)=>{if(null==e)t(r.el=o(r.children),i,n);else{const t=r.el=e.el;r.children!==e.children&&s(t,r.children)}},m=(e,r,i,n)=>{null==e?t(r.el=a(r.children||""),i,n):r.el=e.el},v=(e,t,r,i)=>{[e.el,e.anchor]=u(e.children,t,r,i,e.el,e.anchor)},f=(e,t,r,i,n,o,a,s,l)=>{"svg"===t.type?a="svg":"math"===t.type&&(a="mathml"),null==e?b(t,r,i,n,o,a,s,l):y(e,t,n,o,a,s,l)},b=(e,r,o,a,s,c,d,h)=>{let u,p;const{props:g,shapeFlag:m,transition:v,dirs:f}=e;if(u=e.el=n(e.type,c,g&&g.is,g),8&m?l(u,e.children):16&m&&w(e.children,u,null,a,s,on(e,c),d,h),f&&kr(e,null,a,"created"),k(u,e,e.scopeId,d,a),g){for(const e in g)"value"===e||K(e)||i(u,e,null,g[e],c,a);"value"in g&&i(u,"value",null,g.value,c),(p=g.onVnodeBeforeMount)&&Yn(p,a,e)}f&&kr(e,null,a,"beforeMount");const b=function(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}(s,v);b&&v.beforeEnter(u),t(u,r,o),((p=g&&g.onVnodeMounted)||b||f)&&rn(()=>{p&&Yn(p,a,e),b&&v.enter(u),f&&kr(e,null,a,"mounted")},s)},k=(e,t,r,i,n)=>{if(r&&h(e,r),i)for(let o=0;o<i.length;o++)h(e,i[o]);if(n){let r=n.subTree;if(t===r||Tn(r.type)&&(r.ssContent===t||r.ssFallback===t)){const t=n.vnode;k(e,t,t.scopeId,t.slotScopeIds,n.parent)}}},w=(e,t,r,i,n,o,a,s,l=0)=>{for(let c=l;c<e.length;c++){const l=e[c]=s?Kn(e[c]):Jn(e[c]);p(null,l,t,r,i,n,o,a,s)}},y=(e,t,r,n,o,a,s)=>{const c=t.el=e.el;let{patchFlag:d,dynamicChildren:h,dirs:u}=t;d|=16&e.patchFlag;const p=e.props||I,g=t.props||I;let m;if(r&&an(r,!1),(m=g.onVnodeBeforeUpdate)&&Yn(m,r,t,e),u&&kr(t,e,r,"beforeUpdate"),r&&an(r,!0),(p.innerHTML&&null==g.innerHTML||p.textContent&&null==g.textContent)&&l(c,""),h?x(e.dynamicChildren,h,c,r,n,on(t,o),a):s||O(e,t,c,null,r,n,on(t,o),a,!1),d>0){if(16&d)C(c,p,g,r,o);else if(2&d&&p.class!==g.class&&i(c,"class",null,g.class,o),4&d&&i(c,"style",p.style,g.style,o),8&d){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const n=e[t],a=p[n],s=g[n];s===a&&"value"!==n||i(c,n,a,s,o,r)}}1&d&&e.children!==t.children&&l(c,t.children)}else s||null!=h||C(c,p,g,r,o);((m=g.onVnodeUpdated)||u)&&rn(()=>{m&&Yn(m,r,t,e),u&&kr(t,e,r,"updated")},n)},x=(e,t,r,i,n,o,a)=>{for(let s=0;s<t.length;s++){const l=e[s],d=t[s],h=l.el&&(l.type===En||!zn(l,d)||198&l.shapeFlag)?c(l.el):r;p(l,d,h,null,i,n,o,a,!0)}},C=(e,t,r,n,o)=>{if(t!==r){if(t!==I)for(const a in t)K(a)||a in r||i(e,a,t[a],null,o,n);for(const a in r){if(K(a))continue;const s=r[a],l=t[a];s!==l&&"value"!==a&&i(e,a,l,s,o,n)}"value"in r&&i(e,"value",t.value,r.value,o)}},S=(e,r,i,n,a,s,l,c,d)=>{const h=r.el=e?e.el:o(""),u=r.anchor=e?e.anchor:o("");let{patchFlag:p,dynamicChildren:g,slotScopeIds:m}=r;m&&(c=c?c.concat(m):m),null==e?(t(h,i,n),t(u,i,n),w(r.children||[],i,u,a,s,l,c,d)):p>0&&64&p&&g&&e.dynamicChildren?(x(e.dynamicChildren,g,i,a,s,l,c),(null!=r.key||a&&r===a.subTree)&&sn(e,r,!0)):O(e,r,i,u,a,s,l,c,d)},T=(e,t,r,i,n,o,a,s,l)=>{t.slotScopeIds=s,null==e?512&t.shapeFlag?n.ctx.activate(t,r,i,a,l):E(t,r,i,n,o,a,l):M(e,t,l)},E=(e,t,r,i,n,o,a)=>{const s=e.component=function(e,t,r){const i=e.type,n=(t?t.appContext:e.appContext)||Xn,o={uid:eo++,vnode:e,type:i,parent:t,appContext:n,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Se(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(n.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ji(i,n),emitsOptions:kn(i,n),emit:null,emitted:null,propsDefaults:I,inheritAttrs:i.inheritAttrs,ctx:I,data:I,props:I,attrs:I,slots:I,refs:I,setupState:I,setupContext:null,suspense:r,suspenseId:r?r.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=fn.bind(null,o),e.ce&&e.ce(o),o}(e,i,n);if(Yr(e)&&(s.ctx.renderer=G),function(e,t=!1,r=!1){t&&no(t);const{props:i,children:n}=e.vnode,o=so(e);(function(e,t,r,i=!1){const n={},o=qi();e.propsDefaults=Object.create(null),Wi(e,t,n,o);for(const a in e.propsOptions[0])a in n||(n[a]=void 0);r?e.props=i?n:Rt(n,!1,ft,Ct,Et):e.type.props?e.props=n:e.props=o,e.attrs=o})(e,i,o,t),((e,t,r)=>{const i=e.slots=qi();if(32&e.vnode.shapeFlag){const e=t._;e?(tn(i,t,r),r&&oe(i,"_",e,!0)):Xi(t,i)}else t&&en(e,t)})(e,n,r||t);o&&function(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Si);const{setup:i}=r;if(i){Be();const r=e.setupContext=i.length>1?function(e){return{attrs:new Proxy(e.attrs,uo),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}(e):null,n=oo(e),o=Zt(i,e,0,[e.props,r]),a=H(o);if(Ve(),n(),!a&&!e.sp||Zr(e)||Gr(e),a){if(o.then(ao,ao),t)return o.then(t=>{co(e,t)}).catch(t=>{Xt(t,e,0)});e.asyncDep=o}else co(e,o)}else ho(e)}(e,t);t&&no(!1)}(s,!1,a),s.asyncDep){if(n&&n.registerDep(s,R,a),!e.el){const i=s.subTree=qn(Pn);m(null,i,t,r),e.placeholder=i.el}}else R(s,e,t,r,n,o,a)},M=(e,t,r)=>{const i=t.component=e.component;if(function(e,t,r){const{props:i,children:n,component:o}=e,{props:a,children:s,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(!(r&&l>=0))return!(!n&&!s||s&&s.$stable)||i!==a&&(i?!a||Sn(i,a,c):!!a);if(1024&l)return!0;if(16&l)return i?Sn(i,a,c):!!a;if(8&l){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const r=e[t];if(a[r]!==i[r]&&!wn(c,r))return!0}}return!1}(e,t,r)){if(i.asyncDep&&!i.asyncResolved)return void A(i,t,r);i.next=t,i.update()}else t.el=e.el,i.vnode=t},R=(e,t,r,i,n,o,a)=>{const s=()=>{if(e.isMounted){let{next:t,bu:r,u:i,parent:l,vnode:d}=e;{const r=ln(e);if(r)return t&&(t.el=d.el,A(e,t,a)),void r.asyncDep.then(()=>{e.isUnmounted||s()})}let h,u=t;an(e,!1),t?(t.el=d.el,A(e,t,a)):t=d,r&&ne(r),(h=t.props&&t.props.onVnodeBeforeUpdate)&&Yn(h,l,t,d),an(e,!0);const g=yn(e),m=e.subTree;e.subTree=g,p(m,g,c(m.el),q(m),e,n,o),t.el=g.el,null===u&&function({vnode:e,parent:t},r){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.el=e.el),i!==e)break;(e=t.vnode).el=r,t=t.parent}}(e,g.el),i&&rn(i,n),(h=t.props&&t.props.onVnodeUpdated)&&rn(()=>Yn(h,l,t,d),n)}else{let a;const{el:s,props:l}=t,{bm:c,m:d,parent:h,root:u,type:g}=e,m=Zr(t);an(e,!1),c&&ne(c),!m&&(a=l&&l.onVnodeBeforeMount)&&Yn(a,h,t),an(e,!0);{u.ce&&!1!==u.ce._def.shadowRoot&&u.ce._injectChildStyle(g);const a=e.subTree=yn(e);p(null,a,r,i,e,n,o),t.el=a.el}if(d&&rn(d,n),!m&&(a=l&&l.onVnodeMounted)){const e=t;rn(()=>Yn(a,h,e),n)}(256&t.shapeFlag||h&&Zr(h.vnode)&&256&h.vnode.shapeFlag)&&e.a&&rn(e.a,n),e.isMounted=!0,t=r=i=null}};e.scope.on();const l=e.effect=new Ee(s);e.scope.off();const d=e.update=l.run.bind(l),h=e.job=l.runIfDirty.bind(l);h.i=e,h.id=e.uid,l.scheduler=()=>lr(h),an(e,!0),d()},A=(e,t,r)=>{t.component=e;const i=e.vnode.props;e.vnode=t,e.next=null,function(e,t,r,i){const{props:n,attrs:o,vnode:{patchFlag:a}}=e,s=Nt(n),[l]=e.propsOptions;let c=!1;if(!(i||a>0)||16&a){let i;Wi(e,t,n,o)&&(c=!0);for(const o in s)t&&(N(t,o)||(i=ee(o))!==o&&N(t,i))||(l?!r||void 0===r[o]&&void 0===r[i]||(n[o]=$i(l,s,o,void 0,e,!0)):delete n[o]);if(o!==s)for(const e in o)t&&N(t,e)||(delete o[e],c=!0)}else if(8&a){const r=e.vnode.dynamicProps;for(let i=0;i<r.length;i++){let a=r[i];if(wn(e.emitsOptions,a))continue;const d=t[a];if(l)if(N(o,a))d!==o[a]&&(o[a]=d,c=!0);else{const t=Y(a);n[t]=$i(l,s,t,d,e,!1)}else d!==o[a]&&(o[a]=d,c=!0)}}c&&Xe(e.attrs,"set","")}(e,t.props,i,r),((e,t,r)=>{const{vnode:i,slots:n}=e;let o=!0,a=I;if(32&i.shapeFlag){const e=t._;e?r&&1===e?o=!1:tn(n,t,r):(o=!t.$stable,Xi(t,n)),a=t}else t&&(en(e,t),a={default:1});if(o)for(const s in n)Qi(s)||null!=a[s]||delete n[s]})(e,t.children,r),Be(),dr(e),Ve()},O=(e,t,r,i,n,o,a,s,c=!1)=>{const d=e&&e.children,h=e?e.shapeFlag:0,u=t.children,{patchFlag:p,shapeFlag:g}=t;if(p>0){if(128&p)return void L(d,u,r,i,n,o,a,s,c);if(256&p)return void D(d,u,r,i,n,o,a,s,c)}8&g?(16&h&&V(d,n,o),u!==d&&l(r,u)):16&h?16&g?L(d,u,r,i,n,o,a,s,c):V(d,n,o,!0):(8&h&&l(r,""),16&g&&w(u,r,i,n,o,a,s,c))},D=(e,t,r,i,n,o,a,s,l)=>{t=t||P;const c=(e=e||P).length,d=t.length,h=Math.min(c,d);let u;for(u=0;u<h;u++){const i=t[u]=l?Kn(t[u]):Jn(t[u]);p(e[u],i,r,null,n,o,a,s,l)}c>d?V(e,n,o,!0,!1,h):w(t,r,i,n,o,a,s,l,h)},L=(e,t,r,i,n,o,a,s,l)=>{let c=0;const d=t.length;let h=e.length-1,u=d-1;for(;c<=h&&c<=u;){const i=e[c],d=t[c]=l?Kn(t[c]):Jn(t[c]);if(!zn(i,d))break;p(i,d,r,null,n,o,a,s,l),c++}for(;c<=h&&c<=u;){const i=e[h],c=t[u]=l?Kn(t[u]):Jn(t[u]);if(!zn(i,c))break;p(i,c,r,null,n,o,a,s,l),h--,u--}if(c>h){if(c<=u){const e=u+1,h=e<d?t[e].el:i;for(;c<=u;)p(null,t[c]=l?Kn(t[c]):Jn(t[c]),r,h,n,o,a,s,l),c++}}else if(c>u)for(;c<=h;)U(e[c],n,o,!0),c++;else{const g=c,m=c,v=new Map;for(c=m;c<=u;c++){const e=t[c]=l?Kn(t[c]):Jn(t[c]);null!=e.key&&v.set(e.key,c)}let f,b=0;const k=u-m+1;let w=!1,y=0;const x=new Array(k);for(c=0;c<k;c++)x[c]=0;for(c=g;c<=h;c++){const i=e[c];if(b>=k){U(i,n,o,!0);continue}let d;if(null!=i.key)d=v.get(i.key);else for(f=m;f<=u;f++)if(0===x[f-m]&&zn(i,t[f])){d=f;break}void 0===d?U(i,n,o,!0):(x[d-m]=c+1,d>=y?y=d:w=!0,p(i,t[d],r,null,n,o,a,s,l),b++)}const C=w?function(e){const t=e.slice(),r=[0];let i,n,o,a,s;const l=e.length;for(i=0;i<l;i++){const l=e[i];if(0!==l){if(n=r[r.length-1],e[n]<l){t[i]=n,r.push(i);continue}for(o=0,a=r.length-1;o<a;)s=o+a>>1,e[r[s]]<l?o=s+1:a=s;l<e[r[o]]&&(o>0&&(t[i]=r[o-1]),r[o]=i)}}for(o=r.length,a=r[o-1];o-- >0;)r[o]=a,a=t[a];return r}(x):P;for(f=C.length-1,c=k-1;c>=0;c--){const e=m+c,h=t[e],u=t[e+1],g=e+1<d?u.el||u.placeholder:i;0===x[c]?p(null,h,r,g,n,o,a,s,l):w&&(f<0||c!==C[f]?j(h,r,g,2):f--)}}},j=(e,i,n,o,a=null)=>{const{el:s,type:l,transition:c,children:h,shapeFlag:u}=e;if(6&u)j(e.component.subTree,i,n,o);else if(128&u)e.suspense.move(i,n,o);else if(64&u)l.move(e,i,n,G);else if(l!==En)if(l!==_n)if(2!==o&&1&u&&c)if(0===o)c.beforeEnter(s),t(s,i,n),rn(()=>c.enter(s),a);else{const{leave:o,delayLeave:a,afterLeave:l}=c,d=()=>{e.ctx.isUnmounted?r(s):t(s,i,n)},h=()=>{s._isLeaving&&s[Ar](!0),o(s,()=>{d(),l&&l()})};a?a(s,d,h):h()}else t(s,i,n);else(({el:e,anchor:r},i,n)=>{let o;for(;e&&e!==r;)o=d(e),t(e,i,n),e=o;t(r,i,n)})(e,i,n);else{t(s,i,n);for(let e=0;e<h.length;e++)j(h[e],i,n,o);t(e.anchor,i,n)}},U=(e,t,r,i=!1,n=!1)=>{const{type:o,props:a,ref:s,children:l,dynamicChildren:c,shapeFlag:d,patchFlag:h,dirs:u,cacheIndex:p}=e;if(-2===h&&(n=!1),null!=s&&(Be(),Kr(s,null,r,e,!0),Ve()),null!=p&&(t.renderCache[p]=void 0),256&d)return void t.ctx.deactivate(e);const g=1&d&&u,m=!Zr(e);let v;if(m&&(v=a&&a.onVnodeBeforeUnmount)&&Yn(v,t,e),6&d)B(e.component,r,i);else{if(128&d)return void e.suspense.unmount(r,i);g&&kr(e,null,t,"beforeUnmount"),64&d?e.type.remove(e,t,r,G,i):c&&!c.hasOnce&&(o!==En||h>0&&64&h)?V(c,t,r,!1,!0):(o===En&&384&h||!n&&16&d)&&V(l,t,r),i&&z(e)}(m&&(v=a&&a.onVnodeUnmounted)||g)&&rn(()=>{v&&Yn(v,t,e),g&&kr(e,null,t,"unmounted")},r)},z=e=>{const{type:t,el:i,anchor:n,transition:o}=e;if(t===En)return void F(i,n);if(t===_n)return void(({el:e,anchor:t})=>{let i;for(;e&&e!==t;)i=d(e),r(e),e=i;r(t)})(e);const a=()=>{r(i),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:r}=o,n=()=>t(i,a);r?r(e.el,a,n):n()}else a()},F=(e,t)=>{let i;for(;e!==t;)i=d(e),r(e),e=i;r(t)},B=(e,t,r)=>{const{bum:i,scope:n,job:o,subTree:a,um:s,m:l,a:c}=e;cn(l),cn(c),i&&ne(i),n.stop(),o&&(o.flags|=8,U(a,e,t,r)),s&&rn(s,t),rn(()=>{e.isUnmounted=!0},t)},V=(e,t,r,i=!1,n=!1,o=0)=>{for(let a=o;a<e.length;a++)U(e[a],t,r,i,n)},q=e=>{if(6&e.shapeFlag)return q(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=d(e.anchor||e.el),r=t&&t[wr];return r?d(r):t};let W=!1;const $=(e,t,r)=>{null==e?t._vnode&&U(t._vnode,null,null,!0):p(t._vnode||null,e,t,null,null,null,r),t._vnode=e,W||(W=!0,dr(),hr(),W=!1)},G={p:p,um:U,m:j,r:z,mt:E,mc:w,pc:O,pbc:x,n:q,o:e};return{render:$,hydrate:undefined,createApp:zi($)}}(e)}function on({type:e,props:t},r){return"svg"===r&&"foreignObject"===e||"mathml"===r&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:r}function an({effect:e,job:t},r){r?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function sn(e,t,r=!1){const i=e.children,n=t.children;if(j(i)&&j(n))for(let o=0;o<i.length;o++){const e=i[o];let t=n[o];1&t.shapeFlag&&!t.dynamicChildren&&((t.patchFlag<=0||32===t.patchFlag)&&(t=n[o]=Kn(n[o]),t.el=e.el),r||-2===t.patchFlag||sn(e,t)),t.type===In&&-1!==t.patchFlag&&(t.el=e.el),t.type!==Pn||t.el||(t.el=e.el)}}function ln(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ln(t)}function cn(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}const dn=Symbol.for("v-scx"),hn=()=>Bi(dn);function un(e,t,r){return pn(e,t,r)}function pn(e,t,r=I){const{immediate:i,deep:n,flush:o,once:a}=r,s=O({},r),l=t&&i||!t&&"post"!==o;let c;if(lo)if("sync"===o){const e=hn();c=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{};return e.stop=_,e.resume=_,e.pause=_,e}const d=to;s.call=(e,t,r)=>Yt(e,d,t,r);let h=!1;"post"===o?s.scheduler=e=>{rn(e,d&&d.suspense)}:"sync"!==o&&(h=!0,s.scheduler=(e,t)=>{t?e():lr(e)}),s.augmentJob=e=>{t&&(e.flags|=4),h&&(e.flags|=2,d&&(e.id=d.uid,e.i=d))};const u=function(e,t,r=I){const{immediate:i,deep:n,once:o,scheduler:a,augmentJob:s,call:l}=r,c=e=>n?e:Dt(e)||!1===n||0===n?Qt(e,1):Qt(e);let d,h,u,p,g=!1,m=!1;if(zt(e)?(h=()=>e.value,g=Dt(e)):At(e)?(h=()=>c(e),g=!0):j(e)?(m=!0,g=e.some(e=>At(e)||Dt(e)),h=()=>e.map(e=>zt(e)?e.value:At(e)?c(e):F(e)?l?l(e,2):e():void 0)):h=F(e)?t?l?()=>l(e,2):e:()=>{if(u){Be();try{u()}finally{Ve()}}const t=Kt;Kt=d;try{return l?l(e,3,[p]):e(p)}finally{Kt=t}}:_,t&&n){const e=h,t=!0===n?1/0:n;h=()=>Qt(e(),t)}const v=xe,f=()=>{d.stop(),v&&v.active&&D(v.effects,d)};if(o&&t){const e=t;t=(...t)=>{e(...t),f()}}let b=m?new Array(e.length).fill(Gt):Gt;const k=e=>{if(1&d.flags&&(d.dirty||e))if(t){const e=d.run();if(n||g||(m?e.some((e,t)=>ie(e,b[t])):ie(e,b))){u&&u();const r=Kt;Kt=d;try{const r=[e,b===Gt?void 0:m&&b[0]===Gt?[]:b,p];b=e,l?l(t,3,r):t(...r)}finally{Kt=r}}}else d.run()};return s&&s(k),d=new Ee(h),d.scheduler=a?()=>a(k,!1):k,p=e=>function(e,t=!1,r=Kt){if(r){let t=Jt.get(r);t||Jt.set(r,t=[]),t.push(e)}}(e,!1,d),u=d.onStop=()=>{const e=Jt.get(d);if(e){if(l)l(e,4);else for(const t of e)t();Jt.delete(d)}},t?i?k(!0):b=d.run():a?a(k.bind(null,!0),!0):d.run(),f.pause=d.pause.bind(d),f.resume=d.resume.bind(d),f.stop=f,f}(e,t,s);return lo&&(c?c.push(u):l&&u()),u}function gn(e,t,r){const i=this.proxy,n=B(e)?e.includes(".")?mn(i,e):()=>i[e]:e.bind(i,i);let o;F(t)?o=t:(o=t.handler,r=t);const a=oo(this),s=pn(n,o.bind(i),r);return a(),s}function mn(e,t){const r=t.split(".");return()=>{let t=e;for(let e=0;e<r.length&&t;e++)t=t[r[e]];return t}}const vn=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${Y(t)}Modifiers`]||e[`${ee(t)}Modifiers`];function fn(e,t,...r){if(e.isUnmounted)return;const i=e.vnode.props||I;let n=r;const o=t.startsWith("update:"),a=o&&vn(i,t.slice(7));let s;a&&(a.trim&&(n=r.map(e=>B(e)?e.trim():e)),a.number&&(n=r.map(ae)));let l=i[s=re(t)]||i[s=re(Y(t))];!l&&o&&(l=i[s=re(ee(t))]),l&&Yt(l,e,6,n);const c=i[s+"Once"];if(c){if(e.emitted){if(e.emitted[s])return}else e.emitted={};e.emitted[s]=!0,Yt(c,e,6,n)}}const bn=new WeakMap;function kn(e,t,r=!1){const i=r?bn:t.emitsCache,n=i.get(e);if(void 0!==n)return n;const o=e.emits;let a={},s=!1;if(!F(e)){const i=e=>{const r=kn(e,t,!0);r&&(s=!0,O(a,r))};!r&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return o||s?(j(o)?o.forEach(e=>a[e]=null):O(a,o),q(e)&&i.set(e,a),a):(q(e)&&i.set(e,null),null)}function wn(e,t){return!(!e||!R(t))&&(t=t.slice(2).replace(/Once$/,""),N(e,t[0].toLowerCase()+t.slice(1))||N(e,ee(t))||N(e,t))}function yn(e){const{type:t,vnode:r,proxy:i,withProxy:n,propsOptions:[o],slots:a,attrs:s,emit:l,render:c,renderCache:d,props:h,data:u,setupState:p,ctx:g,inheritAttrs:m}=e,v=vr(e);let f,b;try{if(4&r.shapeFlag){const e=n||i,t=e;f=Jn(c.call(t,e,d,h,p,u,g)),b=s}else{const e=t;f=Jn(e.length>1?e(h,{attrs:s,slots:a,emit:l}):e(h,null)),b=t.props?s:xn(s)}}catch(w){Mn.length=0,Xt(w,e,1),f=qn(Pn)}let k=f;if(b&&!1!==m){const e=Object.keys(b),{shapeFlag:t}=k;e.length&&7&t&&(o&&e.some(A)&&(b=Cn(b,o)),k=Wn(k,b,!1,!0))}return r.dirs&&(k=Wn(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(r.dirs):r.dirs),r.transition&&Hr(k,r.transition),f=k,vr(v),f}const xn=e=>{let t;for(const r in e)("class"===r||"style"===r||R(r))&&((t||(t={}))[r]=e[r]);return t},Cn=(e,t)=>{const r={};for(const i in e)A(i)&&i.slice(9)in t||(r[i]=e[i]);return r};function Sn(e,t,r){const i=Object.keys(t);if(i.length!==Object.keys(e).length)return!0;for(let n=0;n<i.length;n++){const o=i[n];if(t[o]!==e[o]&&!wn(r,o))return!0}return!1}const Tn=e=>e.__isSuspense,En=Symbol.for("v-fgt"),In=Symbol.for("v-txt"),Pn=Symbol.for("v-cmt"),_n=Symbol.for("v-stc"),Mn=[];let Rn=null;function An(e=!1){Mn.push(Rn=e?null:[])}let On=1;function Dn(e,t=!1){On+=e,e<0&&Rn&&t&&(Rn.hasOnce=!0)}function Ln(e){return e.dynamicChildren=On>0?Rn||P:null,Mn.pop(),Rn=Mn[Mn.length-1]||null,On>0&&Rn&&Rn.push(e),e}function Nn(e,t,r,i,n,o){return Ln(Vn(e,t,r,i,n,o,!0))}function jn(e,t,r,i,n){return Ln(qn(e,t,r,i,n,!0))}function Un(e){return!!e&&!0===e.__v_isVNode}function zn(e,t){return e.type===t.type&&e.key===t.key}const Fn=({key:e})=>null!=e?e:null,Bn=({ref:e,ref_key:t,ref_for:r})=>("number"==typeof e&&(e=""+e),null!=e?B(e)||zt(e)||F(e)?{i:gr,r:e,k:t,f:!!r}:e:null);function Vn(e,t=null,r=null,i=0,n=null,o=(e===En?0:1),a=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Fn(t),ref:t&&Bn(t),scopeId:mr,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:i,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:gr};return s?(Qn(l,r),128&o&&e.normalize(l)):r&&(l.shapeFlag|=B(r)?8:16),On>0&&!a&&Rn&&(l.patchFlag>0||6&o)&&32!==l.patchFlag&&Rn.push(l),l}const qn=function(e,t=null,r=null,i=0,n=null,o=!1){if(e&&e!==mi||(e=Pn),Un(e)){const i=Wn(e,t,!0);return r&&Qn(i,r),On>0&&!o&&Rn&&(6&i.shapeFlag?Rn[Rn.indexOf(e)]=i:Rn.push(i)),i.patchFlag=-2,i}var a;if(F(a=e)&&"__vccOpts"in a&&(e=e.__vccOpts),t){t=Hn(t);let{class:e,style:r}=t;e&&!B(e)&&(t.class=ge(e)),q(r)&&(Lt(r)&&!j(r)&&(r=O({},r)),t.style=ce(r))}return Vn(e,t,r,i,n,B(e)?1:Tn(e)?128:yr(e)?64:q(e)?4:F(e)?2:0,o,!0)};function Hn(e){return e?Lt(e)||Hi(e)?O({},e):e:null}function Wn(e,t,r=!1,i=!1){const{props:n,ref:o,patchFlag:a,children:s,transition:l}=e,c=t?Zn(n||{},t):n,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Fn(c),ref:t&&t.ref?r&&o?j(o)?o.concat(Bn(t)):[o,Bn(t)]:Bn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==En?-1===a?16:16|a:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Wn(e.ssContent),ssFallback:e.ssFallback&&Wn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&i&&Hr(d,l.clone(d)),d}function $n(e=" ",t=0){return qn(In,null,e,t)}function Gn(e="",t=!1){return t?(An(),jn(Pn,null,e)):qn(Pn,null,e)}function Jn(e){return null==e||"boolean"==typeof e?qn(Pn):j(e)?qn(En,null,e.slice()):Un(e)?Kn(e):qn(In,null,String(e))}function Kn(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Wn(e)}function Qn(e,t){let r=0;const{shapeFlag:i}=e;if(null==t)t=null;else if(j(t))r=16;else if("object"==typeof t){if(65&i){const r=t.default;return void(r&&(r._c&&(r._d=!1),Qn(e,r()),r._c&&(r._d=!0)))}{r=32;const i=t._;i||Hi(t)?3===i&&gr&&(1===gr.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=gr}}else F(t)?(t={default:t,_ctx:gr},r=32):(t=String(t),64&i?(r=16,t=[$n(t)]):r=8);e.children=t,e.shapeFlag|=r}function Zn(...e){const t={};for(let r=0;r<e.length;r++){const i=e[r];for(const e in i)if("class"===e)t.class!==i.class&&(t.class=ge([t.class,i.class]));else if("style"===e)t.style=ce([t.style,i.style]);else if(R(e)){const r=t[e],n=i[e];!n||r===n||j(r)&&r.includes(n)||(t[e]=r?[].concat(r,n):n)}else""!==e&&(t[e]=i[e])}return t}function Yn(e,t,r,i=null){Yt(e,t,7,[r,i])}const Xn=ji();let eo=0,to=null;const ro=()=>to||gr;let io,no;{const e=le(),t=(t,r)=>{let i;return(i=e[t])||(i=e[t]=[]),i.push(r),e=>{i.length>1?i.forEach(t=>t(e)):i[0](e)}};io=t("__VUE_INSTANCE_SETTERS__",e=>to=e),no=t("__VUE_SSR_SETTERS__",e=>lo=e)}const oo=e=>{const t=to;return io(e),e.scope.on(),()=>{e.scope.off(),io(t)}},ao=()=>{to&&to.scope.off(),io(null)};function so(e){return 4&e.vnode.shapeFlag}let lo=!1;function co(e,t,r){F(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:q(t)&&(e.setupState=Wt(t)),ho(e)}function ho(e,t,r){const i=e.type;e.render||(e.render=i.render||_);{const t=oo(e);Be();try{!function(e){const t=_i(e),r=e.proxy,i=e.ctx;Ei=!1,t.beforeCreate&&Ii(t.beforeCreate,e,"bc");const{data:n,computed:o,methods:a,watch:s,provide:l,inject:c,created:d,beforeMount:h,mounted:u,beforeUpdate:p,updated:g,activated:m,deactivated:v,beforeDestroy:f,beforeUnmount:b,destroyed:k,unmounted:w,render:y,renderTracked:x,renderTriggered:C,errorCaptured:S,serverPrefetch:T,expose:E,inheritAttrs:I,components:P,directives:M,filters:R}=t;if(c&&function(e,t){j(e)&&(e=Oi(e));for(const r in e){const i=e[r];let n;n=q(i)?"default"in i?Bi(i.from||r,i.default,!0):Bi(i.from||r):Bi(i),zt(n)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>n.value,set:e=>n.value=e}):t[r]=n}}(c,i),a)for(const _ in a){const e=a[_];F(e)&&(i[_]=e.bind(r))}if(n){const t=n.call(r,r);q(t)&&(e.data=_t(t))}if(Ei=!0,o)for(const O in o){const e=o[O],t=F(e)?e.bind(r,r):F(e.get)?e.get.bind(r,r):_,n=!F(e)&&F(e.set)?e.set.bind(r):_,a=go({get:t,set:n});Object.defineProperty(i,O,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(s)for(const _ in s)Pi(s[_],i,r,_);if(l){const e=F(l)?l.call(r):l;Reflect.ownKeys(e).forEach(t=>{!function(e,t){if(to){let r=to.provides;const i=to.parent&&to.parent.provides;i===r&&(r=to.provides=Object.create(i)),r[e]=t}}(t,e[t])})}function A(e,t){j(t)?t.forEach(t=>e(t.bind(r))):t&&e(t.bind(r))}if(d&&Ii(d,e,"c"),A(oi,h),A(ai,u),A(si,p),A(li,g),A(Xr,m),A(ei,v),A(gi,S),A(pi,x),A(ui,C),A(ci,b),A(di,w),A(hi,T),j(E))if(E.length){const t=e.exposed||(e.exposed={});E.forEach(e=>{Object.defineProperty(t,e,{get:()=>r[e],set:t=>r[e]=t,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===_&&(e.render=y),null!=I&&(e.inheritAttrs=I),P&&(e.components=P),M&&(e.directives=M),T&&Gr(e)}(e)}finally{Ve(),t()}}}const uo={get:(e,t)=>(Ye(e,0,""),e[t])};function po(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Wt((t=e.exposed,!N(t,"__v_skip")&&Object.isExtensible(t)&&oe(t,"__v_skip",!0),t)),{get:(t,r)=>r in t?t[r]:r in xi?xi[r](e):void 0,has:(e,t)=>t in e||t in xi})):e.proxy;var t}const go=(e,t)=>{const r=function(e,t,r=!1){let i,n;return F(e)?i=e:(i=e.get,n=e.set),new $t(i,n,r)}(e,0,lo);return r},mo="3.5.22";let vo;const fo="undefined"!=typeof window&&window.trustedTypes;if(fo)try{vo=fo.createPolicy("vue",{createHTML:e=>e})}catch(yy){}const bo=vo?e=>vo.createHTML(e):e=>e,ko="undefined"!=typeof document?document:null,wo=ko&&ko.createElement("template"),yo={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,i)=>{const n="svg"===t?ko.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?ko.createElementNS("http://www.w3.org/1998/Math/MathML",e):r?ko.createElement(e,{is:r}):ko.createElement(e);return"select"===e&&i&&null!=i.multiple&&n.setAttribute("multiple",i.multiple),n},createText:e=>ko.createTextNode(e),createComment:e=>ko.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ko.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,i,n,o){const a=r?r.previousSibling:t.lastChild;if(n&&(n===o||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),r),n!==o&&(n=n.nextSibling););else{wo.innerHTML=bo("svg"===i?`<svg>${e}</svg>`:"mathml"===i?`<math>${e}</math>`:e);const n=wo.content;if("svg"===i||"mathml"===i){const e=n.firstChild;for(;e.firstChild;)n.appendChild(e.firstChild);n.removeChild(e)}t.insertBefore(n,r)}return[a?a.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},xo="transition",Co="animation",So=Symbol("_vtc"),To={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Eo=O({},Nr,To),Io=(e=>(e.displayName="Transition",e.props=Eo,e))((e,{slots:t})=>function(e,t,r){try{Dn(-1);const i=arguments.length;return 2===i?q(t)&&!j(t)?Un(t)?qn(e,null,[t]):qn(e,t):qn(e,null,t):(i>3?r=Array.prototype.slice.call(arguments,2):3===i&&Un(r)&&(r=[r]),qn(e,t,r))}finally{Dn(1)}}(zr,Mo(e),t)),Po=(e,t=[])=>{j(e)?e.forEach(e=>e(...t)):e&&e(...t)},_o=e=>!!e&&(j(e)?e.some(e=>e.length>1):e.length>1);function Mo(e){const t={};for(const P in e)P in To||(t[P]=e[P]);if(!1===e.css)return t;const{name:r="v",type:i,duration:n,enterFromClass:o=`${r}-enter-from`,enterActiveClass:a=`${r}-enter-active`,enterToClass:s=`${r}-enter-to`,appearFromClass:l=o,appearActiveClass:c=a,appearToClass:d=s,leaveFromClass:h=`${r}-leave-from`,leaveActiveClass:u=`${r}-leave-active`,leaveToClass:p=`${r}-leave-to`}=e,g=function(e){if(null==e)return null;if(q(e))return[Ro(e.enter),Ro(e.leave)];{const t=Ro(e);return[t,t]}}(n),m=g&&g[0],v=g&&g[1],{onBeforeEnter:f,onEnter:b,onEnterCancelled:k,onLeave:w,onLeaveCancelled:y,onBeforeAppear:x=f,onAppear:C=b,onAppearCancelled:S=k}=t,T=(e,t,r,i)=>{e._enterCancelled=i,Oo(e,t?d:s),Oo(e,t?c:a),r&&r()},E=(e,t)=>{e._isLeaving=!1,Oo(e,h),Oo(e,p),Oo(e,u),t&&t()},I=e=>(t,r)=>{const n=e?C:b,a=()=>T(t,e,r);Po(n,[t,a]),Do(()=>{Oo(t,e?l:o),Ao(t,e?d:s),_o(n)||No(t,i,m,a)})};return O(t,{onBeforeEnter(e){Po(f,[e]),Ao(e,o),Ao(e,a)},onBeforeAppear(e){Po(x,[e]),Ao(e,l),Ao(e,c)},onEnter:I(!1),onAppear:I(!0),onLeave(e,t){e._isLeaving=!0;const r=()=>E(e,t);Ao(e,h),e._enterCancelled?(Ao(e,u),Fo(e)):(Fo(e),Ao(e,u)),Do(()=>{e._isLeaving&&(Oo(e,h),Ao(e,p),_o(w)||No(e,i,v,r))}),Po(w,[e,r])},onEnterCancelled(e){T(e,!1,void 0,!0),Po(k,[e])},onAppearCancelled(e){T(e,!0,void 0,!0),Po(S,[e])},onLeaveCancelled(e){E(e),Po(y,[e])}})}function Ro(e){const t=(e=>{const t=B(e)?Number(e):NaN;return isNaN(t)?e:t})(e);return t}function Ao(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[So]||(e[So]=new Set)).add(t)}function Oo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const r=e[So];r&&(r.delete(t),r.size||(e[So]=void 0))}function Do(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Lo=0;function No(e,t,r,i){const n=e._endId=++Lo,o=()=>{n===e._endId&&i()};if(null!=r)return setTimeout(o,r);const{type:a,timeout:s,propCount:l}=jo(e,t);if(!a)return i();const c=a+"end";let d=0;const h=()=>{e.removeEventListener(c,u),o()},u=t=>{t.target===e&&++d>=l&&h()};setTimeout(()=>{d<l&&h()},s+1),e.addEventListener(c,u)}function jo(e,t){const r=window.getComputedStyle(e),i=e=>(r[e]||"").split(", "),n=i(`${xo}Delay`),o=i(`${xo}Duration`),a=Uo(n,o),s=i(`${Co}Delay`),l=i(`${Co}Duration`),c=Uo(s,l);let d=null,h=0,u=0;return t===xo?a>0&&(d=xo,h=a,u=o.length):t===Co?c>0&&(d=Co,h=c,u=l.length):(h=Math.max(a,c),d=h>0?a>c?xo:Co:null,u=d?d===xo?o.length:l.length:0),{type:d,timeout:h,propCount:u,hasTransform:d===xo&&/\b(?:transform|all)(?:,|$)/.test(i(`${xo}Property`).toString())}}function Uo(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,r)=>zo(t)+zo(e[r])))}function zo(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Fo(e){return(e?e.ownerDocument:document).body.offsetHeight}const Bo=Symbol("_vod"),Vo=Symbol("_vsh"),qo=Symbol(""),Ho=/(?:^|;)\s*display\s*:/,Wo=/\s*!important$/;function $o(e,t,r){if(j(r))r.forEach(r=>$o(e,t,r));else if(null==r&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const i=function(e,t){const r=Jo[t];if(r)return r;let i=Y(t);if("filter"!==i&&i in e)return Jo[t]=i;i=te(i);for(let n=0;n<Go.length;n++){const r=Go[n]+i;if(r in e)return Jo[t]=r}return t}(e,t);Wo.test(r)?e.setProperty(ee(i),r.replace(Wo,""),"important"):e[i]=r}}const Go=["Webkit","Moz","ms"],Jo={},Ko="http://www.w3.org/1999/xlink";function Qo(e,t,r,i,n,o=ve(t)){i&&t.startsWith("xlink:")?null==r?e.removeAttributeNS(Ko,t.slice(6,t.length)):e.setAttributeNS(Ko,t,r):null==r||o&&!fe(r)?e.removeAttribute(t):e.setAttribute(t,o?"":V(r)?String(r):r)}function Zo(e,t,r,i,n){if("innerHTML"===t||"textContent"===t)return void(null!=r&&(e[t]="innerHTML"===t?bo(r):r));const o=e.tagName;if("value"===t&&"PROGRESS"!==o&&!o.includes("-")){const i="OPTION"===o?e.getAttribute("value")||"":e.value,n=null==r?"checkbox"===e.type?"on":"":String(r);return i===n&&"_value"in e||(e.value=n),null==r&&e.removeAttribute(t),void(e._value=r)}let a=!1;if(""===r||null==r){const i=typeof e[t];"boolean"===i?r=fe(r):null==r&&"string"===i?(r="",a=!0):"number"===i&&(r=0,a=!0)}try{e[t]=r}catch(yy){}a&&e.removeAttribute(n||t)}function Yo(e,t,r,i){e.addEventListener(t,r,i)}const Xo=Symbol("_vei");const ea=/(?:Once|Passive|Capture)$/;let ta=0;const ra=Promise.resolve(),ia=()=>ta||(ra.then(()=>ta=0),ta=Date.now()),na=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,oa=new WeakMap,aa=new WeakMap,sa=Symbol("_moveCb"),la=Symbol("_enterCb"),ca=(e=>(delete e.props.mode,e))({name:"TransitionGroup",props:O({},Eo,{tag:String,moveClass:String}),setup(e,{slots:t}){const r=ro(),i=Dr();let n,o;return li(()=>{if(!n.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,r){const i=e.cloneNode(),n=e[So];n&&n.forEach(e=>{e.split(/\s+/).forEach(e=>e&&i.classList.remove(e))}),r.split(/\s+/).forEach(e=>e&&i.classList.add(e)),i.style.display="none";const o=1===t.nodeType?t:t.parentNode;o.appendChild(i);const{hasTransform:a}=jo(i);return o.removeChild(i),a}(n[0].el,r.vnode.el,t))return void(n=[]);n.forEach(da),n.forEach(ha);const i=n.filter(ua);Fo(r.vnode.el),i.forEach(e=>{const r=e.el,i=r.style;Ao(r,t),i.transform=i.webkitTransform=i.transitionDuration="";const n=r[sa]=e=>{e&&e.target!==r||e&&!e.propertyName.endsWith("transform")||(r.removeEventListener("transitionend",n),r[sa]=null,Oo(r,t))};r.addEventListener("transitionend",n)}),n=[]}),()=>{const a=Nt(e),s=Mo(a);let l=a.tag||En;if(n=[],o)for(let e=0;e<o.length;e++){const t=o[e];t.el&&t.el instanceof Element&&(n.push(t),Hr(t,Br(t,s,i,r)),oa.set(t,t.el.getBoundingClientRect()))}o=t.default?Wr(t.default()):[];for(let e=0;e<o.length;e++){const t=o[e];null!=t.key&&Hr(t,Br(t,s,i,r))}return qn(l,null,o)}}});function da(e){const t=e.el;t[sa]&&t[sa](),t[la]&&t[la]()}function ha(e){aa.set(e,e.el.getBoundingClientRect())}function ua(e){const t=oa.get(e),r=aa.get(e),i=t.left-r.left,n=t.top-r.top;if(i||n){const t=e.el.style;return t.transform=t.webkitTransform=`translate(${i}px,${n}px)`,t.transitionDuration="0s",e}}const pa=e=>{const t=e.props["onUpdate:modelValue"]||!1;return j(t)?e=>ne(t,e):t};function ga(e){e.target.composing=!0}function ma(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const va=Symbol("_assign"),fa={created(e,{modifiers:{lazy:t,trim:r,number:i}},n){e[va]=pa(n);const o=i||n.props&&"number"===n.props.type;Yo(e,t?"change":"input",t=>{if(t.target.composing)return;let i=e.value;r&&(i=i.trim()),o&&(i=ae(i)),e[va](i)}),r&&Yo(e,"change",()=>{e.value=e.value.trim()}),t||(Yo(e,"compositionstart",ga),Yo(e,"compositionend",ma),Yo(e,"change",ma))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:r,modifiers:{lazy:i,trim:n,number:o}},a){if(e[va]=pa(a),e.composing)return;const s=null==t?"":t;if((!o&&"number"!==e.type||/^0\d/.test(e.value)?e.value:ae(e.value))!==s){if(document.activeElement===e&&"range"!==e.type){if(i&&t===r)return;if(n&&e.value.trim()===s)return}e.value=s}}},ba=["ctrl","shift","alt","meta"],ka={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>ba.some(r=>e[`${r}Key`]&&!t.includes(r))},wa=(e,t)=>{const r=e._withMods||(e._withMods={}),i=t.join(".");return r[i]||(r[i]=(r,...i)=>{for(let e=0;e<t.length;e++){const i=ka[t[e]];if(i&&i(r,t))return}return e(r,...i)})},ya={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},xa=(e,t)=>{const r=e._withKeys||(e._withKeys={}),i=t.join(".");return r[i]||(r[i]=r=>{if(!("key"in r))return;const i=ee(r.key);return t.some(e=>e===i||ya[e]===i)?e(r):void 0})},Ca=O({patchProp:(e,t,r,i,n,o)=>{const a="svg"===n;"class"===t?function(e,t,r){const i=e[So];i&&(t=(t?[t,...i]:[...i]).join(" ")),null==t?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}(e,i,a):"style"===t?function(e,t,r){const i=e.style,n=B(r);let o=!1;if(r&&!n){if(t)if(B(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==r[t]&&$o(i,t,"")}else for(const e in t)null==r[e]&&$o(i,e,"");for(const e in r)"display"===e&&(o=!0),$o(i,e,r[e])}else if(n){if(t!==r){const e=i[qo];e&&(r+=";"+e),i.cssText=r,o=Ho.test(r)}}else t&&e.removeAttribute("style");Bo in e&&(e[Bo]=o?i.display:"",e[Vo]&&(i.display="none"))}(e,r,i):R(t)?A(t)||function(e,t,r,i,n=null){const o=e[Xo]||(e[Xo]={}),a=o[t];if(i&&a)a.value=i;else{const[r,s]=function(e){let t;if(ea.test(e)){let r;for(t={};r=e.match(ea);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):ee(e.slice(2)),t]}(t);if(i){const a=o[t]=function(e,t){const r=e=>{if(e._vts){if(e._vts<=r.attached)return}else e._vts=Date.now();Yt(function(e,t){if(j(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,r.value),t,5,[e])};return r.value=e,r.attached=ia(),r}(i,n);Yo(e,r,a,s)}else a&&(function(e,t,r,i){e.removeEventListener(t,r,i)}(e,r,a,s),o[t]=void 0)}}(e,t,0,i,o):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,r,i){if(i)return"innerHTML"===t||"textContent"===t||!!(t in e&&na(t)&&F(r));if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}return(!na(t)||!B(r))&&t in e}(e,t,i,a))?(Zo(e,t,i),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||Qo(e,t,i,a,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&B(i)?("true-value"===t?e._trueValue=i:"false-value"===t&&(e._falseValue=i),Qo(e,t,i,a)):Zo(e,Y(t),i,0,t)}},yo);let Sa;const Ta=(...e)=>{const t=(Sa||(Sa=nn(Ca))).createApp(...e),{mount:r}=t;return t.mount=e=>{const i=function(e){return B(e)?document.querySelector(e):e}(e);if(!i)return;const n=t._component;F(n)||n.render||n.template||(n.template=i.innerHTML),1===i.nodeType&&(i.textContent="");const o=r(i,!1,function(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t};var Ea=(e,t,r)=>((e,t,r={})=>{let i=`${e}=${t}`;if(e.startsWith("__Secure-")&&!r.secure)throw new Error("__Secure- Cookie must have Secure attributes");if(e.startsWith("__Host-")){if(!r.secure)throw new Error("__Host- Cookie must have Secure attributes");if("/"!==r.path)throw new Error('__Host- Cookie must have Path attributes with "/"');if(r.domain)throw new Error("__Host- Cookie must not have Domain attributes")}if(r&&"number"==typeof r.maxAge&&r.maxAge>=0){if(r.maxAge>3456e4)throw new Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");i+="; Max-Age="+(0|r.maxAge)}if(r.domain&&"host"!==r.prefix&&(i+=`; Domain=${r.domain}`),r.path&&(i+=`; Path=${r.path}`),r.expires){if(r.expires.getTime()-Date.now()>3456e7)throw new Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");i+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.sameSite&&(i+=`; SameSite=${r.sameSite.charAt(0).toUpperCase()+r.sameSite.slice(1)}`),r.priority&&(i+=`; Priority=${r.priority.charAt(0).toUpperCase()+r.priority.slice(1)}`),r.partitioned){if(!r.secure)throw new Error("Partitioned Cookie must have Secure attributes");i+="; Partitioned"}return i})(e,t=encodeURIComponent(t),r),Ia=(e,t)=>{for(const[r,i]of Object.entries(t)){const t=new RegExp("/:"+r+"(?:{[^/]+})?\\??");e=e.replace(t,i?`/${i}`:"")}return e},Pa=e=>{const t=new URLSearchParams;for(const[r,i]of Object.entries(e))if(void 0!==i)if(Array.isArray(i))for(const e of i)t.append(r,e);else t.set(r,i);return t},_a=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,"/"):e.replace(/\/index(?=\?|$)/,"");function Ma(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Ra(e,t){if(!Ma(e)&&!Ma(t))return t;const r={...e};for(const i in t){const e=t[i];Ma(r[i])&&Ma(e)?r[i]=Ra(r[i],e):r[i]=e}return r}var Aa=(e,t)=>new Proxy(()=>{},{get(r,i){if("string"==typeof i&&"then"!==i)return Aa(e,[...t,i])},apply:(r,i,n)=>e({path:t,args:n})}),Oa=class{constructor(e,t){r(this,"url"),r(this,"method"),r(this,"queryParams"),r(this,"pathParams",{}),r(this,"rBody"),r(this,"cType"),r(this,"fetch",async(e,t)=>{if(e){if(e.query&&(this.queryParams=Pa(e.query)),e.form){const t=new FormData;for(const[r,i]of Object.entries(e.form))if(Array.isArray(i))for(const e of i)t.append(r,e);else t.append(r,i);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType="application/json"),e.param&&(this.pathParams=e.param)}let r=this.method.toUpperCase();const i={...e?.header,..."function"==typeof t?.headers?await t.headers():t?.headers};if(e?.cookie){const t=[];for(const[r,i]of Object.entries(e.cookie))t.push(Ea(r,i,{path:"/"}));i.Cookie=t.join(",")}this.cType&&(i["Content-Type"]=this.cType);const n=new Headers(i??void 0);let o=this.url;o=_a(o),o=Ia(o,this.pathParams),this.queryParams&&(o=o+"?"+this.queryParams.toString()),r=this.method.toUpperCase();const a=!("GET"===r||"HEAD"===r);return(t?.fetch||fetch)(o,{body:a?this.rBody:void 0,method:r,headers:n,...t?.init})}),this.url=e,this.method=t}},Da=(e,t)=>Aa(function r(i){const n=[...i.path],o=n.slice(-3).reverse();if("toString"===o[0])return"name"===o[1]?o[2]||"":r.toString();if("valueOf"===o[0])return"name"===o[1]?o[2]||"":r;let a="";if(/^\$/.test(o[0])){const e=n.pop();e&&(a=e.replace(/^\$/,""))}const s=n.join("/"),l=((e,t)=>(e=e.replace(/\/+$/,""),(e+="/")+t.replace(/^\/+/,"")))(e,s);if("url"===a){let e=l;return i.args[0]&&(i.args[0].param&&(e=Ia(l,i.args[0].param)),i.args[0].query&&(e=e+"?"+Pa(i.args[0].query).toString())),e=_a(e),new URL(e)}if("ws"===a){const e=(i.args[0]&&i.args[0].param?Ia(l,i.args[0].param):l).replace(/^http/,"ws"),r=new URL(e),n=i.args[0]?.query;return n&&Object.entries(n).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>r.searchParams.append(e,t)):r.searchParams.set(e,t)}),((...e)=>void 0!==t?.webSocket&&"function"==typeof t.webSocket?t.webSocket(...e):new WebSocket(...e))(r.toString())}const c=new Oa(l,a);if(a){t??(t={});const e=Ra(t,{...i.args[1]});return c.fetch(i.args[0],e)}return c},[]),La=Object.defineProperty,Na=(e,t)=>La(e,"name",{value:t,configurable:!0}),ja=(e,t,r)=>((e,t,r)=>t in e?La(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);const Ua=globalThis.process,za=typeof window<"u",Fa=typeof Ua<"u"&&!za,Ba=za?typeof window<"u"&&window.location&&!window.location.hostname.includes("localhost"):Fa&&typeof Ua<"u"&&"production"===Ua.env?.NODE_ENV,Va=!Ba,qa={error:{priority:50,color:"#FF0000",nodeColor:"\x1b[31m"},warn:{priority:40,color:"#FFA500",nodeColor:"\x1b[33m"},info:{priority:30,color:"#00ABFF",nodeColor:"\x1b[36m"},debug:{priority:20,color:"#00BD0C",nodeColor:"\x1b[32m"},trace:{priority:10,color:"#5233FF",nodeColor:"\x1b[35m"}},Ha=["password","token","secret","apikey","api_key","authorization","cookie"],Wa=class e{constructor(e={},t){ja(this,"settings"),ja(this,"enabledInBrowser",!1),ja(this,"context"),this.context=t,this.settings={enabled:e.enabled??!0,minLevel:e.minLevel??this.getDefaultLevel(),timestamps:e.timestamps??!0},za&&this.initBrowserLogging()}getDefaultLevel(){if(Fa&&typeof Ua<"u"&&Ua.env?.LOG_LEVEL)return Ua.env.LOG_LEVEL;if(za&&typeof localStorage<"u"){const e=localStorage.getItem("FICTION_LOG_LEVEL");if(e)return e}return Ba?"info":"debug"}initBrowserLogging(){if(!za)return;const t="true"===localStorage.getItem("FICTION_LOG"),r=window.location?.hostname||"";this.enabledInBrowser=Va||t||"localhost"===r||r.includes("127.0.0.1"),Ba&&!t&&!e.hasShownHelp&&(e.hasShownHelp=!0)}shouldLog(e){return!(!this.settings.enabled||za&&!this.enabledInBrowser)&&qa[e].priority>=qa[this.settings.minLevel].priority}formatTimestamp(){return(new Date).toLocaleTimeString("en-GB",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}formatISOTimestamp(){return(new Date).toISOString()}redactSensitive(e){if("object"!=typeof e||null===e)return e;if(Array.isArray(e))return e.map(e=>this.redactSensitive(e));const t={};for(const[r,i]of Object.entries(e)){const e=r.toLowerCase();Ha.some(t=>e.includes(t))?t[r]="[REDACTED]":t[r]="object"==typeof i&&null!==i?this.redactSensitive(i):i}return t}formatData(e,t=3,r=0){if(r>=t)return"[Max Depth]";if(null==e)return e;if(e instanceof Error)return{name:e.name,message:e.message,stack:Ba?e.stack?.split("\n").slice(0,3).join("\n"):e.stack,...e};if(e instanceof Date)return e.toISOString();if("object"!=typeof e)return e;if(Array.isArray(e))return e.length>20&&Ba?`Array(${e.length}) [${e.slice(0,3).map(e=>this.formatData(e,t,r+1)).join(", ")}, ...]`:e.map(e=>this.formatData(e,t,r+1));try{const i={},n=Object.entries(e),o=Ba?50:200;for(const[e,a]of n.slice(0,o))i[e]=this.formatData(a,t,r+1);return n.length>o&&(i["..."]=n.length-o+" more properties"),this.redactSensitive(i)}catch{return"[Unserializable]"}}logToBrowser(e){if(!za||!this.shouldLog(e.level))return;const{level:t,description:r,context:i,data:n,error:o}=e,a=qa[t];i||this.context,t.toUpperCase(),a.color,o&&Error}async logToNode(e){if(!Fa||!this.shouldLog(e.level))return;const{level:t,description:r,context:i,data:n,error:o}=e,a=i||this.context||"www";if(Ba){const e={timestamp:this.formatISOTimestamp(),level:t.toUpperCase()};n&&(e.data=this.formatData(n)),o&&(e.error=this.formatData(o))}else try{const e=(await Promise.resolve().then(()=>Xs).catch(()=>null))?.default,r=qa[t],i=this.formatTimestamp();if(e){const n=e.dim,s=e.hex(r.color);n(`${i} `),s(`${t.toUpperCase()} `);s(`(${a}): `),o&&o instanceof Error&&e&&o.stack}}catch{}}log(e){za?this.logToBrowser(e):Fa&&this.logToNode(e).catch(console.error)}error(e,t){this.log({level:"error",description:e,data:t,context:this.context})}warn(e,t){this.log({level:"warn",description:e,data:t,context:this.context})}info(e,t){this.log({level:"info",description:e,data:t,context:this.context})}debug(e,t){this.log({level:"debug",description:e,data:t,context:this.context})}trace(e,t){this.log({level:"trace",description:e,data:t,context:this.context})}isEnabled(){return!za||this.enabledInBrowser}setLevel(e){this.settings.minLevel=e}createContextLogger(t){const r=new e(this.settings,t);return{error:Na((e,t)=>r.error(e,t),"error"),warn:Na((e,t)=>r.warn(e,t),"warn"),info:Na((e,t)=>r.info(e,t),"info"),debug:Na((e,t)=>r.debug(e,t),"debug"),trace:Na((e,t)=>r.trace(e,t),"trace"),isEnabled:Na(()=>r.isEnabled(),"isEnabled"),setLevel:Na(e=>r.setLevel(e),"setLevel")}}};Na(Wa,"Logger"),ja(Wa,"hasShownHelp",!1);let $a=Wa;function Ga(e){return new $a({},e).createContextLogger(e)}Na(Ga,"createLogger");const Ja=new $a;Ja.error.bind(Ja),Ja.warn.bind(Ja),Ja.info.bind(Ja),Ja.debug.bind(Ja),Ja.trace.bind(Ja);const Ka=class{constructor(e,t){ja(this,"name"),ja(this,"settings"),ja(this,"logger"),this.name=e,this.settings=t,this.logger=Ga(e)}};Na(Ka,"SettingsObject");let Qa=Ka;const Za=class{constructor(){ja(this,"tokenName","auth-token"),ja(this,"tokenMaxAge",604800),ja(this,"fallbackStorageKey","token"),ja(this,"productionDomain",".fiction.com")}getCookie(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(const r of t){const[t,i]=r.trim().split("=");if(t===e)return decodeURIComponent(i||"")}return null}setCookie(e,t,r={}){if(typeof document>"u")return;const{secure:i=!0,sameSite:n="lax",maxAge:o=604800,domain:a,path:s="/"}=r;let l=`${e}=${encodeURIComponent(t)}`;l+=`; Path=${s}`,l+=`; Max-Age=${o}`,l+=`; SameSite=${n}`,i&&(l+="; Secure"),a&&(l+=`; Domain=${a}`),document.cookie=l}removeCookie(e,t={}){this.setCookie(e,"",{...t,maxAge:0})}getAuthToken(){const e=this.getCookie(this.tokenName);if(e)return e;if(typeof localStorage<"u"){const e=localStorage.getItem(this.fallbackStorageKey);if(e)return this.setAuthToken(e),localStorage.removeItem(this.fallbackStorageKey),e}return null}setAuthToken(e){const t=typeof window<"u"&&"localhost"!==window.location.hostname;this.setCookie(this.tokenName,e,{secure:t,sameSite:"lax",maxAge:this.tokenMaxAge,domain:t?this.productionDomain:void 0,path:"/"})}removeAuthToken(){const e=typeof window<"u"&&"localhost"!==window.location.hostname;this.removeCookie(this.tokenName,{domain:e?this.productionDomain:void 0,path:"/"}),typeof localStorage<"u"&&localStorage.removeItem(this.fallbackStorageKey)}};Na(Za,"CookieUtil");const Ya=new Za;function Xa(e,t){const r=e.apiBase||(e.isDev?"http://localhost:5555":"https://app.fiction.com");return Da(r,{fetch:Na(async(e,r)=>{const i=Ya.getAuthToken(),n=await fetch(e,{...r,headers:{...r?.headers,"Content-Type":"application/json",...i&&{Authorization:`Bearer ${i}`}},credentials:"omit"});if(t){const e=n.json.bind(n),r=n.clone();return Object.defineProperty(r,"json",{value:Na(async()=>{const r=await e();return"object"==typeof r&&null!==r&&"ok"in r&&("user"in r||"token"in r)&&t(r),r},"value")}),r}return n},"fetch")})}Na(Xa,"createApiClient");let es=[],ts=0,rs=Na(e=>{let t=[],r={get:()=>(r.lc||r.listen(()=>{})(),r.value),lc:0,listen:e=>(r.lc=t.push(e),()=>{for(let t=ts+4;t<es.length;)es[t]===e?es.splice(t,4):t+=4;let i=t.indexOf(e);~i&&(t.splice(i,1),--r.lc||r.off())}),notify(e,i){let n=!es.length;for(let o of t)es.push(o,r.value,e,i);if(n){for(ts=0;ts<es.length;ts+=4)es[ts](es[ts+1],es[ts+2],es[ts+3]);es.length=0}},off(){},set(e){let t=r.value;t!==e&&(r.value=e,r.notify(t))},subscribe(e){let t=r.listen(e);return e(r.value),t},value:e};return r},"atom");const is=rs(void 0),ns=rs(null),os=class{constructor(){ja(this,"logger",Ga("SDKStorage"))}syncWithGlobalStores(e,t){const r=is.get(),i=ns.get();r&&(e.value=r),i&&(t.value=i),un(e,e=>{is.set(e)},{immediate:!0}),un(t,e=>{ns.set(e)},{immediate:!0}),is.subscribe(t=>{t!==e.value&&(e.value=t)}),ns.subscribe(e=>{e!==t.value&&(t.value=e)})}loadFromStorage(e,t){if(typeof window>"u")return;const r=Ya.getAuthToken();r&&(t.value=r);try{const t=localStorage.getItem("fiction-user");t&&(e.value=JSON.parse(t))}catch(i){this.logger.error("Failed to load user from localStorage",{data:i})}}saveToStorage(e,t){if(!(typeof window>"u")){t.value?Ya.setAuthToken(t.value):Ya.removeAuthToken();try{e.value?localStorage.setItem("fiction-user",JSON.stringify(e.value)):localStorage.removeItem("fiction-user")}catch(r){this.logger.error("Failed to save user to localStorage",{data:r})}}}clearStorage(){if(!(typeof window>"u")){Ya.removeAuthToken();try{localStorage.removeItem("fiction-user")}catch(e){this.logger.error("Failed to clear user from localStorage",{data:e})}is.set(void 0),ns.set(null)}}getItem(e){if(typeof window>"u")return null;try{return localStorage.getItem(e)}catch(yy){return this.logger.error("Failed to get item from localStorage",{key:e,error:yy}),null}}setItem(e,t){if(!(typeof window>"u"))try{localStorage.setItem(e,t)}catch(r){this.logger.error("Failed to set item in localStorage",{key:e,error:r})}}};Na(os,"SDKStorage");let as=os;const ss=class extends Qa{constructor(e={}){super("FictionSDK",e),ja(this,"activeUser",Ft()),ja(this,"token",Ft(null)),ja(this,"loading",Ft(!1)),ja(this,"error",Ft(null)),ja(this,"apiBase",this.settings.apiBase||void 0),ja(this,"storage",new as),ja(this,"sessionId",l({prefix:"ses"})),ja(this,"apiClient"),ja(this,"currentSelf",go(()=>{const e=this.activeUser.value;if(!e?.selves)return;const t=e.primarySelfId||e.selves[0]?.selfId;return t?e.selves.find(e=>e.selfId===t):void 0})),ja(this,"currentOrg",go(()=>{const e=this.currentSelf.value;if(!e?.orgId)return;const t=this.activeUser.value;return t?.orgs?t.orgs.find(t=>t.orgId===e.orgId):void 0})),ja(this,"initialized"),ja(this,"resolveUser"),this.apiClient=Xa({isDev:this.isDev,apiBase:this.apiBase},this.processApiResponse.bind(this)),this.logger.info("FictionSDK initialized"),this.storage.loadFromStorage(this.activeUser,this.token),this.storage.syncWithGlobalStores(this.activeUser,this.token),this.initialized=new Promise(e=>{this.resolveUser=e}),this.token.value&&!this.activeUser.value?this.getCurrentUser().then(e=>{this.resolveUser&&(this.resolveUser(e),this.resolveUser=void 0)}).catch(e=>{this.logger.error("Auto user fetch failed",{data:e}),this.resolveUser&&(this.resolveUser(void 0),this.resolveUser=void 0)}):this.activeUser.value?this.resolveUser?.(this.activeUser.value):this.resolveUser?.(void 0)}get isDev(){return this.settings.isDev??(typeof window<"u"&&("localhost"===window.location.hostname||window.location.hostname.includes("127.0.0.1")))}get api(){return this.apiClient.api}processApiResponse(e){e.ok&&e.user&&(this.activeUser.value=e.user,this.logger.info("User updated from API response",{data:e.user})),e.ok&&e.token&&(this.token.value=e.token,this.storage.saveToStorage(this.activeUser,this.token),this.logger.info("Token updated from API response")),this.resolveUser&&e.ok&&(this.resolveUser(e.user),this.resolveUser=void 0)}clearSession(){this.logger.info("Clearing session"),this.activeUser.value=void 0,this.token.value=null,this.error.value=null,this.storage.clearStorage()}async sendCode(e){this.loading.value=!0,this.error.value=null;try{const t=await(await this.api.auth["check-email"].$post({json:{email:e}})).json();if(!t.ok)throw this.error.value=t.error,new Error(t.error)}catch(t){this.logger.error("Send code error",{data:t});const e=t instanceof Error?t.message:"Failed to send verification code";throw this.error.value=e,t}finally{this.loading.value=!1}}async verifyCode(e,t){this.loading.value=!0,this.error.value=null;try{const r=await(await this.api.auth["verify-code"].$post({json:{email:e,code:t}})).json();if(!r.ok)throw this.error.value=r.error,new Error(r.error)}catch(r){this.logger.error("Verify code error",{data:r});const e=r instanceof Error?r.message:"Failed to verify code";throw this.error.value=e,r}finally{this.loading.value=!1}}async login(e,t){this.loading.value=!0,this.error.value=null;try{const r=await(await this.api.auth.login.$post({json:{email:e,password:t}})).json();if(!r.ok)throw this.error.value=r.error,new Error(r.error)}catch(r){this.logger.error("Login error",{data:r});const e=r instanceof Error?r.message:"Login failed";throw this.error.value=e,r}finally{this.loading.value=!1}}async logout(){this.loading.value=!0,this.error.value=null;try{await this.api.auth.logout.$post(),this.activeUser.value=void 0,this.token.value=null,this.storage.clearStorage()}catch(yy){this.logger.error("Logout error (user still logged out locally)",{data:yy}),this.activeUser.value=void 0,this.token.value=null,this.storage.clearStorage()}finally{this.loading.value=!1}}async getCurrentUser(){if(this.token.value){this.loading.value=!0;try{const e=await(await this.api.auth.me.$get()).json();return e.ok?e.user:(this.error.value=e.error,void(e.error.includes("Authentication")&&(this.activeUser.value=void 0,this.token.value=null,this.storage.clearStorage())))}catch(yy){return this.logger.error("Get current user error",{data:yy}),void(this.error.value=yy instanceof Error?yy.message:"Failed to get user info")}finally{this.loading.value=!1}}}async getPublicSelf(e){this.loading.value=!0,this.error.value=null;try{const t=await(await this.api.self.public[":handle"].$get({param:{handle:e.handle}})).json();return t.ok?t.data:(this.error.value=t.error,void this.logger.error("Failed to fetch public self",{handle:e.handle,error:t.error}))}catch(t){return this.logger.error("Get public self error",{handle:e.handle,error:t}),void(this.error.value=t instanceof Error?t.message:"Failed to fetch self")}finally{this.loading.value=!1}}async requestAuthCode(e){this.loading.value=!0,this.error.value=null;try{const t=await(await this.api.auth["check-email"].$post({json:{email:e.email}})).json();return t.ok?(this.logger.info("Auth code requested successfully",{email:e.email}),!0):(this.error.value=t.error,this.logger.error("Failed to request auth code",{email:e.email,error:t.error}),!1)}catch(t){return this.logger.error("Request auth code error",{email:e.email,error:t}),this.error.value=t instanceof Error?t.message:"Failed to request auth code",!1}finally{this.loading.value=!1}}async loginWithCode(e){this.loading.value=!0,this.error.value=null;try{const t=await(await this.api.auth["verify-code"].$post({json:{email:e.email,code:e.code}})).json();return t.ok?(this.logger.info("Login successful",{email:e.email}),e.orgId&&!1!==e.autoCreateContact&&this.activeUser.value?.userId&&await this.autoCreateContact({userId:this.activeUser.value.userId,orgId:e.orgId}),!0):(this.error.value=t.error,this.logger.error("Login failed",{email:e.email,error:t.error}),!1)}catch(t){return this.logger.error("Login with code error",{email:e.email,error:t}),this.error.value=t instanceof Error?t.message:"Login failed",!1}finally{this.loading.value=!1}}async trackUsage(e){try{const t=this.currentSelf.value;if(!t?.orgId)return this.logger.error("Cannot track usage: no current self with orgId",{args:e}),!1;const r=await(await this.api.usage.record.$post({json:{orgId:t.orgId,selfId:e.selfId,sessionId:this.sessionId,type:e.type,quantity:e.quantity,userId:e.participantId||this.activeUser.value?.userId||"anonymous"}})).json();return!!r.ok||(this.logger.error("Failed to track usage",{error:r.error,args:e}),!1)}catch(t){return this.logger.error("Track usage error",{error:t,args:e}),!1}}async autoCreateContact(e){try{const t=await(await this.api.contact.resolve.$post({json:{userId:e.userId,orgId:e.orgId}})).json();return t.ok?(this.logger.info("Contact resolved",{userId:e.userId,orgId:e.orgId}),!0):(this.logger.error("Failed to auto-create contact",{error:t.error,args:e}),!1)}catch(t){return this.logger.error("Auto-create contact error",{error:t,args:e}),!1}}async startConversation(e){try{const t=this.currentSelf.value;if(!t?.orgId)return void this.logger.error("Cannot start conversation: no current self with orgId",{args:e});const r=await(await this.api.conversation.start.$post({json:{orgId:t.orgId,selfId:e.selfId,userId:e.userId||this.activeUser.value?.userId,anonId:e.anonId}})).json();if(!r.ok||!r.data){const t=r.ok?"No conversation data returned":"error"in r?r.error:"Unknown error";return void this.logger.error("Failed to start conversation",{error:t,args:e})}return this.logger.info("Conversation started",{conversationId:r.data.conversationId}),r.data}catch(t){return void this.logger.error("Start conversation error",{error:t,args:e})}}generateAnonId(){const e="fictionAnonId";let t=this.storage.getItem(e);return t||(t=l({prefix:"anon"}),this.storage.setItem(e,t)),t}async saveMessage(e){try{const t=await(await this.api.conversation.messages.$post({json:{sessionId:e.conversationId,participantId:e.participantId,content:e.content,role:e.role}})).json();return!!t.ok||(this.logger.error("Failed to save message",{error:"error"in t?t.error:"Unknown error",args:e}),!1)}catch(t){return this.logger.error("Save message error",{error:t,args:e}),!1}}track(e){try{typeof window<"u"&&window.parent!==window&&window.parent.postMessage({type:"fiction_track",event:e.event,selfId:e.selfId,properties:e.properties||{}},"*"),this.logger.info("SDK event tracked",{event:e.event,selfId:e.selfId})}catch(t){this.logger.error("Track event error",{error:t,args:e})}}};Na(ss,"FictionSDK");let ls=ss;var cs=Object.defineProperty,ds=(e,t)=>cs(e,"name",{value:t,configurable:!0}),hs=(e,t,r)=>((e,t,r)=>t in e?cs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);const us={info:ds(e=>{},"info"),error:ds(e=>{},"error"),warn:ds(e=>{},"warn")},ps=class e{constructor(t){if(hs(this,"app",null),hs(this,"shadowRoot",null),hs(this,"widgetInstance",null),hs(this,"config"),hs(this,"sdk"),hs(this,"container",null),this.config=t,!t.mode)throw new Error("FictionWidget: mode is required");if(!t.handle&&!t.self)throw new Error("FictionWidget: either handle or self is required");if("modal"!==t.mode&&!t.el)throw new Error(`FictionWidget: el (HTMLElement) is required for ${t.mode} mode`);if("modal"===t.mode){const r=t.handle||t.self?.selfId||"default",i=e.modalInstances.get(r);i&&(us.warn(`Destroying existing modal widget for: ${r}`),i.destroy()),e.modalInstances.set(r,this)}const r=typeof window<"u"&&("localhost"===window.location.hostname||window.location.hostname.includes("127.0.0.1"));this.sdk=new ls({isDev:r,apiBase:t.apiBase}),us.info(`Initializing ${t.mode} mode for @${t.handle||t.self?.handle} (isDev: ${r})`),this.init()}async init(){"modal"===this.config.mode?(this.container=document.createElement("div"),this.container.id=`fiction-modal-${this.config.handle||this.config.self?.selfId||"widget"}`,document.body.appendChild(this.container),this.shadowRoot=this.container.attachShadow({mode:"open"})):this.shadowRoot=this.config.el.attachShadow({mode:"open"});const e=document.createElement("style");e.textContent="/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,sans-serif;--font-serif:\"New York\",Georgia,Cambria,\"Times New Roman\",Times,serif;--font-mono:\"DM Mono\",\"SF Mono\",SFMono-Regular,Consolas,\"Liberation Mono\",Menlo,Courier,monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-pink-50:oklch(97.1% .014 343.198);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-md:48rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-lg:16px;--blur-xl:24px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-theme-0:var(--theme-0,#fff);--color-theme-25:var(--theme-25,#f8fafc);--color-theme-50:var(--theme-50,#f3f4f6);--color-theme-100:var(--theme-100,#e5e7eb);--color-theme-200:var(--theme-200,#d1d5db);--color-theme-300:var(--theme-300,#9ca3af);--color-theme-400:var(--theme-400,#6b7280);--color-theme-500:var(--theme-500,#4b5563);--color-theme-600:var(--theme-600,#374151);--color-theme-700:var(--theme-700,#1f2a44);--color-theme-800:var(--theme-800,#111827);--color-theme-900:var(--theme-900,#0c0a13);--color-theme-950:var(--theme-950,#030712);--color-primary-0:var(--primary-0,#fff);--color-primary-25:var(--primary-25,#eff6ff);--color-primary-50:var(--primary-50,#dbeafe);--color-primary-100:var(--primary-100,#bfdbfe);--color-primary-200:var(--primary-200,#93c5fd);--color-primary-300:var(--primary-300,#60a5fa);--color-primary-400:var(--primary-400,#3b82f6);--color-primary-500:var(--primary-500,#2563eb);--color-primary-600:var(--primary-600,#1d4ed8);--color-primary-700:var(--primary-700,#1e40af);--color-primary-800:var(--primary-800,#1e3a8a);--color-primary-900:var(--primary-900,#172554);--color-primary-950:var(--primary-950,#0c1838);--color-primary:var(--primary)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);font-family:var(--font-sans);color:var(--foreground)}.x-font-title{font-family:Cal Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:700}}@layer components;@layer utilities{.\\@container\\/agent{container:agent/inline-size}.\\@container\\/input{container:input/inline-size}.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.-top-3{top:calc(var(--spacing)*-3)}.top-0{top:calc(var(--spacing)*0)}.top-0\\.5{top:calc(var(--spacing)*.5)}.top-1{top:calc(var(--spacing)*1)}.top-1\\.5{top:calc(var(--spacing)*1.5)}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-6{top:calc(var(--spacing)*6)}.top-full{top:100%}.-right-16{right:calc(var(--spacing)*-16)}.right-0{right:calc(var(--spacing)*0)}.right-0\\.5{right:calc(var(--spacing)*.5)}.right-1{right:calc(var(--spacing)*1)}.right-1\\.5{right:calc(var(--spacing)*1.5)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-\\[-4px\\]{right:-4px}.right-full{right:100%}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.bottom-full{bottom:100%}.-left-4{left:calc(var(--spacing)*-4)}.-left-16{left:calc(var(--spacing)*-16)}.-left-full{left:-100%}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.left-6{left:calc(var(--spacing)*6)}.left-\\[-4px\\]{left:-4px}.left-\\[13px\\]{left:13px}.left-full{left:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[100\\]{z-index:100}.z-\\[999999\\]{z-index:999999}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-0\\.5{margin-block:calc(var(--spacing)*.5)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-4{margin-block:calc(var(--spacing)*4)}.my-6{margin-block:calc(var(--spacing)*6)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-\\[-\\.07em\\]{margin-top:-.07em}.mt-\\[0\\.5em\\]{margin-top:.5em}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-\\[1px\\]{margin-bottom:1px}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.i-heroicons-arrow-path{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-arrow-right{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-arrow-up-tray{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-check-20-solid{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20'%3E%3Cpath fill='black' fill-rule='evenodd' d='M16.705 4.153a.75.75 0 0 1 .142 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893l7.48-9.817a.75.75 0 0 1 1.05-.143' clip-rule='evenodd'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-envelope{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-exclamation-triangle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-globe-alt{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a9 9 0 0 1 7.843 4.582M12 3a9 9 0 0 0-7.843 4.582m15.686 0A11.95 11.95 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.96 8.96 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.9 17.9 0 0 1 12 16.5a17.9 17.9 0 0 1-8.716-2.247m0 0A9 9 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-home{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m2.25 12l8.955-8.955a1.124 1.124 0 0 1 1.59 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-information-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-phone{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.04 12.04 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-phone-x-mark{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M15.75 3.75L18 6m0 0l2.25 2.25M18 6l2.25-2.25M18 6l-2.25 2.25m1.5 13.5c-8.284 0-15-6.716-15-15V4.5A2.25 2.25 0 0 1 4.5 2.25h1.372c.516 0 .966.351 1.091.852l1.106 4.423c.11.44-.054.902-.417 1.173l-1.293.97a1.06 1.06 0 0 0-.38 1.21a12.04 12.04 0 0 0 7.143 7.143c.441.162.928-.004 1.21-.38l.97-1.293a1.13 1.13 0 0 1 1.173-.417l4.423 1.106c.5.125.852.575.852 1.091V19.5a2.25 2.25 0 0 1-2.25 2.25z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-photo{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m2.25 15.75l5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5m10.5-11.25h.008v.008h-.008zm.375 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-trash{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21q.512.078 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48 48 0 0 0-3.478-.397m-12 .562q.51-.088 1.022-.165m0 0a48 48 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a52 52 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a49 49 0 0 0-7.5 0'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-lucide-audio-waveform{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-lucide-rocket{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09M12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0m1 7v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-github{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-linkedin{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-x{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M14.234 10.162L22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299l-.929-1.329L3.076 1.56h3.182l5.965 8.532l.929 1.329l7.754 11.09h-3.182z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-svg-spinners-3-dots-fade{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Ccircle cx='4' cy='12' r='3' fill='black'%3E%3Canimate id='SVG7x14Dcom' fill='freeze' attributeName='opacity' begin='0;SVGqSjG0dUp.end-0.25s' dur='0.75s' values='1;.2'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3' fill='black' opacity='.4'%3E%3Canimate fill='freeze' attributeName='opacity' begin='SVG7x14Dcom.begin+0.15s' dur='0.75s' values='1;.2'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3' fill='black' opacity='.3'%3E%3Canimate id='SVGqSjG0dUp' fill='freeze' attributeName='opacity' begin='SVG7x14Dcom.begin+0.3s' dur='0.75s' values='1;.2'/%3E%3C/circle%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-svg-spinners-90-ring-with-bg{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z' opacity='.25'/%3E%3Cpath fill='black' d='M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z'%3E%3CanimateTransform attributeName='transform' dur='0.75s' repeatCount='indefinite' type='rotate' values='0 12 12;360 12 12'/%3E%3C/path%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-alert-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m9-4v4m0 4h.01'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-alert-triangle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 9v4m-1.637-9.409L2.257 17.125a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636-2.87L13.637 3.59a1.914 1.914 0 0 0-3.274 0zM12 16h.01'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-apps{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm0 10a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm10 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zm0-8h6m-3-3v6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-down-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 7v14m-3-3l3 3l3-3M12 7a2 2 0 1 0 0-4a2 2 0 0 0 0 4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-left{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14M5 12l6 6m-6-6l6-6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-right{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14m-6 6l6-6m-6-6l6 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-up{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 5v14m6-8l-6-6m-6 6l6-6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-up-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 17V3m3 3l-3-3l-3 3m3 11a2 2 0 1 0 0 4a2 2 0 0 0 0-4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-up-right{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 7L7 17M8 7h9v9'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-article{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zm4 2h10M7 12h10M7 16h10'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-bold{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 5h6a3.5 3.5 0 0 1 0 7H7zm6 7h1a3.5 3.5 0 0 1 0 7H7v-7'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-bolt{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13 3v7h6l-8 11v-7H5z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-brand-discord{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 12a1 1 0 1 0 2 0a1 1 0 0 0-2 0m6 0a1 1 0 1 0 2 0a1 1 0 0 0-2 0'/%3E%3Cpath d='M15.5 17c0 1 1.5 3 2 3c1.5 0 2.833-1.667 3.5-3c.667-1.667.5-5.833-1.5-11.5c-1.457-1.015-3-1.34-4.5-1.5l-.972 1.923a11.9 11.9 0 0 0-4.053 0L9 4c-1.5.16-3.043.485-4.5 1.5c-2 5.667-2.167 9.833-1.5 11.5c.667 1.333 2 3 3.5 3c.5 0 2-2 2-3'/%3E%3Cpath d='M7 16.5c3.5 1 6.5 1 10 0'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-bubble-text{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 10h10m-8 4h5M12.4 3a5.34 5.34 0 0 1 4.906 3.239a5.333 5.333 0 0 1-1.195 10.6a4.26 4.26 0 0 1-5.28 1.863L7 21v-3.134a2.668 2.668 0 0 1-1.795-3.773A4.8 4.8 0 0 1 8.113 5.16A5.33 5.33 0 0 1 12.4 3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-bug{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 9V8a3 3 0 0 1 6 0v1M8 9h8a6 6 0 0 1 1 3v3a5 5 0 0 1-10 0v-3a6 6 0 0 1 1-3m-5 4h4m10 0h4m-9 7v-6m-8 5l3.35-2M20 19l-3.35-2M4 7l3.75 2.4M20 7l-3.75 2.4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-building{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 21h18M9 8h1m-1 4h1m-1 4h1m4-8h1m-1 4h1m-1 4h1M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-bulb{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12h1m8-9v1m8 8h1M5.6 5.6l.7.7m12.1-.7l-.7.7M9 16a5 5 0 1 1 6 0a3.5 3.5 0 0 0-1 3a2 2 0 0 1-4 0a3.5 3.5 0 0 0-1-3m.7 1h4.6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-calendar{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm12-4v4M8 3v4m-4 4h16m-9 4h1m0 0v3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-chart-line{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 19h16M4 15l4-6l4 2l4-5l4 4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-check{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5 12l5 5L20 7'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-checklist{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9.615 20H7a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8m-3 5l2 2l4-4M9 8h4m-4 4h2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-chevron-down{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9l6 6l6-6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-chevron-right{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 6l6 6l-6 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-chevron-up{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 15l6-6l6 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-circle-check{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3Cpath d='m9 12l2 2l4-4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-clear-formatting{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m17 15l4 4m0-4l-4 4M7 6V5h11v1M7 19h4m2-14L9 19'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-clock{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-cloud-upload{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M7 18a4.6 4.4 0 0 1 0-9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-1'/%3E%3Cpath d='m9 15l3-3l3 3m-3-3v9'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-code{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m7 8l-4 4l4 4m10-8l4 4l-4 4M14 4l-4 16'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-coin{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3Cpath d='M14.8 9A2 2 0 0 0 13 8h-2a2 2 0 1 0 0 4h2a2 2 0 1 1 0 4h-2a2 2 0 0 1-1.8-1M12 7v10'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-copy{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z'/%3E%3Cpath d='M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-credit-card{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 8a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3zm0 2h18M7 15h.01M11 15h2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-crown{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m12 6l4 6l5-4l-2 10H5L3 8l5 4z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-dashboard{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a2 2 0 1 0 4 0a2 2 0 1 0-4 0m3.45-1.45L15.5 9.5'/%3E%3Cpath d='M6.4 20a9 9 0 1 1 11.2 0z'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-device-floppy{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M6 4h10l4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2'/%3E%3Cpath d='M10 14a2 2 0 1 0 4 0a2 2 0 1 0-4 0m4-10v4H8V4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-discount-check{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 7.2A2.2 2.2 0 0 1 7.2 5h1a2.2 2.2 0 0 0 1.55-.64l.7-.7a2.2 2.2 0 0 1 3.12 0l.7.7c.412.41.97.64 1.55.64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58.23 1.138.64 1.55l.7.7a2.2 2.2 0 0 1 0 3.12l-.7.7a2.2 2.2 0 0 0-.64 1.55v1a2.2 2.2 0 0 1-2.2 2.2h-1a2.2 2.2 0 0 0-1.55.64l-.7.7a2.2 2.2 0 0 1-3.12 0l-.7-.7a2.2 2.2 0 0 0-1.55-.64h-1a2.2 2.2 0 0 1-2.2-2.2v-1a2.2 2.2 0 0 0-.64-1.55l-.7-.7a2.2 2.2 0 0 1 0-3.12l.7-.7A2.2 2.2 0 0 0 5 8.2z'/%3E%3Cpath d='m9 12l2 2l4-4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-download{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5l5-5m-5-7v12'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-exclamation-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0m9-3v4m0 3v.01'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-external-link{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6m-7 1l9-9m-5 0h5v5'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-eye{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 12a2 2 0 1 0 4 0a2 2 0 0 0-4 0'/%3E%3Cpath d='M21 12q-3.6 6-9 6t-9-6q3.6-6 9-6t9 6'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-file-music{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M14 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2'/%3E%3Cpath d='M10 16a1 1 0 1 0 2 0a1 1 0 1 0-2 0m2 0v-5l2 1'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-fingerprint{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18.9 7a8 8 0 0 1 1.1 5v1a6 6 0 0 0 .8 3M8 11a4 4 0 0 1 8 0v1a10 10 0 0 0 2 6'/%3E%3Cpath d='M12 11v2a14 14 0 0 0 2.5 8M8 15a18 18 0 0 0 1.8 6m-4.9-2a22 22 0 0 1-.9-7v-1a8 8 0 0 1 12-6.95'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-flask{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 3h6m-5 6h4m-4-6v6L6 20a.7.7 0 0 0 .5 1h11a.7.7 0 0 0 .5-1L14 9V3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-gift{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 9a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm9-1v13'/%3E%3Cpath d='M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7m2.5-4a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5a2.5 2.5 0 0 1 0 5'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-grip-vertical{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 5a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m6-14a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-headphones{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4 15a2 2 0 0 1 2-2h1a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm11 0a2 2 0 0 1 2-2h1a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2z'/%3E%3Cpath d='M4 15v-3a8 8 0 0 1 16 0v3'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-help{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0m9 5v.01'/%3E%3Cpath d='M12 13.5a1.5 1.5 0 0 1 1-1.5a2.6 2.6 0 1 0-3-4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-home{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 12H3l9-9l9 9h-2M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M9 21v-6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v6'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-info-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m9-3h.01'/%3E%3Cpath d='M11 12h1v4h1'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-italic{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M11 5h6M7 19h6m1-14l-4 14'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-key{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1-4.069 0l-.301-.301l-6.558 6.558a2 2 0 0 1-1.239.578L5.172 21H4a1 1 0 0 1-.993-.883L3 20v-1.172a2 2 0 0 1 .467-1.284l.119-.13L4 17h2v-2h2v-2l2.144-2.144l-.301-.301a2.877 2.877 0 0 1 0-4.069l2.643-2.643a2.877 2.877 0 0 1 4.069 0M15 9h.01'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-link{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 15l6-6m-4-3l.463-.536a5 5 0 0 1 7.071 7.072L18 13m-5 5l-.397.534a5.07 5.07 0 0 1-7.127 0a4.97 4.97 0 0 1 0-7.071L6 11'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-list{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 6h11M9 12h11M9 18h11M5 6v.01M5 12v.01M5 18v.01'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-list-numbers{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M11 6h9m-9 6h9m-8 6h8M4 16a2 2 0 1 1 4 0c0 .591-.5 1-1 1.5L4 20h4M6 10V4L4 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-loader{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6V3m4.25 4.75L18.4 5.6M18 12h3m-4.75 4.25l2.15 2.15M12 18v3m-4.25-4.75L5.6 18.4M6 12H3m4.75-4.25L5.6 5.6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-loader-2{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3a9 9 0 1 0 9 9'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-lock{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 13a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z'/%3E%3Cpath d='M11 16a1 1 0 1 0 2 0a1 1 0 0 0-2 0m-3-5V7a4 4 0 1 1 8 0v4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-lock-open{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 13a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z'/%3E%3Cpath d='M11 16a1 1 0 1 0 2 0a1 1 0 1 0-2 0m-3-5V6a4 4 0 0 1 8 0'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-logout{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M14 8V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-2'/%3E%3Cpath d='M9 12h12l-3-3m0 6l3-3'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-mail-check{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M11 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6'/%3E%3Cpath d='m3 7l9 6l9-6m-6 12l2 2l4-4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-menu{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h16M4 16h16'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-message-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3 20l1.3-3.9C1.976 12.663 2.874 8.228 6.4 5.726c3.526-2.501 8.59-2.296 11.845.48c3.255 2.777 3.695 7.266 1.029 10.501S11.659 20.922 7.7 19z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-messages{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21 14l-3-3h-7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1zm-7 1v2a1 1 0 0 1-1 1H6l-3 3V11a1 1 0 0 1 1-1h2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-microphone{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M9 5a3 3 0 0 1 3-3h0a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3h0a3 3 0 0 1-3-3z'/%3E%3Cpath d='M5 10a7 7 0 0 0 14 0M8 21h8m-4-4v4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-north-star{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12h18m-9 9V3M7.5 7.5l9 9m-9 0l9-9'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-percentage{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 17a1 1 0 1 0 2 0a1 1 0 1 0-2 0M6 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 11L18 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-phone{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-player-pause{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm8 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-player-play{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 4v16l13-8z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-plug{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9.785 6L18 14.215l-2.054 2.054a5.81 5.81 0 1 1-8.215-8.215zM4 20l3.5-3.5M15 4l-3.5 3.5M20 9l-3.5 3.5'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-plug-off{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m16.123 16.092l-.177.177a5.81 5.81 0 1 1-8.215-8.215l.159-.159M4 20l3.5-3.5M15 4l-3.5 3.5M20 9l-3.5 3.5M3 3l18 18'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-plus{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 5v14m-7-7h14'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-qrcode{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm3 12v.01M14 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zM7 7v.01M4 15a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm13-8v.01M14 14h3m3 0v.01M14 14v3m0 3h3m0-3h3m0 0v3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-quotes{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 12c-1.333-1.854-1.333-4.146 0-6m4 6c-1.333-1.854-1.333-4.146 0-6m8 12c1.333-1.854 1.333-4.146 0-6m4 6c1.333-1.854 1.333-4.146 0-6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-refresh{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4m-4 4a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-rocket{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3-5a9 9 0 0 0 6-8a3 3 0 0 0-3-3a9 9 0 0 0-8 6a6 6 0 0 0-5 3'/%3E%3Cpath d='M7 14a6 6 0 0 0-3 6a6 6 0 0 0 6-3m4-8a1 1 0 1 0 2 0a1 1 0 1 0-2 0'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-search{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 10a7 7 0 1 0 14 0a7 7 0 1 0-14 0m18 11l-6-6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-settings{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 0 0-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 0 0-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 0 0-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 0 0-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 0 0 1.066-2.573c-.94-1.543.826-3.31 2.37-2.37c1 .608 2.296.07 2.572-1.065'/%3E%3Cpath d='M9 12a3 3 0 1 0 6 0a3 3 0 0 0-6 0'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-share{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a3 3 0 1 0 6 0a3 3 0 1 0-6 0m12-6a3 3 0 1 0 6 0a3 3 0 1 0-6 0m0 12a3 3 0 1 0 6 0a3 3 0 1 0-6 0m-6.3-7.3l6.6-3.4m-6.6 6l6.6 3.4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-shield-lock{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 3a12 12 0 0 0 8.5 3A12 12 0 0 1 12 21A12 12 0 0 1 3.5 6A12 12 0 0 0 12 3'/%3E%3Cpath d='M11 11a1 1 0 1 0 2 0a1 1 0 1 0-2 0m1 1v2.5'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-sparkles{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2-2a2 2 0 0 1-2-2a2 2 0 0 1-2 2m0-12a2 2 0 0 1 2 2a2 2 0 0 1 2-2a2 2 0 0 1-2-2a2 2 0 0 1-2 2M9 18a6 6 0 0 1 6-6a6 6 0 0 1-6-6a6 6 0 0 1-6 6a6 6 0 0 1 6 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-square{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-star{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m12 17.75l-6.172 3.245l1.179-6.873l-5-4.867l6.9-1l3.086-6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-switch{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 4h4v4m-4.25 1.25L19 4M5 19l4-4m6 4h4v-4M5 5l14 14'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-target{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M11 12a1 1 0 1 0 2 0a1 1 0 1 0-2 0'/%3E%3Cpath d='M7 12a5 5 0 1 0 10 0a5 5 0 1 0-10 0'/%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-tool{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 10h3V7L6.5 3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1-3 3l-6-6a6 6 0 0 1-8-8z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-trash{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 7h16m-10 4v6m4-6v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-trending-up{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m3 17l6-6l4 4l8-8'/%3E%3Cpath d='M14 7h7v7'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-check{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h4m1 4l2 2l4-4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3Cpath d='M9 10a3 3 0 1 0 6 0a3 3 0 1 0-6 0m-2.832 8.849A4 4 0 0 1 10 16h4a4 4 0 0 1 3.834 2.855'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-cog{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h2.5m4.501 4a2 2 0 1 0 4 0a2 2 0 1 0-4 0m2-3.5V17m0 4v1.5m3.031-5.25l-1.299.75m-3.463 2l-1.3.75m0-3.5l1.3.75m3.463 2l1.3.75'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-edit{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h3.5m4.92.61a2.1 2.1 0 0 1 2.97 2.97L18 22h-3v-3z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-share{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h3m3 7l5-5m0 4.5V17h-4.5'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-users{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 7a4 4 0 1 0 8 0a4 4 0 1 0-8 0M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2m1-17.87a4 4 0 0 1 0 7.75M21 21v-2a4 4 0 0 0-3-3.85'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-volume{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 8a5 5 0 0 1 0 8m2.7-11a9 9 0 0 1 0 14M6 15H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h2l3.5-4.5A.8.8 0 0 1 11 5v14a.8.8 0 0 1-1.5.5z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-wave-sine{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12h-2c-.894 0-1.662-.857-1.761-2c-.296-3.45-.749-6-2.749-6s-2.5 3.582-2.5 8s-.5 8-2.5 8s-2.452-2.547-2.749-6c-.1-1.147-.867-2-1.763-2h-2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-wifi-off{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 18h.01m-2.838-2.828a4 4 0 0 1 5.656 0m-8.485-2.829a7.96 7.96 0 0 1 3.864-2.14m4.163.155a8 8 0 0 1 3.287 2M3.515 9.515A12 12 0 0 1 7.059 7.06m3.101-.92a12 12 0 0 1 10.325 3.374M3 3l18 18'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-writing{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 17V5c0-1.121-.879-2-2-2s-2 .879-2 2v12l2 2zM16 7h4m-2 12H5a2 2 0 1 1 0-4h4a2 2 0 1 0 0-4H6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-x{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\\[3\\/1\\]{aspect-ratio:3}.aspect-\\[3\\/4\\]{aspect-ratio:3/4}.aspect-\\[9\\/16\\]{aspect-ratio:9/16}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-1\\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-11{width:calc(var(--spacing)*11);height:calc(var(--spacing)*11)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.size-\\[1\\.1em\\]{width:1.1em;height:1.1em}.size-full{width:100%;height:100%}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-40{height:calc(var(--spacing)*40)}.h-64{height:calc(var(--spacing)*64)}.h-\\[28px\\]{height:28px}.h-\\[34px\\]{height:34px}.h-\\[42px\\]{height:42px}.h-\\[60px\\]{height:60px}.h-\\[80px\\]{height:80px}.h-\\[80vh\\]{height:80vh}.h-\\[85vh\\]{height:85vh}.h-\\[100dvh\\]{height:100dvh}.h-\\[600px\\]{height:600px}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-0{max-height:calc(var(--spacing)*0)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[300px\\]{max-height:300px}.max-h-\\[600px\\]{max-height:600px}.max-h-\\[calc\\(100vh-48px\\)\\]{max-height:calc(100vh - 48px)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-32{min-height:calc(var(--spacing)*32)}.min-h-\\[30px\\]{min-height:30px}.min-h-\\[44px\\]{min-height:44px}.min-h-\\[70vh\\]{min-height:70vh}.min-h-\\[280px\\]{min-height:280px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-1\\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-5\\/6{width:83.3333%}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-22{width:calc(var(--spacing)*22)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-30{width:calc(var(--spacing)*30)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\\[3px\\]{width:3px}.w-\\[28px\\]{width:28px}.w-\\[29\\%\\]{width:29%}.w-\\[60px\\]{width:60px}.w-\\[80\\%\\]{width:80%}.w-\\[80px\\]{width:80px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\\[70\\%\\]{max-width:70%}.max-w-\\[255px\\]{max-width:255px}.max-w-\\[300px\\]{max-width:300px}.max-w-\\[380px\\]{max-width:380px}.max-w-\\[calc\\(100vw-48px\\)\\]{max-width:calc(100vw - 48px)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-screen-md{max-width:var(--breakpoint-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[80px\\]{min-width:80px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.basis-0{flex-basis:calc(var(--spacing)*0)}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.origin-top-right{transform-origin:100% 0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-4{--tw-translate-x:calc(var(--spacing)*-4);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-\\[30px\\]{--tw-translate-x: -30px ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-3{--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-6{--tw-translate-x:calc(var(--spacing)*6);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-7{--tw-translate-x:calc(var(--spacing)*7);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-8{--tw-translate-x:calc(var(--spacing)*8);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-\\[30px\\]{--tw-translate-y: -30px ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[30px\\]{--tw-translate-y:30px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-150{--tw-scale-x:150%;--tw-scale-y:150%;--tw-scale-z:150%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-0{rotate:none}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*16)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*16)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{-moz-column-gap:calc(var(--spacing)*4);column-gap:calc(var(--spacing)*4)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-12>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*12)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-theme-100>:not(:last-child)){border-color:var(--color-theme-100)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[5px\\]{border-radius:5px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-t-md{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-amber-300{border-color:var(--color-amber-300)}.border-black{border-color:var(--color-black)}.border-blue-200{border-color:var(--color-blue-200)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-300\\/80{border-color:#d1d5dccc}@supports (color:color-mix(in lab,red,red)){.border-gray-300\\/80{border-color:color-mix(in oklab,var(--color-gray-300)80%,transparent)}}.border-gray-500{border-color:var(--color-gray-500)}.border-green-100{border-color:var(--color-green-100)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-400{border-color:var(--color-green-400)}.border-green-500{border-color:var(--color-green-500)}.border-green-600{border-color:var(--color-green-600)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-indigo-600\\/80{border-color:#4f39f6cc}@supports (color:color-mix(in lab,red,red)){.border-indigo-600\\/80{border-color:color-mix(in oklab,var(--color-indigo-600)80%,transparent)}}.border-neutral-200{border-color:var(--color-neutral-200)}.border-orange-100{border-color:var(--color-orange-100)}.border-orange-500{border-color:var(--color-orange-500)}.border-orange-700{border-color:var(--color-orange-700)}.border-primary-100{border-color:var(--color-primary-100)}.border-primary-200,.border-primary-200\\/50{border-color:var(--color-primary-200)}@supports (color:color-mix(in lab,red,red)){.border-primary-200\\/50{border-color:color-mix(in oklab,var(--color-primary-200)50%,transparent)}}.border-primary-200\\/70{border-color:var(--color-primary-200)}@supports (color:color-mix(in lab,red,red)){.border-primary-200\\/70{border-color:color-mix(in oklab,var(--color-primary-200)70%,transparent)}}.border-primary-300,.border-primary-300\\/60{border-color:var(--color-primary-300)}@supports (color:color-mix(in lab,red,red)){.border-primary-300\\/60{border-color:color-mix(in oklab,var(--color-primary-300)60%,transparent)}}.border-primary-400{border-color:var(--color-primary-400)}.border-primary-500,.border-primary-500\\/40{border-color:var(--color-primary-500)}@supports (color:color-mix(in lab,red,red)){.border-primary-500\\/40{border-color:color-mix(in oklab,var(--color-primary-500)40%,transparent)}}.border-primary-600\\/80{border-color:var(--color-primary-600)}@supports (color:color-mix(in lab,red,red)){.border-primary-600\\/80{border-color:color-mix(in oklab,var(--color-primary-600)80%,transparent)}}.border-purple-200{border-color:var(--color-purple-200)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-400{border-color:var(--color-red-400)}.border-red-500{border-color:var(--color-red-500)}.border-red-600\\/80{border-color:#e40014cc}@supports (color:color-mix(in lab,red,red)){.border-red-600\\/80{border-color:color-mix(in oklab,var(--color-red-600)80%,transparent)}}.border-rose-100{border-color:var(--color-rose-100)}.border-rose-500{border-color:var(--color-rose-500)}.border-rose-600\\/80{border-color:#e70044cc}@supports (color:color-mix(in lab,red,red)){.border-rose-600\\/80{border-color:color-mix(in oklab,var(--color-rose-600)80%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-theme-100{border-color:var(--color-theme-100)}.border-theme-200,.border-theme-200\\/50{border-color:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.border-theme-200\\/50{border-color:color-mix(in oklab,var(--color-theme-200)50%,transparent)}}.border-theme-200\\/60{border-color:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.border-theme-200\\/60{border-color:color-mix(in oklab,var(--color-theme-200)60%,transparent)}}.border-theme-200\\/70{border-color:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.border-theme-200\\/70{border-color:color-mix(in oklab,var(--color-theme-200)70%,transparent)}}.border-theme-300,.border-theme-300\\/50{border-color:var(--color-theme-300)}@supports (color:color-mix(in lab,red,red)){.border-theme-300\\/50{border-color:color-mix(in oklab,var(--color-theme-300)50%,transparent)}}.border-theme-300\\/80{border-color:var(--color-theme-300)}@supports (color:color-mix(in lab,red,red)){.border-theme-300\\/80{border-color:color-mix(in oklab,var(--color-theme-300)80%,transparent)}}.border-theme-500{border-color:var(--color-theme-500)}.border-theme-600\\/80{border-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.border-theme-600\\/80{border-color:color-mix(in oklab,var(--color-theme-600)80%,transparent)}}.border-theme-900{border-color:var(--color-theme-900)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-white\\/100{border-color:var(--color-white)}.border-t-primary-500{border-top-color:var(--color-primary-500)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-background{background-color:var(--background)}.bg-black{background-color:var(--color-black)}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-primary{background-color:var(--primary)}.bg-primary-25{background-color:var(--color-primary-25)}.bg-primary-50,.bg-primary-50\\/20{background-color:var(--color-primary-50)}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\\/20{background-color:color-mix(in oklab,var(--color-primary-50)20%,transparent)}}.bg-primary-50\\/30{background-color:var(--color-primary-50)}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\\/30{background-color:color-mix(in oklab,var(--color-primary-50)30%,transparent)}}.bg-primary-500,.bg-primary-500\\/20{background-color:var(--color-primary-500)}@supports (color:color-mix(in lab,red,red)){.bg-primary-500\\/20{background-color:color-mix(in oklab,var(--color-primary-500)20%,transparent)}}.bg-primary-500\\/80{background-color:var(--color-primary-500)}@supports (color:color-mix(in lab,red,red)){.bg-primary-500\\/80{background-color:color-mix(in oklab,var(--color-primary-500)80%,transparent)}}.bg-primary-600{background-color:var(--color-primary-600)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-theme-0{background-color:var(--color-theme-0)}.bg-theme-25,.bg-theme-25\\/70{background-color:var(--color-theme-25)}@supports (color:color-mix(in lab,red,red)){.bg-theme-25\\/70{background-color:color-mix(in oklab,var(--color-theme-25)70%,transparent)}}.bg-theme-50,.bg-theme-50\\/20{background-color:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.bg-theme-50\\/20{background-color:color-mix(in oklab,var(--color-theme-50)20%,transparent)}}.bg-theme-100,.bg-theme-100\\/70{background-color:var(--color-theme-100)}@supports (color:color-mix(in lab,red,red)){.bg-theme-100\\/70{background-color:color-mix(in oklab,var(--color-theme-100)70%,transparent)}}.bg-theme-200{background-color:var(--color-theme-200)}.bg-theme-300{background-color:var(--color-theme-300)}.bg-theme-500{background-color:var(--color-theme-500)}.bg-theme-600{background-color:var(--color-theme-600)}.bg-theme-700\\/50{background-color:var(--color-theme-700)}@supports (color:color-mix(in lab,red,red)){.bg-theme-700\\/50{background-color:color-mix(in oklab,var(--color-theme-700)50%,transparent)}}.bg-theme-800,.bg-theme-800\\/60{background-color:var(--color-theme-800)}@supports (color:color-mix(in lab,red,red)){.bg-theme-800\\/60{background-color:color-mix(in oklab,var(--color-theme-800)60%,transparent)}}.bg-theme-900{background-color:var(--color-theme-900)}.bg-theme-950\\/20{background-color:var(--color-theme-950)}@supports (color:color-mix(in lab,red,red)){.bg-theme-950\\/20{background-color:color-mix(in oklab,var(--color-theme-950)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.bg-white\\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.bg-white\\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/70{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}.bg-white\\/100{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\\/70{--tw-gradient-from:#000000b3}@supports (color:color-mix(in lab,red,red)){.from-black\\/70{--tw-gradient-from:color-mix(in oklab,var(--color-black)70%,transparent)}}.from-black\\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-black\\/90{--tw-gradient-from:#000000e6}@supports (color:color-mix(in lab,red,red)){.from-black\\/90{--tw-gradient-from:color-mix(in oklab,var(--color-black)90%,transparent)}}.from-black\\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-50{--tw-gradient-from:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-theme-50\\/40{--tw-gradient-from:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.from-theme-50\\/40{--tw-gradient-from:color-mix(in oklab,var(--color-theme-50)40%,transparent)}}.from-theme-50\\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-theme-100{--tw-gradient-from:var(--color-theme-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-theme-200\\/60{--tw-gradient-from:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.from-theme-200\\/60{--tw-gradient-from:color-mix(in oklab,var(--color-theme-200)60%,transparent)}}.from-theme-200\\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-theme-800{--tw-gradient-from:var(--color-theme-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-black\\/10{--tw-gradient-via:#0000001a}@supports (color:color-mix(in lab,red,red)){.via-black\\/10{--tw-gradient-via:color-mix(in oklab,var(--color-black)10%,transparent)}}.via-black\\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\\/50{--tw-gradient-via:#00000080}@supports (color:color-mix(in lab,red,red)){.via-black\\/50{--tw-gradient-via:color-mix(in oklab,var(--color-black)50%,transparent)}}.via-black\\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\\/90{--tw-gradient-via:#000000e6}@supports (color:color-mix(in lab,red,red)){.via-black\\/90{--tw-gradient-via:color-mix(in oklab,var(--color-black)90%,transparent)}}.via-black\\/90{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-theme-100\\/60{--tw-gradient-via:var(--color-theme-100)}@supports (color:color-mix(in lab,red,red)){.via-theme-100\\/60{--tw-gradient-via:color-mix(in oklab,var(--color-theme-100)60%,transparent)}}.via-theme-100\\/60{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-theme-200{--tw-gradient-via:var(--color-theme-200);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-black\\/40{--tw-gradient-to:#0006}@supports (color:color-mix(in lab,red,red)){.to-black\\/40{--tw-gradient-to:color-mix(in oklab,var(--color-black)40%,transparent)}}.to-black\\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-black\\/80{--tw-gradient-to:#000c}@supports (color:color-mix(in lab,red,red)){.to-black\\/80{--tw-gradient-to:color-mix(in oklab,var(--color-black)80%,transparent)}}.to-black\\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-black\\/100{--tw-gradient-to:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-50{--tw-gradient-to:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-50{--tw-gradient-to:var(--color-pink-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-theme-50\\/20{--tw-gradient-to:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.to-theme-50\\/20{--tw-gradient-to:color-mix(in oklab,var(--color-theme-50)20%,transparent)}}.to-theme-50\\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-theme-100{--tw-gradient-to:var(--color-theme-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-theme-200{--tw-gradient-to:var(--color-theme-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-theme-200\\/60{--tw-gradient-to:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.to-theme-200\\/60{--tw-gradient-to:color-mix(in oklab,var(--color-theme-200)60%,transparent)}}.to-theme-200\\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-theme-950{--tw-gradient-to:var(--color-theme-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.fill-orange-500{fill:var(--color-orange-500)}.fill-primary-500{fill:var(--color-primary-500)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.p-24{padding:calc(var(--spacing)*24)}.\\!px-1{padding-inline:calc(var(--spacing)*1)!important}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-9{padding-inline:calc(var(--spacing)*9)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-10{padding-top:calc(var(--spacing)*10)}.pt-12{padding-top:calc(var(--spacing)*12)}.pt-32{padding-top:calc(var(--spacing)*32)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[\\.9em\\]{font-size:.9em}.text-\\[0\\.8em\\]{font-size:.8em}.text-\\[1\\.2em\\]{font-size:1.2em}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground{color:var(--foreground)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-50{color:var(--color-green-50)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-900{color:var(--color-green-900)}.text-indigo-50{color:var(--color-indigo-50)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-900{color:var(--color-indigo-900)}.text-inherit{color:inherit}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-600{color:var(--color-neutral-600)}.text-orange-50{color:var(--color-orange-50)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-900{color:var(--color-orange-900)}.text-primary-0{color:var(--color-primary-0)}.text-primary-300{color:var(--color-primary-300)}.text-primary-400{color:var(--color-primary-400)}.text-primary-500{color:var(--color-primary-500)}.text-primary-600{color:var(--color-primary-600)}.text-primary-700{color:var(--color-primary-700)}.text-primary-800{color:var(--color-primary-800)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-50{color:var(--color-red-50)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-rose-50{color:var(--color-rose-50)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-900{color:var(--color-rose-900)}.text-theme-0{color:var(--color-theme-0)}.text-theme-50{color:var(--color-theme-50)}.text-theme-200{color:var(--color-theme-200)}.text-theme-300{color:var(--color-theme-300)}.text-theme-400{color:var(--color-theme-400)}.text-theme-500{color:var(--color-theme-500)}.text-theme-600,.text-theme-600\\/90{color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.text-theme-600\\/90{color:color-mix(in oklab,var(--color-theme-600)90%,transparent)}}.text-theme-700{color:var(--color-theme-700)}.text-theme-800{color:var(--color-theme-800)}.text-theme-900{color:var(--color-theme-900)}.text-white{color:var(--color-white)}.text-white\\/20{color:#fff3}@supports (color:color-mix(in lab,red,red)){.text-white\\/20{color:color-mix(in oklab,var(--color-white)20%,transparent)}}.text-white\\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.text-white\\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-theme-500::-moz-placeholder{color:var(--color-theme-500)}.placeholder-theme-500::placeholder{color:var(--color-theme-500)}.placeholder-white\\/50::-moz-placeholder{color:#ffffff80}.placeholder-white\\/50::placeholder{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.placeholder-white\\/50::-moz-placeholder{color:color-mix(in oklab,var(--color-white)50%,transparent)}.placeholder-white\\/50::placeholder{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.caret-primary-500{caret-color:var(--color-primary-500)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.mix-blend-overlay{mix-blend-mode:overlay}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\\/10{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.ring-black\\/10{--tw-ring-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.ring-gray-200{--tw-ring-color:var(--color-gray-200)}.ring-primary-500{--tw-ring-color:var(--color-primary-500)}.ring-theme-200{--tw-ring-color:var(--color-theme-200)}.ring-theme-300\\/70{--tw-ring-color:var(--color-theme-300)}@supports (color:color-mix(in lab,red,red)){.ring-theme-300\\/70{--tw-ring-color:color-mix(in oklab,var(--color-theme-300)70%,transparent)}}.ring-theme-500{--tw-ring-color:var(--color-theme-500)}.ring-white{--tw-ring-color:var(--color-white)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-1000{--tw-duration:1s;transition-duration:1s}.duration-\\[400ms\\]{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\.25\\,1\\,0\\.33\\,1\\)\\]{--tw-ease:cubic-bezier(.25,1,.33,1);transition-timing-function:cubic-bezier(.25,1,.33,1)}.ease-\\[cubic-bezier\\(0\\.52\\,0\\.01\\,0\\.16\\,1\\)\\]{--tw-ease:cubic-bezier(.52,.01,.16,1);transition-timing-function:cubic-bezier(.52,.01,.16,1)}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-auto{will-change:auto}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\\[-ms-overflow-style\\:none\\]{-ms-overflow-style:none}.\\[image-rendering\\:-webkit-optimize-contrast\\]{image-rendering:-webkit-optimize-contrast}.\\[scrollbar-width\\:none\\]{scrollbar-width:none}.\\[text-shadow\\:_0_0\\.5px_0_rgb\\(0_0_0_\\/_40\\%\\)\\]{text-shadow:0 .5px #0006}.\\[text-shadow\\:_0_1px_1px_rgb\\(255_255_255_\\/_100\\%\\)\\]{text-shadow:0 1px 1px #fff}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}@media (hover:hover){.group-hover\\:max-h-\\[300px\\]:is(:where(.group):hover *){max-height:300px}.group-hover\\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\\:text-theme-400:is(:where(.group):hover *){color:var(--color-theme-400)}.group-hover\\:text-theme-600:is(:where(.group):hover *){color:var(--color-theme-600)}.group-hover\\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\\:opacity-40:is(:where(.group):hover *){opacity:.4}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder\\:text-gray-400::placeholder{color:var(--color-gray-400)}.placeholder\\:text-primary-300::-moz-placeholder{color:var(--color-primary-300)}.placeholder\\:text-primary-300::placeholder{color:var(--color-primary-300)}.placeholder\\:text-theme-400::-moz-placeholder{color:var(--color-theme-400)}.placeholder\\:text-theme-400::placeholder{color:var(--color-theme-400)}.placeholder\\:text-white\\/60::-moz-placeholder{color:#fff9}.placeholder\\:text-white\\/60::placeholder{color:#fff9}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-white\\/60::-moz-placeholder{color:color-mix(in oklab,var(--color-white)60%,transparent)}.placeholder\\:text-white\\/60::placeholder{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.checked\\:border-primary-500:checked{border-color:var(--color-primary-500)}.checked\\:bg-primary-500:checked{background-color:var(--color-primary-500)}.focus-within\\:ring-gray-600:focus-within{--tw-ring-color:var(--color-gray-600)}.focus-within\\:ring-theme-600:focus-within{--tw-ring-color:var(--color-theme-600)}.focus-within\\:outline-none:focus-within{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\\:translate-y-\\[-1px\\]:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:rotate-90:hover{rotate:90deg}.hover\\:border-gray-200:hover{border-color:var(--color-gray-200)}.hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:border-green-200:hover{border-color:var(--color-green-200)}.hover\\:border-green-300:hover{border-color:var(--color-green-300)}.hover\\:border-indigo-200:hover{border-color:var(--color-indigo-200)}.hover\\:border-orange-200:hover{border-color:var(--color-orange-200)}.hover\\:border-primary-200:hover{border-color:var(--color-primary-200)}.hover\\:border-primary-300:hover{border-color:var(--color-primary-300)}.hover\\:border-primary-400:hover{border-color:var(--color-primary-400)}.hover\\:border-red-200:hover{border-color:var(--color-red-200)}.hover\\:border-red-300:hover{border-color:var(--color-red-300)}.hover\\:border-rose-200:hover{border-color:var(--color-rose-200)}.hover\\:border-theme-200:hover{border-color:var(--color-theme-200)}.hover\\:border-theme-300:hover,.hover\\:border-theme-300\\/80:hover{border-color:var(--color-theme-300)}@supports (color:color-mix(in lab,red,red)){.hover\\:border-theme-300\\/80:hover{border-color:color-mix(in oklab,var(--color-theme-300)80%,transparent)}}.hover\\:border-theme-400:hover{border-color:var(--color-theme-400)}.hover\\:border-white\\/40:hover{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.hover\\:border-white\\/40:hover{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.hover\\:border-white\\/80:hover{border-color:#fffc}@supports (color:color-mix(in lab,red,red)){.hover\\:border-white\\/80:hover{border-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.hover\\:border-white\\/90:hover{border-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\\:border-white\\/90:hover{border-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.hover\\:bg-amber-50:hover{background-color:var(--color-amber-50)}.hover\\:bg-black\\/60:hover{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-black\\/60:hover{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.hover\\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\\:bg-green-200:hover{background-color:var(--color-green-200)}.hover\\:bg-green-500:hover{background-color:var(--color-green-500)}.hover\\:bg-green-500\\/10:hover{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-green-500\\/10:hover{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.hover\\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\\:bg-indigo-200:hover{background-color:var(--color-indigo-200)}.hover\\:bg-indigo-500\\/10:hover{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-indigo-500\\/10:hover{background-color:color-mix(in oklab,var(--color-indigo-500)10%,transparent)}}.hover\\:bg-indigo-600:hover{background-color:var(--color-indigo-600)}.hover\\:bg-orange-200:hover{background-color:var(--color-orange-200)}.hover\\:bg-orange-500\\/10:hover{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-orange-500\\/10:hover{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.hover\\:bg-orange-700:hover{background-color:var(--color-orange-700)}.hover\\:bg-primary-100:hover{background-color:var(--color-primary-100)}.hover\\:bg-primary-500:hover,.hover\\:bg-primary-500\\/10:hover{background-color:var(--color-primary-500)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary-500\\/10:hover{background-color:color-mix(in oklab,var(--color-primary-500)10%,transparent)}}.hover\\:bg-primary-600:hover{background-color:var(--color-primary-600)}.hover\\:bg-primary-700:hover{background-color:var(--color-primary-700)}.hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\\:bg-red-200:hover{background-color:var(--color-red-200)}.hover\\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\\:bg-red-500\\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/10:hover{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\\:bg-rose-200:hover{background-color:var(--color-rose-200)}.hover\\:bg-rose-500\\/10:hover{background-color:#ff23571a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-rose-500\\/10:hover{background-color:color-mix(in oklab,var(--color-rose-500)10%,transparent)}}.hover\\:bg-rose-600:hover{background-color:var(--color-rose-600)}.hover\\:bg-theme-25:hover,.hover\\:bg-theme-25\\/50:hover{background-color:var(--color-theme-25)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-theme-25\\/50:hover{background-color:color-mix(in oklab,var(--color-theme-25)50%,transparent)}}.hover\\:bg-theme-50:hover,.hover\\:bg-theme-50\\/60:hover{background-color:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-theme-50\\/60:hover{background-color:color-mix(in oklab,var(--color-theme-50)60%,transparent)}}.hover\\:bg-theme-100:hover{background-color:var(--color-theme-100)}.hover\\:bg-theme-200:hover{background-color:var(--color-theme-200)}.hover\\:bg-theme-500\\/10:hover{background-color:var(--color-theme-500)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-theme-500\\/10:hover{background-color:color-mix(in oklab,var(--color-theme-500)10%,transparent)}}.hover\\:bg-theme-600:hover{background-color:var(--color-theme-600)}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:bg-white\\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\\:bg-white\\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\\:bg-white\\/70:hover{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/70:hover{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}.hover\\:from-theme-50\\/60:hover{--tw-gradient-from:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.hover\\:from-theme-50\\/60:hover{--tw-gradient-from:color-mix(in oklab,var(--color-theme-50)60%,transparent)}}.hover\\:from-theme-50\\/60:hover{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\\:to-theme-50\\/40:hover{--tw-gradient-to:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.hover\\:to-theme-50\\/40:hover{--tw-gradient-to:color-mix(in oklab,var(--color-theme-50)40%,transparent)}}.hover\\:to-theme-50\\/40:hover{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\\:text-neutral-600:hover{color:var(--color-neutral-600)}.hover\\:text-primary-600:hover{color:var(--color-primary-600)}.hover\\:text-red-500:hover{color:var(--color-red-500)}.hover\\:text-theme-0:hover{color:var(--color-theme-0)}.hover\\:text-theme-400:hover{color:var(--color-theme-400)}.hover\\:text-theme-500:hover{color:var(--color-theme-500)}.hover\\:text-theme-600:hover{color:var(--color-theme-600)}.hover\\:text-theme-700:hover{color:var(--color-theme-700)}.hover\\:text-theme-800:hover{color:var(--color-theme-800)}.hover\\:text-theme-900:hover{color:var(--color-theme-900)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:text-white\\/70:hover{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.hover\\:text-white\\/70:hover{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.hover\\:text-white\\/80:hover{color:#fffc}@supports (color:color-mix(in lab,red,red)){.hover\\:text-white\\/80:hover{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.hover\\:opacity-70:hover{opacity:.7}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-2:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-theme-100\\/30:hover{--tw-ring-color:var(--color-theme-100)}@supports (color:color-mix(in lab,red,red)){.hover\\:ring-theme-100\\/30:hover{--tw-ring-color:color-mix(in oklab,var(--color-theme-100)30%,transparent)}}.hover\\:ring-theme-200\\/50:hover{--tw-ring-color:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.hover\\:ring-theme-200\\/50:hover{--tw-ring-color:color-mix(in oklab,var(--color-theme-200)50%,transparent)}}.hover\\:ring-theme-400\\/70:hover{--tw-ring-color:var(--color-theme-400)}@supports (color:color-mix(in lab,red,red)){.hover\\:ring-theme-400\\/70:hover{--tw-ring-color:color-mix(in oklab,var(--color-theme-400)70%,transparent)}}.hover\\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:border-0:focus{border-style:var(--tw-border-style);border-width:0}.focus\\:border-primary-500:focus{border-color:var(--color-primary-500)}.focus\\:border-transparent:focus{border-color:#0000}.focus\\:border-white\\/40:focus{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.focus\\:border-white\\/40:focus{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.focus\\:bg-primary-50\\/50:focus{background-color:var(--color-primary-50)}@supports (color:color-mix(in lab,red,red)){.focus\\:bg-primary-50\\/50:focus{background-color:color-mix(in oklab,var(--color-primary-50)50%,transparent)}}.focus\\:bg-theme-200:focus{background-color:var(--color-theme-200)}.focus\\:bg-white:focus{background-color:var(--color-white)}.focus\\:bg-white\\/20:focus{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.focus\\:bg-white\\/20:focus{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.focus\\:caret-primary-500:focus{caret-color:var(--color-primary-500)}.focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-gray-600:focus{--tw-ring-color:var(--color-gray-600)}.focus\\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}.focus\\:ring-primary-600:focus{--tw-ring-color:var(--color-primary-600)}.focus\\:ring-primary-700:focus{--tw-ring-color:var(--color-primary-700)}.focus\\:ring-theme-600:focus{--tw-ring-color:var(--color-theme-600)}.focus\\:ring-white\\/90:focus{--tw-ring-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-white\\/90:focus{--tw-ring-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-primary-600:focus-visible{outline-color:var(--color-primary-600)}.active\\:-translate-y-0\\.5:active{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.active\\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-\\[1\\.06\\]:active{scale:1.06}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-primary-500:active{background-color:var(--color-primary-500)}.active\\:bg-theme-800\\/80:active{background-color:var(--color-theme-800)}@supports (color:color-mix(in lab,red,red)){.active\\:bg-theme-800\\/80:active{background-color:color-mix(in oklab,var(--color-theme-800)80%,transparent)}}.active\\:opacity-80:active{opacity:.8}.active\\:duration-100:active{--tw-duration:.1s;transition-duration:.1s}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\\:block{display:block}.sm\\:size-16{width:calc(var(--spacing)*16);height:calc(var(--spacing)*16)}.sm\\:h-24{height:calc(var(--spacing)*24)}.sm\\:w-24{width:calc(var(--spacing)*24)}.sm\\:translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\\:translate-x-2{--tw-translate-x:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}.sm\\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\\:py-32{padding-block:calc(var(--spacing)*32)}.sm\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media (min-width:48rem){.md\\:static{position:static}.md\\:left-0{left:calc(var(--spacing)*0)}.md\\:block{display:block}.md\\:hidden{display:none}.md\\:aspect-\\[1\\/1\\]{aspect-ratio:1}.md\\:h-\\[600px\\]{height:600px}.md\\:w-\\[calc\\(10rem\\+12vw\\)\\]{width:calc(10rem + 12vw)}.md\\:max-w-none{max-width:none}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:items-center{align-items:center}.md\\:justify-end{justify-content:flex-end}.md\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.md\\:p-6{padding:calc(var(--spacing)*6)}.md\\:px-6{padding-inline:calc(var(--spacing)*6)}.md\\:px-12{padding-inline:calc(var(--spacing)*12)}.md\\:px-16{padding-inline:calc(var(--spacing)*16)}.md\\:py-8{padding-block:calc(var(--spacing)*8)}.md\\:pr-4{padding-right:calc(var(--spacing)*4)}.md\\:opacity-100{opacity:1}.md\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\\:ring-white\\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.md\\:ring-white\\/10{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}}@media (min-width:64rem){.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:flex-row{flex-direction:row}.lg\\:p-8{padding:calc(var(--spacing)*8)}.lg\\:px-8{padding-inline:calc(var(--spacing)*8)}.lg\\:px-12{padding-inline:calc(var(--spacing)*12)}.lg\\:py-6{padding-block:calc(var(--spacing)*6)}}@media (min-width:80rem){.xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\\:pl-8{padding-left:calc(var(--spacing)*8)}.xl\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@container input (min-width:220px){.\\@\\[220px\\]\\/input\\:block{display:block}.\\@\\[220px\\]\\/input\\:size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.\\@\\[220px\\]\\/input\\:size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.\\@\\[220px\\]\\/input\\:size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.\\@\\[220px\\]\\/input\\:size-16{width:calc(var(--spacing)*16);height:calc(var(--spacing)*16)}.\\@\\[220px\\]\\/input\\:gap-2\\.5{gap:calc(var(--spacing)*2.5)}.\\@\\[220px\\]\\/input\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.\\@\\[220px\\]\\/input\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.\\@\\[220px\\]\\/input\\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.\\@\\[220px\\]\\/input\\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@container (min-width:400px){.\\@\\[400px\\]\\:flex-row{flex-direction:row}.\\@\\[400px\\]\\:gap-6{gap:calc(var(--spacing)*6)}}@container agent (min-width:480px){.\\@\\[480px\\]\\/agent\\:px-6{padding-inline:calc(var(--spacing)*6)}}@container (min-width:20rem){.\\@xs\\:flex{display:flex}.\\@xs\\:items-center{align-items:center}.\\@xs\\:justify-between{justify-content:space-between}:where(.\\@xs\\:space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}}@container (min-width:36rem){.\\@xl\\:size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.\\@xl\\:size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}}.dark\\:border-gray-400:where(.dark,.dark *){border-color:var(--color-gray-400)}.dark\\:border-gray-600:where(.dark,.dark *){border-color:var(--color-gray-600)}.dark\\:border-gray-800\\/20:where(.dark,.dark *){border-color:#1e293933}@supports (color:color-mix(in lab,red,red)){.dark\\:border-gray-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-gray-800)20%,transparent)}}.dark\\:border-green-600:where(.dark,.dark *){border-color:var(--color-green-600)}.dark\\:border-green-800:where(.dark,.dark *){border-color:var(--color-green-800)}.dark\\:border-green-800\\/20:where(.dark,.dark *){border-color:#01663033}@supports (color:color-mix(in lab,red,red)){.dark\\:border-green-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-green-800)20%,transparent)}}.dark\\:border-indigo-600:where(.dark,.dark *){border-color:var(--color-indigo-600)}.dark\\:border-indigo-800\\/20:where(.dark,.dark *){border-color:#372aac33}@supports (color:color-mix(in lab,red,red)){.dark\\:border-indigo-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-indigo-800)20%,transparent)}}.dark\\:border-orange-600:where(.dark,.dark *){border-color:var(--color-orange-600)}.dark\\:border-orange-800\\/20:where(.dark,.dark *){border-color:#9f2d0033}@supports (color:color-mix(in lab,red,red)){.dark\\:border-orange-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-orange-800)20%,transparent)}}.dark\\:border-primary-500:where(.dark,.dark *){border-color:var(--color-primary-500)}.dark\\:border-primary-600:where(.dark,.dark *){border-color:var(--color-primary-600)}.dark\\:border-primary-800\\/20:where(.dark,.dark *){border-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-primary-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-primary-800)20%,transparent)}}.dark\\:border-primary-800\\/50:where(.dark,.dark *){border-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-primary-800\\/50:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-primary-800)50%,transparent)}}.dark\\:border-red-600:where(.dark,.dark *){border-color:var(--color-red-600)}.dark\\:border-red-800:where(.dark,.dark *){border-color:var(--color-red-800)}.dark\\:border-red-800\\/20:where(.dark,.dark *){border-color:#9f071233}@supports (color:color-mix(in lab,red,red)){.dark\\:border-red-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-red-800)20%,transparent)}}.dark\\:border-rose-600:where(.dark,.dark *){border-color:var(--color-rose-600)}.dark\\:border-rose-800\\/20:where(.dark,.dark *){border-color:#a3003733}@supports (color:color-mix(in lab,red,red)){.dark\\:border-rose-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-rose-800)20%,transparent)}}.dark\\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\\:border-theme-400:where(.dark,.dark *){border-color:var(--color-theme-400)}.dark\\:border-theme-500:where(.dark,.dark *){border-color:var(--color-theme-500)}.dark\\:border-theme-600:where(.dark,.dark *),.dark\\:border-theme-600\\/50:where(.dark,.dark *){border-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-theme-600\\/50:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-theme-600)50%,transparent)}}.dark\\:border-theme-600\\/70:where(.dark,.dark *){border-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-theme-600\\/70:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-theme-600)70%,transparent)}}.dark\\:border-theme-700:where(.dark,.dark *),.dark\\:border-theme-700\\/70:where(.dark,.dark *){border-color:var(--color-theme-700)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-theme-700\\/70:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-theme-700)70%,transparent)}}.dark\\:border-theme-800\\/20:where(.dark,.dark *){border-color:var(--color-theme-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-theme-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-theme-800)20%,transparent)}}.dark\\:bg-gray-600\\/30:where(.dark,.dark *){background-color:#4a55654d}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-600\\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-600)30%,transparent)}}.dark\\:bg-gray-700\\/40:where(.dark,.dark *){background-color:#36415366}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-700\\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-700)40%,transparent)}}.dark\\:bg-gray-800\\/50:where(.dark,.dark *){background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-800\\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.dark\\:bg-green-700\\/70:where(.dark,.dark *){background-color:#008138b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-700)70%,transparent)}}.dark\\:bg-green-800\\/20:where(.dark,.dark *){background-color:#01663033}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-800)20%,transparent)}}.dark\\:bg-green-900\\/20:where(.dark,.dark *){background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-900\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.dark\\:bg-indigo-700\\/70:where(.dark,.dark *){background-color:#432dd7b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-indigo-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-indigo-700)70%,transparent)}}.dark\\:bg-indigo-800\\/20:where(.dark,.dark *){background-color:#372aac33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-indigo-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-indigo-800)20%,transparent)}}.dark\\:bg-orange-700\\/70:where(.dark,.dark *){background-color:#c53c00b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-orange-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-orange-700)70%,transparent)}}.dark\\:bg-orange-800\\/20:where(.dark,.dark *){background-color:#9f2d0033}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-orange-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-orange-800)20%,transparent)}}.dark\\:bg-primary-500:where(.dark,.dark *){background-color:var(--color-primary-500)}.dark\\:bg-primary-700\\/50:where(.dark,.dark *){background-color:var(--color-primary-700)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-700\\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-700)50%,transparent)}}.dark\\:bg-primary-700\\/70:where(.dark,.dark *){background-color:var(--color-primary-700)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-700)70%,transparent)}}.dark\\:bg-primary-800\\/20:where(.dark,.dark *){background-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-800)20%,transparent)}}.dark\\:bg-primary-800\\/40:where(.dark,.dark *){background-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-800\\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-800)40%,transparent)}}.dark\\:bg-primary-900\\/20:where(.dark,.dark *){background-color:var(--color-primary-900)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-900\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-900)20%,transparent)}}.dark\\:bg-primary-950\\/20:where(.dark,.dark *){background-color:var(--color-primary-950)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-950\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-950)20%,transparent)}}.dark\\:bg-primary-950\\/50:where(.dark,.dark *){background-color:var(--color-primary-950)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-950\\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-950)50%,transparent)}}.dark\\:bg-red-700\\/70:where(.dark,.dark *){background-color:#bf000fb3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-700)70%,transparent)}}.dark\\:bg-red-800\\/20:where(.dark,.dark *){background-color:#9f071233}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-800)20%,transparent)}}.dark\\:bg-red-900\\/20:where(.dark,.dark *){background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-900\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\\:bg-rose-700\\/70:where(.dark,.dark *){background-color:#c20039b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-rose-700)70%,transparent)}}.dark\\:bg-rose-800\\/20:where(.dark,.dark *){background-color:#a3003733}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-rose-800)20%,transparent)}}.dark\\:bg-rose-900\\/30:where(.dark,.dark *){background-color:#8b08364d}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-900\\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-rose-900)30%,transparent)}}.dark\\:bg-slate-800:where(.dark,.dark *){background-color:var(--color-slate-800)}.dark\\:bg-theme-600:where(.dark,.dark *),.dark\\:bg-theme-600\\/30:where(.dark,.dark *){background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-600\\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-600)30%,transparent)}}.dark\\:bg-theme-600\\/50:where(.dark,.dark *){background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-600\\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-600)50%,transparent)}}.dark\\:bg-theme-600\\/70:where(.dark,.dark *){background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-600\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-600)70%,transparent)}}.dark\\:bg-theme-600\\/90:where(.dark,.dark *){background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-600\\/90:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-600)90%,transparent)}}.dark\\:bg-theme-700:where(.dark,.dark *),.dark\\:bg-theme-700\\/40:where(.dark,.dark *){background-color:var(--color-theme-700)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-700\\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-700)40%,transparent)}}.dark\\:bg-theme-800:where(.dark,.dark *),.dark\\:bg-theme-800\\/50:where(.dark,.dark *){background-color:var(--color-theme-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-800\\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-800)50%,transparent)}}.dark\\:bg-theme-800\\/90:where(.dark,.dark *){background-color:var(--color-theme-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-800\\/90:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-800)90%,transparent)}}.dark\\:bg-theme-900:where(.dark,.dark *),.dark\\:bg-theme-900\\/40:where(.dark,.dark *){background-color:var(--color-theme-900)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-900\\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-900)40%,transparent)}}.dark\\:text-gray-50:where(.dark,.dark *){color:var(--color-gray-50)}.dark\\:text-gray-100:where(.dark,.dark *){color:var(--color-gray-100)}.dark\\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\\:text-gray-500:where(.dark,.dark *){color:var(--color-gray-500)}.dark\\:text-green-50:where(.dark,.dark *){color:var(--color-green-50)}.dark\\:text-green-100:where(.dark,.dark *){color:var(--color-green-100)}.dark\\:text-green-400:where(.dark,.dark *){color:var(--color-green-400)}.dark\\:text-green-500:where(.dark,.dark *){color:var(--color-green-500)}.dark\\:text-indigo-50:where(.dark,.dark *){color:var(--color-indigo-50)}.dark\\:text-indigo-100:where(.dark,.dark *){color:var(--color-indigo-100)}.dark\\:text-indigo-400:where(.dark,.dark *){color:var(--color-indigo-400)}.dark\\:text-indigo-500:where(.dark,.dark *){color:var(--color-indigo-500)}.dark\\:text-orange-50:where(.dark,.dark *){color:var(--color-orange-50)}.dark\\:text-orange-100:where(.dark,.dark *){color:var(--color-orange-100)}.dark\\:text-orange-400:where(.dark,.dark *){color:var(--color-orange-400)}.dark\\:text-orange-500:where(.dark,.dark *){color:var(--color-orange-500)}.dark\\:text-primary-0:where(.dark,.dark *){color:var(--color-primary-0)}.dark\\:text-primary-50:where(.dark,.dark *){color:var(--color-primary-50)}.dark\\:text-primary-100:where(.dark,.dark *){color:var(--color-primary-100)}.dark\\:text-primary-200:where(.dark,.dark *){color:var(--color-primary-200)}.dark\\:text-primary-400:where(.dark,.dark *){color:var(--color-primary-400)}.dark\\:text-primary-500:where(.dark,.dark *){color:var(--color-primary-500)}.dark\\:text-red-50:where(.dark,.dark *){color:var(--color-red-50)}.dark\\:text-red-100:where(.dark,.dark *){color:var(--color-red-100)}.dark\\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\\:text-red-500:where(.dark,.dark *){color:var(--color-red-500)}.dark\\:text-rose-50:where(.dark,.dark *){color:var(--color-rose-50)}.dark\\:text-rose-100:where(.dark,.dark *){color:var(--color-rose-100)}.dark\\:text-rose-400:where(.dark,.dark *){color:var(--color-rose-400)}.dark\\:text-rose-500:where(.dark,.dark *){color:var(--color-rose-500)}.dark\\:text-theme-0:where(.dark,.dark *){color:var(--color-theme-0)}.dark\\:text-theme-50:where(.dark,.dark *){color:var(--color-theme-50)}.dark\\:text-theme-100:where(.dark,.dark *){color:var(--color-theme-100)}.dark\\:text-theme-200:where(.dark,.dark *){color:var(--color-theme-200)}.dark\\:text-theme-300:where(.dark,.dark *){color:var(--color-theme-300)}.dark\\:text-theme-400:where(.dark,.dark *){color:var(--color-theme-400)}.dark\\:text-theme-500:where(.dark,.dark *){color:var(--color-theme-500)}.dark\\:text-theme-600:where(.dark,.dark *){color:var(--color-theme-600)}.dark\\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\\:ring-gray-600\\/70:where(.dark,.dark *){--tw-ring-color:#4a5565b3}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-gray-600\\/70:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-gray-600)70%,transparent)}}.dark\\:ring-primary-600\\/70:where(.dark,.dark *){--tw-ring-color:var(--color-primary-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-primary-600\\/70:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-primary-600)70%,transparent)}}.dark\\:ring-theme-500\\/70:where(.dark,.dark *){--tw-ring-color:var(--color-theme-500)}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-theme-500\\/70:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-theme-500)70%,transparent)}}.dark\\:ring-theme-600:where(.dark,.dark *),.dark\\:ring-theme-600\\/70:where(.dark,.dark *){--tw-ring-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-theme-600\\/70:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-theme-600)70%,transparent)}}@media (hover:hover){.dark\\:group-hover\\:text-theme-50:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-theme-50)}}.dark\\:placeholder\\:text-gray-500:where(.dark,.dark *)::-moz-placeholder{color:var(--color-gray-500)}.dark\\:placeholder\\:text-gray-500:where(.dark,.dark *)::placeholder{color:var(--color-gray-500)}.dark\\:placeholder\\:text-primary-600:where(.dark,.dark *)::-moz-placeholder{color:var(--color-primary-600)}.dark\\:placeholder\\:text-primary-600:where(.dark,.dark *)::placeholder{color:var(--color-primary-600)}.dark\\:placeholder\\:text-theme-500:where(.dark,.dark *)::-moz-placeholder{color:var(--color-theme-500)}.dark\\:placeholder\\:text-theme-500:where(.dark,.dark *)::placeholder{color:var(--color-theme-500)}.dark\\:checked\\:border-primary-600:where(.dark,.dark *):checked{border-color:var(--color-primary-600)}.dark\\:checked\\:bg-primary-700:where(.dark,.dark *):checked{background-color:var(--color-primary-700)}.dark\\:focus-within\\:ring-gray-500:where(.dark,.dark *):focus-within{--tw-ring-color:var(--color-gray-500)}.dark\\:focus-within\\:ring-theme-500:where(.dark,.dark *):focus-within{--tw-ring-color:var(--color-theme-500)}@media (hover:hover){.dark\\:hover\\:border-gray-500:where(.dark,.dark *):hover{border-color:var(--color-gray-500)}.dark\\:hover\\:border-gray-600:where(.dark,.dark *):hover{border-color:var(--color-gray-600)}.dark\\:hover\\:border-green-700:where(.dark,.dark *):hover{border-color:var(--color-green-700)}.dark\\:hover\\:border-indigo-700:where(.dark,.dark *):hover{border-color:var(--color-indigo-700)}.dark\\:hover\\:border-orange-700:where(.dark,.dark *):hover{border-color:var(--color-orange-700)}.dark\\:hover\\:border-primary-700:where(.dark,.dark *):hover{border-color:var(--color-primary-700)}.dark\\:hover\\:border-red-700:where(.dark,.dark *):hover{border-color:var(--color-red-700)}.dark\\:hover\\:border-rose-700:where(.dark,.dark *):hover{border-color:var(--color-rose-700)}.dark\\:hover\\:border-theme-500:where(.dark,.dark *):hover{border-color:var(--color-theme-500)}.dark\\:hover\\:border-theme-600:where(.dark,.dark *):hover{border-color:var(--color-theme-600)}.dark\\:hover\\:bg-gray-600\\/50:where(.dark,.dark *):hover{background-color:#4a556580}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-gray-600\\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-gray-600)50%,transparent)}}.dark\\:hover\\:bg-green-400\\/10:where(.dark,.dark *):hover{background-color:#05df721a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-green-400\\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-green-400)10%,transparent)}}.dark\\:hover\\:bg-green-800:where(.dark,.dark *):hover{background-color:var(--color-green-800)}.dark\\:hover\\:bg-green-800\\/40:where(.dark,.dark *):hover{background-color:#01663066}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-green-800\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-green-800)40%,transparent)}}.dark\\:hover\\:bg-indigo-400\\/10:where(.dark,.dark *):hover{background-color:#7d87ff1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-indigo-400\\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-indigo-400)10%,transparent)}}.dark\\:hover\\:bg-indigo-800:where(.dark,.dark *):hover{background-color:var(--color-indigo-800)}.dark\\:hover\\:bg-indigo-800\\/40:where(.dark,.dark *):hover{background-color:#372aac66}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-indigo-800\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-indigo-800)40%,transparent)}}.dark\\:hover\\:bg-orange-400\\/10:where(.dark,.dark *):hover{background-color:#ff8b1a1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-orange-400\\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-orange-400)10%,transparent)}}.dark\\:hover\\:bg-orange-800:where(.dark,.dark *):hover{background-color:var(--color-orange-800)}.dark\\:hover\\:bg-orange-800\\/40:where(.dark,.dark *):hover{background-color:#9f2d0066}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-orange-800\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-orange-800)40%,transparent)}}.dark\\:hover\\:bg-primary-500\\/20:where(.dark,.dark *):hover{background-color:var(--color-primary-500)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-primary-500\\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-primary-500)20%,transparent)}}.dark\\:hover\\:bg-primary-800:where(.dark,.dark *):hover,.dark\\:hover\\:bg-primary-800\\/60:where(.dark,.dark *):hover{background-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-primary-800\\/60:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-primary-800)60%,transparent)}}.dark\\:hover\\:bg-primary-900\\/50:where(.dark,.dark *):hover{background-color:var(--color-primary-900)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-primary-900\\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-primary-900)50%,transparent)}}.dark\\:hover\\:bg-red-400\\/10:where(.dark,.dark *):hover{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-400\\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.dark\\:hover\\:bg-red-800:where(.dark,.dark *):hover{background-color:var(--color-red-800)}.dark\\:hover\\:bg-red-800\\/40:where(.dark,.dark *):hover{background-color:#9f071266}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-800\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-red-800)40%,transparent)}}.dark\\:hover\\:bg-rose-400\\/10:where(.dark,.dark *):hover{background-color:#ff667f1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-rose-400\\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-rose-400)10%,transparent)}}.dark\\:hover\\:bg-rose-800:where(.dark,.dark *):hover{background-color:var(--color-rose-800)}.dark\\:hover\\:bg-rose-800\\/40:where(.dark,.dark *):hover{background-color:#a3003766}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-rose-800\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-rose-800)40%,transparent)}}.dark\\:hover\\:bg-theme-400\\/20:where(.dark,.dark *):hover{background-color:var(--color-theme-400)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-theme-400\\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-theme-400)20%,transparent)}}.dark\\:hover\\:bg-theme-600:where(.dark,.dark *):hover,.dark\\:hover\\:bg-theme-600\\/40:where(.dark,.dark *):hover{background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-theme-600\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-theme-600)40%,transparent)}}.dark\\:hover\\:bg-theme-600\\/50:where(.dark,.dark *):hover{background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-theme-600\\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-theme-600)50%,transparent)}}.dark\\:hover\\:bg-theme-700:where(.dark,.dark *):hover{background-color:var(--color-theme-700)}.dark\\:hover\\:bg-theme-800:where(.dark,.dark *):hover{background-color:var(--color-theme-800)}.dark\\:hover\\:text-theme-0:where(.dark,.dark *):hover{color:var(--color-theme-0)}.dark\\:hover\\:text-theme-50:where(.dark,.dark *):hover{color:var(--color-theme-50)}.dark\\:hover\\:text-theme-300:where(.dark,.dark *):hover{color:var(--color-theme-300)}.dark\\:hover\\:ring-theme-400\\/70:where(.dark,.dark *):hover{--tw-ring-color:var(--color-theme-400)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:ring-theme-400\\/70:where(.dark,.dark *):hover{--tw-ring-color:color-mix(in oklab,var(--color-theme-400)70%,transparent)}}.dark\\:hover\\:ring-theme-500:where(.dark,.dark *):hover{--tw-ring-color:var(--color-theme-500)}.dark\\:hover\\:ring-theme-600:where(.dark,.dark *):hover{--tw-ring-color:var(--color-theme-600)}}.dark\\:focus\\:bg-gray-800:where(.dark,.dark *):focus{background-color:var(--color-gray-800)}.dark\\:focus\\:bg-primary-800\\/40:where(.dark,.dark *):focus{background-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:focus\\:bg-primary-800\\/40:where(.dark,.dark *):focus{background-color:color-mix(in oklab,var(--color-primary-800)40%,transparent)}}.dark\\:focus\\:bg-theme-800:where(.dark,.dark *):focus{background-color:var(--color-theme-800)}.dark\\:focus\\:bg-theme-900\\/50:where(.dark,.dark *):focus{background-color:var(--color-theme-900)}@supports (color:color-mix(in lab,red,red)){.dark\\:focus\\:bg-theme-900\\/50:where(.dark,.dark *):focus{background-color:color-mix(in oklab,var(--color-theme-900)50%,transparent)}}.dark\\:focus\\:ring-gray-500:where(.dark,.dark *):focus{--tw-ring-color:var(--color-gray-500)}.dark\\:focus\\:ring-primary-400:where(.dark,.dark *):focus{--tw-ring-color:var(--color-primary-400)}.dark\\:focus\\:ring-primary-600:where(.dark,.dark *):focus{--tw-ring-color:var(--color-primary-600)}.dark\\:focus\\:ring-theme-500:where(.dark,.dark *):focus{--tw-ring-color:var(--color-theme-500)}.dark\\:focus\\:ring-white\\/70:where(.dark,.dark *):focus{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.dark\\:focus\\:ring-white\\/70:where(.dark,.dark *):focus{--tw-ring-color:color-mix(in oklab,var(--color-white)70%,transparent)}}.dark\\:active\\:bg-primary-700:where(.dark,.dark *):active{background-color:var(--color-primary-700)}.\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}}@property --tw-animation-delay{syntax:\"*\";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:\"*\";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:\"*\";inherits:false}@property --tw-animation-fill-mode{syntax:\"*\";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:\"*\";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--muted:oklch(97% 0 0);--accent:oklch(97% 0 0);--border:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--primary:oklch(50% .17 260);--primary-foreground:oklch(100% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--accent:oklch(26.9% 0 0);--border:oklch(100% 0 0/.1);--ring:oklch(55.6% 0 0);--primary:oklch(60% .17 260);--primary-foreground:oklch(100% 0 0)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}:root{--shadow-color:220deg 60% 50%}.shadow-elevated{box-shadow:.5px 1px 1px hsl(var(--shadow-color)/.075),1px 2px 2px hsl(var(--shadow-color)/.075),2px 4px 4px hsl(var(--shadow-color)/.075),4px 8px 8px hsl(var(--shadow-color)/.075)}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:\"*\";inherits:false}@property --tw-gradient-from{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:\"*\";inherits:false}@property --tw-gradient-via-stops{syntax:\"*\";inherits:false}@property --tw-gradient-from-position{syntax:\"<length-percentage>\";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:\"<length-percentage>\";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:\"<length-percentage>\";inherits:false;initial-value:100%}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}",this.shadowRoot.appendChild(e);const t=document.createElement("div");t.id="fiction-widget-root",t.style.cssText="width: 100%; height: 100%;",this.shadowRoot.appendChild(t),await this.mountMode(t)}async mountMode(e){const{mode:t}=this.config;if("inline"===t){const{default:t}=await Promise.resolve().then(()=>ny);this.app=Ta(t,{sdk:this.sdk,handle:this.config.handle,self:this.config.self,context:this.config.context,firstMessage:this.config.firstMessage}),this.widgetInstance=this.app.mount(e)}else if("popup"===t){const{default:t}=await Promise.resolve().then(()=>hy);this.app=Ta(t,{sdk:this.sdk,handle:this.config.handle,self:this.config.self,context:this.config.context,firstMessage:this.config.firstMessage,position:"bottom-right"}),this.widgetInstance=this.app.mount(e)}else{if("modal"!==t)throw new Error(`FictionWidget: unsupported mode "${t}"`);{const{default:t}=await Promise.resolve().then(()=>wy);this.app=Ta(t,{sdk:this.sdk,handle:this.config.handle,self:this.config.self,context:this.config.context,firstMessage:this.config.firstMessage,onClose:ds(()=>{this.config.onClose&&this.config.onClose(),this.destroy()},"onClose")}),this.widgetInstance=this.app.mount(e)}}}update(e){this.widgetInstance?.update?(this.widgetInstance.update(e),us.info(`Widget updated: ${Object.keys(e).join(", ")}`)):us.warn("Widget instance does not support update()")}toggle(){this.widgetInstance?.toggle?this.widgetInstance.toggle():us.warn("Widget mode does not support toggle()")}open(){this.widgetInstance?.open?this.widgetInstance.open():us.warn("Widget mode does not support open()")}close(){this.widgetInstance?.close?this.widgetInstance.close():us.warn("Widget mode does not support close()")}destroy(){if(this.app&&(this.app.unmount(),this.app=null),this.shadowRoot&&(this.shadowRoot.innerHTML="",this.shadowRoot=null),"modal"===this.config.mode){this.container&&(this.container.remove(),this.container=null);const t=this.config.handle||this.config.self?.selfId||"default";e.modalInstances.delete(t)}this.widgetInstance=null,us.info(`Widget destroyed for handle: ${this.config.handle||this.config.self?.handle}`)}};ds(ps,"FictionWidget"),hs(ps,"modalInstances",new Map);let gs=ps;ds(function(e){const t=Ft(null),r=Ft(null),i=Ft(!0),n=Ft(null),o=Ft(!1),a=go(()=>qt(e.handle)),s=go(()=>qt(e.self)),l=go(()=>qt(e.context)),c=go(()=>qt(e.firstMessage)),d=go(()=>"modal"===e.mode?!(!a.value&&!s.value):!(!t.value||!a.value&&!s.value));return un([t,s,a],async()=>{if(!o.value&&d.value){i.value=!0,n.value=null;try{await new Promise(e=>setTimeout(e,0));const i={mode:e.mode,handle:a.value,self:s.value||void 0,context:l.value,firstMessage:c.value,apiBase:e.apiBase,onClose:e.onClose};"modal"!==e.mode&&(i.el=t.value),r.value=new gs(i),o.value=!0}catch(h){n.value=h instanceof Error?h.message:"Failed to initialize widget"}finally{i.value=!1}}},{immediate:!0}),un([s,l,c],()=>{if(!r.value||!o.value)return;const e={};void 0!==s.value&&(e.self=s.value||void 0),void 0!==l.value&&(e.context=l.value),void 0!==c.value&&(e.firstMessage=c.value),Object.keys(e).length>0&&r.value.update(e)}),di(()=>{r.value&&(r.value.destroy(),r.value=null),o.value=!1}),{containerRef:t,widget:r,loading:i,error:n}},"useFictionWidget");class ms extends HTMLElement{constructor(){super(...arguments),r(this,"widget",null)}connectedCallback(){const e=this.getAttribute("handle"),t=this.getAttribute("context"),r=this.getAttribute("first-message"),i=this.getAttribute("api-base");if(e)try{this.widget=new gs({el:this,mode:"popup",handle:e,context:t||void 0,firstMessage:r||void 0,apiBase:i||void 0}),window[`openFictionSelf_${e}`]=()=>{this.widget?.open()}}catch(n){n instanceof Error?n.message:String(n)}}disconnectedCallback(){this.widget?.destroy(),this.widget=null}}if("undefined"==typeof window||customElements.get("fiction-self")||customElements.define("fiction-self",ms),"undefined"!=typeof window){window.FictionWidget=gs;const e=()=>{const e=document.querySelectorAll("fiction-self");e.length>0&&(e.length,e.forEach(e=>{e.getAttribute("handle")}))};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}var vs=Object.defineProperty,fs=(e,t)=>vs(e,"name",{value:t,configurable:!0});const bs=fs((e=0)=>t=>`\x1b[${t+e}m`,"wrapAnsi16"),ks=fs((e=0)=>t=>`\x1b[${38+e};5;${t}m`,"wrapAnsi256"),ws=fs((e=0)=>(t,r,i)=>`\x1b[${38+e};2;${t};${r};${i}m`,"wrapAnsi16m"),ys={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},xs=Object.keys(ys.modifier),Cs=Object.keys(ys.color),Ss=Object.keys(ys.bgColor),Ts=[...Cs,...Ss];function Es(){const e=new Map;for(const[t,r]of Object.entries(ys)){for(const[t,i]of Object.entries(r))ys[t]={open:`\x1b[${i[0]}m`,close:`\x1b[${i[1]}m`},r[t]=ys[t],e.set(i[0],i[1]);Object.defineProperty(ys,t,{value:r,enumerable:!1})}return Object.defineProperty(ys,"codes",{value:e,enumerable:!1}),ys.color.close="\x1b[39m",ys.bgColor.close="\x1b[49m",ys.color.ansi=bs(),ys.color.ansi256=ks(),ys.color.ansi16m=ws(),ys.bgColor.ansi=bs(10),ys.bgColor.ansi256=ks(10),ys.bgColor.ansi16m=ws(10),Object.defineProperties(ys,{rgbToAnsi256:{value:(e,t,r)=>e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value(e){const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[r]=t;3===r.length&&(r=[...r].map(e=>e+e).join(""));const i=Number.parseInt(r,16);return[i>>16&255,i>>8&255,255&i]},enumerable:!1},hexToAnsi256:{value:fs(e=>ys.rgbToAnsi256(...ys.hexToRgb(e)),"value"),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return e-8+90;let t,r,i;if(e>=232)t=(10*(e-232)+8)/255,r=t,i=t;else{const n=(e-=16)%36;t=Math.floor(e/36)/5,r=Math.floor(n/6)/5,i=n%6/5}const n=2*Math.max(t,r,i);if(0===n)return 30;let o=30+(Math.round(i)<<2|Math.round(r)<<1|Math.round(t));return 2===n&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:fs((e,t,r)=>ys.ansi256ToAnsi(ys.rgbToAnsi256(e,t,r)),"value"),enumerable:!1},hexToAnsi:{value:fs(e=>ys.ansi256ToAnsi(ys.hexToAnsi256(e)),"value"),enumerable:!1}}),ys}fs(Es,"assembleStyles");const Is=Es(),Ps=(()=>{if(!("navigator"in globalThis))return 0;if(globalThis.navigator.userAgentData){const e=navigator.userAgentData.brands.find(({brand:e})=>"Chromium"===e);if(e&&e.version>93)return 3}return/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)?1:0})(),_s=0!==Ps&&{level:Ps,hasBasic:!0,has256:Ps>=2,has16m:Ps>=3},Ms={stdout:_s,stderr:_s};function Rs(e,t,r){let i=e.indexOf(t);if(-1===i)return e;const n=t.length;let o=0,a="";do{a+=e.slice(o,i)+t+r,o=i+n,i=e.indexOf(t,o)}while(-1!==i);return a+=e.slice(o),a}function As(e,t,r,i){let n=0,o="";do{const a="\r"===e[i-1];o+=e.slice(n,a?i-1:i)+t+(a?"\r\n":"\n")+r,n=i+1,i=e.indexOf("\n",n)}while(-1!==i);return o+=e.slice(n),o}fs(Rs,"stringReplaceAll"),fs(As,"stringEncaseCRLFWithFirstIndex");const{stdout:Os,stderr:Ds}=Ms,Ls=Symbol("GENERATOR"),Ns=Symbol("STYLER"),js=Symbol("IS_EMPTY"),Us=["ansi","ansi","ansi256","ansi16m"],zs=Object.create(null),Fs=fs((e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const r=Os?Os.level:0;e.level=void 0===t.level?r:t.level},"applyOptions"),Bs=class{constructor(e){return qs(e)}};fs(Bs,"Chalk");let Vs=Bs;const qs=fs(e=>{const t=fs((...e)=>e.join(" "),"chalk");return Fs(t,e),Object.setPrototypeOf(t,Hs.prototype),t},"chalkFactory");function Hs(e){return qs(e)}fs(Hs,"createChalk"),Object.setPrototypeOf(Hs.prototype,Function.prototype);for(const[xy,Cy]of Object.entries(Is))zs[xy]={get(){const e=Ks(this,Js(Cy.open,Cy.close,this[Ns]),this[js]);return Object.defineProperty(this,xy,{value:e}),e}};zs.visible={get(){const e=Ks(this,this[Ns],!0);return Object.defineProperty(this,"visible",{value:e}),e}};const Ws=fs((e,t,r,...i)=>"rgb"===e?"ansi16m"===t?Is[r].ansi16m(...i):"ansi256"===t?Is[r].ansi256(Is.rgbToAnsi256(...i)):Is[r].ansi(Is.rgbToAnsi(...i)):"hex"===e?Ws("rgb",t,r,...Is.hexToRgb(...i)):Is[r][e](...i),"getModelAnsi"),$s=["rgb","hex","ansi256"];for(const xy of $s)zs[xy]={get(){const{level:e}=this;return function(...t){const r=Js(Ws(xy,Us[e],"color",...t),Is.color.close,this[Ns]);return Ks(this,r,this[js])}}},zs["bg"+xy[0].toUpperCase()+xy.slice(1)]={get(){const{level:e}=this;return function(...t){const r=Js(Ws(xy,Us[e],"bgColor",...t),Is.bgColor.close,this[Ns]);return Ks(this,r,this[js])}}};const Gs=Object.defineProperties(()=>{},{...zs,level:{enumerable:!0,get(){return this[Ls].level},set(e){this[Ls].level=e}}}),Js=fs((e,t,r)=>{let i,n;return void 0===r?(i=e,n=t):(i=r.openAll+e,n=t+r.closeAll),{open:e,close:t,openAll:i,closeAll:n,parent:r}},"createStyler"),Ks=fs((e,t,r)=>{const i=fs((...e)=>Qs(i,1===e.length?""+e[0]:e.join(" ")),"builder");return Object.setPrototypeOf(i,Gs),i[Ls]=e,i[Ns]=t,i[js]=r,i},"createBuilder"),Qs=fs((e,t)=>{if(e.level<=0||!t)return e[js]?"":t;let r=e[Ns];if(void 0===r)return t;const{openAll:i,closeAll:n}=r;if(t.includes("\x1b"))for(;void 0!==r;)t=Rs(t,r.close,r.open),r=r.parent;const o=t.indexOf("\n");return-1!==o&&(t=As(t,n,i,o)),i+t+n},"applyStyle");Object.defineProperties(Hs.prototype,zs);const Zs=Hs(),Ys=Hs({level:Ds?Ds.level:0}),Xs=Object.freeze(Object.defineProperty({__proto__:null,Chalk:Vs,backgroundColorNames:Ss,backgroundColors:Ss,chalkStderr:Ys,colorNames:Ts,colors:Ts,default:Zs,foregroundColorNames:Cs,foregroundColors:Cs,modifierNames:xs,modifiers:xs,supportsColor:Os,supportsColorStderr:Ds},Symbol.toStringTag,{value:"Module"}));function el(e,t){return t.forEach(function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach(function(r){if("default"!==r&&!(r in e)){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}})}),Object.freeze(e)}var tl=Object.defineProperty,rl=(e,t,r)=>((e,t,r)=>t in e?tl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);let il=class{constructor(){rl(this,"_locking"),rl(this,"_locks"),this._locking=Promise.resolve(),this._locks=0}isLocked(){return this._locks>0}lock(){let e;this._locks+=1;const t=new Promise(t=>e=()=>{this._locks-=1,t()}),r=this._locking.then(()=>e);return this._locking=this._locking.then(()=>t),r}};function nl(e,t){if(!e)throw new Error(t)}function ol(e){if("number"!=typeof e)throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>2147483647||e<-2147483648)throw new Error("invalid int 32: "+e)}function al(e){if("number"!=typeof e)throw new Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>4294967295||e<0)throw new Error("invalid uint 32: "+e)}function sl(e){if("number"!=typeof e)throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>34028234663852886e22||e<-34028234663852886e22))throw new Error("invalid float 32: "+e)}const ll=Symbol("@bufbuild/protobuf/enum-type");function cl(e,t,r,i){e[ll]=dl(t,r.map(t=>({no:t.no,name:t.name,localName:e[t.no]})))}function dl(e,t,r){const i=Object.create(null),n=Object.create(null),o=[];for(const a of t){const e=hl(a);o.push(e),i[a.name]=e,n[a.no]=e}return{typeName:e,values:o,findName:e=>i[e],findNumber:e=>n[e]}}function hl(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}class ul{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){const r=this.getType().runtime.bin,i=r.makeReadOptions(t);return r.readMessage(this,i.readerFactory(e),e.byteLength,i),this}fromJson(e,t){const r=this.getType(),i=r.runtime.json,n=i.makeReadOptions(t);return i.readMessage(r,e,n,this),this}fromJsonString(e,t){let r;try{r=JSON.parse(e)}catch(yy){throw new Error("cannot decode ".concat(this.getType().typeName," from JSON: ").concat(yy instanceof Error?yy.message:String(yy)))}return this.fromJson(r,t)}toBinary(e){const t=this.getType().runtime.bin,r=t.makeWriteOptions(e),i=r.writerFactory();return t.writeMessage(this,i,r),i.finish()}toJson(e){const t=this.getType().runtime.json,r=t.makeWriteOptions(e);return t.writeMessage(this,r)}toJsonString(e){var t;const r=this.toJson(e);return JSON.stringify(r,null,null!==(t=null==e?void 0:e.prettySpaces)&&void 0!==t?t:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}}function pl(){let e=0,t=0;for(let i=0;i<28;i+=7){let r=this.buf[this.pos++];if(e|=(127&r)<<i,!(128&r))return this.assertBounds(),[e,t]}let r=this.buf[this.pos++];if(e|=(15&r)<<28,t=(112&r)>>4,!(128&r))return this.assertBounds(),[e,t];for(let i=3;i<=31;i+=7){let r=this.buf[this.pos++];if(t|=(127&r)<<i,!(128&r))return this.assertBounds(),[e,t]}throw new Error("invalid varint")}function gl(e,t,r){for(let o=0;o<28;o+=7){const i=e>>>o,n=!(i>>>7==0&&0==t),a=255&(n?128|i:i);if(r.push(a),!n)return}const i=e>>>28&15|(7&t)<<4,n=!!(t>>3);if(r.push(255&(n?128|i:i)),n){for(let e=3;e<31;e+=7){const i=t>>>e,n=!(i>>>7==0),o=255&(n?128|i:i);if(r.push(o),!n)return}r.push(t>>>31&1)}}const ml=4294967296;function vl(e){const t="-"===e[0];t&&(e=e.slice(1));const r=1e6;let i=0,n=0;function o(t,o){const a=Number(e.slice(t,o));n*=r,i=i*r+a,i>=ml&&(n+=i/ml|0,i%=ml)}return o(-24,-18),o(-18,-12),o(-12,-6),o(-6),t?kl(i,n):bl(i,n)}function fl(e,t){if(({lo:e,hi:t}=function(e,t){return{lo:e>>>0,hi:t>>>0}}(e,t)),t<=2097151)return String(ml*t+e);const r=16777215&(e>>>24|t<<8),i=t>>16&65535;let n=(16777215&e)+6777216*r+6710656*i,o=r+8147497*i,a=2*i;const s=1e7;return n>=s&&(o+=Math.floor(n/s),n%=s),o>=s&&(a+=Math.floor(o/s),o%=s),a.toString()+wl(o)+wl(n)}function bl(e,t){return{lo:0|e,hi:0|t}}function kl(e,t){return t=~t,e?e=1+~e:t+=1,bl(e,t)}const wl=e=>{const t=String(e);return"0000000".slice(t.length)+t};function yl(e,t){if(e>=0){for(;e>127;)t.push(127&e|128),e>>>=7;t.push(e)}else{for(let r=0;r<9;r++)t.push(127&e|128),e>>=7;t.push(1)}}function xl(){let e=this.buf[this.pos++],t=127&e;if(!(128&e))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(127&e)<<7,!(128&e))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(127&e)<<14,!(128&e))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(127&e)<<21,!(128&e))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(15&e)<<28;for(let r=5;128&e&&r<10;r++)e=this.buf[this.pos++];if(128&e)throw new Error("invalid varint");return this.assertBounds(),t>>>0}const Cl=function(){const e=new DataView(new ArrayBuffer(8));if("function"==typeof BigInt&&"function"==typeof e.getBigInt64&&"function"==typeof e.getBigUint64&&"function"==typeof e.setBigInt64&&"function"==typeof e.setBigUint64&&("object"!=typeof process||"object"!=typeof process.env||"1"!==process.env.BUF_BIGINT_DISABLE)){const t=BigInt("-9223372036854775808"),r=BigInt("9223372036854775807"),i=BigInt("0"),n=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(e){const i="bigint"==typeof e?e:BigInt(e);if(i>r||i<t)throw new Error("int64 invalid: ".concat(e));return i},uParse(e){const t="bigint"==typeof e?e:BigInt(e);if(t>n||t<i)throw new Error("uint64 invalid: ".concat(e));return t},enc(t){return e.setBigInt64(0,this.parse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(t){return e.setBigInt64(0,this.uParse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec:(t,r)=>(e.setInt32(0,t,!0),e.setInt32(4,r,!0),e.getBigInt64(0,!0)),uDec:(t,r)=>(e.setInt32(0,t,!0),e.setInt32(4,r,!0),e.getBigUint64(0,!0))}}const t=e=>nl(/^-?[0-9]+$/.test(e),"int64 invalid: ".concat(e)),r=e=>nl(/^[0-9]+$/.test(e),"uint64 invalid: ".concat(e));return{zero:"0",supported:!1,parse:e=>("string"!=typeof e&&(e=e.toString()),t(e),e),uParse:e=>("string"!=typeof e&&(e=e.toString()),r(e),e),enc:e=>("string"!=typeof e&&(e=e.toString()),t(e),vl(e)),uEnc:e=>("string"!=typeof e&&(e=e.toString()),r(e),vl(e)),dec:(e,t)=>function(e,t){let r=bl(e,t);const i=2147483648&r.hi;i&&(r=kl(r.lo,r.hi));const n=fl(r.lo,r.hi);return i?"-"+n:n}(e,t),uDec:(e,t)=>fl(e,t)}}();var Sl,Tl,El,Il,Pl,_l;function Ml(e,t,r){if(t===r)return!0;if(e==Sl.BYTES){if(!(t instanceof Uint8Array&&r instanceof Uint8Array))return!1;if(t.length!==r.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==r[e])return!1;return!0}switch(e){case Sl.UINT64:case Sl.FIXED64:case Sl.INT64:case Sl.SFIXED64:case Sl.SINT64:return t==r}return!1}function Rl(e,t){switch(e){case Sl.BOOL:return!1;case Sl.UINT64:case Sl.FIXED64:case Sl.INT64:case Sl.SFIXED64:case Sl.SINT64:return 0==t?Cl.zero:"0";case Sl.DOUBLE:case Sl.FLOAT:return 0;case Sl.BYTES:return new Uint8Array(0);case Sl.STRING:return"";default:return 0}}function Al(e,t){switch(e){case Sl.BOOL:return!1===t;case Sl.STRING:return""===t;case Sl.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return 0==t}}(Tl=Sl||(Sl={}))[Tl.DOUBLE=1]="DOUBLE",Tl[Tl.FLOAT=2]="FLOAT",Tl[Tl.INT64=3]="INT64",Tl[Tl.UINT64=4]="UINT64",Tl[Tl.INT32=5]="INT32",Tl[Tl.FIXED64=6]="FIXED64",Tl[Tl.FIXED32=7]="FIXED32",Tl[Tl.BOOL=8]="BOOL",Tl[Tl.STRING=9]="STRING",Tl[Tl.BYTES=12]="BYTES",Tl[Tl.UINT32=13]="UINT32",Tl[Tl.SFIXED32=15]="SFIXED32",Tl[Tl.SFIXED64=16]="SFIXED64",Tl[Tl.SINT32=17]="SINT32",Tl[Tl.SINT64=18]="SINT64",(Il=El||(El={}))[Il.BIGINT=0]="BIGINT",Il[Il.STRING=1]="STRING",(_l=Pl||(Pl={}))[_l.Varint=0]="Varint",_l[_l.Bit64=1]="Bit64",_l[_l.LengthDelimited=2]="LengthDelimited",_l[_l.StartGroup=3]="StartGroup",_l[_l.EndGroup=4]="EndGroup",_l[_l.Bit32=5]="Bit32";class Ol{constructor(e){this.stack=[],this.textEncoder=null!=e?e:new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let i=0;i<this.chunks.length;i++)e+=this.chunks[i].length;let t=new Uint8Array(e),r=0;for(let i=0;i<this.chunks.length;i++)t.set(this.chunks[i],r),r+=this.chunks[i].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw new Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(al(e);e>127;)this.buf.push(127&e|128),e>>>=7;return this.buf.push(e),this}int32(e){return ol(e),yl(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){sl(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){al(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){ol(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return ol(e),yl(e=(e<<1^e>>31)>>>0,this.buf),this}sfixed64(e){let t=new Uint8Array(8),r=new DataView(t.buffer),i=Cl.enc(e);return r.setInt32(0,i.lo,!0),r.setInt32(4,i.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),r=new DataView(t.buffer),i=Cl.uEnc(e);return r.setInt32(0,i.lo,!0),r.setInt32(4,i.hi,!0),this.raw(t)}int64(e){let t=Cl.enc(e);return gl(t.lo,t.hi,this.buf),this}sint64(e){let t=Cl.enc(e),r=t.hi>>31;return gl(t.lo<<1^r,(t.hi<<1|t.lo>>>31)^r,this.buf),this}uint64(e){let t=Cl.uEnc(e);return gl(t.lo,t.hi,this.buf),this}}class Dl{constructor(e,t){this.varint64=pl,this.uint32=xl,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=null!=t?t:new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,r=7&e;if(t<=0||r<0||r>5)throw new Error("illegal tag: field no "+t+" wire type "+r);return[t,r]}skip(e,t){let r=this.pos;switch(e){case Pl.Varint:for(;128&this.buf[this.pos++];);break;case Pl.Bit64:this.pos+=4;case Pl.Bit32:this.pos+=4;break;case Pl.LengthDelimited:let r=this.uint32();this.pos+=r;break;case Pl.StartGroup:for(;;){const[e,r]=this.tag();if(r===Pl.EndGroup){if(void 0!==t&&e!==t)throw new Error("invalid end group tag");break}this.skip(r,e)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(r,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return 0|this.uint32()}sint32(){let e=this.uint32();return e>>>1^-(1&e)}int64(){return Cl.dec(...this.varint64())}uint64(){return Cl.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),r=-(1&e);return e=(e>>>1|(1&t)<<31)^r,t=t>>>1^r,Cl.dec(e,t)}bool(){let[e,t]=this.varint64();return 0!==e||0!==t}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return Cl.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return Cl.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}}function Ll(e){const t=e.field.localName,r=Object.create(null);return r[t]=function(e){const t=e.field;if(t.repeated)return[];if(void 0!==t.default)return t.default;switch(t.kind){case"enum":return t.T.values[0].no;case"scalar":return Rl(t.T,t.L);case"message":const e=t.T,r=new e;return e.fieldWrapper?e.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}(e),[r,()=>r[t]]}let Nl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),jl=[];for(let xy=0;xy<Nl.length;xy++)jl[Nl[xy].charCodeAt(0)]=xy;jl["-".charCodeAt(0)]=Nl.indexOf("+"),jl["_".charCodeAt(0)]=Nl.indexOf("/");const Ul={dec(e){let t=3*e.length/4;"="==e[e.length-2]?t-=2:"="==e[e.length-1]&&(t-=1);let r,i=new Uint8Array(t),n=0,o=0,a=0;for(let s=0;s<e.length;s++){if(r=jl[e.charCodeAt(s)],void 0===r)switch(e[s]){case"=":o=0;case"\n":case"\r":case"\t":case" ":continue;default:throw Error("invalid base64 string.")}switch(o){case 0:a=r,o=1;break;case 1:i[n++]=a<<2|(48&r)>>4,a=r,o=2;break;case 2:i[n++]=(15&a)<<4|(60&r)>>2,a=r,o=3;break;case 3:i[n++]=(3&a)<<6|r,o=0}}if(1==o)throw Error("invalid base64 string.");return i.subarray(0,n)},enc(e){let t,r="",i=0,n=0;for(let o=0;o<e.length;o++)switch(t=e[o],i){case 0:r+=Nl[t>>2],n=(3&t)<<4,i=1;break;case 1:r+=Nl[n|t>>4],n=(15&t)<<2,i=2;break;case 2:r+=Nl[n|t>>6],r+=Nl[63&t],i=0}return i&&(r+=Nl[n],r+="=",1==i&&(r+="=")),r}};function zl(e,t,r){Vl(t,e);const i=t.runtime.bin.makeReadOptions(r),n=function(e,t){if(!t.repeated&&("enum"==t.kind||"scalar"==t.kind)){for(let r=e.length-1;r>=0;--r)if(e[r].no==t.no)return[e[r]];return[]}return e.filter(e=>e.no===t.no)}(e.getType().runtime.bin.listUnknownFields(e),t.field),[o,a]=Ll(t);for(const s of n)t.runtime.bin.readField(o,i.readerFactory(s.data),t.field,s.wireType,i);return a()}function Fl(e,t,r,i){Vl(t,e);const n=t.runtime.bin.makeReadOptions(i),o=t.runtime.bin.makeWriteOptions(i);if(Bl(e,t)){const r=e.getType().runtime.bin.listUnknownFields(e).filter(e=>e.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(const t of r)e.getType().runtime.bin.onUnknownField(e,t.no,t.wireType,t.data)}const a=o.writerFactory();let s=t.field;s.opt||s.repeated||"enum"!=s.kind&&"scalar"!=s.kind||(s=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(s,r,a,o);const l=n.readerFactory(a.finish());for(;l.pos<l.len;){const[t,r]=l.tag(),i=l.skip(r,t);e.getType().runtime.bin.onUnknownField(e,t,r,i)}}function Bl(e,t){const r=e.getType();return t.extendee.typeName===r.typeName&&!!r.runtime.bin.listUnknownFields(e).find(e=>e.no==t.field.no)}function Vl(e,t){nl(e.extendee.typeName==t.getType().typeName,"extension ".concat(e.typeName," can only be applied to message ").concat(e.extendee.typeName))}function ql(e,t){const r=e.localName;if(e.repeated)return t[r].length>0;if(e.oneof)return t[e.oneof.localName].case===r;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?void 0!==t[r]:"enum"==e.kind?t[r]!==e.T.values[0].no:!Al(e.T,t[r]);case"message":return void 0!==t[r];case"map":return Object.keys(t[r]).length>0}}function Hl(e,t){const r=e.localName,i=!e.opt&&!e.req;if(e.repeated)t[r]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[r]={};break;case"enum":t[r]=i?e.T.values[0].no:void 0;break;case"scalar":t[r]=i?Rl(e.T,e.L):void 0;break;case"message":t[r]=void 0}}function Wl(e,t){if(null===e||"object"!=typeof e)return!1;if(!Object.getOwnPropertyNames(ul.prototype).every(t=>t in e&&"function"==typeof e[t]))return!1;const r=e.getType();return null!==r&&"function"==typeof r&&"typeName"in r&&"string"==typeof r.typeName&&(void 0===t||r.typeName==t.typeName)}function $l(e,t){return Wl(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}Sl.DOUBLE,Sl.FLOAT,Sl.INT64,Sl.UINT64,Sl.INT32,Sl.UINT32,Sl.BOOL,Sl.STRING,Sl.BYTES;const Gl={ignoreUnknownFields:!1},Jl={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};const Kl=Symbol(),Ql=Symbol();function Zl(e){if(null===e)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":'"'.concat(e.split('"').join('\\"'),'"');default:return String(e)}}function Yl(e,t,r,i,n){let o=r.localName;if(r.repeated){if(nl("map"!=r.kind),null===t)return;if(!Array.isArray(t))throw new Error("cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(t)));const a=e[o];for(const e of t){if(null===e)throw new Error("cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(e)));switch(r.kind){case"message":a.push(r.T.fromJson(e,i));break;case"enum":const t=tc(r.T,e,i.ignoreUnknownFields,!0);t!==Ql&&a.push(t);break;case"scalar":try{a.push(ec(r.T,e,r.L,!0))}catch(yy){let i="cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(e));throw yy instanceof Error&&yy.message.length>0&&(i+=": ".concat(yy.message)),new Error(i)}}}}else if("map"==r.kind){if(null===t)return;if("object"!=typeof t||Array.isArray(t))throw new Error("cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(t)));const a=e[o];for(const[e,o]of Object.entries(t)){if(null===o)throw new Error("cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: map value null"));let s;try{s=Xl(r.K,e)}catch(yy){let i="cannot decode map key for field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(t));throw yy instanceof Error&&yy.message.length>0&&(i+=": ".concat(yy.message)),new Error(i)}switch(r.V.kind){case"message":a[s]=r.V.T.fromJson(o,i);break;case"enum":const e=tc(r.V.T,o,i.ignoreUnknownFields,!0);e!==Ql&&(a[s]=e);break;case"scalar":try{a[s]=ec(r.V.T,o,El.BIGINT,!0)}catch(yy){let i="cannot decode map value for field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(t));throw yy instanceof Error&&yy.message.length>0&&(i+=": ".concat(yy.message)),new Error(i)}}}}else switch(r.oneof&&(e=e[r.oneof.localName]={case:o},o="value"),r.kind){case"message":const a=r.T;if(null===t&&"google.protobuf.Value"!=a.typeName)return;let s=e[o];Wl(s)?s.fromJson(t,i):(e[o]=s=a.fromJson(t,i),a.fieldWrapper&&!r.oneof&&(e[o]=a.fieldWrapper.unwrapField(s)));break;case"enum":const l=tc(r.T,t,i.ignoreUnknownFields,!1);switch(l){case Kl:Hl(r,e);break;case Ql:break;default:e[o]=l}break;case"scalar":try{const i=ec(r.T,t,r.L,!1);i===Kl?Hl(r,e):e[o]=i}catch(yy){let i="cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(t));throw yy instanceof Error&&yy.message.length>0&&(i+=": ".concat(yy.message)),new Error(i)}}}function Xl(e,t){if(e===Sl.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1}return ec(e,t,El.BIGINT,!0).toString()}function ec(e,t,r,i){if(null===t)return i?Rl(e,r):Kl;switch(e){case Sl.DOUBLE:case Sl.FLOAT:if("NaN"===t)return Number.NaN;if("Infinity"===t)return Number.POSITIVE_INFINITY;if("-Infinity"===t)return Number.NEGATIVE_INFINITY;if(""===t)break;if("string"==typeof t&&t.trim().length!==t.length)break;if("string"!=typeof t&&"number"!=typeof t)break;const i=Number(t);if(Number.isNaN(i))break;if(!Number.isFinite(i))break;return e==Sl.FLOAT&&sl(i),i;case Sl.INT32:case Sl.FIXED32:case Sl.SFIXED32:case Sl.SINT32:case Sl.UINT32:let n;if("number"==typeof t?n=t:"string"==typeof t&&t.length>0&&t.trim().length===t.length&&(n=Number(t)),void 0===n)break;return e==Sl.UINT32||e==Sl.FIXED32?al(n):ol(n),n;case Sl.INT64:case Sl.SFIXED64:case Sl.SINT64:if("number"!=typeof t&&"string"!=typeof t)break;const o=Cl.parse(t);return r?o.toString():o;case Sl.FIXED64:case Sl.UINT64:if("number"!=typeof t&&"string"!=typeof t)break;const a=Cl.uParse(t);return r?a.toString():a;case Sl.BOOL:if("boolean"!=typeof t)break;return t;case Sl.STRING:if("string"!=typeof t)break;try{encodeURIComponent(t)}catch(yy){throw new Error("invalid UTF8")}return t;case Sl.BYTES:if(""===t)return new Uint8Array(0);if("string"!=typeof t)break;return Ul.dec(t)}throw new Error}function tc(e,t,r,i){if(null===t)return"google.protobuf.NullValue"==e.typeName?0:i?e.values[0].no:Kl;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":const i=e.findName(t);if(void 0!==i)return i.no;if(r)return Ql}throw new Error("cannot decode enum ".concat(e.typeName," from JSON: ").concat(Zl(t)))}function rc(e){return!(!e.repeated&&"map"!=e.kind&&(e.oneof||"message"==e.kind||e.opt||e.req))}function ic(e,t,r){if("map"==e.kind){nl("object"==typeof t&&null!=t);const i={},n=Object.entries(t);switch(e.V.kind){case"scalar":for(const[r,o]of n)i[r.toString()]=oc(e.V.T,o);break;case"message":for(const[e,o]of n)i[e.toString()]=o.toJson(r);break;case"enum":const t=e.V.T;for(const[e,o]of n)i[e.toString()]=nc(t,o,r.enumAsInteger)}return r.emitDefaultValues||n.length>0?i:void 0}if(e.repeated){nl(Array.isArray(t));const i=[];switch(e.kind){case"scalar":for(let r=0;r<t.length;r++)i.push(oc(e.T,t[r]));break;case"enum":for(let n=0;n<t.length;n++)i.push(nc(e.T,t[n],r.enumAsInteger));break;case"message":for(let e=0;e<t.length;e++)i.push(t[e].toJson(r))}return r.emitDefaultValues||i.length>0?i:void 0}switch(e.kind){case"scalar":return oc(e.T,t);case"enum":return nc(e.T,t,r.enumAsInteger);case"message":return $l(e.T,t).toJson(r)}}function nc(e,t,r){var i;if(nl("number"==typeof t),"google.protobuf.NullValue"==e.typeName)return null;if(r)return t;const n=e.findNumber(t);return null!==(i=null==n?void 0:n.name)&&void 0!==i?i:t}function oc(e,t){switch(e){case Sl.INT32:case Sl.SFIXED32:case Sl.SINT32:case Sl.FIXED32:case Sl.UINT32:return nl("number"==typeof t),t;case Sl.FLOAT:case Sl.DOUBLE:return nl("number"==typeof t),Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t;case Sl.STRING:return nl("string"==typeof t),t;case Sl.BOOL:return nl("boolean"==typeof t),t;case Sl.UINT64:case Sl.FIXED64:case Sl.INT64:case Sl.SFIXED64:case Sl.SINT64:return nl("bigint"==typeof t||"string"==typeof t||"number"==typeof t),t.toString();case Sl.BYTES:return nl(t instanceof Uint8Array),Ul.enc(t)}}const ac=Symbol("@bufbuild/protobuf/unknown-fields"),sc={readUnknownFields:!0,readerFactory:e=>new Dl(e)},lc={writeUnknownFields:!0,writerFactory:()=>new Ol};function cc(e,t,r,i,n){let{repeated:o,localName:a}=r;switch(r.oneof&&((e=e[r.oneof.localName]).case!=a&&delete e.value,e.case=a,a="value"),r.kind){case"scalar":case"enum":const s="enum"==r.kind?Sl.INT32:r.T;let l=uc;if("scalar"==r.kind&&r.L>0&&(l=hc),o){let r=e[a];if(i==Pl.LengthDelimited&&s!=Sl.STRING&&s!=Sl.BYTES){let e=t.uint32()+t.pos;for(;t.pos<e;)r.push(l(t,s))}else r.push(l(t,s))}else e[a]=l(t,s);break;case"message":const c=r.T;o?e[a].push(dc(t,new c,n,r)):Wl(e[a])?dc(t,e[a],n,r):(e[a]=dc(t,new c,n,r),!c.fieldWrapper||r.oneof||r.repeated||(e[a]=c.fieldWrapper.unwrapField(e[a])));break;case"map":let[d,h]=function(e,t,r){const i=t.uint32(),n=t.pos+i;let o,a;for(;t.pos<n;){const[i]=t.tag();switch(i){case 1:o=uc(t,e.K);break;case 2:switch(e.V.kind){case"scalar":a=uc(t,e.V.T);break;case"enum":a=t.int32();break;case"message":a=dc(t,new e.V.T,r,void 0)}}}if(void 0===o&&(o=Rl(e.K,El.BIGINT)),"string"!=typeof o&&"number"!=typeof o&&(o=o.toString()),void 0===a)switch(e.V.kind){case"scalar":a=Rl(e.V.T,El.BIGINT);break;case"enum":a=e.V.T.values[0].no;break;case"message":a=new e.V.T}return[o,a]}(r,t,n);e[a][d]=h}}function dc(e,t,r,i){const n=t.getType().runtime.bin,o=null==i?void 0:i.delimited;return n.readMessage(t,e,o?i.no:e.uint32(),r,o),t}function hc(e,t){const r=uc(e,t);return"bigint"==typeof r?r.toString():r}function uc(e,t){switch(t){case Sl.STRING:return e.string();case Sl.BOOL:return e.bool();case Sl.DOUBLE:return e.double();case Sl.FLOAT:return e.float();case Sl.INT32:return e.int32();case Sl.INT64:return e.int64();case Sl.UINT64:return e.uint64();case Sl.FIXED64:return e.fixed64();case Sl.BYTES:return e.bytes();case Sl.FIXED32:return e.fixed32();case Sl.SFIXED32:return e.sfixed32();case Sl.SFIXED64:return e.sfixed64();case Sl.SINT64:return e.sint64();case Sl.UINT32:return e.uint32();case Sl.SINT32:return e.sint32()}}function pc(e,t,r,i){nl(void 0!==t);const n=e.repeated;switch(e.kind){case"scalar":case"enum":let o="enum"==e.kind?Sl.INT32:e.T;if(n)if(nl(Array.isArray(t)),e.packed)!function(e,t,r,i){if(!i.length)return;e.tag(r,Pl.LengthDelimited).fork();let[,n]=fc(t);for(let o=0;o<i.length;o++)e[n](i[o]);e.join()}(r,o,e.no,t);else for(const i of t)vc(r,o,e.no,i);else vc(r,o,e.no,t);break;case"message":if(n){nl(Array.isArray(t));for(const n of t)mc(r,i,e,n)}else mc(r,i,e,t);break;case"map":nl("object"==typeof t&&null!=t);for(const[n,a]of Object.entries(t))gc(r,i,e,n,a)}}function gc(e,t,r,i,n){e.tag(r.no,Pl.LengthDelimited),e.fork();let o=i;switch(r.K){case Sl.INT32:case Sl.FIXED32:case Sl.UINT32:case Sl.SFIXED32:case Sl.SINT32:o=Number.parseInt(i);break;case Sl.BOOL:nl("true"==i||"false"==i),o="true"==i}switch(vc(e,r.K,1,o),r.V.kind){case"scalar":vc(e,r.V.T,2,n);break;case"enum":vc(e,Sl.INT32,2,n);break;case"message":nl(void 0!==n),e.tag(2,Pl.LengthDelimited).bytes(n.toBinary(t))}e.join()}function mc(e,t,r,i){const n=$l(r.T,i);r.delimited?e.tag(r.no,Pl.StartGroup).raw(n.toBinary(t)).tag(r.no,Pl.EndGroup):e.tag(r.no,Pl.LengthDelimited).bytes(n.toBinary(t))}function vc(e,t,r,i){nl(void 0!==i);let[n,o]=fc(t);e.tag(r,n)[o](i)}function fc(e){let t=Pl.Varint;switch(e){case Sl.BYTES:case Sl.STRING:t=Pl.LengthDelimited;break;case Sl.DOUBLE:case Sl.FIXED64:case Sl.SFIXED64:t=Pl.Bit64;break;case Sl.FIXED32:case Sl.SFIXED32:case Sl.FLOAT:t=Pl.Bit32}return[t,Sl[e].toLowerCase()]}function bc(e){if(void 0===e)return e;if(Wl(e))return e.clone();if(e instanceof Uint8Array){const t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function kc(e){return e instanceof Uint8Array?e:new Uint8Array(e)}class wc{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){const e={};for(const t of this.list())e[t.jsonName]=e[t.name]=t;this.jsonNames=e}return this.jsonNames[e]}find(e){if(!this.numbers){const e={};for(const t of this.list())e[t.no]=t;this.numbers=e}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,t)=>e.no-t.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];const e=this.members;let t;for(const r of this.list())r.oneof?r.oneof!==t&&(t=r.oneof,e.push(t)):e.push(r)}return this.members}}function yc(e,t){const r=Cc(e);return t?r:Pc(Ic(r))}const xc=Cc;function Cc(e){let t=!1;const r=[];for(let i=0;i<e.length;i++){let n=e.charAt(i);switch(n){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r.push(n),t=!1;break;default:t&&(t=!1,n=n.toUpperCase()),r.push(n)}}return r.join("")}const Sc=new Set(["constructor","toString","toJSON","valueOf"]),Tc=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),Ec=e=>"".concat(e,"$"),Ic=e=>Tc.has(e)?Ec(e):e,Pc=e=>Sc.has(e)?Ec(e):e;class _c{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=yc(e,!1)}addField(e){nl(e.oneof===this,"field ".concat(e.name," not one of ").concat(this.name)),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let e=0;e<this.fields.length;e++)this._lookup[this.fields[e].localName]=this.fields[e]}return this._lookup[e]}}const Mc=(Rc=e=>new wc(e,e=>function(e){var t,r,i,n,o,a;const s=[];let l;for(const c of"function"==typeof e?e():e){const e=c;if(e.localName=yc(c.name,void 0!==c.oneof),e.jsonName=null!==(t=c.jsonName)&&void 0!==t?t:xc(c.name),e.repeated=null!==(r=c.repeated)&&void 0!==r&&r,"scalar"==c.kind&&(e.L=null!==(i=c.L)&&void 0!==i?i:El.BIGINT),e.delimited=null!==(n=c.delimited)&&void 0!==n&&n,e.req=null!==(o=c.req)&&void 0!==o&&o,e.opt=null!==(a=c.opt)&&void 0!==a&&a,void 0===c.packed&&(e.packed="enum"==c.kind||"scalar"==c.kind&&c.T!=Sl.BYTES&&c.T!=Sl.STRING),void 0!==c.oneof){const t="string"==typeof c.oneof?c.oneof:c.oneof.name;l&&l.name==t||(l=new _c(t)),e.oneof=l,l.addField(e)}s.push(e)}return s}(e)),Ac=e=>{for(const t of e.getType().fields.byMember()){if(t.opt)continue;const r=t.localName,i=e;if(t.repeated)i[r]=[];else switch(t.kind){case"oneof":i[r]={case:void 0};break;case"enum":i[r]=0;break;case"map":i[r]={};break;case"scalar":i[r]=Rl(t.T,t.L)}}},{syntax:"proto3",json:{makeReadOptions:function(e){return e?Object.assign(Object.assign({},Gl),e):Gl},makeWriteOptions:function(e){return e?Object.assign(Object.assign({},Jl),e):Jl},readMessage(e,t,r,i){if(null==t||Array.isArray(t)||"object"!=typeof t)throw new Error("cannot decode message ".concat(e.typeName," from JSON: ").concat(Zl(t)));i=null!=i?i:new e;const n=new Map,o=r.typeRegistry;for(const[a,s]of Object.entries(t)){const t=e.fields.findJsonName(a);if(t){if(t.oneof){if(null===s&&"scalar"==t.kind)continue;const r=n.get(t.oneof);if(void 0!==r)throw new Error("cannot decode message ".concat(e.typeName,' from JSON: multiple keys for oneof "').concat(t.oneof.name,'" present: "').concat(r,'", "').concat(a,'"'));n.set(t.oneof,a)}Yl(i,s,t,r,e)}else{let t=!1;if((null==o?void 0:o.findExtension)&&a.startsWith("[")&&a.endsWith("]")){const n=o.findExtension(a.substring(1,a.length-1));if(n&&n.extendee.typeName==e.typeName){t=!0;const[e,o]=Ll(n);Yl(e,s,n.field,r,n),Fl(i,n,o(),r)}}if(!t&&!r.ignoreUnknownFields)throw new Error("cannot decode message ".concat(e.typeName,' from JSON: key "').concat(a,'" is unknown'))}}return i},writeMessage(e,t){const r=e.getType(),i={};let n;try{for(n of r.fields.byNumber()){if(!ql(n,e)){if(n.req)throw"required field not set";if(!t.emitDefaultValues)continue;if(!rc(n))continue}const r=ic(n,n.oneof?e[n.oneof.localName].value:e[n.localName],t);void 0!==r&&(i[t.useProtoFieldName?n.name:n.jsonName]=r)}const o=t.typeRegistry;if(null==o?void 0:o.findExtensionFor)for(const n of r.runtime.bin.listUnknownFields(e)){const a=o.findExtensionFor(r.typeName,n.no);if(a&&Bl(e,a)){const r=zl(e,a,t),n=ic(a.field,r,t);void 0!==n&&(i[a.field.jsonName]=n)}}}catch(yy){const t=n?"cannot encode field ".concat(r.typeName,".").concat(n.name," to JSON"):"cannot encode message ".concat(r.typeName," to JSON"),i=yy instanceof Error?yy.message:String(yy);throw new Error(t+(i.length>0?": ".concat(i):""))}return i},readScalar:(e,t,r)=>ec(e,t,null!=r?r:El.BIGINT,!0),writeScalar(e,t,r){if(void 0!==t)return r||Al(e,t)?oc(e,t):void 0},debug:Zl},bin:{makeReadOptions:function(e){return e?Object.assign(Object.assign({},sc),e):sc},makeWriteOptions:function(e){return e?Object.assign(Object.assign({},lc),e):lc},listUnknownFields(e){var t;return null!==(t=e[ac])&&void 0!==t?t:[]},discardUnknownFields(e){delete e[ac]},writeUnknownFields(e,t){const r=e[ac];if(r)for(const i of r)t.tag(i.no,i.wireType).raw(i.data)},onUnknownField(e,t,r,i){const n=e;Array.isArray(n[ac])||(n[ac]=[]),n[ac].push({no:t,wireType:r,data:i})},readMessage(e,t,r,i,n){const o=e.getType(),a=n?t.len:t.pos+r;let s,l;for(;t.pos<a&&([s,l]=t.tag(),!0!==n||l!=Pl.EndGroup);){const r=o.fields.find(s);if(!r){const r=t.skip(l,s);i.readUnknownFields&&this.onUnknownField(e,s,l,r);continue}cc(e,t,r,l,i)}if(n&&(l!=Pl.EndGroup||s!==r))throw new Error("invalid end group tag")},readField:cc,writeMessage(e,t,r){const i=e.getType();for(const n of i.fields.byNumber())if(ql(n,e))pc(n,n.oneof?e[n.oneof.localName].value:e[n.localName],t,r);else if(n.req)throw new Error("cannot encode field ".concat(i.typeName,".").concat(n.name," to binary: required field not set"));return r.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,r,i){void 0!==t&&pc(e,t,r,i)}},util:Object.assign(Object.assign({},{setEnumType:cl,initPartial(e,t){if(void 0===e)return;const r=t.getType();for(const i of r.fields.byMember()){const r=i.localName,n=t,o=e;if(null!=o[r])switch(i.kind){case"oneof":const e=o[r].case;if(void 0===e)continue;const t=i.findField(e);let a=o[r].value;t&&"message"==t.kind&&!Wl(a,t.T)?a=new t.T(a):t&&"scalar"===t.kind&&t.T===Sl.BYTES&&(a=kc(a)),n[r]={case:e,value:a};break;case"scalar":case"enum":let s=o[r];i.T===Sl.BYTES&&(s=i.repeated?s.map(kc):kc(s)),n[r]=s;break;case"map":switch(i.V.kind){case"scalar":case"enum":if(i.V.T===Sl.BYTES)for(const[t,i]of Object.entries(o[r]))n[r][t]=kc(i);else Object.assign(n[r],o[r]);break;case"message":const e=i.V.T;for(const t of Object.keys(o[r])){let i=o[r][t];e.fieldWrapper||(i=new e(i)),n[r][t]=i}}break;case"message":const l=i.T;if(i.repeated)n[r]=o[r].map(e=>Wl(e,l)?e:new l(e));else{const e=o[r];l.fieldWrapper?"google.protobuf.BytesValue"===l.typeName?n[r]=kc(e):n[r]=e:n[r]=Wl(e,l)?e:new l(e)}}}},equals:(e,t,r)=>t===r||!(!t||!r)&&e.fields.byMember().every(e=>{const i=t[e.localName],n=r[e.localName];if(e.repeated){if(i.length!==n.length)return!1;switch(e.kind){case"message":return i.every((t,r)=>e.T.equals(t,n[r]));case"scalar":return i.every((t,r)=>Ml(e.T,t,n[r]));case"enum":return i.every((e,t)=>Ml(Sl.INT32,e,n[t]))}throw new Error("repeated cannot contain ".concat(e.kind))}switch(e.kind){case"message":let t=i,r=n;return e.T.fieldWrapper&&(void 0===t||Wl(t)||(t=e.T.fieldWrapper.wrapField(t)),void 0===r||Wl(r)||(r=e.T.fieldWrapper.wrapField(r))),e.T.equals(t,r);case"enum":return Ml(Sl.INT32,i,n);case"scalar":return Ml(e.T,i,n);case"oneof":if(i.case!==n.case)return!1;const o=e.findField(i.case);if(void 0===o)return!0;switch(o.kind){case"message":return o.T.equals(i.value,n.value);case"enum":return Ml(Sl.INT32,i.value,n.value);case"scalar":return Ml(o.T,i.value,n.value)}throw new Error("oneof cannot contain ".concat(o.kind));case"map":const a=Object.keys(i).concat(Object.keys(n));switch(e.V.kind){case"message":const t=e.V.T;return a.every(e=>t.equals(i[e],n[e]));case"enum":return a.every(e=>Ml(Sl.INT32,i[e],n[e]));case"scalar":const r=e.V.T;return a.every(e=>Ml(r,i[e],n[e]))}}}),clone(e){const t=e.getType(),r=new t,i=r;for(const n of t.fields.byMember()){const t=e[n.localName];let r;if(n.repeated)r=t.map(bc);else if("map"==n.kind){r=i[n.localName];for(const[e,i]of Object.entries(t))r[e]=bc(i)}else r="oneof"==n.kind?n.findField(t.case)?{case:t.case,value:bc(t.value)}:{case:void 0}:bc(t);i[n.localName]=r}for(const n of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(i,n.no,n.wireType,n.data);return r}}),{newFieldList:Rc,initFields:Ac}),makeMessageType(e,t,r){return function(e,t,r,i){var n;const o=null!==(n=null==i?void 0:i.localName)&&void 0!==n?n:t.substring(t.lastIndexOf(".")+1),a={[o]:function(t){e.util.initFields(this),e.util.initPartial(t,this)}}[o];return Object.setPrototypeOf(a.prototype,new ul),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(r),fromBinary:(e,t)=>(new a).fromBinary(e,t),fromJson:(e,t)=>(new a).fromJson(e,t),fromJsonString:(e,t)=>(new a).fromJsonString(e,t),equals:(t,r)=>e.util.equals(a,t,r)}),a}(this,e,t,r)},makeEnum:function(e,t,r){const i={};for(const n of t){const e=hl(n);i[e.localName]=e.no,i[e.no]=e.localName}return cl(i,e,t),i},makeEnumType:dl,getEnumType:function(e){const t=e[ll];return nl(t,"missing enum type on enum object"),t},makeExtension(e,t,r){return function(e,t,r,i){let n;return{typeName:t,extendee:r,get field(){if(!n){const r="function"==typeof i?i():i;r.name=t.split(".").pop(),r.jsonName="[".concat(t,"]"),n=e.util.newFieldList([r]).list()[0]}return n},runtime:e}}(this,e,t,r)}});var Rc,Ac;class Oc extends ul{constructor(e){super(),this.seconds=Cl.zero,this.nanos=0,Mc.util.initPartial(e,this)}fromJson(e,t){if("string"!=typeof e)throw new Error("cannot decode google.protobuf.Timestamp from JSON: ".concat(Mc.json.debug(e)));const r=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!r)throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");const i=Date.parse(r[1]+"-"+r[2]+"-"+r[3]+"T"+r[4]+":"+r[5]+":"+r[6]+(r[8]?r[8]:"Z"));if(Number.isNaN(i))throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");if(i<Date.parse("0001-01-01T00:00:00Z")||i>Date.parse("9999-12-31T23:59:59Z"))throw new Error("cannot decode message google.protobuf.Timestamp from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive");return this.seconds=Cl.parse(i/1e3),this.nanos=0,r[7]&&(this.nanos=parseInt("1"+r[7]+"0".repeat(9-r[7].length))-1e9),this}toJson(e){const t=1e3*Number(this.seconds);if(t<Date.parse("0001-01-01T00:00:00Z")||t>Date.parse("9999-12-31T23:59:59Z"))throw new Error("cannot encode google.protobuf.Timestamp to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive");if(this.nanos<0)throw new Error("cannot encode google.protobuf.Timestamp to JSON: nanos must not be negative");let r="Z";if(this.nanos>0){const e=(this.nanos+1e9).toString().substring(1);r="000000"===e.substring(3)?"."+e.substring(0,3)+"Z":"000"===e.substring(6)?"."+e.substring(0,6)+"Z":"."+e+"Z"}return new Date(t).toISOString().replace(".000Z",r)}toDate(){return new Date(1e3*Number(this.seconds)+Math.ceil(this.nanos/1e6))}static now(){return Oc.fromDate(new Date)}static fromDate(e){const t=e.getTime();return new Oc({seconds:Cl.parse(Math.floor(t/1e3)),nanos:t%1e3*1e6})}static fromBinary(e,t){return(new Oc).fromBinary(e,t)}static fromJson(e,t){return(new Oc).fromJson(e,t)}static fromJsonString(e,t){return(new Oc).fromJsonString(e,t)}static equals(e,t){return Mc.util.equals(Oc,e,t)}}Oc.runtime=Mc,Oc.typeName="google.protobuf.Timestamp",Oc.fields=Mc.util.newFieldList(()=>[{no:1,name:"seconds",kind:"scalar",T:3},{no:2,name:"nanos",kind:"scalar",T:5}]);const Dc=Mc.makeMessageType("livekit.MetricsBatch",()=>[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:Oc},{no:3,name:"str_data",kind:"scalar",T:9,repeated:!0},{no:4,name:"time_series",kind:"message",T:Lc,repeated:!0},{no:5,name:"events",kind:"message",T:jc,repeated:!0}]),Lc=Mc.makeMessageType("livekit.TimeSeriesMetric",()=>[{no:1,name:"label",kind:"scalar",T:13},{no:2,name:"participant_identity",kind:"scalar",T:13},{no:3,name:"track_sid",kind:"scalar",T:13},{no:4,name:"samples",kind:"message",T:Nc,repeated:!0},{no:5,name:"rid",kind:"scalar",T:13}]),Nc=Mc.makeMessageType("livekit.MetricSample",()=>[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:Oc},{no:3,name:"value",kind:"scalar",T:2}]),jc=Mc.makeMessageType("livekit.EventMetric",()=>[{no:1,name:"label",kind:"scalar",T:13},{no:2,name:"participant_identity",kind:"scalar",T:13},{no:3,name:"track_sid",kind:"scalar",T:13},{no:4,name:"start_timestamp_ms",kind:"scalar",T:3},{no:5,name:"end_timestamp_ms",kind:"scalar",T:3,opt:!0},{no:6,name:"normalized_start_timestamp",kind:"message",T:Oc},{no:7,name:"normalized_end_timestamp",kind:"message",T:Oc,opt:!0},{no:8,name:"metadata",kind:"scalar",T:9},{no:9,name:"rid",kind:"scalar",T:13}]),Uc=Mc.makeEnum("livekit.BackupCodecPolicy",[{no:0,name:"PREFER_REGRESSION"},{no:1,name:"SIMULCAST"},{no:2,name:"REGRESSION"}]),zc=Mc.makeEnum("livekit.TrackType",[{no:0,name:"AUDIO"},{no:1,name:"VIDEO"},{no:2,name:"DATA"}]),Fc=Mc.makeEnum("livekit.TrackSource",[{no:0,name:"UNKNOWN"},{no:1,name:"CAMERA"},{no:2,name:"MICROPHONE"},{no:3,name:"SCREEN_SHARE"},{no:4,name:"SCREEN_SHARE_AUDIO"}]),Bc=Mc.makeEnum("livekit.VideoQuality",[{no:0,name:"LOW"},{no:1,name:"MEDIUM"},{no:2,name:"HIGH"},{no:3,name:"OFF"}]),Vc=Mc.makeEnum("livekit.ConnectionQuality",[{no:0,name:"POOR"},{no:1,name:"GOOD"},{no:2,name:"EXCELLENT"},{no:3,name:"LOST"}]),qc=Mc.makeEnum("livekit.ClientConfigSetting",[{no:0,name:"UNSET"},{no:1,name:"DISABLED"},{no:2,name:"ENABLED"}]),Hc=Mc.makeEnum("livekit.DisconnectReason",[{no:0,name:"UNKNOWN_REASON"},{no:1,name:"CLIENT_INITIATED"},{no:2,name:"DUPLICATE_IDENTITY"},{no:3,name:"SERVER_SHUTDOWN"},{no:4,name:"PARTICIPANT_REMOVED"},{no:5,name:"ROOM_DELETED"},{no:6,name:"STATE_MISMATCH"},{no:7,name:"JOIN_FAILURE"},{no:8,name:"MIGRATION"},{no:9,name:"SIGNAL_CLOSE"},{no:10,name:"ROOM_CLOSED"},{no:11,name:"USER_UNAVAILABLE"},{no:12,name:"USER_REJECTED"},{no:13,name:"SIP_TRUNK_FAILURE"},{no:14,name:"CONNECTION_TIMEOUT"},{no:15,name:"MEDIA_FAILURE"}]),Wc=Mc.makeEnum("livekit.ReconnectReason",[{no:0,name:"RR_UNKNOWN"},{no:1,name:"RR_SIGNAL_DISCONNECTED"},{no:2,name:"RR_PUBLISHER_FAILED"},{no:3,name:"RR_SUBSCRIBER_FAILED"},{no:4,name:"RR_SWITCH_CANDIDATE"}]),$c=Mc.makeEnum("livekit.SubscriptionError",[{no:0,name:"SE_UNKNOWN"},{no:1,name:"SE_CODEC_UNSUPPORTED"},{no:2,name:"SE_TRACK_NOTFOUND"}]),Gc=Mc.makeEnum("livekit.AudioTrackFeature",[{no:0,name:"TF_STEREO"},{no:1,name:"TF_NO_DTX"},{no:2,name:"TF_AUTO_GAIN_CONTROL"},{no:3,name:"TF_ECHO_CANCELLATION"},{no:4,name:"TF_NOISE_SUPPRESSION"},{no:5,name:"TF_ENHANCED_NOISE_CANCELLATION"},{no:6,name:"TF_PRECONNECT_BUFFER"}]),Jc=Mc.makeMessageType("livekit.Room",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"empty_timeout",kind:"scalar",T:13},{no:14,name:"departure_timeout",kind:"scalar",T:13},{no:4,name:"max_participants",kind:"scalar",T:13},{no:5,name:"creation_time",kind:"scalar",T:3},{no:15,name:"creation_time_ms",kind:"scalar",T:3},{no:6,name:"turn_password",kind:"scalar",T:9},{no:7,name:"enabled_codecs",kind:"message",T:Kc,repeated:!0},{no:8,name:"metadata",kind:"scalar",T:9},{no:9,name:"num_participants",kind:"scalar",T:13},{no:11,name:"num_publishers",kind:"scalar",T:13},{no:10,name:"active_recording",kind:"scalar",T:8},{no:13,name:"version",kind:"message",T:_d}]),Kc=Mc.makeMessageType("livekit.Codec",()=>[{no:1,name:"mime",kind:"scalar",T:9},{no:2,name:"fmtp_line",kind:"scalar",T:9}]),Qc=Mc.makeMessageType("livekit.ParticipantPermission",()=>[{no:1,name:"can_subscribe",kind:"scalar",T:8},{no:2,name:"can_publish",kind:"scalar",T:8},{no:3,name:"can_publish_data",kind:"scalar",T:8},{no:9,name:"can_publish_sources",kind:"enum",T:Mc.getEnumType(Fc),repeated:!0},{no:7,name:"hidden",kind:"scalar",T:8},{no:8,name:"recorder",kind:"scalar",T:8},{no:10,name:"can_update_metadata",kind:"scalar",T:8},{no:11,name:"agent",kind:"scalar",T:8},{no:12,name:"can_subscribe_metrics",kind:"scalar",T:8}]),Zc=Mc.makeMessageType("livekit.ParticipantInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"identity",kind:"scalar",T:9},{no:3,name:"state",kind:"enum",T:Mc.getEnumType(Yc)},{no:4,name:"tracks",kind:"message",T:id,repeated:!0},{no:5,name:"metadata",kind:"scalar",T:9},{no:6,name:"joined_at",kind:"scalar",T:3},{no:17,name:"joined_at_ms",kind:"scalar",T:3},{no:9,name:"name",kind:"scalar",T:9},{no:10,name:"version",kind:"scalar",T:13},{no:11,name:"permission",kind:"message",T:Qc},{no:12,name:"region",kind:"scalar",T:9},{no:13,name:"is_publisher",kind:"scalar",T:8},{no:14,name:"kind",kind:"enum",T:Mc.getEnumType(Xc)},{no:15,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:16,name:"disconnect_reason",kind:"enum",T:Mc.getEnumType(Hc)},{no:18,name:"kind_details",kind:"enum",T:Mc.getEnumType(ed),repeated:!0}]),Yc=Mc.makeEnum("livekit.ParticipantInfo.State",[{no:0,name:"JOINING"},{no:1,name:"JOINED"},{no:2,name:"ACTIVE"},{no:3,name:"DISCONNECTED"}]),Xc=Mc.makeEnum("livekit.ParticipantInfo.Kind",[{no:0,name:"STANDARD"},{no:1,name:"INGRESS"},{no:2,name:"EGRESS"},{no:3,name:"SIP"},{no:4,name:"AGENT"}]),ed=Mc.makeEnum("livekit.ParticipantInfo.KindDetail",[{no:0,name:"CLOUD_AGENT"},{no:1,name:"FORWARDED"}]),td=Mc.makeEnum("livekit.Encryption.Type",[{no:0,name:"NONE"},{no:1,name:"GCM"},{no:2,name:"CUSTOM"}]),rd=Mc.makeMessageType("livekit.SimulcastCodecInfo",()=>[{no:1,name:"mime_type",kind:"scalar",T:9},{no:2,name:"mid",kind:"scalar",T:9},{no:3,name:"cid",kind:"scalar",T:9},{no:4,name:"layers",kind:"message",T:nd,repeated:!0},{no:5,name:"video_layer_mode",kind:"enum",T:Mc.getEnumType(od)},{no:6,name:"sdp_cid",kind:"scalar",T:9}]),id=Mc.makeMessageType("livekit.TrackInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"type",kind:"enum",T:Mc.getEnumType(zc)},{no:3,name:"name",kind:"scalar",T:9},{no:4,name:"muted",kind:"scalar",T:8},{no:5,name:"width",kind:"scalar",T:13},{no:6,name:"height",kind:"scalar",T:13},{no:7,name:"simulcast",kind:"scalar",T:8},{no:8,name:"disable_dtx",kind:"scalar",T:8},{no:9,name:"source",kind:"enum",T:Mc.getEnumType(Fc)},{no:10,name:"layers",kind:"message",T:nd,repeated:!0},{no:11,name:"mime_type",kind:"scalar",T:9},{no:12,name:"mid",kind:"scalar",T:9},{no:13,name:"codecs",kind:"message",T:rd,repeated:!0},{no:14,name:"stereo",kind:"scalar",T:8},{no:15,name:"disable_red",kind:"scalar",T:8},{no:16,name:"encryption",kind:"enum",T:Mc.getEnumType(td)},{no:17,name:"stream",kind:"scalar",T:9},{no:18,name:"version",kind:"message",T:_d},{no:19,name:"audio_features",kind:"enum",T:Mc.getEnumType(Gc),repeated:!0},{no:20,name:"backup_codec_policy",kind:"enum",T:Mc.getEnumType(Uc)}]),nd=Mc.makeMessageType("livekit.VideoLayer",()=>[{no:1,name:"quality",kind:"enum",T:Mc.getEnumType(Bc)},{no:2,name:"width",kind:"scalar",T:13},{no:3,name:"height",kind:"scalar",T:13},{no:4,name:"bitrate",kind:"scalar",T:13},{no:5,name:"ssrc",kind:"scalar",T:13},{no:6,name:"spatial_layer",kind:"scalar",T:5},{no:7,name:"rid",kind:"scalar",T:9}]),od=Mc.makeEnum("livekit.VideoLayer.Mode",[{no:0,name:"MODE_UNUSED"},{no:1,name:"ONE_SPATIAL_LAYER_PER_STREAM"},{no:2,name:"MULTIPLE_SPATIAL_LAYERS_PER_STREAM"},{no:3,name:"ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR"}]),ad=Mc.makeMessageType("livekit.DataPacket",()=>[{no:1,name:"kind",kind:"enum",T:Mc.getEnumType(sd)},{no:4,name:"participant_identity",kind:"scalar",T:9},{no:5,name:"destination_identities",kind:"scalar",T:9,repeated:!0},{no:2,name:"user",kind:"message",T:ud,oneof:"value"},{no:3,name:"speaker",kind:"message",T:dd,oneof:"value"},{no:6,name:"sip_dtmf",kind:"message",T:pd,oneof:"value"},{no:7,name:"transcription",kind:"message",T:gd,oneof:"value"},{no:8,name:"metrics",kind:"message",T:Dc,oneof:"value"},{no:9,name:"chat_message",kind:"message",T:vd,oneof:"value"},{no:10,name:"rpc_request",kind:"message",T:fd,oneof:"value"},{no:11,name:"rpc_ack",kind:"message",T:bd,oneof:"value"},{no:12,name:"rpc_response",kind:"message",T:kd,oneof:"value"},{no:13,name:"stream_header",kind:"message",T:Od,oneof:"value"},{no:14,name:"stream_chunk",kind:"message",T:Dd,oneof:"value"},{no:15,name:"stream_trailer",kind:"message",T:Ld,oneof:"value"},{no:18,name:"encrypted_packet",kind:"message",T:ld,oneof:"value"},{no:16,name:"sequence",kind:"scalar",T:13},{no:17,name:"participant_sid",kind:"scalar",T:9}]),sd=Mc.makeEnum("livekit.DataPacket.Kind",[{no:0,name:"RELIABLE"},{no:1,name:"LOSSY"}]),ld=Mc.makeMessageType("livekit.EncryptedPacket",()=>[{no:1,name:"encryption_type",kind:"enum",T:Mc.getEnumType(td)},{no:2,name:"iv",kind:"scalar",T:12},{no:3,name:"key_index",kind:"scalar",T:13},{no:4,name:"encrypted_value",kind:"scalar",T:12}]),cd=Mc.makeMessageType("livekit.EncryptedPacketPayload",()=>[{no:1,name:"user",kind:"message",T:ud,oneof:"value"},{no:3,name:"chat_message",kind:"message",T:vd,oneof:"value"},{no:4,name:"rpc_request",kind:"message",T:fd,oneof:"value"},{no:5,name:"rpc_ack",kind:"message",T:bd,oneof:"value"},{no:6,name:"rpc_response",kind:"message",T:kd,oneof:"value"},{no:7,name:"stream_header",kind:"message",T:Od,oneof:"value"},{no:8,name:"stream_chunk",kind:"message",T:Dd,oneof:"value"},{no:9,name:"stream_trailer",kind:"message",T:Ld,oneof:"value"}]),dd=Mc.makeMessageType("livekit.ActiveSpeakerUpdate",()=>[{no:1,name:"speakers",kind:"message",T:hd,repeated:!0}]),hd=Mc.makeMessageType("livekit.SpeakerInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"level",kind:"scalar",T:2},{no:3,name:"active",kind:"scalar",T:8}]),ud=Mc.makeMessageType("livekit.UserPacket",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:5,name:"participant_identity",kind:"scalar",T:9},{no:2,name:"payload",kind:"scalar",T:12},{no:3,name:"destination_sids",kind:"scalar",T:9,repeated:!0},{no:6,name:"destination_identities",kind:"scalar",T:9,repeated:!0},{no:4,name:"topic",kind:"scalar",T:9,opt:!0},{no:8,name:"id",kind:"scalar",T:9,opt:!0},{no:9,name:"start_time",kind:"scalar",T:4,opt:!0},{no:10,name:"end_time",kind:"scalar",T:4,opt:!0},{no:11,name:"nonce",kind:"scalar",T:12}]),pd=Mc.makeMessageType("livekit.SipDTMF",()=>[{no:3,name:"code",kind:"scalar",T:13},{no:4,name:"digit",kind:"scalar",T:9}]),gd=Mc.makeMessageType("livekit.Transcription",()=>[{no:2,name:"transcribed_participant_identity",kind:"scalar",T:9},{no:3,name:"track_id",kind:"scalar",T:9},{no:4,name:"segments",kind:"message",T:md,repeated:!0}]),md=Mc.makeMessageType("livekit.TranscriptionSegment",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"text",kind:"scalar",T:9},{no:3,name:"start_time",kind:"scalar",T:4},{no:4,name:"end_time",kind:"scalar",T:4},{no:5,name:"final",kind:"scalar",T:8},{no:6,name:"language",kind:"scalar",T:9}]),vd=Mc.makeMessageType("livekit.ChatMessage",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"timestamp",kind:"scalar",T:3},{no:3,name:"edit_timestamp",kind:"scalar",T:3,opt:!0},{no:4,name:"message",kind:"scalar",T:9},{no:5,name:"deleted",kind:"scalar",T:8},{no:6,name:"generated",kind:"scalar",T:8}]),fd=Mc.makeMessageType("livekit.RpcRequest",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"method",kind:"scalar",T:9},{no:3,name:"payload",kind:"scalar",T:9},{no:4,name:"response_timeout_ms",kind:"scalar",T:13},{no:5,name:"version",kind:"scalar",T:13}]),bd=Mc.makeMessageType("livekit.RpcAck",()=>[{no:1,name:"request_id",kind:"scalar",T:9}]),kd=Mc.makeMessageType("livekit.RpcResponse",()=>[{no:1,name:"request_id",kind:"scalar",T:9},{no:2,name:"payload",kind:"scalar",T:9,oneof:"value"},{no:3,name:"error",kind:"message",T:wd,oneof:"value"}]),wd=Mc.makeMessageType("livekit.RpcError",()=>[{no:1,name:"code",kind:"scalar",T:13},{no:2,name:"message",kind:"scalar",T:9},{no:3,name:"data",kind:"scalar",T:9}]),yd=Mc.makeMessageType("livekit.ParticipantTracks",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sids",kind:"scalar",T:9,repeated:!0}]),xd=Mc.makeMessageType("livekit.ServerInfo",()=>[{no:1,name:"edition",kind:"enum",T:Mc.getEnumType(Cd)},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"protocol",kind:"scalar",T:5},{no:4,name:"region",kind:"scalar",T:9},{no:5,name:"node_id",kind:"scalar",T:9},{no:6,name:"debug_info",kind:"scalar",T:9},{no:7,name:"agent_protocol",kind:"scalar",T:5}]),Cd=Mc.makeEnum("livekit.ServerInfo.Edition",[{no:0,name:"Standard"},{no:1,name:"Cloud"}]),Sd=Mc.makeMessageType("livekit.ClientInfo",()=>[{no:1,name:"sdk",kind:"enum",T:Mc.getEnumType(Td)},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"protocol",kind:"scalar",T:5},{no:4,name:"os",kind:"scalar",T:9},{no:5,name:"os_version",kind:"scalar",T:9},{no:6,name:"device_model",kind:"scalar",T:9},{no:7,name:"browser",kind:"scalar",T:9},{no:8,name:"browser_version",kind:"scalar",T:9},{no:9,name:"address",kind:"scalar",T:9},{no:10,name:"network",kind:"scalar",T:9},{no:11,name:"other_sdks",kind:"scalar",T:9}]),Td=Mc.makeEnum("livekit.ClientInfo.SDK",[{no:0,name:"UNKNOWN"},{no:1,name:"JS"},{no:2,name:"SWIFT"},{no:3,name:"ANDROID"},{no:4,name:"FLUTTER"},{no:5,name:"GO"},{no:6,name:"UNITY"},{no:7,name:"REACT_NATIVE"},{no:8,name:"RUST"},{no:9,name:"PYTHON"},{no:10,name:"CPP"},{no:11,name:"UNITY_WEB"},{no:12,name:"NODE"},{no:13,name:"UNREAL"},{no:14,name:"ESP32"}]),Ed=Mc.makeMessageType("livekit.ClientConfiguration",()=>[{no:1,name:"video",kind:"message",T:Id},{no:2,name:"screen",kind:"message",T:Id},{no:3,name:"resume_connection",kind:"enum",T:Mc.getEnumType(qc)},{no:4,name:"disabled_codecs",kind:"message",T:Pd},{no:5,name:"force_relay",kind:"enum",T:Mc.getEnumType(qc)}]),Id=Mc.makeMessageType("livekit.VideoConfiguration",()=>[{no:1,name:"hardware_encoder",kind:"enum",T:Mc.getEnumType(qc)}]),Pd=Mc.makeMessageType("livekit.DisabledCodecs",()=>[{no:1,name:"codecs",kind:"message",T:Kc,repeated:!0},{no:2,name:"publish",kind:"message",T:Kc,repeated:!0}]),_d=Mc.makeMessageType("livekit.TimedVersion",()=>[{no:1,name:"unix_micro",kind:"scalar",T:3},{no:2,name:"ticks",kind:"scalar",T:5}]),Md=Mc.makeEnum("livekit.DataStream.OperationType",[{no:0,name:"CREATE"},{no:1,name:"UPDATE"},{no:2,name:"DELETE"},{no:3,name:"REACTION"}]),Rd=Mc.makeMessageType("livekit.DataStream.TextHeader",()=>[{no:1,name:"operation_type",kind:"enum",T:Mc.getEnumType(Md)},{no:2,name:"version",kind:"scalar",T:5},{no:3,name:"reply_to_stream_id",kind:"scalar",T:9},{no:4,name:"attached_stream_ids",kind:"scalar",T:9,repeated:!0},{no:5,name:"generated",kind:"scalar",T:8}],{localName:"DataStream_TextHeader"}),Ad=Mc.makeMessageType("livekit.DataStream.ByteHeader",()=>[{no:1,name:"name",kind:"scalar",T:9}],{localName:"DataStream_ByteHeader"}),Od=Mc.makeMessageType("livekit.DataStream.Header",()=>[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"timestamp",kind:"scalar",T:3},{no:3,name:"topic",kind:"scalar",T:9},{no:4,name:"mime_type",kind:"scalar",T:9},{no:5,name:"total_length",kind:"scalar",T:4,opt:!0},{no:7,name:"encryption_type",kind:"enum",T:Mc.getEnumType(td)},{no:8,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:9,name:"text_header",kind:"message",T:Rd,oneof:"content_header"},{no:10,name:"byte_header",kind:"message",T:Ad,oneof:"content_header"}],{localName:"DataStream_Header"}),Dd=Mc.makeMessageType("livekit.DataStream.Chunk",()=>[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"chunk_index",kind:"scalar",T:4},{no:3,name:"content",kind:"scalar",T:12},{no:4,name:"version",kind:"scalar",T:5},{no:5,name:"iv",kind:"scalar",T:12,opt:!0}],{localName:"DataStream_Chunk"}),Ld=Mc.makeMessageType("livekit.DataStream.Trailer",()=>[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"reason",kind:"scalar",T:9},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}}],{localName:"DataStream_Trailer"}),Nd=Mc.makeMessageType("livekit.SubscribedAudioCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"enabled",kind:"scalar",T:8}]),jd=Mc.makeEnum("livekit.SignalTarget",[{no:0,name:"PUBLISHER"},{no:1,name:"SUBSCRIBER"}]),Ud=Mc.makeEnum("livekit.StreamState",[{no:0,name:"ACTIVE"},{no:1,name:"PAUSED"}]),zd=Mc.makeEnum("livekit.CandidateProtocol",[{no:0,name:"UDP"},{no:1,name:"TCP"},{no:2,name:"TLS"}]),Fd=Mc.makeMessageType("livekit.SignalRequest",()=>[{no:1,name:"offer",kind:"message",T:Qd,oneof:"message"},{no:2,name:"answer",kind:"message",T:Qd,oneof:"message"},{no:3,name:"trickle",kind:"message",T:Hd,oneof:"message"},{no:4,name:"add_track",kind:"message",T:qd,oneof:"message"},{no:5,name:"mute",kind:"message",T:Wd,oneof:"message"},{no:6,name:"subscription",kind:"message",T:Yd,oneof:"message"},{no:7,name:"track_setting",kind:"message",T:Xd,oneof:"message"},{no:8,name:"leave",kind:"message",T:rh,oneof:"message"},{no:10,name:"update_layers",kind:"message",T:nh,oneof:"message"},{no:11,name:"subscription_permission",kind:"message",T:bh,oneof:"message"},{no:12,name:"sync_state",kind:"message",T:yh,oneof:"message"},{no:13,name:"simulate",kind:"message",T:Sh,oneof:"message"},{no:14,name:"ping",kind:"scalar",T:3,oneof:"message"},{no:15,name:"update_metadata",kind:"message",T:oh,oneof:"message"},{no:16,name:"ping_req",kind:"message",T:Th,oneof:"message"},{no:17,name:"update_audio_track",kind:"message",T:eh,oneof:"message"},{no:18,name:"update_video_track",kind:"message",T:th,oneof:"message"}]),Bd=Mc.makeMessageType("livekit.SignalResponse",()=>[{no:1,name:"join",kind:"message",T:$d,oneof:"message"},{no:2,name:"answer",kind:"message",T:Qd,oneof:"message"},{no:3,name:"offer",kind:"message",T:Qd,oneof:"message"},{no:4,name:"trickle",kind:"message",T:Hd,oneof:"message"},{no:5,name:"update",kind:"message",T:Zd,oneof:"message"},{no:6,name:"track_published",kind:"message",T:Jd,oneof:"message"},{no:8,name:"leave",kind:"message",T:rh,oneof:"message"},{no:9,name:"mute",kind:"message",T:Wd,oneof:"message"},{no:10,name:"speakers_changed",kind:"message",T:sh,oneof:"message"},{no:11,name:"room_update",kind:"message",T:lh,oneof:"message"},{no:12,name:"connection_quality",kind:"message",T:dh,oneof:"message"},{no:13,name:"stream_state_update",kind:"message",T:uh,oneof:"message"},{no:14,name:"subscribed_quality_update",kind:"message",T:mh,oneof:"message"},{no:15,name:"subscription_permission_update",kind:"message",T:kh,oneof:"message"},{no:16,name:"refresh_token",kind:"scalar",T:9,oneof:"message"},{no:17,name:"track_unpublished",kind:"message",T:Kd,oneof:"message"},{no:18,name:"pong",kind:"scalar",T:3,oneof:"message"},{no:19,name:"reconnect",kind:"message",T:Gd,oneof:"message"},{no:20,name:"pong_resp",kind:"message",T:Eh,oneof:"message"},{no:21,name:"subscription_response",kind:"message",T:_h,oneof:"message"},{no:22,name:"request_response",kind:"message",T:Mh,oneof:"message"},{no:23,name:"track_subscribed",kind:"message",T:Ah,oneof:"message"},{no:24,name:"room_moved",kind:"message",T:wh,oneof:"message"},{no:25,name:"media_sections_requirement",kind:"message",T:Oh,oneof:"message"},{no:26,name:"subscribed_audio_codec_update",kind:"message",T:vh,oneof:"message"}]),Vd=Mc.makeMessageType("livekit.SimulcastCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"cid",kind:"scalar",T:9},{no:4,name:"layers",kind:"message",T:nd,repeated:!0},{no:5,name:"video_layer_mode",kind:"enum",T:Mc.getEnumType(od)}]),qd=Mc.makeMessageType("livekit.AddTrackRequest",()=>[{no:1,name:"cid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"type",kind:"enum",T:Mc.getEnumType(zc)},{no:4,name:"width",kind:"scalar",T:13},{no:5,name:"height",kind:"scalar",T:13},{no:6,name:"muted",kind:"scalar",T:8},{no:7,name:"disable_dtx",kind:"scalar",T:8},{no:8,name:"source",kind:"enum",T:Mc.getEnumType(Fc)},{no:9,name:"layers",kind:"message",T:nd,repeated:!0},{no:10,name:"simulcast_codecs",kind:"message",T:Vd,repeated:!0},{no:11,name:"sid",kind:"scalar",T:9},{no:12,name:"stereo",kind:"scalar",T:8},{no:13,name:"disable_red",kind:"scalar",T:8},{no:14,name:"encryption",kind:"enum",T:Mc.getEnumType(td)},{no:15,name:"stream",kind:"scalar",T:9},{no:16,name:"backup_codec_policy",kind:"enum",T:Mc.getEnumType(Uc)},{no:17,name:"audio_features",kind:"enum",T:Mc.getEnumType(Gc),repeated:!0}]),Hd=Mc.makeMessageType("livekit.TrickleRequest",()=>[{no:1,name:"candidateInit",kind:"scalar",T:9},{no:2,name:"target",kind:"enum",T:Mc.getEnumType(jd)},{no:3,name:"final",kind:"scalar",T:8}]),Wd=Mc.makeMessageType("livekit.MuteTrackRequest",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"muted",kind:"scalar",T:8}]),$d=Mc.makeMessageType("livekit.JoinResponse",()=>[{no:1,name:"room",kind:"message",T:Jc},{no:2,name:"participant",kind:"message",T:Zc},{no:3,name:"other_participants",kind:"message",T:Zc,repeated:!0},{no:4,name:"server_version",kind:"scalar",T:9},{no:5,name:"ice_servers",kind:"message",T:ah,repeated:!0},{no:6,name:"subscriber_primary",kind:"scalar",T:8},{no:7,name:"alternative_url",kind:"scalar",T:9},{no:8,name:"client_configuration",kind:"message",T:Ed},{no:9,name:"server_region",kind:"scalar",T:9},{no:10,name:"ping_timeout",kind:"scalar",T:5},{no:11,name:"ping_interval",kind:"scalar",T:5},{no:12,name:"server_info",kind:"message",T:xd},{no:13,name:"sif_trailer",kind:"scalar",T:12},{no:14,name:"enabled_publish_codecs",kind:"message",T:Kc,repeated:!0},{no:15,name:"fast_publish",kind:"scalar",T:8}]),Gd=Mc.makeMessageType("livekit.ReconnectResponse",()=>[{no:1,name:"ice_servers",kind:"message",T:ah,repeated:!0},{no:2,name:"client_configuration",kind:"message",T:Ed},{no:3,name:"server_info",kind:"message",T:xd},{no:4,name:"last_message_seq",kind:"scalar",T:13}]),Jd=Mc.makeMessageType("livekit.TrackPublishedResponse",()=>[{no:1,name:"cid",kind:"scalar",T:9},{no:2,name:"track",kind:"message",T:id}]),Kd=Mc.makeMessageType("livekit.TrackUnpublishedResponse",()=>[{no:1,name:"track_sid",kind:"scalar",T:9}]),Qd=Mc.makeMessageType("livekit.SessionDescription",()=>[{no:1,name:"type",kind:"scalar",T:9},{no:2,name:"sdp",kind:"scalar",T:9},{no:3,name:"id",kind:"scalar",T:13}]),Zd=Mc.makeMessageType("livekit.ParticipantUpdate",()=>[{no:1,name:"participants",kind:"message",T:Zc,repeated:!0}]),Yd=Mc.makeMessageType("livekit.UpdateSubscription",()=>[{no:1,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:2,name:"subscribe",kind:"scalar",T:8},{no:3,name:"participant_tracks",kind:"message",T:yd,repeated:!0}]),Xd=Mc.makeMessageType("livekit.UpdateTrackSettings",()=>[{no:1,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:3,name:"disabled",kind:"scalar",T:8},{no:4,name:"quality",kind:"enum",T:Mc.getEnumType(Bc)},{no:5,name:"width",kind:"scalar",T:13},{no:6,name:"height",kind:"scalar",T:13},{no:7,name:"fps",kind:"scalar",T:13},{no:8,name:"priority",kind:"scalar",T:13}]),eh=Mc.makeMessageType("livekit.UpdateLocalAudioTrack",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"features",kind:"enum",T:Mc.getEnumType(Gc),repeated:!0}]),th=Mc.makeMessageType("livekit.UpdateLocalVideoTrack",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"width",kind:"scalar",T:13},{no:3,name:"height",kind:"scalar",T:13}]),rh=Mc.makeMessageType("livekit.LeaveRequest",()=>[{no:1,name:"can_reconnect",kind:"scalar",T:8},{no:2,name:"reason",kind:"enum",T:Mc.getEnumType(Hc)},{no:3,name:"action",kind:"enum",T:Mc.getEnumType(ih)},{no:4,name:"regions",kind:"message",T:Ih}]),ih=Mc.makeEnum("livekit.LeaveRequest.Action",[{no:0,name:"DISCONNECT"},{no:1,name:"RESUME"},{no:2,name:"RECONNECT"}]),nh=Mc.makeMessageType("livekit.UpdateVideoLayers",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"layers",kind:"message",T:nd,repeated:!0}]),oh=Mc.makeMessageType("livekit.UpdateParticipantMetadata",()=>[{no:1,name:"metadata",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:4,name:"request_id",kind:"scalar",T:13}]),ah=Mc.makeMessageType("livekit.ICEServer",()=>[{no:1,name:"urls",kind:"scalar",T:9,repeated:!0},{no:2,name:"username",kind:"scalar",T:9},{no:3,name:"credential",kind:"scalar",T:9}]),sh=Mc.makeMessageType("livekit.SpeakersChanged",()=>[{no:1,name:"speakers",kind:"message",T:hd,repeated:!0}]),lh=Mc.makeMessageType("livekit.RoomUpdate",()=>[{no:1,name:"room",kind:"message",T:Jc}]),ch=Mc.makeMessageType("livekit.ConnectionQualityInfo",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"quality",kind:"enum",T:Mc.getEnumType(Vc)},{no:3,name:"score",kind:"scalar",T:2}]),dh=Mc.makeMessageType("livekit.ConnectionQualityUpdate",()=>[{no:1,name:"updates",kind:"message",T:ch,repeated:!0}]),hh=Mc.makeMessageType("livekit.StreamStateInfo",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sid",kind:"scalar",T:9},{no:3,name:"state",kind:"enum",T:Mc.getEnumType(Ud)}]),uh=Mc.makeMessageType("livekit.StreamStateUpdate",()=>[{no:1,name:"stream_states",kind:"message",T:hh,repeated:!0}]),ph=Mc.makeMessageType("livekit.SubscribedQuality",()=>[{no:1,name:"quality",kind:"enum",T:Mc.getEnumType(Bc)},{no:2,name:"enabled",kind:"scalar",T:8}]),gh=Mc.makeMessageType("livekit.SubscribedCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"qualities",kind:"message",T:ph,repeated:!0}]),mh=Mc.makeMessageType("livekit.SubscribedQualityUpdate",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"subscribed_qualities",kind:"message",T:ph,repeated:!0},{no:3,name:"subscribed_codecs",kind:"message",T:gh,repeated:!0}]),vh=Mc.makeMessageType("livekit.SubscribedAudioCodecUpdate",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"subscribed_audio_codecs",kind:"message",T:Nd,repeated:!0}]),fh=Mc.makeMessageType("livekit.TrackPermission",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"all_tracks",kind:"scalar",T:8},{no:3,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:4,name:"participant_identity",kind:"scalar",T:9}]),bh=Mc.makeMessageType("livekit.SubscriptionPermission",()=>[{no:1,name:"all_participants",kind:"scalar",T:8},{no:2,name:"track_permissions",kind:"message",T:fh,repeated:!0}]),kh=Mc.makeMessageType("livekit.SubscriptionPermissionUpdate",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sid",kind:"scalar",T:9},{no:3,name:"allowed",kind:"scalar",T:8}]),wh=Mc.makeMessageType("livekit.RoomMovedResponse",()=>[{no:1,name:"room",kind:"message",T:Jc},{no:2,name:"token",kind:"scalar",T:9},{no:3,name:"participant",kind:"message",T:Zc},{no:4,name:"other_participants",kind:"message",T:Zc,repeated:!0}]),yh=Mc.makeMessageType("livekit.SyncState",()=>[{no:1,name:"answer",kind:"message",T:Qd},{no:2,name:"subscription",kind:"message",T:Yd},{no:3,name:"publish_tracks",kind:"message",T:Jd,repeated:!0},{no:4,name:"data_channels",kind:"message",T:Ch,repeated:!0},{no:5,name:"offer",kind:"message",T:Qd},{no:6,name:"track_sids_disabled",kind:"scalar",T:9,repeated:!0},{no:7,name:"datachannel_receive_states",kind:"message",T:xh,repeated:!0}]),xh=Mc.makeMessageType("livekit.DataChannelReceiveState",()=>[{no:1,name:"publisher_sid",kind:"scalar",T:9},{no:2,name:"last_seq",kind:"scalar",T:13}]),Ch=Mc.makeMessageType("livekit.DataChannelInfo",()=>[{no:1,name:"label",kind:"scalar",T:9},{no:2,name:"id",kind:"scalar",T:13},{no:3,name:"target",kind:"enum",T:Mc.getEnumType(jd)}]),Sh=Mc.makeMessageType("livekit.SimulateScenario",()=>[{no:1,name:"speaker_update",kind:"scalar",T:5,oneof:"scenario"},{no:2,name:"node_failure",kind:"scalar",T:8,oneof:"scenario"},{no:3,name:"migration",kind:"scalar",T:8,oneof:"scenario"},{no:4,name:"server_leave",kind:"scalar",T:8,oneof:"scenario"},{no:5,name:"switch_candidate_protocol",kind:"enum",T:Mc.getEnumType(zd),oneof:"scenario"},{no:6,name:"subscriber_bandwidth",kind:"scalar",T:3,oneof:"scenario"},{no:7,name:"disconnect_signal_on_resume",kind:"scalar",T:8,oneof:"scenario"},{no:8,name:"disconnect_signal_on_resume_no_messages",kind:"scalar",T:8,oneof:"scenario"},{no:9,name:"leave_request_full_reconnect",kind:"scalar",T:8,oneof:"scenario"}]),Th=Mc.makeMessageType("livekit.Ping",()=>[{no:1,name:"timestamp",kind:"scalar",T:3},{no:2,name:"rtt",kind:"scalar",T:3}]),Eh=Mc.makeMessageType("livekit.Pong",()=>[{no:1,name:"last_ping_timestamp",kind:"scalar",T:3},{no:2,name:"timestamp",kind:"scalar",T:3}]),Ih=Mc.makeMessageType("livekit.RegionSettings",()=>[{no:1,name:"regions",kind:"message",T:Ph,repeated:!0}]),Ph=Mc.makeMessageType("livekit.RegionInfo",()=>[{no:1,name:"region",kind:"scalar",T:9},{no:2,name:"url",kind:"scalar",T:9},{no:3,name:"distance",kind:"scalar",T:3}]),_h=Mc.makeMessageType("livekit.SubscriptionResponse",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"err",kind:"enum",T:Mc.getEnumType($c)}]),Mh=Mc.makeMessageType("livekit.RequestResponse",()=>[{no:1,name:"request_id",kind:"scalar",T:13},{no:2,name:"reason",kind:"enum",T:Mc.getEnumType(Rh)},{no:3,name:"message",kind:"scalar",T:9},{no:4,name:"trickle",kind:"message",T:Hd,oneof:"request"},{no:5,name:"add_track",kind:"message",T:qd,oneof:"request"},{no:6,name:"mute",kind:"message",T:Wd,oneof:"request"},{no:7,name:"update_metadata",kind:"message",T:oh,oneof:"request"},{no:8,name:"update_audio_track",kind:"message",T:eh,oneof:"request"},{no:9,name:"update_video_track",kind:"message",T:th,oneof:"request"}]),Rh=Mc.makeEnum("livekit.RequestResponse.Reason",[{no:0,name:"OK"},{no:1,name:"NOT_FOUND"},{no:2,name:"NOT_ALLOWED"},{no:3,name:"LIMIT_EXCEEDED"},{no:4,name:"QUEUED"},{no:5,name:"UNSUPPORTED_TYPE"},{no:6,name:"UNCLASSIFIED_ERROR"}]),Ah=Mc.makeMessageType("livekit.TrackSubscribed",()=>[{no:1,name:"track_sid",kind:"scalar",T:9}]),Oh=Mc.makeMessageType("livekit.MediaSectionsRequirement",()=>[{no:1,name:"num_audios",kind:"scalar",T:13},{no:2,name:"num_videos",kind:"scalar",T:13}]);function Dh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Lh,Nh,jh,Uh,zh,Fh,Bh,Vh,qh={exports:{}},Hh=(Lh||(Lh=1,Bh=qh.exports,Vh=function(){var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"],n={},o=null;function a(e,t){var r=e[t];if("function"==typeof r.bind)return r.bind(e);try{return Function.prototype.bind.call(r,e)}catch(yy){return function(){return Function.prototype.apply.apply(r,[e,arguments])}}}function s(){console.log&&(console.log.apply||Function.prototype.apply.apply(console.log,[console,arguments])),console.trace}function l(){for(var r=this.getLevel(),n=0;n<i.length;n++){var o=i[n];this[o]=n<r?e:this.methodFactory(o,r,this.name)}if(this.log=this.debug,typeof console===t&&r<this.levels.SILENT)return"No console available for logging"}function c(e){return function(){typeof console!==t&&(l.call(this),this[e].apply(this,arguments))}}function d(i,n,o){return function(i){return"debug"===i&&(i="log"),typeof console!==t&&("trace"===i&&r?s:void 0!==console[i]?a(console,i):void 0!==console.log?a(console,"log"):e)}(i)||c.apply(this,arguments)}function h(e,r){var a,s,c,h=this,u="loglevel";function p(){var e;if(typeof window!==t&&u){try{e=window.localStorage[u]}catch(o){}if(typeof e===t)try{var r=window.document.cookie,i=encodeURIComponent(u),n=r.indexOf(i+"=");-1!==n&&(e=/^([^;]+)/.exec(r.slice(n+i.length+1))[1])}catch(o){}return void 0===h.levels[e]&&(e=void 0),e}}function g(e){var t=e;if("string"==typeof t&&void 0!==h.levels[t.toUpperCase()]&&(t=h.levels[t.toUpperCase()]),"number"==typeof t&&t>=0&&t<=h.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?u+=":"+e:"symbol"==typeof e&&(u=void 0),h.name=e,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=r||d,h.getLevel=function(){return null!=c?c:null!=s?s:a},h.setLevel=function(e,r){return c=g(e),!1!==r&&function(e){var r=(i[e]||"silent").toUpperCase();if(typeof window!==t&&u){try{return void(window.localStorage[u]=r)}catch(n){}try{window.document.cookie=encodeURIComponent(u)+"="+r+";"}catch(n){}}}(c),l.call(h)},h.setDefaultLevel=function(e){s=g(e),p()||h.setLevel(e,!1)},h.resetLevel=function(){c=null,function(){if(typeof window!==t&&u){try{window.localStorage.removeItem(u)}catch(e){}try{window.document.cookie=encodeURIComponent(u)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),l.call(h)},h.enableAll=function(e){h.setLevel(h.levels.TRACE,e)},h.disableAll=function(e){h.setLevel(h.levels.SILENT,e)},h.rebuild=function(){if(o!==h&&(a=g(o.getLevel())),l.call(h),o===h)for(var e in n)n[e].rebuild()},a=g(o?o.getLevel():"WARN");var m=p();null!=m&&(c=g(m)),l.call(h)}(o=new h).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=n[e];return t||(t=n[e]=new h(e,o.methodFactory)),t};var u=typeof window!==t?window.log:void 0;return o.noConflict=function(){return typeof window!==t&&window.log===o&&(window.log=u),o},o.getLoggers=function(){return n},o.default=o,o},(Fh=qh).exports?Fh.exports=Vh():Bh.log=Vh()),qh.exports);(jh=Nh||(Nh={}))[jh.trace=0]="trace",jh[jh.debug=1]="debug",jh[jh.info=2]="info",jh[jh.warn=3]="warn",jh[jh.error=4]="error",jh[jh.silent=5]="silent",(zh=Uh||(Uh={})).Default="livekit",zh.Room="livekit-room",zh.TokenSource="livekit-token-source",zh.Participant="livekit-participant",zh.Track="livekit-track",zh.Publication="livekit-track-publication",zh.Engine="livekit-engine",zh.Signal="livekit-signal",zh.PCManager="livekit-pc-manager",zh.PCTransport="livekit-pc-transport",zh.E2EE="lk-e2ee";let Wh=Hh.getLogger("livekit");function $h(e){const t=Hh.getLogger(e);return t.setDefaultLevel(Wh.getLevel()),t}Object.values(Uh).map(e=>Hh.getLogger(e)),Wh.setDefaultLevel(Nh.info);const Gh=Hh.getLogger("lk-e2ee"),Jh=7e3,Kh=[0,300,1200,2700,4800,Jh,Jh,Jh,Jh,Jh];function Qh(e,t,r,i){return new(r||(r=Promise))(function(n,o){function a(e){try{l(i.next(e))}catch(yy){o(yy)}}function s(e){try{l(i.throw(e))}catch(yy){o(yy)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(a,s)}l((i=i.apply(e,t||[])).next())})}function Zh(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=e[r]&&function(t){return new Promise(function(i,n){!function(e,t,r,i){Promise.resolve(i).then(function(t){e({value:t,done:r})},t)}(i,n,(t=e[r](t)).done,t.value)})}}}"function"==typeof SuppressedError&&SuppressedError;var Yh,Xh={exports:{}},eu=function(){if(Yh)return Xh.exports;Yh=1;var e,t="object"==typeof Reflect?Reflect:null,r=t&&"function"==typeof t.apply?t.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};e=t&&"function"==typeof t.ownKeys?t.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function n(){n.init.call(this)}Xh.exports=n,Xh.exports.once=function(e,t){return new Promise(function(r,i){function n(r){e.removeListener(t,o),i(r)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",n),r([].slice.call(arguments))}g(e,t,o,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,n)})},n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var o=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function s(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function l(e,t,r,i){var n,o,l;if(a(r),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),l=o[t]),void 0===l)l=o[t]=r,++e._eventsCount;else if("function"==typeof l?l=o[t]=i?[r,l]:[l,r]:i?l.unshift(r):l.push(r),(n=s(e))>0&&l.length>n&&!l.warned){l.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+l.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=l.length,console&&console.warn}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},n=c.bind(i);return n.listener=r,i.wrapFn=n,n}function h(e,t,r){var i=e._events;if(void 0===i)return[];var n=i[t];return void 0===n?[]:"function"==typeof n?r?[n.listener||n]:[n]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(n):p(n,n.length)}function u(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function p(e,t){for(var r=new Array(t),i=0;i<t;++i)r[i]=e[i];return r}function g(e,t,r,i){if("function"==typeof e.on)i.once?e.once(t,r):e.on(t,r);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function n(o){i.once&&e.removeEventListener(t,n),r(o)})}}return Object.defineProperty(n,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");o=e}}),n.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},n.prototype.getMaxListeners=function(){return s(this)},n.prototype.emit=function(e){for(var t=[],i=1;i<arguments.length;i++)t.push(arguments[i]);var n="error"===e,o=this._events;if(void 0!==o)n=n&&void 0===o.error;else if(!n)return!1;if(n){var a;if(t.length>0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var l=o[e];if(void 0===l)return!1;if("function"==typeof l)r(l,this,t);else{var c=l.length,d=p(l,c);for(i=0;i<c;++i)r(d[i],this,t)}return!0},n.prototype.addListener=function(e,t){return l(this,e,t,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(e,t){return l(this,e,t,!0)},n.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},n.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},n.prototype.removeListener=function(e,t){var r,i,n,o,s;if(a(t),void 0===(i=this._events))return this;if(void 0===(r=i[e]))return this;if(r===t||r.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(n=-1,o=r.length-1;o>=0;o--)if(r[o]===t||r[o].listener===t){s=r[o].listener,n=o;break}if(n<0)return this;0===n?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,n),1===r.length&&(i[e]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",e,s||t)}return this},n.prototype.off=n.prototype.removeListener,n.prototype.removeAllListeners=function(e){var t,r,i;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var n,o=Object.keys(r);for(i=0;i<o.length;++i)"removeListener"!==(n=o[i])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},n.prototype.listeners=function(e){return h(this,e,!0)},n.prototype.rawListeners=function(e){return h(this,e,!1)},n.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):u.call(e,t)},n.prototype.listenerCount=u,n.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]},Xh.exports}();let tu=!0,ru=!0;function iu(e,t,r){const i=e.match(t);return i&&i.length>=r&&parseFloat(i[r],10)}function nu(e,t,r){if(!e.RTCPeerConnection)return;const i=e.RTCPeerConnection.prototype,n=i.addEventListener;i.addEventListener=function(e,i){if(e!==t)return n.apply(this,arguments);const o=e=>{const t=r(e);t&&(i.handleEvent?i.handleEvent(t):i(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(i,o),n.apply(this,[e,o])};const o=i.removeEventListener;i.removeEventListener=function(e,r){if(e!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(r))return o.apply(this,arguments);const i=this._eventMap[t].get(r);return this._eventMap[t].delete(r),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,i])},Object.defineProperty(i,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function ou(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(tu=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function au(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(ru=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function su(){if("object"==typeof window){if(tu)return;"undefined"!=typeof console&&console.log}}function lu(e,t){}function cu(e){return"[object Object]"===Object.prototype.toString.call(e)}function du(e){return cu(e)?Object.keys(e).reduce(function(t,r){const i=cu(e[r]),n=i?du(e[r]):e[r],o=i&&!Object.keys(n).length;return void 0===n||o?t:Object.assign(t,{[r]:n})},{}):e}function hu(e,t,r){t&&!r.has(t.id)&&(r.set(t.id,t),Object.keys(t).forEach(i=>{i.endsWith("Id")?hu(e,e.get(t[i]),r):i.endsWith("Ids")&&t[i].forEach(t=>{hu(e,e.get(t),r)})}))}function uu(e,t,r){const i=r?"outbound-rtp":"inbound-rtp",n=new Map;if(null===t)return n;const o=[];return e.forEach(e=>{"track"===e.type&&e.trackIdentifier===t.id&&o.push(e)}),o.forEach(t=>{e.forEach(r=>{r.type===i&&r.trackId===t.id&&hu(e,r,n)})}),n}const pu=su;function gu(e,t){const r=e&&e.navigator;if(!r.mediaDevices)return;const i=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach(r=>{if("require"===r||"advanced"===r||"mediaSource"===r)return;const i="object"==typeof e[r]?e[r]:{ideal:e[r]};void 0!==i.exact&&"number"==typeof i.exact&&(i.min=i.max=i.exact);const n=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==i.ideal){t.optional=t.optional||[];let e={};"number"==typeof i.ideal?(e[n("min",r)]=i.ideal,t.optional.push(e),e={},e[n("max",r)]=i.ideal,t.optional.push(e)):(e[n("",r)]=i.ideal,t.optional.push(e))}void 0!==i.exact&&"number"!=typeof i.exact?(t.mandatory=t.mandatory||{},t.mandatory[n("",r)]=i.exact):["min","max"].forEach(e=>{void 0!==i[e]&&(t.mandatory=t.mandatory||{},t.mandatory[n(e,r)]=i[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},n=function(e,n){if(t.version>=61)return n(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=i(e.audio)}if(e&&"object"==typeof e.video){let o=e.video.facingMode;o=o&&("object"==typeof o?o:{ideal:o});const a=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&(!r.mediaDevices.getSupportedConstraints||!r.mediaDevices.getSupportedConstraints().facingMode||a)){let t;if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?t=["back","rear"]:"user"!==o.exact&&"user"!==o.ideal||(t=["front"]),t)return r.mediaDevices.enumerateDevices().then(r=>{let a=(r=r.filter(e=>"videoinput"===e.kind)).find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!a&&r.length&&t.includes("back")&&(a=r[r.length-1]),a&&(e.video.deviceId=o.exact?{exact:a.deviceId}:{ideal:a.deviceId}),e.video=i(e.video),pu("chrome: "+JSON.stringify(e)),n(e)})}e.video=i(e.video)}return pu("chrome: "+JSON.stringify(e)),n(e)},o=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(r.getUserMedia=function(e,t,i){n(e,e=>{r.webkitGetUserMedia(e,t,e=>{i&&i(o(e))})})}.bind(r),r.mediaDevices.getUserMedia){const e=r.mediaDevices.getUserMedia.bind(r.mediaDevices);r.mediaDevices.getUserMedia=function(t){return n(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException("","NotFoundError");return e},e=>Promise.reject(o(e))))}}}function mu(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function vu(e){if("object"==typeof e&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===r.track.id):{track:r.track};const n=new Event("track");n.track=r.track,n.receiver=i,n.transceiver={receiver:i},n.streams=[t.stream],this.dispatchEvent(n)}),t.stream.getTracks().forEach(r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===r.id):{track:r};const n=new Event("track");n.track=r,n.receiver=i,n.transceiver={receiver:i},n.streams=[t.stream],this.dispatchEvent(n)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else nu(e,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e))}function fu(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,i){let n=r.apply(this,arguments);return n||(n=t(this,e),this._senders.push(n)),n};const i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){i.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};const i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach(e=>{const t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function bu(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then(t=>uu(t,e.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),nu(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then(t=>uu(t,e.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,r,i;return this.getSenders().forEach(r=>{r.track===e&&(t?i=!0:t=r)}),this.getReceivers().forEach(t=>(t.track===e&&(r?i=!0:r=t),t.track===e)),i||t&&r?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():r?r.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function ku(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const i=t.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(i)&&this._shimmedLocalStreams[r.id].push(i):this._shimmedLocalStreams[r.id]=[r,i],i};const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException("Track already exists.","InvalidAccessError")});const t=this.getSenders();r.apply(this,arguments);const i=this.getSenders().filter(e=>-1===t.indexOf(e));this._shimmedLocalStreams[e.id]=[e].concat(i)};const i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],i.apply(this,arguments)};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{const r=this._shimmedLocalStreams[t].indexOf(e);-1!==r&&this._shimmedLocalStreams[t].splice(r,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]}),n.apply(this,arguments)}}function wu(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return ku(e);const r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=r.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[t.id]){const r=new e.MediaStream(t.getTracks());this._streams[t.id]=r,this._reverseStreams[r.id]=t,t=r}i.apply(this,[t])};const n=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{const i=e._reverseStreams[t],n=e._streams[i.id];r=r.replace(new RegExp(n.id,"g"),i.id)}),new RTCSessionDescription({type:t.type,sdp:r})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},n.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,r){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const i=[].slice.call(arguments,1);if(1!==i.length||!i[0].getTracks().find(e=>e===t))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(e=>e.track===t))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const n=this._streams[r.id];if(n)n.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const i=new e.MediaStream([t]);this._streams[r.id]=i,this._reverseStreams[i.id]=r,this.addStream(i)}return this.getSenders().find(e=>e.track===t)},["createOffer","createAnswer"].forEach(function(t){const r=e.RTCPeerConnection.prototype[t],i={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?r.apply(this,[t=>{const r=o(this,t);e[0].apply(null,[r])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):r.apply(this,arguments).then(e=>o(this,e))}};e.RTCPeerConnection.prototype[t]=i[t]});const a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{const i=e._reverseStreams[t],n=e._streams[i.id];r=r.replace(new RegExp(i.id,"g"),n.id)}),new RTCSessionDescription({type:t.type,sdp:r})}(this,arguments[0]),a.apply(this,arguments)):a.apply(this,arguments)};const s=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const e=s.get.apply(this);return""===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(e._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach(r=>{this._streams[r].getTracks().find(t=>e.track===t)&&(t=this._streams[r])}),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function yu(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){const r=e.RTCPeerConnection.prototype[t],i={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=i[t]})}function xu(e,t){nu(e,"negotiationneeded",e=>{const r=e.target;if(!(t.version<72||r.getConfiguration&&"plan-b"===r.getConfiguration().sdpSemantics)||"stable"===r.signalingState)return e})}var Cu=Object.freeze({__proto__:null,fixNegotiationNeeded:xu,shimAddTrackRemoveTrack:wu,shimAddTrackRemoveTrackWithNative:ku,shimGetSendersWithDtmf:fu,shimGetUserMedia:gu,shimMediaStream:mu,shimOnTrack:vu,shimPeerConnection:yu,shimSenderReceiverGetStats:bu});function Su(e,t){const r=e&&e.navigator,i=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,t,i){r.mediaDevices.getUserMedia(e).then(t,i)},!(t.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){const e=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])},t=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(r){return"object"==typeof r&&"object"==typeof r.audio&&(r=JSON.parse(JSON.stringify(r)),e(r.audio,"autoGainControl","mozAutoGainControl"),e(r.audio,"noiseSuppression","mozNoiseSuppression")),t(r)},i&&i.prototype.getSettings){const t=i.prototype.getSettings;i.prototype.getSettings=function(){const r=t.apply(this,arguments);return e(r,"mozAutoGainControl","autoGainControl"),e(r,"mozNoiseSuppression","noiseSuppression"),r}}if(i&&i.prototype.applyConstraints){const t=i.prototype.applyConstraints;i.prototype.applyConstraints=function(r){return"audio"===this.kind&&"object"==typeof r&&(r=JSON.parse(JSON.stringify(r)),e(r,"autoGainControl","mozAutoGainControl"),e(r,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[r])}}}}function Tu(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function Eu(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){const r=e.RTCPeerConnection.prototype[t],i={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=i[t]});const r={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},i=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,n,o]=arguments;return i.apply(this,[e||null]).then(e=>{if(t.version<53&&!n)try{e.forEach(e=>{e.type=r[e.type]||e.type})}catch(yy){if("TypeError"!==yy.name)throw yy;e.forEach((t,i)=>{e.set(i,Object.assign({},t,{type:r[t.type]||t.type}))})}return e}).then(n,o)}}function Iu(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function Pu(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),nu(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function _u(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function Mu(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function Ru(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]),e=[...e];const r=e.length>0;r&&e.forEach(e=>{if("rid"in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});const i=t.apply(this,arguments);if(r){const{sender:t}=i,r=t.getParameters();(!("encodings"in r)||1===r.encodings.length&&0===Object.keys(r.encodings[0]).length)&&(r.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(r).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return i})}function Au(e){if("object"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function Ou(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function Du(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var Lu=Object.freeze({__proto__:null,shimAddTransceiver:Ru,shimCreateAnswer:Du,shimCreateOffer:Ou,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!r||!r.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===r.video?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})},shimGetParameters:Au,shimGetUserMedia:Su,shimOnTrack:Tu,shimPeerConnection:Eu,shimRTCDataChannel:Mu,shimReceiverGetStats:Pu,shimRemoveStream:_u,shimSenderGetStats:Iu});function Nu(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(r=>t.call(this,r,e)),e.getVideoTracks().forEach(r=>t.call(this,r,e))},e.RTCPeerConnection.prototype.addTrack=function(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];return i&&i.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const r=e.getTracks();this.getSenders().forEach(e=>{r.includes(e.track)&&this.removeTrack(e)})})}}function ju(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)})})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const r=new Event("addstream");r.stream=t,e.dispatchEvent(r)})}),t.apply(e,arguments)}}}function Uu(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,r=t.createOffer,i=t.createAnswer,n=t.setLocalDescription,o=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(e,t){const i=arguments.length>=2?arguments[2]:arguments[0],n=r.apply(this,[i]);return t?(n.then(e,t),Promise.resolve()):n},t.createAnswer=function(e,t){const r=arguments.length>=2?arguments[2]:arguments[0],n=i.apply(this,[r]);return t?(n.then(e,t),Promise.resolve()):n};let s=function(e,t,r){const i=n.apply(this,[e]);return r?(i.then(t,r),Promise.resolve()):i};t.setLocalDescription=s,s=function(e,t,r){const i=o.apply(this,[e]);return r?(i.then(t,r),Promise.resolve()):i},t.setRemoteDescription=s,s=function(e,t,r){const i=a.apply(this,[e]);return r?(i.then(t,r),Promise.resolve()):i},t.addIceCandidate=s}function zu(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,r=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>r(Fu(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,r,i){t.mediaDevices.getUserMedia(e).then(r,i)}.bind(t))}function Fu(e){return e&&void 0!==e.video?Object.assign({},e,{video:du(e.video)}):e}function Bu(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){const t=[];for(let r=0;r<e.iceServers.length;r++){let i=e.iceServers[r];void 0===i.urls&&i.url?(lu(),i=JSON.parse(JSON.stringify(i)),i.urls=i.url,delete i.url,t.push(i)):t.push(e.iceServers[r])}e.iceServers=t}return new t(e,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function Vu(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function qu(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find(e=>"audio"===e.receiver.track.kind);!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio",{direction:"recvonly"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const r=this.getTransceivers().find(e=>"video"===e.receiver.track.kind);!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}}function Hu(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Wu,$u=Object.freeze({__proto__:null,shimAudioContext:Hu,shimCallbacksAPI:Uu,shimConstraints:Fu,shimCreateOfferLegacy:qu,shimGetUserMedia:zu,shimLocalStreamsAPI:Nu,shimRTCIceServerUrls:Bu,shimRemoteStreamsAPI:ju,shimTrackEventTransceiver:Vu}),Gu={exports:{}},Ju=(Wu||(Wu=1,function(e){const t={generateIdentifier:function(){return Math.random().toString(36).substring(2,12)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split("\n").map(e=>e.trim())},t.splitSections=function(e){return e.split("\nm=").map((e,t)=>(t>0?"m="+e:e).trim()+"\r\n")},t.getDescription=function(e){const r=t.splitSections(e);return r&&r[0]},t.getMediaSections=function(e){const r=t.splitSections(e);return r.shift(),r},t.matchPrefix=function(e,r){return t.splitLines(e).filter(e=>0===e.indexOf(r))},t.parseCandidate=function(e){let t;t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" ");const r={foundation:t[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let i=8;i<t.length;i+=2)switch(t[i]){case"raddr":r.relatedAddress=t[i+1];break;case"rport":r.relatedPort=parseInt(t[i+1],10);break;case"tcptype":r.tcpType=t[i+1];break;case"ufrag":r.ufrag=t[i+1],r.usernameFragment=t[i+1];break;default:void 0===r[t[i]]&&(r[t[i]]=t[i+1])}return r},t.writeCandidate=function(e){const t=[];t.push(e.foundation);const r=e.component;"rtp"===r?t.push(1):"rtcp"===r?t.push(2):t.push(r),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);const i=e.type;return t.push("typ"),t.push(i),"host"!==i&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&"tcp"===e.protocol.toLowerCase()&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")},t.parseIceOptions=function(e){return e.substring(14).split(" ")},t.parseRtpMap=function(e){let t=e.substring(9).split(" ");const r={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),r.name=t[0],r.clockRate=parseInt(t[1],10),r.channels=3===t.length?parseInt(t[2],10):1,r.numChannels=r.channels,r},t.writeRtpMap=function(e){let t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);const r=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==r?"/"+r:"")+"\r\n"},t.parseExtmap=function(e){const t=e.substring(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1],attributes:t.slice(2).join(" ")}},t.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+(e.attributes?" "+e.attributes:"")+"\r\n"},t.parseFmtp=function(e){const t={};let r;const i=e.substring(e.indexOf(" ")+1).split(";");for(let n=0;n<i.length;n++)r=i[n].trim().split("="),t[r[0].trim()]=r[1];return t},t.writeFmtp=function(e){let t="",r=e.payloadType;if(void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){const i=[];Object.keys(e.parameters).forEach(t=>{void 0!==e.parameters[t]?i.push(t+"="+e.parameters[t]):i.push(t)}),t+="a=fmtp:"+r+" "+i.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){const t=e.substring(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){let t="",r=e.payloadType;return void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach(e=>{t+="a=rtcp-fb:"+r+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"}),t},t.parseSsrcMedia=function(e){const t=e.indexOf(" "),r={ssrc:parseInt(e.substring(7,t),10)},i=e.indexOf(":",t);return i>-1?(r.attribute=e.substring(t+1,i),r.value=e.substring(i+1)):r.attribute=e.substring(t+1),r},t.parseSsrcGroup=function(e){const t=e.substring(13).split(" ");return{semantics:t.shift(),ssrcs:t.map(e=>parseInt(e,10))}},t.getMid=function(e){const r=t.matchPrefix(e,"a=mid:")[0];if(r)return r.substring(6)},t.parseFingerprint=function(e){const t=e.substring(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,r){return{role:"auto",fingerprints:t.matchPrefix(e+r,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let r="a=setup:"+t+"\r\n";return e.fingerprints.forEach(e=>{r+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"}),r},t.parseCryptoLine=function(e){const t=e.substring(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;const t=e.substring(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},t.getCryptoParameters=function(e,r){return t.matchPrefix(e+r,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,r){const i=t.matchPrefix(e+r,"a=ice-ufrag:")[0],n=t.matchPrefix(e+r,"a=ice-pwd:")[0];return i&&n?{usernameFragment:i.substring(12),password:n.substring(10)}:null},t.writeIceParameters=function(e){let t="a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n";return e.iceLite&&(t+="a=ice-lite\r\n"),t},t.parseRtpParameters=function(e){const r={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},i=t.splitLines(e)[0].split(" ");r.profile=i[2];for(let o=3;o<i.length;o++){const n=i[o],a=t.matchPrefix(e,"a=rtpmap:"+n+" ")[0];if(a){const i=t.parseRtpMap(a),o=t.matchPrefix(e,"a=fmtp:"+n+" ");switch(i.parameters=o.length?t.parseFmtp(o[0]):{},i.rtcpFeedback=t.matchPrefix(e,"a=rtcp-fb:"+n+" ").map(t.parseRtcpFb),r.codecs.push(i),i.name.toUpperCase()){case"RED":case"ULPFEC":r.fecMechanisms.push(i.name.toUpperCase())}}}t.matchPrefix(e,"a=extmap:").forEach(e=>{r.headerExtensions.push(t.parseExtmap(e))});const n=t.matchPrefix(e,"a=rtcp-fb:* ").map(t.parseRtcpFb);return r.codecs.forEach(e=>{n.forEach(t=>{e.rtcpFeedback.find(e=>e.type===t.type&&e.parameter===t.parameter)||e.rtcpFeedback.push(t)})}),r},t.writeRtpDescription=function(e,r){let i="";i+="m="+e+" ",i+=r.codecs.length>0?"9":"0",i+=" "+(r.profile||"UDP/TLS/RTP/SAVPF")+" ",i+=r.codecs.map(e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType).join(" ")+"\r\n",i+="c=IN IP4 0.0.0.0\r\n",i+="a=rtcp:9 IN IP4 0.0.0.0\r\n",r.codecs.forEach(e=>{i+=t.writeRtpMap(e),i+=t.writeFmtp(e),i+=t.writeRtcpFb(e)});let n=0;return r.codecs.forEach(e=>{e.maxptime>n&&(n=e.maxptime)}),n>0&&(i+="a=maxptime:"+n+"\r\n"),r.headerExtensions&&r.headerExtensions.forEach(e=>{i+=t.writeExtmap(e)}),i},t.parseRtpEncodingParameters=function(e){const r=[],i=t.parseRtpParameters(e),n=-1!==i.fecMechanisms.indexOf("RED"),o=-1!==i.fecMechanisms.indexOf("ULPFEC"),a=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute),s=a.length>0&&a[0].ssrc;let l;const c=t.matchPrefix(e,"a=ssrc-group:FID").map(e=>e.substring(17).split(" ").map(e=>parseInt(e,10)));c.length>0&&c[0].length>1&&c[0][0]===s&&(l=c[0][1]),i.codecs.forEach(e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:s,codecPayloadType:parseInt(e.parameters.apt,10)};s&&l&&(t.rtx={ssrc:l}),r.push(t),n&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:s,mechanism:o?"red+ulpfec":"red"},r.push(t))}}),0===r.length&&s&&r.push({ssrc:s});let d=t.matchPrefix(e,"b=");return d.length&&(d=0===d[0].indexOf("b=TIAS:")?parseInt(d[0].substring(7),10):0===d[0].indexOf("b=AS:")?1e3*parseInt(d[0].substring(5),10)*.95-16e3:void 0,r.forEach(e=>{e.maxBitrate=d})),r},t.parseRtcpParameters=function(e){const r={},i=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute)[0];i&&(r.cname=i.value,r.ssrc=i.ssrc);const n=t.matchPrefix(e,"a=rtcp-rsize");r.reducedSize=n.length>0,r.compound=0===n.length;const o=t.matchPrefix(e,"a=rtcp-mux");return r.mux=o.length>0,r},t.writeRtcpParameters=function(e){let t="";return e.reducedSize&&(t+="a=rtcp-rsize\r\n"),e.mux&&(t+="a=rtcp-mux\r\n"),void 0!==e.ssrc&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+"\r\n"),t},t.parseMsid=function(e){let r;const i=t.matchPrefix(e,"a=msid:");if(1===i.length)return r=i[0].substring(7).split(" "),{stream:r[0],track:r[1]};const n=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"msid"===e.attribute);return n.length>0?(r=n[0].value.split(" "),{stream:r[0],track:r[1]}):void 0},t.parseSctpDescription=function(e){const r=t.parseMLine(e),i=t.matchPrefix(e,"a=max-message-size:");let n;i.length>0&&(n=parseInt(i[0].substring(19),10)),isNaN(n)&&(n=65536);const o=t.matchPrefix(e,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substring(12),10),protocol:r.fmt,maxMessageSize:n};const a=t.matchPrefix(e,"a=sctpmap:");if(a.length>0){const e=a[0].substring(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:n}}},t.writeSctpDescription=function(e,t){let r=[];return r="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&r.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),r.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,r,i){let n;const o=void 0!==r?r:2;return n=e||t.generateSessionId(),"v=0\r\no="+(i||"thisisadapterortc")+" "+n+" "+o+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,r){const i=t.splitLines(e);for(let t=0;t<i.length;t++)switch(i[t]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return i[t].substring(2)}return r?t.getDirection(r):"sendrecv"},t.getKind=function(e){return t.splitLines(e)[0].split(" ")[0].substring(2)},t.isRejected=function(e){return"0"===e.split(" ",2)[1]},t.parseMLine=function(e){const r=t.splitLines(e)[0].substring(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},t.parseOLine=function(e){const r=t.matchPrefix(e,"o=")[0].substring(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},t.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;const r=t.splitLines(e);for(let t=0;t<r.length;t++)if(r[t].length<2||"="!==r[t].charAt(1))return!1;return!0},e.exports=t}(Gu)),Gu.exports),Ku=Dh(Ju),Qu=el({__proto__:null,default:Ku},[Ju]);function Zu(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;const t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substring(2)),e.candidate&&e.candidate.length){const r=new t(e),i=Ku.parseCandidate(e.candidate);for(const e in i)e in r||Object.defineProperty(r,e,{value:i[e]});return r.toJSON=function(){return{candidate:r.candidate,sdpMid:r.sdpMid,sdpMLineIndex:r.sdpMLineIndex,usernameFragment:r.usernameFragment}},r}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,nu(e,"icecandidate",t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t))}function Yu(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||nu(e,"icecandidate",e=>{if(e.candidate){const t=Ku.parseCandidate(e.candidate.candidate);"relay"===t.type&&(e.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[t.priority>>24])}return e})}function Xu(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(function(e){if(!e||!e.sdp)return!1;const t=Ku.splitSections(e.sdp);return t.shift(),t.some(e=>{const t=Ku.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")})}(arguments[0])){const e=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;const r=parseInt(t[1],10);return r!=r?-1:r}(arguments[0]),r=function(e){let r=65536;return"firefox"===t.browser&&(r=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),r}(e),i=function(e,r){let i=65536;"firefox"===t.browser&&57===t.version&&(i=65535);const n=Ku.matchPrefix(e.sdp,"a=max-message-size:");return n.length>0?i=parseInt(n[0].substring(19),10):"firefox"===t.browser&&-1!==r&&(i=2147483637),i}(arguments[0],e);let n;n=0===r&&0===i?Number.POSITIVE_INFINITY:0===r||0===i?Math.max(r,i):Math.min(r,i);const o={};Object.defineProperty(o,"maxMessageSize",{get:()=>n}),this._sctp=o}return r.apply(this,arguments)}}function ep(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const r=e.send;e.send=function(){const i=arguments[0],n=i.length||i.size||i.byteLength;if("open"===e.readyState&&t.sctp&&n>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}const r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=r.apply(this,arguments);return t(e,this),e},nu(e,"datachannel",e=>(t(e.channel,e.target),e))}function tp(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(e=>{const r=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const r=new Event("connectionstatechange",e);t.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function rp(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t._safariVersion>=13.1)return;const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const r=t.sdp.split("\n").filter(e=>"a=extmap-allow-mixed"!==e.trim()).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:r}):t.sdp=r}return r.apply(this,arguments)}}function ip(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.addIceCandidate;r&&0!==r.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function np(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.setLocalDescription;r&&0!==r.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return r.apply(this,arguments);if(e={type:e.type,sdp:e.sdp},!e.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}return e.sdp||"offer"!==e.type&&"answer"!==e.type?r.apply(this,[e]):("offer"===e.type?this.createOffer:this.createAnswer).apply(this).then(e=>r.apply(this,[e]))})}var op=Object.freeze({__proto__:null,removeExtmapAllowMixed:rp,shimAddIceCandidateNullOrEmpty:ip,shimConnectionState:tp,shimMaxMessageSize:Xu,shimParameterlessSetLocalDescription:np,shimRTCIceCandidate:Zu,shimRTCIceCandidateRelayProtocol:Yu,shimSendThrowTypeError:ep});!function(){let{window:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimSafari:!0};const r=su,i=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.userAgentData&&r.userAgentData.brands){const e=r.userAgentData.brands.find(e=>"Chromium"===e.brand);if(e)return{browser:"chrome",version:parseInt(e.version,10)}}if(r.mozGetUserMedia)t.browser="firefox",t.version=parseInt(iu(r.userAgent,/Firefox\/(\d+)\./,1));else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=parseInt(iu(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=parseInt(iu(r.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype,t._safariVersion=iu(r.userAgent,/Version\/(\d+(\.?\d+))/,1)}return t}(e),n={browserDetails:i,commonShim:op,extractVersion:iu,disableLog:ou,disableWarnings:au,sdp:Qu};switch(i.browser){case"chrome":if(!Cu||!yu||!t.shimChrome)return r("Chrome shim is not included in this adapter release."),n;if(null===i.version)return r("Chrome shim can not determine version, not shimming."),n;r("adapter.js shimming chrome."),n.browserShim=Cu,ip(e,i),np(e),gu(e,i),mu(e),yu(e,i),vu(e),wu(e,i),fu(e),bu(e),xu(e,i),Zu(e),Yu(e),tp(e),Xu(e,i),ep(e),rp(e,i);break;case"firefox":if(!Lu||!Eu||!t.shimFirefox)return r("Firefox shim is not included in this adapter release."),n;r("adapter.js shimming firefox."),n.browserShim=Lu,ip(e,i),np(e),Su(e,i),Eu(e,i),Tu(e),_u(e),Iu(e),Pu(e),Mu(e),Ru(e),Au(e),Ou(e),Du(e),Zu(e),tp(e),Xu(e,i),ep(e);break;case"safari":if(!$u||!t.shimSafari)return r("Safari shim is not included in this adapter release."),n;r("adapter.js shimming safari."),n.browserShim=$u,ip(e,i),np(e),Bu(e),qu(e),Uu(e),Nu(e),ju(e),Vu(e),zu(e),Hu(e),Zu(e),Yu(e),Xu(e,i),ep(e),rp(e,i);break;default:r("Unsupported browser!")}}({window:"undefined"==typeof window?void 0:window});const ap="lk_e2ee";var sp,lp,cp,dp,hp,up,pp,gp,mp,vp,fp,bp,kp,wp,yp,xp,Cp,Sp,Tp,Ep,Ip,Pp;function _p(){return void 0!==window.RTCRtpScriptTransform}(lp=sp||(sp={})).SetKey="setKey",lp.RatchetRequest="ratchetRequest",lp.KeyRatcheted="keyRatcheted",(cp||(cp={})).KeyRatcheted="keyRatcheted",(hp=dp||(dp={})).ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",hp.EncryptionError="encryptionError",(up||(up={})).Error="cryptorError",eu.EventEmitter;class Mp extends Error{constructor(e,t){super(t||"an error has occured"),this.name="LiveKitError",this.code=e}}(gp=pp||(pp={}))[gp.NotAllowed=0]="NotAllowed",gp[gp.ServerUnreachable=1]="ServerUnreachable",gp[gp.InternalError=2]="InternalError",gp[gp.Cancelled=3]="Cancelled",gp[gp.LeaveRequest=4]="LeaveRequest",gp[gp.Timeout=5]="Timeout";class Rp extends Mp{constructor(e,t,r,i){super(1,e),this.name="ConnectionError",this.status=r,this.reason=t,this.context=i,this.reasonName=pp[t]}}class Ap extends Mp{constructor(e){super(21,null!=e?e:"device is unsupported"),this.name="DeviceUnsupportedError"}}class Op extends Mp{constructor(e){super(20,null!=e?e:"track is invalid"),this.name="TrackInvalidError"}}class Dp extends Mp{constructor(e){super(10,null!=e?e:"unsupported server"),this.name="UnsupportedServer"}}class Lp extends Mp{constructor(e){super(12,null!=e?e:"unexpected connection state"),this.name="UnexpectedConnectionState"}}class Np extends Mp{constructor(e){super(13,null!=e?e:"unable to negotiate"),this.name="NegotiationError"}}class jp extends Mp{constructor(e,t){super(15,e),this.name="PublishTrackError",this.status=t}}class Up extends Mp{constructor(e,t){super(15,e),this.reason=t,this.reasonName="string"==typeof t?t:Rh[t]}}(vp=mp||(mp={}))[vp.AlreadyOpened=0]="AlreadyOpened",vp[vp.AbnormalEnd=1]="AbnormalEnd",vp[vp.DecodeFailed=2]="DecodeFailed",vp[vp.LengthExceeded=3]="LengthExceeded",vp[vp.Incomplete=4]="Incomplete",vp[vp.HandlerAlreadyRegistered=7]="HandlerAlreadyRegistered",vp[vp.EncryptionTypeMismatch=8]="EncryptionTypeMismatch";class zp extends Mp{constructor(e,t){super(16,e),this.name="DataStreamError",this.reason=t,this.reasonName=mp[t]}}(bp=fp||(fp={})).PermissionDenied="PermissionDenied",bp.NotFound="NotFound",bp.DeviceInUse="DeviceInUse",bp.Other="Other",function(e){e.getFailure=function(t){if(t&&"name"in t)return"NotFoundError"===t.name||"DevicesNotFoundError"===t.name?e.NotFound:"NotAllowedError"===t.name||"PermissionDeniedError"===t.name?e.PermissionDenied:"NotReadableError"===t.name||"TrackStartError"===t.name?e.DeviceInUse:e.Other}}(fp||(fp={})),(wp=kp||(kp={}))[wp.InvalidKey=0]="InvalidKey",wp[wp.MissingKey=1]="MissingKey",wp[wp.InternalError=2]="InternalError",(xp=yp||(yp={})).Connected="connected",xp.Reconnecting="reconnecting",xp.SignalReconnecting="signalReconnecting",xp.Reconnected="reconnected",xp.Disconnected="disconnected",xp.ConnectionStateChanged="connectionStateChanged",xp.Moved="moved",xp.MediaDevicesChanged="mediaDevicesChanged",xp.ParticipantConnected="participantConnected",xp.ParticipantDisconnected="participantDisconnected",xp.TrackPublished="trackPublished",xp.TrackSubscribed="trackSubscribed",xp.TrackSubscriptionFailed="trackSubscriptionFailed",xp.TrackUnpublished="trackUnpublished",xp.TrackUnsubscribed="trackUnsubscribed",xp.TrackMuted="trackMuted",xp.TrackUnmuted="trackUnmuted",xp.LocalTrackPublished="localTrackPublished",xp.LocalTrackUnpublished="localTrackUnpublished",xp.LocalAudioSilenceDetected="localAudioSilenceDetected",xp.ActiveSpeakersChanged="activeSpeakersChanged",xp.ParticipantMetadataChanged="participantMetadataChanged",xp.ParticipantNameChanged="participantNameChanged",xp.ParticipantAttributesChanged="participantAttributesChanged",xp.ParticipantActive="participantActive",xp.RoomMetadataChanged="roomMetadataChanged",xp.DataReceived="dataReceived",xp.SipDTMFReceived="sipDTMFReceived",xp.TranscriptionReceived="transcriptionReceived",xp.ConnectionQualityChanged="connectionQualityChanged",xp.TrackStreamStateChanged="trackStreamStateChanged",xp.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",xp.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",xp.AudioPlaybackStatusChanged="audioPlaybackChanged",xp.VideoPlaybackStatusChanged="videoPlaybackChanged",xp.MediaDevicesError="mediaDevicesError",xp.ParticipantPermissionsChanged="participantPermissionsChanged",xp.SignalConnected="signalConnected",xp.RecordingStatusChanged="recordingStatusChanged",xp.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",xp.EncryptionError="encryptionError",xp.DCBufferStatusChanged="dcBufferStatusChanged",xp.ActiveDeviceChanged="activeDeviceChanged",xp.ChatMessage="chatMessage",xp.LocalTrackSubscribed="localTrackSubscribed",xp.MetricsReceived="metricsReceived",(Sp=Cp||(Cp={})).TrackPublished="trackPublished",Sp.TrackSubscribed="trackSubscribed",Sp.TrackSubscriptionFailed="trackSubscriptionFailed",Sp.TrackUnpublished="trackUnpublished",Sp.TrackUnsubscribed="trackUnsubscribed",Sp.TrackMuted="trackMuted",Sp.TrackUnmuted="trackUnmuted",Sp.LocalTrackPublished="localTrackPublished",Sp.LocalTrackUnpublished="localTrackUnpublished",Sp.LocalTrackCpuConstrained="localTrackCpuConstrained",Sp.LocalSenderCreated="localSenderCreated",Sp.ParticipantMetadataChanged="participantMetadataChanged",Sp.ParticipantNameChanged="participantNameChanged",Sp.DataReceived="dataReceived",Sp.SipDTMFReceived="sipDTMFReceived",Sp.TranscriptionReceived="transcriptionReceived",Sp.IsSpeakingChanged="isSpeakingChanged",Sp.ConnectionQualityChanged="connectionQualityChanged",Sp.TrackStreamStateChanged="trackStreamStateChanged",Sp.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",Sp.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",Sp.TrackCpuConstrained="trackCpuConstrained",Sp.MediaDevicesError="mediaDevicesError",Sp.AudioStreamAcquired="audioStreamAcquired",Sp.ParticipantPermissionsChanged="participantPermissionsChanged",Sp.PCTrackAdded="pcTrackAdded",Sp.AttributesChanged="attributesChanged",Sp.LocalTrackSubscribed="localTrackSubscribed",Sp.ChatMessage="chatMessage",Sp.Active="active",(Ep=Tp||(Tp={})).TransportsCreated="transportsCreated",Ep.Connected="connected",Ep.Disconnected="disconnected",Ep.Resuming="resuming",Ep.Resumed="resumed",Ep.Restarting="restarting",Ep.Restarted="restarted",Ep.SignalResumed="signalResumed",Ep.SignalRestarted="signalRestarted",Ep.Closing="closing",Ep.MediaTrackAdded="mediaTrackAdded",Ep.ActiveSpeakersUpdate="activeSpeakersUpdate",Ep.DataPacketReceived="dataPacketReceived",Ep.RTPVideoMapUpdate="rtpVideoMapUpdate",Ep.DCBufferStatusChanged="dcBufferStatusChanged",Ep.ParticipantUpdate="participantUpdate",Ep.RoomUpdate="roomUpdate",Ep.SpeakersChanged="speakersChanged",Ep.StreamStateChanged="streamStateChanged",Ep.ConnectionQualityUpdate="connectionQualityUpdate",Ep.SubscriptionError="subscriptionError",Ep.SubscriptionPermissionUpdate="subscriptionPermissionUpdate",Ep.RemoteMute="remoteMute",Ep.SubscribedQualityUpdate="subscribedQualityUpdate",Ep.LocalTrackUnpublished="localTrackUnpublished",Ep.LocalTrackSubscribed="localTrackSubscribed",Ep.Offline="offline",Ep.SignalRequestResponse="signalRequestResponse",Ep.SignalConnected="signalConnected",Ep.RoomMoved="roomMoved",(Pp=Ip||(Ip={})).Message="message",Pp.Muted="muted",Pp.Unmuted="unmuted",Pp.Restarted="restarted",Pp.Ended="ended",Pp.Subscribed="subscribed",Pp.Unsubscribed="unsubscribed",Pp.CpuConstrained="cpuConstrained",Pp.UpdateSettings="updateSettings",Pp.UpdateSubscription="updateSubscription",Pp.AudioPlaybackStarted="audioPlaybackStarted",Pp.AudioPlaybackFailed="audioPlaybackFailed",Pp.AudioSilenceDetected="audioSilenceDetected",Pp.VisibilityChanged="visibilityChanged",Pp.VideoDimensionsChanged="videoDimensionsChanged",Pp.VideoPlaybackStarted="videoPlaybackStarted",Pp.VideoPlaybackFailed="videoPlaybackFailed",Pp.ElementAttached="elementAttached",Pp.ElementDetached="elementDetached",Pp.UpstreamPaused="upstreamPaused",Pp.UpstreamResumed="upstreamResumed",Pp.SubscriptionPermissionChanged="subscriptionPermissionChanged",Pp.SubscriptionStatusChanged="subscriptionStatusChanged",Pp.SubscriptionFailed="subscriptionFailed",Pp.TrackProcessorUpdate="trackProcessorUpdate",Pp.AudioTrackFeatureUpdate="audioTrackFeatureUpdate",Pp.TranscriptionReceived="transcriptionReceived",Pp.TimeSyncUpdate="timeSyncUpdate",Pp.PreConnectBufferFlushed="preConnectBufferFlushed";const Fp=/version\/(\d+(\.?_?\d+)+)/i;let Bp;function Vp(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("undefined"==typeof navigator)return;const r=navigator.userAgent.toLowerCase();if(void 0===Bp||t){const e=qp.find(e=>{let{test:t}=e;return t.test(r)});Bp=null==e?void 0:e.describe(r)}return Bp}const qp=[{test:/firefox|iceweasel|fxios/i,describe:e=>({name:"Firefox",version:Hp(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes("fxios")?"iOS":void 0,osVersion:Wp(e)})},{test:/chrom|crios|crmo/i,describe:e=>({name:"Chrome",version:Hp(/(?:chrome|chromium|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes("crios")?"iOS":void 0,osVersion:Wp(e)})},{test:/safari|applewebkit/i,describe:e=>({name:"Safari",version:Hp(Fp,e),os:e.includes("mobile/")?"iOS":"macOS",osVersion:Wp(e)})}];function Hp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const i=t.match(e);return i&&i.length>=r&&i[r]||""}function Wp(e){return e.includes("mac os")?Hp(/\(.+?(\d+_\d+(:?_\d+)?)/,e,1).replace(/_/g,"."):void 0}class $p{}$p.setTimeout=function(){return setTimeout(...arguments)},$p.setInterval=function(){return setInterval(...arguments)},$p.clearTimeout=function(){return clearTimeout(...arguments)},$p.clearInterval=function(){return clearInterval(...arguments)};const Gp=[];var Jp,Kp;(Kp=Jp||(Jp={}))[Kp.LOW=0]="LOW",Kp[Kp.MEDIUM=1]="MEDIUM",Kp[Kp.HIGH=2]="HIGH";class Qp extends eu.EventEmitter{get streamState(){return this._streamState}setStreamState(e){this._streamState=e}constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i;super(),this.attachedElements=[],this.isMuted=!1,this._streamState=Qp.StreamState.Active,this.isInBackground=!1,this._currentBitrate=0,this.log=Wh,this.appVisibilityChangedListener=()=>{this.backgroundTimeout&&clearTimeout(this.backgroundTimeout),"hidden"===document.visibilityState?this.backgroundTimeout=setTimeout(()=>this.handleAppVisibilityChanged(),5e3):this.handleAppVisibilityChanged()},this.log=$h(null!==(i=r.loggerName)&&void 0!==i?i:Uh.Track),this.loggerContextCb=r.loggerContextCb,this.setMaxListeners(100),this.kind=t,this._mediaStreamTrack=e,this._mediaStreamID=e.id,this.source=Qp.Source.Unknown}get logContext(){var e;return Object.assign(Object.assign({},null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this)),nm(this))}get currentBitrate(){return this._currentBitrate}get mediaStreamTrack(){return this._mediaStreamTrack}get mediaStreamID(){return this._mediaStreamID}attach(e){let t="audio";this.kind===Qp.Kind.Video&&(t="video"),0===this.attachedElements.length&&this.kind===Qp.Kind.Video&&this.addAppVisibilityListener(),e||("audio"===t&&(Gp.forEach(t=>{null!==t.parentElement||e||(e=t)}),e&&Gp.splice(Gp.indexOf(e),1)),e||(e=document.createElement(t))),this.attachedElements.includes(e)||this.attachedElements.push(e),Zp(this.mediaStreamTrack,e);const r=e.srcObject.getTracks(),i=r.some(e=>"audio"===e.kind);return e.play().then(()=>{this.emit(i?Ip.AudioPlaybackStarted:Ip.VideoPlaybackStarted)}).catch(t=>{"NotAllowedError"===t.name?this.emit(i?Ip.AudioPlaybackFailed:Ip.VideoPlaybackFailed,t):"AbortError"===t.name?Wh.debug("".concat(i?"audio":"video"," playback aborted, likely due to new play request")):Wh.warn("could not playback ".concat(i?"audio":"video"),t),i&&e&&r.some(e=>"video"===e.kind)&&"NotAllowedError"===t.name&&(e.muted=!0,e.play().catch(()=>{}))}),this.emit(Ip.ElementAttached,e),e}detach(e){try{if(e){Yp(this.mediaStreamTrack,e);const t=this.attachedElements.indexOf(e);return t>=0&&(this.attachedElements.splice(t,1),this.recycleElement(e),this.emit(Ip.ElementDetached,e)),e}const t=[];return this.attachedElements.forEach(e=>{Yp(this.mediaStreamTrack,e),t.push(e),this.recycleElement(e),this.emit(Ip.ElementDetached,e)}),this.attachedElements=[],t}finally{0===this.attachedElements.length&&this.removeAppVisibilityListener()}}stop(){this.stopMonitor(),this._mediaStreamTrack.stop()}enable(){this._mediaStreamTrack.enabled=!0}disable(){this._mediaStreamTrack.enabled=!1}stopMonitor(){this.monitorInterval&&clearInterval(this.monitorInterval),this.timeSyncHandle&&cancelAnimationFrame(this.timeSyncHandle)}updateLoggerOptions(e){e.loggerName&&(this.log=$h(e.loggerName)),e.loggerContextCb&&(this.loggerContextCb=e.loggerContextCb)}recycleElement(e){if(e instanceof HTMLAudioElement){let t=!0;e.pause(),Gp.forEach(e=>{e.parentElement||(t=!1)}),t&&Gp.push(e)}}handleAppVisibilityChanged(){return Qh(this,void 0,void 0,function*(){this.isInBackground="hidden"===document.visibilityState,this.isInBackground||this.kind!==Qp.Kind.Video||setTimeout(()=>this.attachedElements.forEach(e=>e.play().catch(()=>{})),0)})}addAppVisibilityListener(){wg()?(this.isInBackground="hidden"===document.visibilityState,document.addEventListener("visibilitychange",this.appVisibilityChangedListener)):this.isInBackground=!1}removeAppVisibilityListener(){wg()&&document.removeEventListener("visibilitychange",this.appVisibilityChangedListener)}}function Zp(e,t){let r,i;r=t.srcObject instanceof MediaStream?t.srcObject:new MediaStream,i="audio"===e.kind?r.getAudioTracks():r.getVideoTracks(),i.includes(e)||(i.forEach(e=>{r.removeTrack(e)}),r.addTrack(e)),fg()&&t instanceof HTMLVideoElement||(t.autoplay=!0),t.muted=0===r.getAudioTracks().length,t instanceof HTMLVideoElement&&(t.playsInline=!0),t.srcObject!==r&&(t.srcObject=r,(fg()||vg())&&t instanceof HTMLVideoElement&&setTimeout(()=>{t.srcObject=r,t.play().catch(()=>{})},0))}function Yp(e,t){if(t.srcObject instanceof MediaStream){const r=t.srcObject;r.removeTrack(e),r.getTracks().length>0?t.srcObject=r:t.srcObject=null}}!function(e){let t;var r;let i;var n;let o;var a;(r=t=e.Kind||(e.Kind={})).Audio="audio",r.Video="video",r.Unknown="unknown",(n=i=e.Source||(e.Source={})).Camera="camera",n.Microphone="microphone",n.ScreenShare="screen_share",n.ScreenShareAudio="screen_share_audio",n.Unknown="unknown",(a=o=e.StreamState||(e.StreamState={})).Active="active",a.Paused="paused",a.Unknown="unknown",e.kindToProto=function(e){switch(e){case t.Audio:return zc.AUDIO;case t.Video:return zc.VIDEO;default:return zc.DATA}},e.kindFromProto=function(e){switch(e){case zc.AUDIO:return t.Audio;case zc.VIDEO:return t.Video;default:return t.Unknown}},e.sourceToProto=function(e){switch(e){case i.Camera:return Fc.CAMERA;case i.Microphone:return Fc.MICROPHONE;case i.ScreenShare:return Fc.SCREEN_SHARE;case i.ScreenShareAudio:return Fc.SCREEN_SHARE_AUDIO;default:return Fc.UNKNOWN}},e.sourceFromProto=function(e){switch(e){case Fc.CAMERA:return i.Camera;case Fc.MICROPHONE:return i.Microphone;case Fc.SCREEN_SHARE:return i.ScreenShare;case Fc.SCREEN_SHARE_AUDIO:return i.ScreenShareAudio;default:return i.Unknown}},e.streamStateFromProto=function(e){switch(e){case Ud.ACTIVE:return o.Active;case Ud.PAUSED:return o.Paused;default:return o.Unknown}}}(Qp||(Qp={}));class Xp{constructor(e,t,r,i,n){if("object"==typeof e)this.width=e.width,this.height=e.height,this.aspectRatio=e.aspectRatio,this.encoding={maxBitrate:e.maxBitrate,maxFramerate:e.maxFramerate,priority:e.priority};else{if(void 0===t||void 0===r)throw new TypeError("Unsupported options: provide at least width, height and maxBitrate");this.width=e,this.height=t,this.aspectRatio=e/t,this.encoding={maxBitrate:r,maxFramerate:i,priority:n}}}get resolution(){return{width:this.width,height:this.height,frameRate:this.encoding.maxFramerate,aspectRatio:this.aspectRatio}}}const eg=["vp8","h264"],tg=["vp8","h264","vp9","av1","h265"],rg=function(e){return!!eg.find(t=>t===e)};var ig,ng,og,ag;(ng=ig||(ig={}))[ng.PREFER_REGRESSION=0]="PREFER_REGRESSION",ng[ng.SIMULCAST=1]="SIMULCAST",ng[ng.REGRESSION=2]="REGRESSION",(ag=og||(og={})).telephone={maxBitrate:12e3},ag.speech={maxBitrate:24e3},ag.music={maxBitrate:48e3},ag.musicStereo={maxBitrate:64e3},ag.musicHighQuality={maxBitrate:96e3},ag.musicHighQualityStereo={maxBitrate:128e3};const sg={h90:new Xp(160,90,9e4,20),h180:new Xp(320,180,16e4,20),h216:new Xp(384,216,18e4,20),h360:new Xp(640,360,45e4,20),h540:new Xp(960,540,8e5,25),h720:new Xp(1280,720,17e5,30),h1080:new Xp(1920,1080,3e6,30),h1440:new Xp(2560,1440,5e6,30),h2160:new Xp(3840,2160,8e6,30)},lg={h120:new Xp(160,120,7e4,20),h180:new Xp(240,180,125e3,20),h240:new Xp(320,240,14e4,20),h360:new Xp(480,360,33e4,20),h480:new Xp(640,480,5e5,20),h540:new Xp(720,540,6e5,25),h720:new Xp(960,720,13e5,30),h1080:new Xp(1440,1080,23e5,30),h1440:new Xp(1920,1440,38e5,30)},cg={h360fps3:new Xp(640,360,2e5,3,"medium"),h360fps15:new Xp(640,360,4e5,15,"medium"),h720fps5:new Xp(1280,720,8e5,5,"medium"),h720fps15:new Xp(1280,720,15e5,15,"medium"),h720fps30:new Xp(1280,720,2e6,30,"medium"),h1080fps15:new Xp(1920,1080,25e5,15,"medium"),h1080fps30:new Xp(1920,1080,5e6,30,"medium"),original:new Xp(0,0,7e6,30,"medium")},dg="https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension";function hg(e){return Qh(this,void 0,void 0,function*(){return new Promise(t=>$p.setTimeout(t,e))})}function ug(){return"addTransceiver"in RTCPeerConnection.prototype}function pg(){return"addTrack"in RTCPeerConnection.prototype}function gg(e){return"av1"===e||"vp9"===e}function mg(e){return!(!document||bg())&&(e||(e=document.createElement("audio")),"setSinkId"in e)}function vg(){var e;return"Firefox"===(null===(e=Vp())||void 0===e?void 0:e.name)}function fg(){var e;return"Safari"===(null===(e=Vp())||void 0===e?void 0:e.name)}function bg(){const e=Vp();return"Safari"===(null==e?void 0:e.name)||"iOS"===(null==e?void 0:e.os)}function kg(){var e,t;return!!wg()&&(null!==(t=null===(e=navigator.userAgentData)||void 0===e?void 0:e.mobile)&&void 0!==t?t:/Tablet|iPad|Mobile|Android|BlackBerry/.test(navigator.userAgent))}function wg(){return"undefined"!=typeof document}function yg(){return"ReactNative"==navigator.product}function xg(e){return e.hostname.endsWith(".livekit.cloud")||e.hostname.endsWith(".livekit.run")}function Cg(){if(global&&global.LiveKitReactNativeGlobal)return global.LiveKitReactNativeGlobal}function Sg(){if(!yg())return;let e=Cg();return e?e.platform:void 0}function Tg(){if(wg())return window.devicePixelRatio;if(yg()){let e=Cg();if(e)return e.devicePixelRatio}return 1}function Eg(e,t){const r=e.split("."),i=t.split("."),n=Math.min(r.length,i.length);for(let o=0;o<n;++o){const e=parseInt(r[o],10),t=parseInt(i[o],10);if(e>t)return 1;if(e<t)return-1;if(o===n-1&&e===t)return 0}return""===e&&""!==t?-1:""===t?1:r.length==i.length?0:r.length<i.length?-1:1}function Ig(e){for(const t of e)t.target.handleResize(t)}function Pg(e){for(const t of e)t.target.handleVisibilityChanged(t)}let _g=null;const Mg=()=>(_g||(_g=new ResizeObserver(Ig)),_g);let Rg=null;const Ag=()=>(Rg||(Rg=new IntersectionObserver(Pg,{root:null,rootMargin:"0px"})),Rg);function Og(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=document.createElement("canvas");n.width=e,n.height=t;const o=n.getContext("2d");null==o||o.fillRect(0,0,n.width,n.height),i&&o&&(o.beginPath(),o.arc(e/2,t/2,50,0,2*Math.PI,!0),o.closePath(),o.fillStyle="grey",o.fill());const a=n.captureStream(),[s]=a.getTracks();if(!s)throw Error("Could not get empty media stream video track");return s.enabled=r,s}let Dg;function Lg(){if(!Dg){const e=new AudioContext,t=e.createOscillator(),r=e.createGain();r.gain.setValueAtTime(0,0);const i=e.createMediaStreamDestination();if(t.connect(r),r.connect(i),t.start(),[Dg]=i.stream.getAudioTracks(),!Dg)throw Error("Could not get empty media stream audio track");Dg.enabled=!1}return Dg.clone()}class Ng{get isResolved(){return this._isResolved}constructor(e,t){this._isResolved=!1,this.onFinally=t,this.promise=new Promise((t,r)=>Qh(this,void 0,void 0,function*(){this.resolve=t,this.reject=r,e&&(yield e(t,r))})).finally(()=>{var e;this._isResolved=!0,null===(e=this.onFinally)||void 0===e||e.call(this)})}}function jg(e){if("string"==typeof e||"number"==typeof e)return e;if(Array.isArray(e))return e[0];if(void 0!==e.exact)return Array.isArray(e.exact)?e.exact[0]:e.exact;if(void 0!==e.ideal)return Array.isArray(e.ideal)?e.ideal[0]:e.ideal;throw Error("could not unwrap constraint")}function Ug(e){return e.startsWith("ws")?e.replace(/^(ws)/,"http"):e}function zg(e){switch(e.reason){case pp.LeaveRequest:return e.context;case pp.Cancelled:return Hc.CLIENT_INITIATED;case pp.NotAllowed:return Hc.USER_REJECTED;case pp.ServerUnreachable:return Hc.JOIN_FAILURE;default:return Hc.UNKNOWN_REASON}}function Fg(e){return void 0!==e?Number(e):void 0}function Bg(e){return void 0!==e?BigInt(e):void 0}function Vg(e){return!!e&&!(e instanceof MediaStreamTrack)&&e.isLocal}function qg(e){return!!e&&e.kind==Qp.Kind.Audio}function Hg(e){return!!e&&e.kind==Qp.Kind.Video}function Wg(e){return Vg(e)&&Hg(e)}function $g(e){return Vg(e)&&qg(e)}function Gg(e){return!!e&&!e.isLocal}function Jg(e){return!!e&&!e.isLocal}function Kg(e){return Gg(e)&&Hg(e)}function Qg(e,t,r){var i,n,o,a;const{optionsWithoutProcessor:s,audioProcessor:l,videoProcessor:c}=om(null!=e?e:{}),d=null==t?void 0:t.processor,h=null==r?void 0:r.processor,u=null!=s?s:{};return!0===u.audio&&(u.audio={}),!0===u.video&&(u.video={}),u.audio&&(Zg(u.audio,t),null!==(i=(o=u.audio).deviceId)&&void 0!==i||(o.deviceId={ideal:"default"}),(l||d)&&(u.audio.processor=null!=l?l:d)),u.video&&(Zg(u.video,r),null!==(n=(a=u.video).deviceId)&&void 0!==n||(a.deviceId={ideal:"default"}),(c||h)&&(u.video.processor=null!=c?c:h)),u}function Zg(e,t){return Object.keys(t).forEach(r=>{void 0===e[r]&&(e[r]=t[r])}),e}function Yg(e){var t,r,i,n;const o={};if(e.video)if("object"==typeof e.video){const r={},n=r,a=e.video;Object.keys(a).forEach(e=>{"resolution"===e?Zg(n,a.resolution):n[e]=a[e]}),o.video=r,null!==(t=(i=o.video).deviceId)&&void 0!==t||(i.deviceId={ideal:"default"})}else o.video=!!e.video&&{deviceId:{ideal:"default"}};else o.video=!1;return e.audio?"object"==typeof e.audio?(o.audio=e.audio,null!==(r=(n=o.audio).deviceId)&&void 0!==r||(n.deviceId={ideal:"default"})):o.audio={deviceId:{ideal:"default"}}:o.audio=!1,o}function Xg(){var e;const t="undefined"!=typeof window&&(window.AudioContext||window.webkitAudioContext);if(t){const r=new t({latencyHint:"interactive"});if("suspended"===r.state&&"undefined"!=typeof window&&(null===(e=window.document)||void 0===e?void 0:e.body)){const e=()=>Qh(this,void 0,void 0,function*(){var t;try{"suspended"===r.state&&(yield r.resume())}catch(yy){}finally{null===(t=window.document.body)||void 0===t||t.removeEventListener("click",e)}});r.addEventListener("statechange",()=>{var t;"closed"===r.state&&(null===(t=window.document.body)||void 0===t||t.removeEventListener("click",e))}),window.document.body.addEventListener("click",e)}return r}}function em(e){return"audioinput"===e?Qp.Source.Microphone:"videoinput"===e?Qp.Source.Camera:Qp.Source.Unknown}function tm(e){return e===Qp.Source.Microphone?"audioinput":e===Qp.Source.Camera?"videoinput":void 0}function rm(e){return e.split("/")[1].toLowerCase()}function im(e){const t=[];return e.forEach(e=>{void 0!==e.track&&t.push(new Jd({cid:e.track.mediaStreamID,track:e.trackInfo}))}),t}function nm(e){return"mediaStreamTrack"in e?{trackID:e.sid,source:e.source,muted:e.isMuted,enabled:e.mediaStreamTrack.enabled,kind:e.kind,streamID:e.mediaStreamID,streamTrackID:e.mediaStreamTrack.id}:{trackID:e.trackSid,enabled:e.isEnabled,muted:e.isMuted,trackInfo:Object.assign({mimeType:e.mimeType,name:e.trackName,encrypted:e.isEncrypted,kind:e.kind,source:e.source},e.track?nm(e.track):{})}}function om(e){const t=Object.assign({},e);let r,i;return"object"==typeof t.audio&&t.audio.processor&&(r=t.audio.processor,t.audio=Object.assign(Object.assign({},t.audio),{processor:void 0})),"object"==typeof t.video&&t.video.processor&&(i=t.video.processor,t.video=Object.assign(Object.assign({},t.video),{processor:void 0})),{audioProcessor:r,videoProcessor:i,optionsWithoutProcessor:(n=t,void 0===n?n:"function"==typeof structuredClone?"object"==typeof n&&null!==n?structuredClone(Object.assign({},n)):structuredClone(n):JSON.parse(JSON.stringify(n)))};var n}function am(e,t){return e.width*e.height<t.width*t.height}class sm extends eu.EventEmitter{constructor(e,t){super(),this.decryptDataRequests=new Map,this.encryptDataRequests=new Map,this.onWorkerMessage=e=>{var t,r;const{kind:i,data:n}=e.data;switch(i){case"error":Wh.error(n.error.message),this.emit(dp.EncryptionError,n.error);break;case"initAck":n.enabled&&this.keyProvider.getKeys().forEach(e=>{this.postKey(e)});break;case"enable":if(n.enabled&&this.keyProvider.getKeys().forEach(e=>{this.postKey(e)}),this.encryptionEnabled!==n.enabled&&n.participantIdentity===(null===(t=this.room)||void 0===t?void 0:t.localParticipant.identity))this.emit(dp.ParticipantEncryptionStatusChanged,n.enabled,this.room.localParticipant),this.encryptionEnabled=n.enabled;else if(n.participantIdentity){const e=null===(r=this.room)||void 0===r?void 0:r.getParticipantByIdentity(n.participantIdentity);if(!e)throw TypeError("couldn't set encryption status, participant not found".concat(n.participantIdentity));this.emit(dp.ParticipantEncryptionStatusChanged,n.enabled,e)}break;case"ratchetKey":this.keyProvider.emit(sp.KeyRatcheted,n.ratchetResult,n.participantIdentity,n.keyIndex);break;case"decryptDataResponse":const e=this.decryptDataRequests.get(n.uuid);(null==e?void 0:e.resolve)&&e.resolve(n);break;case"encryptDataResponse":const i=this.encryptDataRequests.get(n.uuid);(null==i?void 0:i.resolve)&&i.resolve(n)}},this.onWorkerError=e=>{Wh.error("e2ee worker encountered an error:",{error:e.error}),this.emit(dp.EncryptionError,e.error)},this.keyProvider=e.keyProvider,this.worker=e.worker,this.encryptionEnabled=!1,this.dataChannelEncryptionEnabled=t}get isEnabled(){return this.encryptionEnabled}get isDataChannelEncryptionEnabled(){return this.isEnabled&&this.dataChannelEncryptionEnabled}setup(e){if(!(void 0!==window.RTCRtpSender&&void 0!==window.RTCRtpSender.prototype.createEncodedStreams||_p()))throw new Ap("tried to setup end-to-end encryption on an unsupported browser");if(Wh.info("setting up e2ee"),e!==this.room){this.room=e,this.setupEventListeners(e,this.keyProvider);const t={kind:"init",data:{keyProviderOptions:this.keyProvider.getOptions(),loglevel:Gh.getLevel()}};this.worker&&(Wh.info("initializing worker",{worker:this.worker}),this.worker.onmessage=this.onWorkerMessage,this.worker.onerror=this.onWorkerError,this.worker.postMessage(t))}}setParticipantCryptorEnabled(e,t){Wh.debug("set e2ee to ".concat(e," for participant ").concat(t)),this.postEnable(e,t)}setSifTrailer(e){e&&0!==e.length?this.postSifTrailer(e):Wh.warn("ignoring server sent trailer as it's empty")}setupEngine(e){e.on(Tp.RTPVideoMapUpdate,e=>{this.postRTPMap(e)})}setupEventListeners(e,t){e.on(yp.TrackPublished,(e,t)=>this.setParticipantCryptorEnabled(e.trackInfo.encryption!==td.NONE,t.identity)),e.on(yp.ConnectionStateChanged,t=>{t===Rv.Connected&&e.remoteParticipants.forEach(e=>{e.trackPublications.forEach(t=>{this.setParticipantCryptorEnabled(t.trackInfo.encryption!==td.NONE,e.identity)})})}).on(yp.TrackUnsubscribed,(e,t,r)=>{var i;const n={kind:"removeTransform",data:{participantIdentity:r.identity,trackId:e.mediaStreamID}};null===(i=this.worker)||void 0===i||i.postMessage(n)}).on(yp.TrackSubscribed,(e,t,r)=>{this.setupE2EEReceiver(e,r.identity,t.trackInfo)}).on(yp.SignalConnected,()=>{if(!this.room)throw new TypeError("expected room to be present on signal connect");t.getKeys().forEach(e=>{this.postKey(e)}),this.setParticipantCryptorEnabled(this.room.localParticipant.isE2EEEnabled,this.room.localParticipant.identity)}),e.localParticipant.on(Cp.LocalSenderCreated,(e,t)=>Qh(this,void 0,void 0,function*(){this.setupE2EESender(t,e)})),e.localParticipant.on(Cp.LocalTrackPublished,e=>{if(!Hg(e.track)||!bg())return;const t={kind:"updateCodec",data:{trackId:e.track.mediaStreamID,codec:rm(e.trackInfo.codecs[0].mimeType),participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(t)}),t.on(sp.SetKey,e=>this.postKey(e)).on(sp.RatchetRequest,(e,t)=>this.postRatchetRequest(e,t))}encryptData(e){return Qh(this,void 0,void 0,function*(){if(!this.worker)throw Error("could not encrypt data, worker is missing");const t=crypto.randomUUID(),r={kind:"encryptDataRequest",data:{uuid:t,payload:e,participantIdentity:this.room.localParticipant.identity}},i=new Ng;return i.onFinally=()=>{this.encryptDataRequests.delete(t)},this.encryptDataRequests.set(t,i),this.worker.postMessage(r),i.promise})}handleEncryptedData(e,t,r,i){if(!this.worker)throw Error("could not handle encrypted data, worker is missing");const n=crypto.randomUUID(),o={kind:"decryptDataRequest",data:{uuid:n,payload:e,iv:t,participantIdentity:r,keyIndex:i}},a=new Ng;return a.onFinally=()=>{this.decryptDataRequests.delete(n)},this.decryptDataRequests.set(n,a),this.worker.postMessage(o),a.promise}postRatchetRequest(e,t){if(!this.worker)throw Error("could not ratchet key, worker is missing");const r={kind:"ratchetRequest",data:{participantIdentity:e,keyIndex:t}};this.worker.postMessage(r)}postKey(e){let{key:t,participantIdentity:r,keyIndex:i}=e;var n;if(!this.worker)throw Error("could not set key, worker is missing");const o={kind:"setKey",data:{participantIdentity:r,isPublisher:r===(null===(n=this.room)||void 0===n?void 0:n.localParticipant.identity),key:t,keyIndex:i}};this.worker.postMessage(o)}postEnable(e,t){if(!this.worker)throw new ReferenceError("failed to enable e2ee, worker is not ready");{const r={kind:"enable",data:{enabled:e,participantIdentity:t}};this.worker.postMessage(r)}}postRTPMap(e){var t;if(!this.worker)throw TypeError("could not post rtp map, worker is missing");if(!(null===(t=this.room)||void 0===t?void 0:t.localParticipant.identity))throw TypeError("could not post rtp map, local participant identity is missing");const r={kind:"setRTPMap",data:{map:e,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(r)}postSifTrailer(e){if(!this.worker)throw Error("could not post SIF trailer, worker is missing");const t={kind:"setSifTrailer",data:{trailer:e}};this.worker.postMessage(t)}setupE2EEReceiver(e,t,r){if(e.receiver){if(!(null==r?void 0:r.mimeType)||""===r.mimeType)throw new TypeError("MimeType missing from trackInfo, cannot set up E2EE cryptor");this.handleReceiver(e.receiver,e.mediaStreamID,t,"video"===e.kind?rm(r.mimeType):void 0)}}setupE2EESender(e,t){Vg(e)&&t?this.handleSender(t,e.mediaStreamID,void 0):t||Wh.warn("early return because sender is not ready")}handleReceiver(e,t,r,i){return Qh(this,void 0,void 0,function*(){if(this.worker){if(_p()){const n={kind:"decode",participantIdentity:r,trackId:t,codec:i};e.transform=new RTCRtpScriptTransform(this.worker,n)}else{if(ap in e&&i){const e={kind:"updateCodec",data:{trackId:t,codec:i,participantIdentity:r}};return void this.worker.postMessage(e)}let n=e.writableStream,o=e.readableStream;if(!n||!o){const t=e.createEncodedStreams();e.writableStream=t.writable,n=t.writable,e.readableStream=t.readable,o=t.readable}const a={kind:"decode",data:{readableStream:o,writableStream:n,trackId:t,codec:i,participantIdentity:r,isReuse:ap in e}};this.worker.postMessage(a,[o,n])}e[ap]=!0}})}handleSender(e,t,r){var i;if(!(ap in e)&&this.worker){if(!(null===(i=this.room)||void 0===i?void 0:i.localParticipant.identity)||""===this.room.localParticipant.identity)throw TypeError("local identity needs to be known in order to set up encrypted sender");if(_p()){Wh.info("initialize script transform");const i={kind:"encode",participantIdentity:this.room.localParticipant.identity,trackId:t,codec:r};e.transform=new RTCRtpScriptTransform(this.worker,i)}else{Wh.info("initialize encoded streams");const i=e.createEncodedStreams(),n={kind:"encode",data:{readableStream:i.readable,writableStream:i.writable,codec:r,trackId:t,participantIdentity:this.room.localParticipant.identity,isReuse:!1}};this.worker.postMessage(n,[i.readable,i.writable])}e[ap]=!0}}}const lm="default";class cm{constructor(){this._previousDevices=[]}static getInstance(){return void 0===this.instance&&(this.instance=new cm),this.instance}get previousDevices(){return this._previousDevices}getDevices(e){return Qh(this,arguments,void 0,function(e){var t=this;let r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var i;if((null===(i=cm.userMediaPromiseMap)||void 0===i?void 0:i.size)>0){Wh.debug("awaiting getUserMedia promise");try{e?yield cm.userMediaPromiseMap.get(e):yield Promise.all(cm.userMediaPromiseMap.values())}catch(yy){Wh.warn("error waiting for media permissons")}}let n=yield navigator.mediaDevices.enumerateDevices();if(r&&(!fg()||!t.hasDeviceInUse(e))&&(0===n.filter(t=>t.kind===e).length||n.some(t=>{const r=""===t.label,i=!e||t.kind===e;return r&&i}))){const t={video:"audioinput"!==e&&"audiooutput"!==e,audio:"videoinput"!==e&&{deviceId:{ideal:"default"}}},r=yield navigator.mediaDevices.getUserMedia(t);n=yield navigator.mediaDevices.enumerateDevices(),r.getTracks().forEach(e=>{e.stop()})}return t._previousDevices=n,e&&(n=n.filter(t=>t.kind===e)),n}()})}normalizeDeviceId(e,t,r){return Qh(this,void 0,void 0,function*(){if(t!==lm)return t;const i=yield this.getDevices(e),n=i.find(e=>e.deviceId===lm);if(!n)return void Wh.warn("could not reliably determine default device");const o=i.find(e=>e.deviceId!==lm&&e.groupId===(null!=r?r:n.groupId));if(o)return null==o?void 0:o.deviceId;Wh.warn("could not reliably determine default device")})}hasDeviceInUse(e){return e?cm.userMediaPromiseMap.has(e):cm.userMediaPromiseMap.size>0}}var dm,hm;cm.mediaDeviceKinds=["audioinput","audiooutput","videoinput"],cm.userMediaPromiseMap=new Map,(hm=dm||(dm={}))[hm.WAITING=0]="WAITING",hm[hm.RUNNING=1]="RUNNING",hm[hm.COMPLETED=2]="COMPLETED";class um{constructor(){this.pendingTasks=new Map,this.taskMutex=new il,this.nextTaskIndex=0}run(e){return Qh(this,void 0,void 0,function*(){const t={id:this.nextTaskIndex++,enqueuedAt:Date.now(),status:dm.WAITING};this.pendingTasks.set(t.id,t);const r=yield this.taskMutex.lock();try{return t.executedAt=Date.now(),t.status=dm.RUNNING,yield e()}finally{t.status=dm.COMPLETED,this.pendingTasks.delete(t.id),r()}})}flush(){return Qh(this,void 0,void 0,function*(){return this.run(()=>Qh(this,void 0,void 0,function*(){}))})}snapshot(){return Array.from(this.pendingTasks.values())}}function pm(e,t){return e.pathname="".concat(function(e){return e.endsWith("/")?e:"".concat(e,"/")}(e.pathname)).concat(t),e.toString()}const gm=["syncState","trickle","offer","answer","simulate","leave"];var mm,vm;(vm=mm||(mm={}))[vm.CONNECTING=0]="CONNECTING",vm[vm.CONNECTED=1]="CONNECTED",vm[vm.RECONNECTING=2]="RECONNECTING",vm[vm.DISCONNECTING=3]="DISCONNECTING",vm[vm.DISCONNECTED=4]="DISCONNECTED";class fm{get currentState(){return this.state}get isDisconnected(){return this.state===mm.DISCONNECTING||this.state===mm.DISCONNECTED}get isEstablishingConnection(){return this.state===mm.CONNECTING||this.state===mm.RECONNECTING}getNextRequestId(){return this._requestId+=1,this._requestId}constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var r;this.rtt=0,this.state=mm.DISCONNECTED,this.log=Wh,this._requestId=0,this.resetCallbacks=()=>{this.onAnswer=void 0,this.onLeave=void 0,this.onLocalTrackPublished=void 0,this.onLocalTrackUnpublished=void 0,this.onNegotiateRequested=void 0,this.onOffer=void 0,this.onRemoteMuteChanged=void 0,this.onSubscribedQualityUpdate=void 0,this.onTokenRefresh=void 0,this.onTrickle=void 0,this.onClose=void 0},this.log=$h(null!==(r=t.loggerName)&&void 0!==r?r:Uh.Signal),this.loggerContextCb=t.loggerContextCb,this.useJSON=e,this.requestQueue=new um,this.queuedRequests=[],this.closingLock=new il,this.connectionLock=new il,this.state=mm.DISCONNECTED}get logContext(){var e,t;return null!==(t=null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this))&&void 0!==t?t:{}}join(e,t,r,i){return Qh(this,void 0,void 0,function*(){return this.state=mm.CONNECTING,this.options=r,yield this.connect(e,t,r,i)})}reconnect(e,t,r,i){return Qh(this,void 0,void 0,function*(){if(this.options)return this.state=mm.RECONNECTING,this.clearPingInterval(),yield this.connect(e,t,Object.assign(Object.assign({},this.options),{reconnect:!0,sid:r,reconnectReason:i}));this.log.warn("attempted to reconnect without signal options being set, ignoring",this.logContext)})}connect(e,t,r,i){this.connectOptions=r;const n=function(e,t,r){var i;const n=new URLSearchParams;return n.set("access_token",e),r.reconnect&&(n.set("reconnect","1"),r.sid&&n.set("sid",r.sid)),n.set("auto_subscribe",r.autoSubscribe?"1":"0"),n.set("sdk",yg()?"reactnative":"js"),n.set("version",t.version),n.set("protocol",t.protocol.toString()),t.deviceModel&&n.set("device_model",t.deviceModel),t.os&&n.set("os",t.os),t.osVersion&&n.set("os_version",t.osVersion),t.browser&&n.set("browser",t.browser),t.browserVersion&&n.set("browser_version",t.browserVersion),r.adaptiveStream&&n.set("adaptive_stream","1"),r.reconnectReason&&n.set("reconnect_reason",r.reconnectReason.toString()),(null===(i=navigator.connection)||void 0===i?void 0:i.type)&&n.set("network",navigator.connection.type),n}(t,function(){var e;const t=new Sd({sdk:Td.JS,protocol:16,version:"2.15.8"});return yg()&&(t.os=null!==(e=Sg())&&void 0!==e?e:""),t}(),r),o=function(e,t){const r=new URL(function(e){return e.startsWith("http")?e.replace(/^(http)/,"ws"):e}(e));return t.forEach((e,t)=>{r.searchParams.set(t,e)}),pm(r,"rtc")}(e,n),a=pm(new URL(Ug(o)),"validate");return new Promise((e,t)=>Qh(this,void 0,void 0,function*(){const n=yield this.connectionLock.lock();try{const n=()=>Qh(this,void 0,void 0,function*(){this.close(),clearTimeout(s),t(new Rp("room connection has been cancelled (signal)",pp.Cancelled))}),s=setTimeout(()=>{this.close(),t(new Rp("room connection has timed out (signal)",pp.ServerUnreachable))},r.websocketTimeout);(null==i?void 0:i.aborted)&&n(),null==i||i.addEventListener("abort",n);const l=new URL(o);l.searchParams.has("access_token")&&l.searchParams.set("access_token","<redacted>"),this.log.debug("connecting to ".concat(l),Object.assign({reconnect:r.reconnect,reconnectReason:r.reconnectReason},this.logContext)),this.ws&&(yield this.close(!1)),this.ws=new WebSocket(o),this.ws.binaryType="arraybuffer",this.ws.onopen=()=>{clearTimeout(s)},this.ws.onerror=e=>Qh(this,void 0,void 0,function*(){if(this.state===mm.CONNECTED)this.handleWSError(e);else{this.state=mm.DISCONNECTED,clearTimeout(s);try{const r=yield fetch(a);if(r.status.toFixed(0).startsWith("4")){const e=yield r.text();t(new Rp(e,pp.NotAllowed,r.status))}else t(new Rp("Encountered unknown websocket error during connection: ".concat(e.toString()),pp.InternalError,r.status))}catch(yy){t(new Rp(yy instanceof Error?yy.message:"server was not reachable",pp.ServerUnreachable))}}}),this.ws.onmessage=o=>Qh(this,void 0,void 0,function*(){var a,s,l;let c;if("string"==typeof o.data){const e=JSON.parse(o.data);c=Bd.fromJson(e,{ignoreUnknownFields:!0})}else{if(!(o.data instanceof ArrayBuffer))return void this.log.error("could not decode websocket message: ".concat(typeof o.data),this.logContext);c=Bd.fromBinary(new Uint8Array(o.data))}if(this.state!==mm.CONNECTED){let o=!1;if("join"===(null===(a=c.message)||void 0===a?void 0:a.case)?(this.state=mm.CONNECTED,null==i||i.removeEventListener("abort",n),this.pingTimeoutDuration=c.message.value.pingTimeout,this.pingIntervalDuration=c.message.value.pingInterval,this.pingTimeoutDuration&&this.pingTimeoutDuration>0&&(this.log.debug("ping config",Object.assign(Object.assign({},this.logContext),{timeout:this.pingTimeoutDuration,interval:this.pingIntervalDuration})),this.startPingInterval()),e(c.message.value)):this.state===mm.RECONNECTING&&"leave"!==c.message.case?(this.state=mm.CONNECTED,null==i||i.removeEventListener("abort",n),this.startPingInterval(),"reconnect"===(null===(s=c.message)||void 0===s?void 0:s.case)?e(c.message.value):(this.log.debug("declaring signal reconnected without reconnect response received",this.logContext),e(void 0),o=!0)):this.isEstablishingConnection&&"leave"===c.message.case?t(new Rp("Received leave request while trying to (re)connect",pp.LeaveRequest,void 0,c.message.value.reason)):r.reconnect||t(new Rp("did not receive join response, got ".concat(null===(l=c.message)||void 0===l?void 0:l.case," instead"),pp.InternalError)),!o)return}this.signalLatency&&(yield hg(this.signalLatency)),this.handleSignalResponse(c)}),this.ws.onclose=e=>{this.isEstablishingConnection&&t(new Rp("Websocket got closed during a (re)connection attempt",pp.InternalError)),this.log.warn("websocket closed",Object.assign(Object.assign({},this.logContext),{reason:e.reason,code:e.code,wasClean:e.wasClean,state:this.state})),this.handleOnClose(e.reason)}}finally{n()}}))}close(){return Qh(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){const r=yield e.closingLock.lock();try{if(e.clearPingInterval(),t&&(e.state=mm.DISCONNECTING),e.ws){e.ws.onmessage=null,e.ws.onopen=null,e.ws.onclose=null;const t=new Promise(t=>{e.ws?e.ws.onclose=()=>{t()}:t()});e.ws.readyState<e.ws.CLOSING&&(e.ws.close(),yield Promise.race([t,hg(250)])),e.ws=void 0}}finally{t&&(e.state=mm.DISCONNECTED),r()}}()})}sendOffer(e,t){this.log.debug("sending offer",Object.assign(Object.assign({},this.logContext),{offerSdp:e.sdp})),this.sendRequest({case:"offer",value:km(e,t)})}sendAnswer(e,t){return this.log.debug("sending answer",Object.assign(Object.assign({},this.logContext),{answerSdp:e.sdp})),this.sendRequest({case:"answer",value:km(e,t)})}sendIceCandidate(e,t){return this.log.debug("sending ice candidate",Object.assign(Object.assign({},this.logContext),{candidate:e})),this.sendRequest({case:"trickle",value:new Hd({candidateInit:JSON.stringify(e),target:t})})}sendMuteTrack(e,t){return this.sendRequest({case:"mute",value:new Wd({sid:e,muted:t})})}sendAddTrack(e){return this.sendRequest({case:"addTrack",value:e})}sendUpdateLocalMetadata(e,t){return Qh(this,arguments,void 0,function(e,t){var r=this;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){const n=r.getNextRequestId();return yield r.sendRequest({case:"updateMetadata",value:new oh({requestId:n,metadata:e,name:t,attributes:i})}),n}()})}sendUpdateTrackSettings(e){this.sendRequest({case:"trackSetting",value:e})}sendUpdateSubscription(e){return this.sendRequest({case:"subscription",value:e})}sendSyncState(e){return this.sendRequest({case:"syncState",value:e})}sendUpdateVideoLayers(e,t){return this.sendRequest({case:"updateLayers",value:new nh({trackSid:e,layers:t})})}sendUpdateSubscriptionPermissions(e,t){return this.sendRequest({case:"subscriptionPermission",value:new bh({allParticipants:e,trackPermissions:t})})}sendSimulateScenario(e){return this.sendRequest({case:"simulate",value:e})}sendPing(){return Promise.all([this.sendRequest({case:"ping",value:Cl.parse(Date.now())}),this.sendRequest({case:"pingReq",value:new Th({timestamp:Cl.parse(Date.now()),rtt:Cl.parse(this.rtt)})})])}sendUpdateLocalAudioTrack(e,t){return this.sendRequest({case:"updateAudioTrack",value:new eh({trackSid:e,features:t})})}sendLeave(){return this.sendRequest({case:"leave",value:new rh({reason:Hc.CLIENT_INITIATED,action:ih.DISCONNECT})})}sendRequest(e){return Qh(this,arguments,void 0,function(e){var t=this;let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function*(){const i=!r&&!function(e){const t=gm.indexOf(e.case)>=0;return Wh.trace("request allowed to bypass queue:",{canPass:t,req:e}),t}(e);if(i&&t.state===mm.RECONNECTING)return void t.queuedRequests.push(()=>Qh(t,void 0,void 0,function*(){yield this.sendRequest(e,!0)}));if(r||(yield t.requestQueue.flush()),t.signalLatency&&(yield hg(t.signalLatency)),t.isDisconnected)return void t.log.debug("skipping signal request (type: ".concat(e.case,") - SignalClient disconnected"));if(!t.ws||t.ws.readyState!==t.ws.OPEN)return void t.log.error("cannot send signal request before connected, type: ".concat(null==e?void 0:e.case),t.logContext);const n=new Fd({message:e});try{t.useJSON?t.ws.send(n.toJsonString()):t.ws.send(n.toBinary())}catch(yy){t.log.error("error sending signal message",Object.assign(Object.assign({},t.logContext),{error:yy}))}}()})}handleSignalResponse(e){var t,r;const i=e.message;if(null==i)return void this.log.debug("received unsupported message",this.logContext);let n=!1;if("answer"===i.case){const e=bm(i.value);this.onAnswer&&this.onAnswer(e,i.value.id)}else if("offer"===i.case){const e=bm(i.value);this.onOffer&&this.onOffer(e,i.value.id)}else if("trickle"===i.case){const e=JSON.parse(i.value.candidateInit);this.onTrickle&&this.onTrickle(e,i.value.target)}else"update"===i.case?this.onParticipantUpdate&&this.onParticipantUpdate(null!==(t=i.value.participants)&&void 0!==t?t:[]):"trackPublished"===i.case?this.onLocalTrackPublished&&this.onLocalTrackPublished(i.value):"speakersChanged"===i.case?this.onSpeakersChanged&&this.onSpeakersChanged(null!==(r=i.value.speakers)&&void 0!==r?r:[]):"leave"===i.case?this.onLeave&&this.onLeave(i.value):"mute"===i.case?this.onRemoteMuteChanged&&this.onRemoteMuteChanged(i.value.sid,i.value.muted):"roomUpdate"===i.case?this.onRoomUpdate&&i.value.room&&this.onRoomUpdate(i.value.room):"connectionQuality"===i.case?this.onConnectionQuality&&this.onConnectionQuality(i.value):"streamStateUpdate"===i.case?this.onStreamStateUpdate&&this.onStreamStateUpdate(i.value):"subscribedQualityUpdate"===i.case?this.onSubscribedQualityUpdate&&this.onSubscribedQualityUpdate(i.value):"subscriptionPermissionUpdate"===i.case?this.onSubscriptionPermissionUpdate&&this.onSubscriptionPermissionUpdate(i.value):"refreshToken"===i.case?this.onTokenRefresh&&this.onTokenRefresh(i.value):"trackUnpublished"===i.case?this.onLocalTrackUnpublished&&this.onLocalTrackUnpublished(i.value):"subscriptionResponse"===i.case?this.onSubscriptionError&&this.onSubscriptionError(i.value):"pong"===i.case||("pongResp"===i.case?(this.rtt=Date.now()-Number.parseInt(i.value.lastPingTimestamp.toString()),this.resetPingTimeout(),n=!0):"requestResponse"===i.case?this.onRequestResponse&&this.onRequestResponse(i.value):"trackSubscribed"===i.case?this.onLocalTrackSubscribed&&this.onLocalTrackSubscribed(i.value.trackSid):"roomMoved"===i.case?(this.onTokenRefresh&&this.onTokenRefresh(i.value.token),this.onRoomMoved&&this.onRoomMoved(i.value)):this.log.debug("unsupported message",Object.assign(Object.assign({},this.logContext),{msgCase:i.case})));n||this.resetPingTimeout()}setReconnected(){for(;this.queuedRequests.length>0;){const e=this.queuedRequests.shift();e&&this.requestQueue.run(e)}}handleOnClose(e){return Qh(this,void 0,void 0,function*(){if(this.state===mm.DISCONNECTED)return;const t=this.onClose;yield this.close(),this.log.debug("websocket connection closed: ".concat(e),Object.assign(Object.assign({},this.logContext),{reason:e})),t&&t(e)})}handleWSError(e){this.log.error("websocket error",Object.assign(Object.assign({},this.logContext),{error:e}))}resetPingTimeout(){this.clearPingTimeout(),this.pingTimeoutDuration?this.pingTimeout=$p.setTimeout(()=>{this.log.warn("ping timeout triggered. last pong received at: ".concat(new Date(Date.now()-1e3*this.pingTimeoutDuration).toUTCString()),this.logContext),this.handleOnClose("ping timeout")},1e3*this.pingTimeoutDuration):this.log.warn("ping timeout duration not set",this.logContext)}clearPingTimeout(){this.pingTimeout&&$p.clearTimeout(this.pingTimeout)}startPingInterval(){this.clearPingInterval(),this.resetPingTimeout(),this.pingIntervalDuration?(this.log.debug("start ping interval",this.logContext),this.pingInterval=$p.setInterval(()=>{this.sendPing()},1e3*this.pingIntervalDuration)):this.log.warn("ping interval duration not set",this.logContext)}clearPingInterval(){this.log.debug("clearing ping interval",this.logContext),this.clearPingTimeout(),this.pingInterval&&$p.clearInterval(this.pingInterval)}}function bm(e){const t={type:"offer",sdp:e.sdp};switch(e.type){case"answer":case"offer":case"pranswer":case"rollback":t.type=e.type}return t}function km(e,t){return new Qd({sdp:e.sdp,type:e.type,id:t})}class wm{constructor(){this.buffer=[],this._totalSize=0}push(e){this.buffer.push(e),this._totalSize+=e.data.byteLength}pop(){const e=this.buffer.shift();return e&&(this._totalSize-=e.data.byteLength),e}getAll(){return this.buffer.slice()}popToSequence(e){for(;this.buffer.length>0&&this.buffer[0].sequence<=e;)this.pop()}alignBufferedAmount(e){for(;this.buffer.length>0;){const t=this.buffer[0];if(this._totalSize-t.data.byteLength<=e)break;this.pop()}}get length(){return this.buffer.length}}class ym{constructor(e){this._map=new Map,this._lastCleanup=0,this.ttl=e}set(e,t){const r=Date.now();r-this._lastCleanup>this.ttl/2&&this.cleanup();const i=r+this.ttl;return this._map.set(e,{value:t,expiresAt:i}),this}get(e){const t=this._map.get(e);if(t){if(!(t.expiresAt<Date.now()))return t.value;this._map.delete(e)}}has(e){const t=this._map.get(e);return!(!t||t.expiresAt<Date.now()&&(this._map.delete(e),1))}delete(e){return this._map.delete(e)}clear(){this._map.clear()}cleanup(){const e=Date.now();for(const[t,r]of this._map.entries())r.expiresAt<e&&this._map.delete(t);this._lastCleanup=e}get size(){return this.cleanup(),this._map.size}forEach(e){this.cleanup();for(const[t,r]of this._map.entries())r.expiresAt>=Date.now()&&e(r.value,t,this.asValueMap())}map(e){this.cleanup();const t=[],r=this.asValueMap();for(const[i,n]of r.entries())t.push(e(n,i,r));return t}asValueMap(){const e=new Map;for(const[t,r]of this._map.entries())r.expiresAt>=Date.now()&&e.set(t,r.value);return e}}var xm,Cm,Sm,Tm,Em,Im={},Pm={},_m={exports:{}};function Mm(){if(xm)return _m.exports;xm=1;var e=_m.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),(t+=null!=e["network-id"]?" network-id %d":"%v")+(null!=e["network-cost"]?" network-cost %d":"%v")}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",(t+=null!=e.rateNumerator?" rate=%s":"")+(null!=e.rateDenominator?"/%s":"")}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};return Object.keys(e).forEach(function(t){e[t].forEach(function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")})}),_m.exports}function Rm(){if(Tm)return Sm;Tm=1;var e=Mm(),t=/%[sdv%]/g,r=function(e){var r=1,i=arguments,n=i.length;return e.replace(t,function(e){if(r>=n)return e;var t=i[r];switch(r+=1,e){case"%%":return"%";case"%s":return String(t);case"%d":return Number(t);case"%v":return""}})},i=function(e,t,i){var n=[e+"="+(t.format instanceof Function?t.format(t.push?i:i[t.name]):t.format)];if(t.names)for(var o=0;o<t.names.length;o+=1){var a=t.names[o];t.name?n.push(i[t.name][a]):n.push(i[t.names[o]])}else n.push(i[t.name]);return r.apply(null,n)},n=["v","o","s","i","u","e","p","c","b","t","r","z","a"],o=["i","c","b","a"];return Sm=function(t,r){r=r||{},null==t.version&&(t.version=0),null==t.name&&(t.name=" "),t.media.forEach(function(e){null==e.payloads&&(e.payloads="")});var a=r.outerOrder||n,s=r.innerOrder||o,l=[];return a.forEach(function(r){e[r].forEach(function(e){e.name in t&&null!=t[e.name]?l.push(i(r,e,t)):e.push in t&&null!=t[e.push]&&t[e.push].forEach(function(t){l.push(i(r,e,t))})})}),t.media.forEach(function(t){l.push(i("m",e.m[0],t)),s.forEach(function(r){e[r].forEach(function(e){e.name in t&&null!=t[e.name]?l.push(i(r,e,t)):e.push in t&&null!=t[e.push]&&t[e.push].forEach(function(t){l.push(i(r,e,t))})})})}),l.join("\r\n")+"\r\n"}}var Am=function(){if(Em)return Im;Em=1;var e=(Cm||(Cm=1,function(e){var t=function(e){return String(Number(e))===e?Number(e):e},r=function(e,r,i){var n=e.name&&e.names;e.push&&!r[e.push]?r[e.push]=[]:n&&!r[e.name]&&(r[e.name]={});var o=e.push?{}:n?r[e.name]:r;!function(e,r,i,n){if(n&&!i)r[n]=t(e[1]);else for(var o=0;o<i.length;o+=1)null!=e[o+1]&&(r[i[o]]=t(e[o+1]))}(i.match(e.reg),o,e.names,e.name),e.push&&r[e.push].push(o)},i=Mm(),n=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},o=[],a=t;return e.split(/(\r\n|\r|\n)/).filter(n).forEach(function(e){var t=e[0],n=e.slice(2);"m"===t&&(o.push({rtp:[],fmtp:[]}),a=o[o.length-1]);for(var s=0;s<(i[t]||[]).length;s+=1){var l=i[t][s];if(l.reg.test(n))return r(l,a,n)}}),t.media=o,t};var o=function(e,r){var i=r.split(/=(.+)/,2);return 2===i.length?e[i[0]]=t(i[1]):1===i.length&&r.length>1&&(e[i[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var r=[],i=e.split(" ").map(t),n=0;n<i.length;n+=3)r.push({component:i[n],ip:i[n+1],port:i[n+2]});return r},e.parseImageAttributes=function(e){return e.split(" ").map(function(e){return e.substring(1,e.length-1).split(",").reduce(o,{})})},e.parseSimulcastStreamList=function(e){return e.split(";").map(function(e){return e.split(",").map(function(e){var r,i=!1;return"~"!==e[0]?r=t(e):(r=t(e.substring(1,e.length)),i=!0),{scid:r,paused:i}})})}}(Pm)),Pm),t=Rm(),r=Mm();return Im.grammar=r,Im.write=t,Im.parse=e.parse,Im.parseParams=e.parseParams,Im.parseFmtpConfig=e.parseFmtpConfig,Im.parsePayloads=e.parsePayloads,Im.parseRemoteCandidates=e.parseRemoteCandidates,Im.parseImageAttributes=e.parseImageAttributes,Im.parseSimulcastStreamList=e.parseSimulcastStreamList,Im}();function Om(e,t,r){var i,n,o;void 0===t&&(t=50),void 0===r&&(r={});var a=null!=(i=r.isImmediate)&&i,s=null!=(n=r.callback)&&n,l=r.maxWait,c=Date.now(),d=[],h=function(){var r=[].slice.call(arguments),i=this;return new Promise(function(n,h){var u=a&&void 0===o;if(void 0!==o&&clearTimeout(o),o=setTimeout(function(){if(o=void 0,c=Date.now(),!a){var t=e.apply(i,r);s&&s(t),d.forEach(function(e){return(0,e.resolve)(t)}),d=[]}},function(){if(void 0!==l){var e=Date.now()-c;if(e+t>=l)return l-e}return t}()),u){var p=e.apply(i,r);return s&&s(p),n(p)}d.push({resolve:n,reject:h})})};return h.cancel=function(e){void 0!==o&&clearTimeout(o),d.forEach(function(t){return(0,t.reject)(e)}),d=[]},h}const Dm="negotiationStarted",Lm="negotiationComplete",Nm="rtpVideoPayloadTypes";class jm extends eu.EventEmitter{get pc(){return this._pc||(this._pc=this.createPC()),this._pc}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var r;super(),this.log=Wh,this.ddExtID=0,this.latestOfferId=0,this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate=!1,this.trackBitrates=[],this.remoteStereoMids=[],this.remoteNackMids=[],this.negotiate=Om(e=>Qh(this,void 0,void 0,function*(){this.emit(Dm);try{yield this.createAndSendOffer()}catch(yy){if(!e)throw yy;e(yy)}}),20),this.close=()=>{this._pc&&(this._pc.close(),this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.ondatachannel=null,this._pc.onnegotiationneeded=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ondatachannel=null,this._pc.ontrack=null,this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc=null)},this.log=$h(null!==(r=t.loggerName)&&void 0!==r?r:Uh.PCTransport),this.loggerOptions=t,this.config=e,this._pc=this.createPC(),this.offerLock=new il}createPC(){const e=new RTCPeerConnection(this.config);return e.onicecandidate=e=>{var t;e.candidate&&(null===(t=this.onIceCandidate)||void 0===t||t.call(this,e.candidate))},e.onicecandidateerror=e=>{var t;null===(t=this.onIceCandidateError)||void 0===t||t.call(this,e)},e.oniceconnectionstatechange=()=>{var t;null===(t=this.onIceConnectionStateChange)||void 0===t||t.call(this,e.iceConnectionState)},e.onsignalingstatechange=()=>{var t;null===(t=this.onSignalingStatechange)||void 0===t||t.call(this,e.signalingState)},e.onconnectionstatechange=()=>{var t;null===(t=this.onConnectionStateChange)||void 0===t||t.call(this,e.connectionState)},e.ondatachannel=e=>{var t;null===(t=this.onDataChannel)||void 0===t||t.call(this,e)},e.ontrack=e=>{var t;null===(t=this.onTrack)||void 0===t||t.call(this,e)},e}get logContext(){var e,t;return Object.assign({},null===(t=(e=this.loggerOptions).loggerContextCb)||void 0===t?void 0:t.call(e))}get isICEConnected(){return null!==this._pc&&("connected"===this.pc.iceConnectionState||"completed"===this.pc.iceConnectionState)}addIceCandidate(e){return Qh(this,void 0,void 0,function*(){if(this.pc.remoteDescription&&!this.restartingIce)return this.pc.addIceCandidate(e);this.pendingCandidates.push(e)})}setRemoteDescription(e,t){return Qh(this,void 0,void 0,function*(){var r;if("answer"===e.type&&this.latestOfferId>0&&t>0&&t!==this.latestOfferId)return this.log.warn("ignoring answer for old offer",Object.assign(Object.assign({},this.logContext),{offerId:t,latestOfferId:this.latestOfferId})),!1;let i;if("offer"===e.type){let{stereoMids:t,nackMids:r}=function(e){var t;const r=[],i=[],n=Am.parse(null!==(t=e.sdp)&&void 0!==t?t:"");let o=0;return n.media.forEach(e=>{var t;const n=Fm(e.mid);"audio"===e.type&&(e.rtp.some(e=>"opus"===e.codec&&(o=e.payload,!0)),(null===(t=e.rtcpFb)||void 0===t?void 0:t.some(e=>e.payload===o&&"nack"===e.type))&&i.push(n),e.fmtp.some(e=>e.payload===o&&(e.config.includes("sprop-stereo=1")&&r.push(n),!0)))}),{stereoMids:r,nackMids:i}}(e);this.remoteStereoMids=t,this.remoteNackMids=r}else if("answer"===e.type){const t=Am.parse(null!==(r=e.sdp)&&void 0!==r?r:"");t.media.forEach(e=>{const t=Fm(e.mid);"audio"===e.type&&this.trackBitrates.some(r=>{if(!r.transceiver||t!=r.transceiver.mid)return!1;let i=0;if(e.rtp.some(e=>e.codec.toUpperCase()===r.codec.toUpperCase()&&(i=e.payload,!0)),0===i)return!0;let n=!1;for(const t of e.fmtp)if(t.payload===i){t.config=t.config.split(";").filter(e=>!e.includes("maxaveragebitrate")).join(";"),r.maxbr>0&&(t.config+=";maxaveragebitrate=".concat(1e3*r.maxbr)),n=!0;break}return n||r.maxbr>0&&e.fmtp.push({payload:i,config:"maxaveragebitrate=".concat(1e3*r.maxbr)}),!0})}),i=Am.write(t)}return yield this.setMungedSDP(e,i,!0),this.pendingCandidates.forEach(e=>{this.pc.addIceCandidate(e)}),this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate?(this.renegotiate=!1,yield this.createAndSendOffer()):"answer"===e.type&&(this.emit(Lm),e.sdp)&&Am.parse(e.sdp).media.forEach(e=>{"video"===e.type&&this.emit(Nm,e.rtp)}),!0})}createAndSendOffer(e){return Qh(this,void 0,void 0,function*(){var t;const r=yield this.offerLock.lock();try{if(void 0===this.onOffer)return;if((null==e?void 0:e.iceRestart)&&(this.log.debug("restarting ICE",this.logContext),this.restartingIce=!0),this._pc&&"have-local-offer"===this._pc.signalingState){const t=this._pc.remoteDescription;if(!(null==e?void 0:e.iceRestart)||!t)return void(this.renegotiate=!0);yield this._pc.setRemoteDescription(t)}else if(!this._pc||"closed"===this._pc.signalingState)return void this.log.warn("could not createOffer with closed peer connection",this.logContext);this.log.debug("starting to negotiate",this.logContext);const r=this.latestOfferId+1;this.latestOfferId=r;const i=yield this.pc.createOffer(e);this.log.debug("original offer",Object.assign({sdp:i.sdp},this.logContext));const n=Am.parse(null!==(t=i.sdp)&&void 0!==t?t:"");if(n.media.forEach(e=>{zm(e),"audio"===e.type?Um(e,[],[]):"video"===e.type&&this.trackBitrates.some(t=>{if(!e.msid||!t.cid||!e.msid.includes(t.cid))return!1;let r=0;if(e.rtp.some(e=>e.codec.toUpperCase()===t.codec.toUpperCase()&&(r=e.payload,!0)),0===r)return!0;if(gg(t.codec)&&!fg()&&this.ensureVideoDDExtensionForSVC(e,n),"av1"!==t.codec)return!0;const i=Math.round(.7*t.maxbr);for(const n of e.fmtp)if(n.payload===r){n.config.includes("x-google-start-bitrate")||(n.config+=";x-google-start-bitrate=".concat(i));break}return!0})}),this.latestOfferId>r)return void this.log.warn("latestOfferId mismatch",Object.assign(Object.assign({},this.logContext),{latestOfferId:this.latestOfferId,offerId:r}));yield this.setMungedSDP(i,Am.write(n)),this.onOffer(i,this.latestOfferId)}finally{r()}})}createAndSetAnswer(){return Qh(this,void 0,void 0,function*(){var e;const t=yield this.pc.createAnswer(),r=Am.parse(null!==(e=t.sdp)&&void 0!==e?e:"");return r.media.forEach(e=>{zm(e),"audio"===e.type&&Um(e,this.remoteStereoMids,this.remoteNackMids)}),yield this.setMungedSDP(t,Am.write(r)),t})}createDataChannel(e,t){return this.pc.createDataChannel(e,t)}addTransceiver(e,t){return this.pc.addTransceiver(e,t)}addTrack(e){if(!this._pc)throw new Lp("PC closed, cannot add track");return this._pc.addTrack(e)}setTrackCodecBitrate(e){this.trackBitrates.push(e)}setConfiguration(e){var t;if(!this._pc)throw new Lp("PC closed, cannot configure");return null===(t=this._pc)||void 0===t?void 0:t.setConfiguration(e)}canRemoveTrack(){var e;return!!(null===(e=this._pc)||void 0===e?void 0:e.removeTrack)}removeTrack(e){var t;return null===(t=this._pc)||void 0===t?void 0:t.removeTrack(e)}getConnectionState(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.connectionState)&&void 0!==t?t:"closed"}getICEConnectionState(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.iceConnectionState)&&void 0!==t?t:"closed"}getSignallingState(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.signalingState)&&void 0!==t?t:"closed"}getTransceivers(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.getTransceivers())&&void 0!==t?t:[]}getSenders(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.getSenders())&&void 0!==t?t:[]}getLocalDescription(){var e;return null===(e=this._pc)||void 0===e?void 0:e.localDescription}getRemoteDescription(){var e;return null===(e=this.pc)||void 0===e?void 0:e.remoteDescription}getStats(){return this.pc.getStats()}getConnectedAddress(){return Qh(this,void 0,void 0,function*(){var e;if(!this._pc)return;let t="";const r=new Map,i=new Map;if((yield this._pc.getStats()).forEach(e=>{switch(e.type){case"transport":t=e.selectedCandidatePairId;break;case"candidate-pair":""===t&&e.selected&&(t=e.id),r.set(e.id,e);break;case"remote-candidate":i.set(e.id,"".concat(e.address,":").concat(e.port))}}),""===t)return;const n=null===(e=r.get(t))||void 0===e?void 0:e.remoteCandidateId;return void 0!==n?i.get(n):void 0})}setMungedSDP(e,t,r){return Qh(this,void 0,void 0,function*(){if(t){const i=e.sdp;e.sdp=t;try{return this.log.debug("setting munged ".concat(r?"remote":"local"," description"),this.logContext),void(r?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e))}catch(yy){this.log.warn("not able to set ".concat(e.type,", falling back to unmodified sdp"),Object.assign(Object.assign({},this.logContext),{error:yy,sdp:t})),e.sdp=i}}try{r?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e)}catch(yy){let i="unknown error";yy instanceof Error?i=yy.message:"string"==typeof yy&&(i=yy);const n={error:i,sdp:e.sdp};throw!r&&this.pc.remoteDescription&&(n.remoteSdp=this.pc.remoteDescription),this.log.error("unable to set ".concat(e.type),Object.assign(Object.assign({},this.logContext),{fields:n})),new Np(i)}})}ensureVideoDDExtensionForSVC(e,t){var r,i;if(!(null===(r=e.ext)||void 0===r?void 0:r.some(e=>e.uri===dg))){if(0===this.ddExtID){let e=0;t.media.forEach(t=>{var r;"video"===t.type&&(null===(r=t.ext)||void 0===r||r.forEach(t=>{t.value>e&&(e=t.value)}))}),this.ddExtID=e+1}null===(i=e.ext)||void 0===i||i.push({value:this.ddExtID,uri:dg})}}}function Um(e,t,r){const i=Fm(e.mid);let n=0;e.rtp.some(e=>"opus"===e.codec&&(n=e.payload,!0)),n>0&&(e.rtcpFb||(e.rtcpFb=[]),r.includes(i)&&!e.rtcpFb.some(e=>e.payload===n&&"nack"===e.type)&&e.rtcpFb.push({payload:n,type:"nack"}),t.includes(i)&&e.fmtp.some(e=>e.payload===n&&(e.config.includes("stereo=1")||(e.config+=";stereo=1"),!0)))}function zm(e){if(e.connection){const t=e.connection.ip.indexOf(":")>=0;(4===e.connection.version&&t||6===e.connection.version&&!t)&&(e.connection.ip="0.0.0.0",e.connection.version=4)}}function Fm(e){return"number"==typeof e?e.toFixed(0):e}const Bm="vp8",Vm={audioPreset:og.music,dtx:!0,red:!0,forceStereo:!1,simulcast:!0,screenShareEncoding:cg.h1080fps15.encoding,stopMicTrackOnMute:!1,videoCodec:Bm,backupCodec:!0,preConnectBuffer:!1},qm={deviceId:{ideal:"default"},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0,voiceIsolation:!0},Hm={deviceId:{ideal:"default"},resolution:sg.h720.resolution},Wm={adaptiveStream:!1,dynacast:!1,stopLocalTrackOnUnpublish:!0,reconnectPolicy:new class{constructor(e){this._retryDelays=void 0!==e?[...e]:Kh}nextRetryDelayInMs(e){if(e.retryCount>=this._retryDelays.length)return null;const t=this._retryDelays[e.retryCount];return e.retryCount<=1?t:t+1e3*Math.random()}},disconnectOnPageLeave:!0,webAudioMix:!1},$m={autoSubscribe:!0,maxRetries:1,peerConnectionTimeout:15e3,websocketTimeout:15e3};var Gm,Jm;(Jm=Gm||(Gm={}))[Jm.NEW=0]="NEW",Jm[Jm.CONNECTING=1]="CONNECTING",Jm[Jm.CONNECTED=2]="CONNECTED",Jm[Jm.FAILED=3]="FAILED",Jm[Jm.CLOSING=4]="CLOSING",Jm[Jm.CLOSED=5]="CLOSED";class Km{get needsPublisher(){return this.isPublisherConnectionRequired}get needsSubscriber(){return this.isSubscriberConnectionRequired}get currentState(){return this.state}constructor(e,t,r){var i;this.peerConnectionTimeout=$m.peerConnectionTimeout,this.log=Wh,this.updateState=()=>{var e;const t=this.state,r=this.requiredTransports.map(e=>e.getConnectionState());r.every(e=>"connected"===e)?this.state=Gm.CONNECTED:r.some(e=>"failed"===e)?this.state=Gm.FAILED:r.some(e=>"connecting"===e)?this.state=Gm.CONNECTING:r.every(e=>"closed"===e)?this.state=Gm.CLOSED:r.some(e=>"closed"===e)?this.state=Gm.CLOSING:r.every(e=>"new"===e)&&(this.state=Gm.NEW),t!==this.state&&(this.log.debug("pc state change: from ".concat(Gm[t]," to ").concat(Gm[this.state]),this.logContext),null===(e=this.onStateChange)||void 0===e||e.call(this,this.state,this.publisher.getConnectionState(),this.subscriber.getConnectionState()))},this.log=$h(null!==(i=r.loggerName)&&void 0!==i?i:Uh.PCManager),this.loggerOptions=r,this.isPublisherConnectionRequired=!t,this.isSubscriberConnectionRequired=t,this.publisher=new jm(e,r),this.subscriber=new jm(e,r),this.publisher.onConnectionStateChange=this.updateState,this.subscriber.onConnectionStateChange=this.updateState,this.publisher.onIceConnectionStateChange=this.updateState,this.subscriber.onIceConnectionStateChange=this.updateState,this.publisher.onSignalingStatechange=this.updateState,this.subscriber.onSignalingStatechange=this.updateState,this.publisher.onIceCandidate=e=>{var t;null===(t=this.onIceCandidate)||void 0===t||t.call(this,e,jd.PUBLISHER)},this.subscriber.onIceCandidate=e=>{var t;null===(t=this.onIceCandidate)||void 0===t||t.call(this,e,jd.SUBSCRIBER)},this.subscriber.onDataChannel=e=>{var t;null===(t=this.onDataChannel)||void 0===t||t.call(this,e)},this.subscriber.onTrack=e=>{var t;null===(t=this.onTrack)||void 0===t||t.call(this,e)},this.publisher.onOffer=(e,t)=>{var r;null===(r=this.onPublisherOffer)||void 0===r||r.call(this,e,t)},this.state=Gm.NEW,this.connectionLock=new il,this.remoteOfferLock=new il}get logContext(){var e,t;return Object.assign({},null===(t=(e=this.loggerOptions).loggerContextCb)||void 0===t?void 0:t.call(e))}requirePublisher(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.isPublisherConnectionRequired=e,this.updateState()}requireSubscriber(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.isSubscriberConnectionRequired=e,this.updateState()}createAndSendPublisherOffer(e){return this.publisher.createAndSendOffer(e)}setPublisherAnswer(e,t){return this.publisher.setRemoteDescription(e,t)}removeTrack(e){return this.publisher.removeTrack(e)}close(){return Qh(this,void 0,void 0,function*(){if(this.publisher&&"closed"!==this.publisher.getSignallingState()){const e=this.publisher;for(const t of e.getSenders())try{e.canRemoveTrack()&&e.removeTrack(t)}catch(yy){this.log.warn("could not removeTrack",Object.assign(Object.assign({},this.logContext),{error:yy}))}}yield Promise.all([this.publisher.close(),this.subscriber.close()]),this.updateState()})}triggerIceRestart(){return Qh(this,void 0,void 0,function*(){this.subscriber.restartingIce=!0,this.needsPublisher&&(yield this.createAndSendPublisherOffer({iceRestart:!0}))})}addIceCandidate(e,t){return Qh(this,void 0,void 0,function*(){t===jd.PUBLISHER?yield this.publisher.addIceCandidate(e):yield this.subscriber.addIceCandidate(e)})}createSubscriberAnswerFromOffer(e,t){return Qh(this,void 0,void 0,function*(){this.log.debug("received server offer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type,sdp:e.sdp,signalingState:this.subscriber.getSignallingState().toString()}));const r=yield this.remoteOfferLock.lock();try{if(!(yield this.subscriber.setRemoteDescription(e,t)))return;return yield this.subscriber.createAndSetAnswer()}finally{r()}})}updateConfiguration(e,t){this.publisher.setConfiguration(e),this.subscriber.setConfiguration(e),t&&this.triggerIceRestart()}ensurePCTransportConnection(e,t){return Qh(this,void 0,void 0,function*(){var r;const i=yield this.connectionLock.lock();try{this.isPublisherConnectionRequired&&"connected"!==this.publisher.getConnectionState()&&"connecting"!==this.publisher.getConnectionState()&&(this.log.debug("negotiation required, start negotiating",this.logContext),this.publisher.negotiate()),yield Promise.all(null===(r=this.requiredTransports)||void 0===r?void 0:r.map(r=>this.ensureTransportConnected(r,e,t)))}finally{i()}})}negotiate(e){return Qh(this,void 0,void 0,function*(){return new Promise((t,r)=>Qh(this,void 0,void 0,function*(){const i=setTimeout(()=>{r("negotiation timed out")},this.peerConnectionTimeout);e.signal.addEventListener("abort",()=>{clearTimeout(i),r("negotiation aborted")}),this.publisher.once(Dm,()=>{e.signal.aborted||this.publisher.once(Lm,()=>{clearTimeout(i),t()})}),yield this.publisher.negotiate(e=>{clearTimeout(i),r(e)})}))})}addPublisherTransceiver(e,t){return this.publisher.addTransceiver(e,t)}addPublisherTrack(e){return this.publisher.addTrack(e)}createPublisherDataChannel(e,t){return this.publisher.createDataChannel(e,t)}getConnectedAddress(e){return e===jd.PUBLISHER||e===jd.SUBSCRIBER?this.publisher.getConnectedAddress():this.requiredTransports[0].getConnectedAddress()}get requiredTransports(){const e=[];return this.isPublisherConnectionRequired&&e.push(this.publisher),this.isSubscriberConnectionRequired&&e.push(this.subscriber),e}ensureTransportConnected(e,t){return Qh(this,arguments,void 0,function(e,t){var r=this;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.peerConnectionTimeout;return function*(){if("connected"!==e.getConnectionState())return new Promise((e,n)=>Qh(r,void 0,void 0,function*(){const r=()=>{this.log.warn("abort transport connection",this.logContext),$p.clearTimeout(o),n(new Rp("room connection has been cancelled",pp.Cancelled))};(null==t?void 0:t.signal.aborted)&&r(),null==t||t.signal.addEventListener("abort",r);const o=$p.setTimeout(()=>{null==t||t.signal.removeEventListener("abort",r),n(new Rp("could not establish pc connection",pp.InternalError))},i);for(;this.state!==Gm.CONNECTED;)if(yield hg(50),null==t?void 0:t.signal.aborted)return void n(new Rp("room connection has been cancelled",pp.Cancelled));$p.clearTimeout(o),null==t||t.signal.removeEventListener("abort",r),e()}))}()})}}class Qm extends Error{constructor(e,t,r){super(t),this.code=e,this.message=Ym(t,Qm.MAX_MESSAGE_BYTES),this.data=r?Ym(r,Qm.MAX_DATA_BYTES):void 0}static fromProto(e){return new Qm(e.code,e.message,e.data)}toProto(){return new wd({code:this.code,message:this.message,data:this.data})}static builtIn(e,t){return new Qm(Qm.ErrorCode[e],Qm.ErrorMessage[e],t)}}function Zm(e){return(new TextEncoder).encode(e).length}function Ym(e,t){if(Zm(e)<=t)return e;let r=0,i=e.length;const n=new TextEncoder;for(;r<i;){const o=Math.floor((r+i+1)/2);n.encode(e.slice(0,o)).length<=t?r=o:i=o-1}return e.slice(0,r)}Qm.MAX_MESSAGE_BYTES=256,Qm.MAX_DATA_BYTES=15360,Qm.ErrorCode={APPLICATION_ERROR:1500,CONNECTION_TIMEOUT:1501,RESPONSE_TIMEOUT:1502,RECIPIENT_DISCONNECTED:1503,RESPONSE_PAYLOAD_TOO_LARGE:1504,SEND_FAILED:1505,UNSUPPORTED_METHOD:1400,RECIPIENT_NOT_FOUND:1401,REQUEST_PAYLOAD_TOO_LARGE:1402,UNSUPPORTED_SERVER:1403,UNSUPPORTED_VERSION:1404},Qm.ErrorMessage={APPLICATION_ERROR:"Application error in method handler",CONNECTION_TIMEOUT:"Connection timeout",RESPONSE_TIMEOUT:"Response timeout",RECIPIENT_DISCONNECTED:"Recipient disconnected",RESPONSE_PAYLOAD_TOO_LARGE:"Response payload too large",SEND_FAILED:"Failed to send",UNSUPPORTED_METHOD:"Method not supported at destination",RECIPIENT_NOT_FOUND:"Recipient not found",REQUEST_PAYLOAD_TOO_LARGE:"Request payload too large",UNSUPPORTED_SERVER:"RPC not supported by server",UNSUPPORTED_VERSION:"Unsupported RPC version"};const Xm=2e3;function ev(e,t){if(!t)return 0;let r,i;return"bytesReceived"in e?(r=e.bytesReceived,i=t.bytesReceived):"bytesSent"in e&&(r=e.bytesSent,i=t.bytesSent),void 0===r||void 0===i||void 0===e.timestamp||void 0===t.timestamp?0:8*(r-i)*1e3/(e.timestamp-t.timestamp)}const tv="undefined"!=typeof MediaRecorder,rv=tv?MediaRecorder:class{constructor(){throw new Error("MediaRecorder is not available in this environment")}};class iv extends rv{constructor(e,t){if(!tv)throw new Error("MediaRecorder is not available in this environment");let r,i;super(new MediaStream([e.mediaStreamTrack]),t);const n=()=>{this.removeEventListener("dataavailable",r),this.removeEventListener("stop",n),this.removeEventListener("error",o),null==i||i.close(),i=void 0},o=e=>{null==i||i.error(e),this.removeEventListener("dataavailable",r),this.removeEventListener("stop",n),this.removeEventListener("error",o),i=void 0};this.byteStream=new ReadableStream({start:e=>{i=e,r=t=>Qh(this,void 0,void 0,function*(){let r;if(t.data.arrayBuffer){const e=yield t.data.arrayBuffer();r=new Uint8Array(e)}else{if(!t.data.byteArray)throw new Error("no data available!");r=t.data.byteArray}void 0!==i&&e.enqueue(r)}),this.addEventListener("dataavailable",r)},cancel:()=>{n()}}),this.addEventListener("stop",n),this.addEventListener("error",o)}}class nv extends Qp{get sender(){return this._sender}set sender(e){this._sender=e}get constraints(){return this._constraints}get hasPreConnectBuffer(){return!!this.localTrackRecorder}constructor(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];super(e,t,arguments.length>4?arguments[4]:void 0),this.manuallyStopped=!1,this._isUpstreamPaused=!1,this.handleTrackMuteEvent=()=>this.debouncedTrackMuteHandler().catch(()=>this.log.debug("track mute bounce got cancelled by an unmute event",this.logContext)),this.debouncedTrackMuteHandler=Om(()=>Qh(this,void 0,void 0,function*(){yield this.pauseUpstream()}),5e3),this.handleTrackUnmuteEvent=()=>Qh(this,void 0,void 0,function*(){this.debouncedTrackMuteHandler.cancel("unmute"),yield this.resumeUpstream()}),this.handleEnded=()=>{this.isInBackground&&(this.reacquireTrack=!0),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),this.emit(Ip.Ended,this)},this.reacquireTrack=!1,this.providedByUser=i,this.muteLock=new il,this.pauseUpstreamLock=new il,this.trackChangeLock=new il,this.trackChangeLock.lock().then(t=>Qh(this,void 0,void 0,function*(){try{yield this.setMediaStreamTrack(e,!0)}finally{t()}})),this._constraints=e.getConstraints(),r&&(this._constraints=r)}get id(){return this._mediaStreamTrack.id}get dimensions(){if(this.kind!==Qp.Kind.Video)return;const{width:e,height:t}=this._mediaStreamTrack.getSettings();return e&&t?{width:e,height:t}:void 0}get isUpstreamPaused(){return this._isUpstreamPaused}get isUserProvided(){return this.providedByUser}get mediaStreamTrack(){var e,t;return null!==(t=null===(e=this.processor)||void 0===e?void 0:e.processedTrack)&&void 0!==t?t:this._mediaStreamTrack}get isLocal(){return!0}getSourceTrackSettings(){return this._mediaStreamTrack.getSettings()}setMediaStreamTrack(e,t){return Qh(this,void 0,void 0,function*(){var r;if(e===this._mediaStreamTrack&&!t)return;let i;if(this._mediaStreamTrack&&(this.attachedElements.forEach(e=>{Yp(this._mediaStreamTrack,e)}),this.debouncedTrackMuteHandler.cancel("new-track"),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent)),this.mediaStream=new MediaStream([e]),e&&(e.addEventListener("ended",this.handleEnded),e.addEventListener("mute",this.handleTrackMuteEvent),e.addEventListener("unmute",this.handleTrackUnmuteEvent),this._constraints=e.getConstraints()),this.processor&&e){if(this.log.debug("restarting processor",this.logContext),"unknown"===this.kind)throw TypeError("cannot set processor on track of unknown kind");this.processorElement&&(Zp(e,this.processorElement),this.processorElement.muted=!0),yield this.processor.restart({track:e,kind:this.kind,element:this.processorElement}),i=this.processor.processedTrack}this.sender&&"closed"!==(null===(r=this.sender.transport)||void 0===r?void 0:r.state)&&(yield this.sender.replaceTrack(null!=i?i:e)),this.providedByUser||this._mediaStreamTrack===e||this._mediaStreamTrack.stop(),this._mediaStreamTrack=e,e&&(this._mediaStreamTrack.enabled=!this.isMuted,yield this.resumeUpstream(),this.attachedElements.forEach(t=>{Zp(null!=i?i:e,t)}))})}waitForDimensions(){return Qh(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e3;return function*(){var r;if(e.kind===Qp.Kind.Audio)throw new Error("cannot get dimensions for audio tracks");"iOS"===(null===(r=Vp())||void 0===r?void 0:r.os)&&(yield hg(10));const i=Date.now();for(;Date.now()-i<t;){const t=e.dimensions;if(t)return t;yield hg(50)}throw new Op("unable to get track dimensions after timeout")}()})}setDeviceId(e){return Qh(this,void 0,void 0,function*(){return this._constraints.deviceId===e&&this._mediaStreamTrack.getSettings().deviceId===jg(e)||(this._constraints.deviceId=e,!!this.isMuted||(yield this.restartTrack(),jg(e)===this._mediaStreamTrack.getSettings().deviceId))})}getDeviceId(){return Qh(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){if(e.source===Qp.Source.ScreenShare)return;const{deviceId:r,groupId:i}=e._mediaStreamTrack.getSettings(),n=e.kind===Qp.Kind.Audio?"audioinput":"videoinput";return t?cm.getInstance().normalizeDeviceId(n,r,i):r}()})}mute(){return Qh(this,void 0,void 0,function*(){return this.setTrackMuted(!0),this})}unmute(){return Qh(this,void 0,void 0,function*(){return this.setTrackMuted(!1),this})}replaceTrack(e,t){return Qh(this,void 0,void 0,function*(){const r=yield this.trackChangeLock.lock();try{if(!this.sender)throw new Op("unable to replace an unpublished track");let r,i;return"boolean"==typeof t?r=t:void 0!==t&&(r=t.userProvidedTrack,i=t.stopProcessor),this.providedByUser=null==r||r,this.log.debug("replace MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(e),i&&this.processor&&(yield this.internalStopProcessor()),this}finally{r()}})}restart(e){return Qh(this,void 0,void 0,function*(){this.manuallyStopped=!1;const t=yield this.trackChangeLock.lock();try{e||(e=this._constraints);const{deviceId:t,facingMode:r}=e,i=function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r}(e,["deviceId","facingMode"]);this.log.debug("restarting track with constraints",Object.assign(Object.assign({},this.logContext),{constraints:e}));const n={audio:!1,video:!1};this.kind===Qp.Kind.Video?n.video=!t&&!r||{deviceId:t,facingMode:r}:n.audio=!t||Object.assign({deviceId:t},i),this.attachedElements.forEach(e=>{Yp(this.mediaStreamTrack,e)}),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.stop();const o=(yield navigator.mediaDevices.getUserMedia(n)).getTracks()[0];return this.kind===Qp.Kind.Video&&(yield o.applyConstraints(i)),o.addEventListener("ended",this.handleEnded),this.log.debug("re-acquired MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(o),this._constraints=e,this.emit(Ip.Restarted,this),this.manuallyStopped&&(this.log.warn("track was stopped during a restart, stopping restarted track",this.logContext),this.stop()),this}finally{t()}})}setTrackMuted(e){this.log.debug("setting ".concat(this.kind," track ").concat(e?"muted":"unmuted"),this.logContext),this.isMuted===e&&this._mediaStreamTrack.enabled!==e||(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?Ip.Muted:Ip.Unmuted,this))}get needsReAcquisition(){return"live"!==this._mediaStreamTrack.readyState||this._mediaStreamTrack.muted||!this._mediaStreamTrack.enabled||this.reacquireTrack}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return Qh(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),kg()&&(this.log.debug("visibility changed, is in Background: ".concat(this.isInBackground),this.logContext),this.isInBackground||!this.needsReAcquisition||this.isUserProvided||this.isMuted||(this.log.debug("track needs to be reacquired, restarting ".concat(this.source),this.logContext),yield this.restart(),this.reacquireTrack=!1))})}stop(){var e;this.manuallyStopped=!0,super.stop(),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),null===(e=this.processor)||void 0===e||e.destroy(),this.processor=void 0}pauseUpstream(){return Qh(this,void 0,void 0,function*(){var e;const t=yield this.pauseUpstreamLock.lock();try{if(!0===this._isUpstreamPaused)return;if(!this.sender)return void this.log.warn("unable to pause upstream for an unpublished track",this.logContext);this._isUpstreamPaused=!0,this.emit(Ip.UpstreamPaused,this);const t=Vp();if("Safari"===(null==t?void 0:t.name)&&Eg(t.version,"12.0")<0)throw new Ap("pauseUpstream is not supported on Safari < 12.");"closed"!==(null===(e=this.sender.transport)||void 0===e?void 0:e.state)&&(yield this.sender.replaceTrack(null))}finally{t()}})}resumeUpstream(){return Qh(this,void 0,void 0,function*(){var e;const t=yield this.pauseUpstreamLock.lock();try{if(!1===this._isUpstreamPaused)return;if(!this.sender)return void this.log.warn("unable to resume upstream for an unpublished track",this.logContext);this._isUpstreamPaused=!1,this.emit(Ip.UpstreamResumed,this),"closed"!==(null===(e=this.sender.transport)||void 0===e?void 0:e.state)&&(yield this.sender.replaceTrack(this.mediaStreamTrack))}finally{t()}})}getRTCStatsReport(){return Qh(this,void 0,void 0,function*(){var e;if(null===(e=this.sender)||void 0===e?void 0:e.getStats)return yield this.sender.getStats()})}setProcessor(e){return Qh(this,arguments,void 0,function(e){var t=this;let r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var i;const n=yield t.trackChangeLock.lock();try{t.log.debug("setting up processor",t.logContext);const n=document.createElement(t.kind),o={kind:t.kind,track:t._mediaStreamTrack,element:n,audioContext:t.audioContext};if(yield e.init(o),t.log.debug("processor initialized",t.logContext),t.processor&&(yield t.internalStopProcessor()),"unknown"===t.kind)throw TypeError("cannot set processor on track of unknown kind");if(Zp(t._mediaStreamTrack,n),n.muted=!0,n.play().catch(e=>{e instanceof DOMException&&"AbortError"===e.name?(t.log.warn("failed to play processor element, retrying",Object.assign(Object.assign({},t.logContext),{error:e})),setTimeout(()=>{n.play().catch(e=>{t.log.error("failed to play processor element",Object.assign(Object.assign({},t.logContext),{err:e}))})},100)):t.log.error("failed to play processor element",Object.assign(Object.assign({},t.logContext),{error:e}))}),t.processor=e,t.processorElement=n,t.processor.processedTrack){for(const e of t.attachedElements)e!==t.processorElement&&r&&(Yp(t._mediaStreamTrack,e),Zp(t.processor.processedTrack,e));yield null===(i=t.sender)||void 0===i?void 0:i.replaceTrack(t.processor.processedTrack)}t.emit(Ip.TrackProcessorUpdate,t.processor)}finally{n()}}()})}getProcessor(){return this.processor}stopProcessor(){return Qh(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){const r=yield e.trackChangeLock.lock();try{yield e.internalStopProcessor(t)}finally{r()}}()})}internalStopProcessor(){return Qh(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){var r,i;e.processor&&(e.log.debug("stopping processor",e.logContext),null===(r=e.processor.processedTrack)||void 0===r||r.stop(),yield e.processor.destroy(),e.processor=void 0,t||(null===(i=e.processorElement)||void 0===i||i.remove(),e.processorElement=void 0),yield e._mediaStreamTrack.applyConstraints(e._constraints),yield e.setMediaStreamTrack(e._mediaStreamTrack,!0),e.emit(Ip.TrackProcessorUpdate))}()})}startPreConnectBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;if(tv)if(this.localTrackRecorder)this.log.warn("preconnect buffer already started");else{{let e="audio/webm;codecs=opus";MediaRecorder.isTypeSupported(e)||(e="video/mp4"),this.localTrackRecorder=new iv(this,{mimeType:e})}this.localTrackRecorder.start(e),this.autoStopPreConnectBuffer=setTimeout(()=>{this.log.warn("preconnect buffer timed out, stopping recording automatically",this.logContext),this.stopPreConnectBuffer()},1e4)}else this.log.warn("MediaRecorder is not available, cannot start preconnect buffer",this.logContext)}stopPreConnectBuffer(){clearTimeout(this.autoStopPreConnectBuffer),this.localTrackRecorder&&(this.localTrackRecorder.stop(),this.localTrackRecorder=void 0)}getPreConnectBuffer(){var e;return null===(e=this.localTrackRecorder)||void 0===e?void 0:e.byteStream}getPreConnectBufferMimeType(){var e;return null===(e=this.localTrackRecorder)||void 0===e?void 0:e.mimeType}}class ov extends nv{get enhancedNoiseCancellation(){return this.isKrispNoiseFilterEnabled}constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;super(e,Qp.Kind.Audio,t,r,n),this.stopOnMute=!1,this.isKrispNoiseFilterEnabled=!1,this.monitorSender=()=>Qh(this,void 0,void 0,function*(){if(!this.sender)return void(this._currentBitrate=0);let e;try{e=yield this.getSenderStats()}catch(yy){return void this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:yy}))}e&&this.prevStats&&(this._currentBitrate=ev(e,this.prevStats)),this.prevStats=e}),this.handleKrispNoiseFilterEnable=()=>{this.isKrispNoiseFilterEnabled=!0,this.log.debug("Krisp noise filter enabled",this.logContext),this.emit(Ip.AudioTrackFeatureUpdate,this,Gc.TF_ENHANCED_NOISE_CANCELLATION,!0)},this.handleKrispNoiseFilterDisable=()=>{this.isKrispNoiseFilterEnabled=!1,this.log.debug("Krisp noise filter disabled",this.logContext),this.emit(Ip.AudioTrackFeatureUpdate,this,Gc.TF_ENHANCED_NOISE_CANCELLATION,!1)},this.audioContext=i,this.checkForSilence()}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return Qh(this,void 0,void 0,function*(){const t=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug("Track already muted",this.logContext),this):(this.source===Qp.Source.Microphone&&this.stopOnMute&&!this.isUserProvided&&(this.log.debug("stopping mic track",this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{t()}})}unmute(){const e=Object.create(null,{unmute:{get:()=>super.unmute}});return Qh(this,void 0,void 0,function*(){const t=yield this.muteLock.lock();try{if(!this.isMuted)return this.log.debug("Track already unmuted",this.logContext),this;const t=this._constraints.deviceId&&this._mediaStreamTrack.getSettings().deviceId!==jg(this._constraints.deviceId);return this.source!==Qp.Source.Microphone||!this.stopOnMute&&"ended"!==this._mediaStreamTrack.readyState&&!t||this.isUserProvided||(this.log.debug("reacquiring mic track",this.logContext),yield this.restartTrack()),yield e.unmute.call(this),this}finally{t()}})}restartTrack(e){return Qh(this,void 0,void 0,function*(){let t;if(e){const r=Yg({audio:e});"boolean"!=typeof r.audio&&(t=r.audio)}yield this.restart(t)})}restart(e){const t=Object.create(null,{restart:{get:()=>super.restart}});return Qh(this,void 0,void 0,function*(){const r=yield t.restart.call(this,e);return this.checkForSilence(),r})}startMonitor(){wg()&&(this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},Xm)))}setProcessor(e){return Qh(this,void 0,void 0,function*(){var t;const r=yield this.trackChangeLock.lock();try{if(!yg()&&!this.audioContext)throw Error("Audio context needs to be set on LocalAudioTrack in order to enable processors");this.processor&&(yield this.internalStopProcessor());const r={kind:this.kind,track:this._mediaStreamTrack,audioContext:this.audioContext};this.log.debug("setting up audio processor ".concat(e.name),this.logContext),yield e.init(r),this.processor=e,this.processor.processedTrack&&(yield null===(t=this.sender)||void 0===t?void 0:t.replaceTrack(this.processor.processedTrack),this.processor.processedTrack.addEventListener("enable-lk-krisp-noise-filter",this.handleKrispNoiseFilterEnable),this.processor.processedTrack.addEventListener("disable-lk-krisp-noise-filter",this.handleKrispNoiseFilterDisable)),this.emit(Ip.TrackProcessorUpdate,this.processor)}finally{r()}})}setAudioContext(e){this.audioContext=e}getSenderStats(){return Qh(this,void 0,void 0,function*(){var e;if(!(null===(e=this.sender)||void 0===e?void 0:e.getStats))return;let t;return(yield this.sender.getStats()).forEach(e=>{"outbound-rtp"===e.type&&(t={type:"audio",streamId:e.id,packetsSent:e.packetsSent,packetsLost:e.packetsLost,bytesSent:e.bytesSent,timestamp:e.timestamp,roundTripTime:e.roundTripTime,jitter:e.jitter})}),t})}checkForSilence(){return Qh(this,void 0,void 0,function*(){const e=yield function(e){return Qh(this,arguments,void 0,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;return function*(){const r=Xg();if(r){const i=r.createAnalyser();i.fftSize=2048;const n=i.frequencyBinCount,o=new Uint8Array(n);r.createMediaStreamSource(new MediaStream([e.mediaStreamTrack])).connect(i),yield hg(t),i.getByteTimeDomainData(o);const a=o.some(e=>128!==e&&0!==e);return r.close(),!a}return!1}()})}(this);return e&&(this.isMuted||this.log.debug("silence detected on local audio track",this.logContext),this.emit(Ip.AudioSilenceDetected)),e})}}const av=Object.values(sg),sv=Object.values(lg),lv=Object.values(cg),cv=[sg.h180,sg.h360],dv=[lg.h180,lg.h360],hv=["q","h","f"];function uv(e,t,r,i){var n,o;let a=null==i?void 0:i.videoEncoding;e&&(a=null==i?void 0:i.screenShareEncoding);const s=null==i?void 0:i.simulcast,l=null==i?void 0:i.scalabilityMode,c=null==i?void 0:i.videoCodec;if(!a&&!s&&!l||!t||!r)return[{}];a||(a=function(e,t,r,i){const n=function(e,t,r){if(e)return lv;const i=t>r?t/r:r/t;return Math.abs(i-16/9)<Math.abs(i-4/3)?av:sv}(e,t,r);let{encoding:o}=n[0];const a=Math.max(t,r);for(let s=0;s<n.length;s+=1){const e=n[s];if(o=e.encoding,e.width>=a)break}if(i)switch(i){case"av1":case"h265":o=Object.assign({},o),o.maxBitrate=.7*o.maxBitrate;break;case"vp9":o=Object.assign({},o),o.maxBitrate=.85*o.maxBitrate}return o}(e,t,r,c),Wh.debug("using video encoding",a));const d=a.maxFramerate,h=new Xp(t,r,a.maxBitrate,a.maxFramerate,a.priority);if(l&&gg(c)){const e=new vv(l),t=[];if(e.spatial>3)throw new Error("unsupported scalabilityMode: ".concat(l));const r=Vp();if(bg()||yg()||"Chrome"===(null==r?void 0:r.name)&&Eg(null==r?void 0:r.version,"113")<0){const i="h"==e.suffix?2:3,n=function(e){return e||(e=Vp()),"Safari"===(null==e?void 0:e.name)&&Eg(e.version,"18.3")>0||"iOS"===(null==e?void 0:e.os)&&!!(null==e?void 0:e.osVersion)&&Eg(e.osVersion,"18.3")>0}(r);for(let r=0;r<e.spatial;r+=1)t.push({rid:hv[2-r],maxBitrate:a.maxBitrate/Math.pow(i,r),maxFramerate:h.encoding.maxFramerate,scaleResolutionDownBy:n?Math.pow(2,r):void 0});t[0].scalabilityMode=l}else t.push({maxBitrate:a.maxBitrate,maxFramerate:h.encoding.maxFramerate,scalabilityMode:l});return h.encoding.priority&&(t[0].priority=h.encoding.priority,t[0].networkPriority=h.encoding.priority),Wh.debug("using svc encoding",{encodings:t}),t}if(!s)return[a];let u,p=[];if(p=e?null!==(n=mv(null==i?void 0:i.screenShareSimulcastLayers))&&void 0!==n?n:pv(e,h):null!==(o=mv(null==i?void 0:i.videoSimulcastLayers))&&void 0!==o?o:pv(e,h),p.length>0){const e=p[0];p.length>1&&([,u]=p);const i=Math.max(t,r);if(i>=960&&u)return gv(t,r,[e,u,h],d);if(i>=480)return gv(t,r,[e,h],d)}return gv(t,r,[h])}function pv(e,t){if(e)return[{scaleResolutionDownBy:2,fps:(r=t).encoding.maxFramerate}].map(e=>{var t,i;return new Xp(Math.floor(r.width/e.scaleResolutionDownBy),Math.floor(r.height/e.scaleResolutionDownBy),Math.max(15e4,Math.floor(r.encoding.maxBitrate/(Math.pow(e.scaleResolutionDownBy,2)*((null!==(t=r.encoding.maxFramerate)&&void 0!==t?t:30)/(null!==(i=e.fps)&&void 0!==i?i:30))))),e.fps,r.encoding.priority)});var r;const{width:i,height:n}=t,o=i>n?i/n:n/i;return Math.abs(o-16/9)<Math.abs(o-4/3)?cv:dv}function gv(e,t,r,i){const n=[];if(r.forEach((r,o)=>{if(o>=hv.length)return;const a=Math.min(e,t),s={rid:hv[o],scaleResolutionDownBy:Math.max(1,a/Math.min(r.width,r.height)),maxBitrate:r.encoding.maxBitrate},l=i&&r.encoding.maxFramerate?Math.min(i,r.encoding.maxFramerate):r.encoding.maxFramerate;l&&(s.maxFramerate=l);const c=vg()||0===o;r.encoding.priority&&c&&(s.priority=r.encoding.priority,s.networkPriority=r.encoding.priority),n.push(s)}),yg()&&"ios"===Sg()){let e;n.forEach(t=>{e?t.maxFramerate&&t.maxFramerate>e&&(e=t.maxFramerate):e=t.maxFramerate});let t=!0;n.forEach(r=>{var i;r.maxFramerate!=e&&(t&&(t=!1,Wh.info("Simulcast on iOS React-Native requires all encodings to share the same framerate.")),Wh.info('Setting framerate of encoding "'.concat(null!==(i=r.rid)&&void 0!==i?i:"",'" to ').concat(e)),r.maxFramerate=e)})}return n}function mv(e){if(e)return e.sort((e,t)=>{const{encoding:r}=e,{encoding:i}=t;return r.maxBitrate>i.maxBitrate?1:r.maxBitrate<i.maxBitrate?-1:r.maxBitrate===i.maxBitrate&&r.maxFramerate&&i.maxFramerate?r.maxFramerate>i.maxFramerate?1:-1:0})}class vv{constructor(e){const t=e.match(/^L(\d)T(\d)(h|_KEY|_KEY_SHIFT){0,1}$/);if(!t)throw new Error("invalid scalability mode");if(this.spatial=parseInt(t[1]),this.temporal=parseInt(t[2]),t.length>3)switch(t[3]){case"h":case"_KEY":case"_KEY_SHIFT":this.suffix=t[3]}}toString(){var e;return"L".concat(this.spatial,"T").concat(this.temporal).concat(null!==(e=this.suffix)&&void 0!==e?e:"")}}class fv extends nv{get sender(){return this._sender}set sender(e){this._sender=e,this.degradationPreference&&this.setDegradationPreference(this.degradationPreference)}constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;super(e,Qp.Kind.Video,t,r,i),this.simulcastCodecs=new Map,this.degradationPreference="balanced",this.isCpuConstrained=!1,this.optimizeForPerformance=!1,this.monitorSender=()=>Qh(this,void 0,void 0,function*(){if(!this.sender)return void(this._currentBitrate=0);let e;try{e=yield this.getSenderStats()}catch(yy){return void this.log.error("could not get video sender stats",Object.assign(Object.assign({},this.logContext),{error:yy}))}const t=new Map(e.map(e=>[e.rid,e])),r=e.some(e=>"cpu"===e.qualityLimitationReason);if(r!==this.isCpuConstrained&&(this.isCpuConstrained=r,this.isCpuConstrained&&this.emit(Ip.CpuConstrained)),this.prevStats){let e=0;t.forEach((t,r)=>{var i;const n=null===(i=this.prevStats)||void 0===i?void 0:i.get(r);e+=ev(t,n)}),this._currentBitrate=e}this.prevStats=t}),this.senderLock=new il}get isSimulcast(){return!!(this.sender&&this.sender.getParameters().encodings.length>1)}startMonitor(e){var t;if(this.signalClient=e,!wg())return;const r=null===(t=this.sender)||void 0===t?void 0:t.getParameters();r&&(this.encodings=r.encodings),this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},Xm))}stop(){this._mediaStreamTrack.getConstraints(),this.simulcastCodecs.forEach(e=>{e.mediaStreamTrack.stop()}),super.stop()}pauseUpstream(){const e=Object.create(null,{pauseUpstream:{get:()=>super.pauseUpstream}});return Qh(this,void 0,void 0,function*(){var t,r,i,n,o;yield e.pauseUpstream.call(this);try{for(var a,s=!0,l=Zh(this.simulcastCodecs.values());!(t=(a=yield l.next()).done);s=!0){n=a.value,s=!1;const e=n;yield null===(o=e.sender)||void 0===o?void 0:o.replaceTrack(null)}}catch(c){r={error:c}}finally{try{s||t||!(i=l.return)||(yield i.call(l))}finally{if(r)throw r.error}}})}resumeUpstream(){const e=Object.create(null,{resumeUpstream:{get:()=>super.resumeUpstream}});return Qh(this,void 0,void 0,function*(){var t,r,i,n,o;yield e.resumeUpstream.call(this);try{for(var a,s=!0,l=Zh(this.simulcastCodecs.values());!(t=(a=yield l.next()).done);s=!0){n=a.value,s=!1;const e=n;yield null===(o=e.sender)||void 0===o?void 0:o.replaceTrack(e.mediaStreamTrack)}}catch(c){r={error:c}}finally{try{s||t||!(i=l.return)||(yield i.call(l))}finally{if(r)throw r.error}}})}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return Qh(this,void 0,void 0,function*(){const t=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug("Track already muted",this.logContext),this):(this.source!==Qp.Source.Camera||this.isUserProvided||(this.log.debug("stopping camera track",this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{t()}})}unmute(){const e=Object.create(null,{unmute:{get:()=>super.unmute}});return Qh(this,void 0,void 0,function*(){const t=yield this.muteLock.lock();try{return this.isMuted?(this.source!==Qp.Source.Camera||this.isUserProvided||(this.log.debug("reacquiring camera track",this.logContext),yield this.restartTrack()),yield e.unmute.call(this),this):(this.log.debug("Track already unmuted",this.logContext),this)}finally{t()}})}setTrackMuted(e){super.setTrackMuted(e);for(const t of this.simulcastCodecs.values())t.mediaStreamTrack.enabled=!e}getSenderStats(){return Qh(this,void 0,void 0,function*(){var e;if(!(null===(e=this.sender)||void 0===e?void 0:e.getStats))return[];const t=[],r=yield this.sender.getStats();return r.forEach(e=>{var i;if("outbound-rtp"===e.type){const n={type:"video",streamId:e.id,frameHeight:e.frameHeight,frameWidth:e.frameWidth,framesPerSecond:e.framesPerSecond,framesSent:e.framesSent,firCount:e.firCount,pliCount:e.pliCount,nackCount:e.nackCount,packetsSent:e.packetsSent,bytesSent:e.bytesSent,qualityLimitationReason:e.qualityLimitationReason,qualityLimitationDurations:e.qualityLimitationDurations,qualityLimitationResolutionChanges:e.qualityLimitationResolutionChanges,rid:null!==(i=e.rid)&&void 0!==i?i:e.id,retransmittedPacketsSent:e.retransmittedPacketsSent,targetBitrate:e.targetBitrate,timestamp:e.timestamp},o=r.get(e.remoteId);o&&(n.jitter=o.jitter,n.packetsLost=o.packetsLost,n.roundTripTime=o.roundTripTime),t.push(n)}}),t.sort((e,t)=>{var r,i;return(null!==(r=t.frameWidth)&&void 0!==r?r:0)-(null!==(i=e.frameWidth)&&void 0!==i?i:0)}),t})}setPublishingQuality(e){const t=[];for(let r=Jp.LOW;r<=Jp.HIGH;r+=1)t.push(new ph({quality:r,enabled:r<=e}));this.log.debug("setting publishing quality. max quality ".concat(e),this.logContext),this.setPublishingLayers(gg(this.codec),t)}restartTrack(e){return Qh(this,void 0,void 0,function*(){var t,r,i,n,o;let a;if(e){const t=Yg({video:e});"boolean"!=typeof t.video&&(a=t.video)}yield this.restart(a),this.isCpuConstrained=!1;try{for(var s,l=!0,c=Zh(this.simulcastCodecs.values());!(t=(s=yield c.next()).done);l=!0){n=s.value,l=!1;const e=n;e.sender&&"closed"!==(null===(o=e.sender.transport)||void 0===o?void 0:o.state)&&(e.mediaStreamTrack=this.mediaStreamTrack.clone(),yield e.sender.replaceTrack(e.mediaStreamTrack))}}catch(d){r={error:d}}finally{try{l||t||!(i=c.return)||(yield i.call(c))}finally{if(r)throw r.error}}})}setProcessor(e){const t=Object.create(null,{setProcessor:{get:()=>super.setProcessor}});return Qh(this,arguments,void 0,function(e){var r=this;let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var n,o,a,s,l,c;if(yield t.setProcessor.call(r,e,i),null===(l=r.processor)||void 0===l?void 0:l.processedTrack)try{for(var d,h=!0,u=Zh(r.simulcastCodecs.values());!(n=(d=yield u.next()).done);h=!0){s=d.value,h=!1;const e=s;yield null===(c=e.sender)||void 0===c?void 0:c.replaceTrack(r.processor.processedTrack)}}catch(p){o={error:p}}finally{try{h||n||!(a=u.return)||(yield a.call(u))}finally{if(o)throw o.error}}}()})}setDegradationPreference(e){return Qh(this,void 0,void 0,function*(){if(this.degradationPreference=e,this.sender)try{this.log.debug("setting degradationPreference to ".concat(e),this.logContext);const t=this.sender.getParameters();t.degradationPreference=e,this.sender.setParameters(t)}catch(yy){this.log.warn("failed to set degradationPreference",Object.assign({error:yy},this.logContext))}})}addSimulcastTrack(e,t){if(this.simulcastCodecs.has(e))return void this.log.error("".concat(e," already added, skipping adding simulcast codec"),this.logContext);const r={codec:e,mediaStreamTrack:this.mediaStreamTrack.clone(),sender:void 0,encodings:t};return this.simulcastCodecs.set(e,r),r}setSimulcastTrackSender(e,t){const r=this.simulcastCodecs.get(e);r&&(r.sender=t,setTimeout(()=>{this.subscribedCodecs&&this.setPublishingCodecs(this.subscribedCodecs)},5e3))}setPublishingCodecs(e){return Qh(this,void 0,void 0,function*(){var t,r,i,n,o,a,s;if(this.log.debug("setting publishing codecs",Object.assign(Object.assign({},this.logContext),{codecs:e,currentCodec:this.codec})),!this.codec&&e.length>0)return yield this.setPublishingLayers(gg(e[0].codec),e[0].qualities),[];this.subscribedCodecs=e;const l=[];try{for(t=!0,r=Zh(e);!(n=(i=yield r.next()).done);t=!0){s=i.value,t=!1;const e=s;if(this.codec&&this.codec!==e.codec){const t=this.simulcastCodecs.get(e.codec);if(this.log.debug("try setPublishingCodec for ".concat(e.codec),Object.assign(Object.assign({},this.logContext),{simulcastCodecInfo:t})),t&&t.sender)t.encodings&&(this.log.debug("try setPublishingLayersForSender ".concat(e.codec),this.logContext),yield bv(t.sender,t.encodings,e.qualities,this.senderLock,gg(e.codec),this.log,this.logContext));else for(const r of e.qualities)if(r.enabled){l.push(e.codec);break}}else yield this.setPublishingLayers(gg(e.codec),e.qualities)}}catch(c){o={error:c}}finally{try{t||n||!(a=r.return)||(yield a.call(r))}finally{if(o)throw o.error}}return l})}setPublishingLayers(e,t){return Qh(this,void 0,void 0,function*(){this.optimizeForPerformance?this.log.info("skipping setPublishingLayers due to optimized publishing performance",Object.assign(Object.assign({},this.logContext),{qualities:t})):(this.log.debug("setting publishing layers",Object.assign(Object.assign({},this.logContext),{qualities:t})),this.sender&&this.encodings&&(yield bv(this.sender,this.encodings,t,this.senderLock,e,this.log,this.logContext)))})}prioritizePerformance(){return Qh(this,void 0,void 0,function*(){if(!this.sender)throw new Error("sender not found");const e=yield this.senderLock.lock();try{this.optimizeForPerformance=!0;const e=this.sender.getParameters();e.encodings=e.encodings.map((e,t)=>{var r;return Object.assign(Object.assign({},e),{active:0===t,scaleResolutionDownBy:Math.max(1,Math.ceil((null!==(r=this.mediaStreamTrack.getSettings().height)&&void 0!==r?r:360)/360)),scalabilityMode:0===t&&gg(this.codec)?"L1T3":void 0,maxFramerate:0===t?15:0,maxBitrate:0===t?e.maxBitrate:0})}),this.log.debug("setting performance optimised encodings",Object.assign(Object.assign({},this.logContext),{encodings:e.encodings})),this.encodings=e.encodings,yield this.sender.setParameters(e)}catch(yy){this.log.error("failed to set performance optimised encodings",Object.assign(Object.assign({},this.logContext),{error:yy})),this.optimizeForPerformance=!1}finally{e()}})}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return Qh(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),kg()&&this.isInBackground&&this.source===Qp.Source.Camera&&(this._mediaStreamTrack.enabled=!1)})}}function bv(e,t,r,i,n,o,a){return Qh(this,void 0,void 0,function*(){const s=yield i.lock();o.debug("setPublishingLayersForSender",Object.assign(Object.assign({},a),{sender:e,qualities:r,senderEncodings:t}));try{const i=e.getParameters(),{encodings:s}=i;if(!s)return;if(s.length!==t.length)return void o.warn("cannot set publishing layers, encodings mismatch",Object.assign(Object.assign({},a),{encodings:s,senderEncodings:t}));let l=!1;n&&r.some(e=>e.enabled)&&r.forEach(e=>e.enabled=!0),s.forEach((e,i)=>{var n;let s=null!==(n=e.rid)&&void 0!==n?n:"";""===s&&(s="q");const c=kv(s),d=r.find(e=>e.quality===c);d&&e.active!==d.enabled&&(l=!0,e.active=d.enabled,o.debug("setting layer ".concat(d.quality," to ").concat(e.active?"enabled":"disabled"),a),vg()&&(d.enabled?(e.scaleResolutionDownBy=t[i].scaleResolutionDownBy,e.maxBitrate=t[i].maxBitrate,e.maxFrameRate=t[i].maxFrameRate):(e.scaleResolutionDownBy=4,e.maxBitrate=10,e.maxFrameRate=2)))}),l&&(i.encodings=s,o.debug("setting encodings",Object.assign(Object.assign({},a),{encodings:i.encodings})),yield e.setParameters(i))}finally{s()}})}function kv(e){switch(e){case"f":default:return Jp.HIGH;case"h":return Jp.MEDIUM;case"q":return Jp.LOW}}function wv(e,t,r,i){if(!r)return[new nd({quality:Jp.HIGH,width:e,height:t,bitrate:0,ssrc:0})];if(i){const i=r[0].scalabilityMode,n=new vv(i),o=[],a="h"==n.suffix?1.5:2,s="h"==n.suffix?2:3;for(let l=0;l<n.spatial;l+=1)o.push(new nd({quality:Math.min(Jp.HIGH,n.spatial-1)-l,width:Math.ceil(e/Math.pow(a,l)),height:Math.ceil(t/Math.pow(a,l)),bitrate:r[0].maxBitrate?Math.ceil(r[0].maxBitrate/Math.pow(s,l)):0,ssrc:0}));return o}return r.map(r=>{var i,n,o;const a=null!==(i=r.scaleResolutionDownBy)&&void 0!==i?i:1;let s=kv(null!==(n=r.rid)&&void 0!==n?n:"");return new nd({quality:s,width:Math.ceil(e/a),height:Math.ceil(t/a),bitrate:null!==(o=r.maxBitrate)&&void 0!==o?o:0,ssrc:0})})}const yv="_lossy",xv="_reliable",Cv="leave-reconnect";var Sv,Tv,Ev,Iv,Pv,_v,Mv,Rv,Av,Ov,Dv;(Tv=Sv||(Sv={}))[Tv.New=0]="New",Tv[Tv.Connected=1]="Connected",Tv[Tv.Disconnected=2]="Disconnected",Tv[Tv.Reconnecting=3]="Reconnecting",Tv[Tv.Closed=4]="Closed";class Lv extends eu.EventEmitter{get isClosed(){return this._isClosed}get pendingReconnect(){return!!this.reconnectTimeout}constructor(e){var t;super(),this.options=e,this.rtcConfig={},this.peerConnectionTimeout=$m.peerConnectionTimeout,this.fullReconnectOnNext=!1,this.latestRemoteOfferId=0,this.subscriberPrimary=!1,this.pcState=Sv.New,this._isClosed=!0,this.pendingTrackResolvers={},this.reconnectAttempts=0,this.reconnectStart=0,this.attemptingReconnect=!1,this.joinAttempts=0,this.maxJoinAttempts=1,this.shouldFailNext=!1,this.log=Wh,this.reliableDataSequence=1,this.reliableMessageBuffer=new wm,this.reliableReceivedState=new ym(3e4),this.handleDataChannel=e=>Qh(this,[e],void 0,function(e){var t=this;let{channel:r}=e;return function*(){if(r){if(r.label===xv)t.reliableDCSub=r;else{if(r.label!==yv)return;t.lossyDCSub=r}t.log.debug("on data channel ".concat(r.id,", ").concat(r.label),t.logContext),r.onmessage=t.handleDataMessage}}()}),this.handleDataMessage=e=>Qh(this,void 0,void 0,function*(){var t,r,i,n,o;const a=yield this.dataProcessLock.lock();try{let a;if(e.data instanceof ArrayBuffer)a=e.data;else{if(!(e.data instanceof Blob))return void this.log.error("unsupported data type",Object.assign(Object.assign({},this.logContext),{data:e.data}));a=yield e.data.arrayBuffer()}const s=ad.fromBinary(new Uint8Array(a));if(s.sequence>0&&""!==s.participantSid){const e=this.reliableReceivedState.get(s.participantSid);if(e&&s.sequence<=e)return;this.reliableReceivedState.set(s.participantSid,s.sequence)}if("speaker"===(null===(t=s.value)||void 0===t?void 0:t.case))this.emit(Tp.ActiveSpeakersUpdate,s.value.value.speakers);else if("encryptedPacket"===(null===(r=s.value)||void 0===r?void 0:r.case)){if(!this.e2eeManager)return void this.log.error("Received encrypted packet but E2EE not set up",this.logContext);const e=yield null===(i=this.e2eeManager)||void 0===i?void 0:i.handleEncryptedData(s.value.value.encryptedValue,s.value.value.iv,s.participantIdentity,s.value.value.keyIndex),t=cd.fromBinary(e.payload),r=new ad({value:t.value});"user"===(null===(n=r.value)||void 0===n?void 0:n.case)&&jv(r,r.value.value),this.emit(Tp.DataPacketReceived,r,s.value.value.encryptionType)}else"user"===(null===(o=s.value)||void 0===o?void 0:o.case)&&jv(s,s.value.value),this.emit(Tp.DataPacketReceived,s,td.NONE)}finally{a()}}),this.handleDataError=e=>{const t=0===e.currentTarget.maxRetransmits?"lossy":"reliable";if(e instanceof ErrorEvent&&e.error){const{error:r}=e.error;this.log.error("DataChannel error on ".concat(t,": ").concat(e.message),Object.assign(Object.assign({},this.logContext),{error:r}))}else this.log.error("Unknown DataChannel error on ".concat(t),Object.assign(Object.assign({},this.logContext),{event:e}))},this.handleBufferedAmountLow=e=>{const t=0===e.currentTarget.maxRetransmits?sd.LOSSY:sd.RELIABLE;this.updateAndEmitDCBufferStatus(t)},this.handleDisconnect=(e,t)=>{if(this._isClosed)return;this.log.warn("".concat(e," disconnected"),this.logContext),0===this.reconnectAttempts&&(this.reconnectStart=Date.now());const r=Date.now()-this.reconnectStart;let i=this.getNextRetryDelay({elapsedMs:r,retryCount:this.reconnectAttempts});null!==i?(e===Cv&&(i=0),this.log.debug("reconnecting in ".concat(i,"ms"),this.logContext),this.clearReconnectTimeout(),this.token&&this.regionUrlProvider&&this.regionUrlProvider.updateToken(this.token),this.reconnectTimeout=$p.setTimeout(()=>this.attemptReconnect(t).finally(()=>this.reconnectTimeout=void 0),i)):(e=>{this.log.warn("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(e,"ms. giving up"),this.logContext),this.emit(Tp.Disconnected),this.close()})(r)},this.waitForRestarted=()=>new Promise((e,t)=>{this.pcState===Sv.Connected&&e();const r=()=>{this.off(Tp.Disconnected,i),e()},i=()=>{this.off(Tp.Restarted,r),t()};this.once(Tp.Restarted,r),this.once(Tp.Disconnected,i)}),this.updateAndEmitDCBufferStatus=e=>{const t=this.isBufferStatusLow(e);void 0!==t&&t!==this.dcBufferStatus.get(e)&&(this.dcBufferStatus.set(e,t),this.emit(Tp.DCBufferStatusChanged,t,e))},this.isBufferStatusLow=e=>{const t=this.dataChannelForKind(e);if(t)return e===sd.RELIABLE&&this.reliableMessageBuffer.alignBufferedAmount(t.bufferedAmount),t.bufferedAmount<=t.bufferedAmountLowThreshold},this.handleBrowserOnLine=()=>{this.client.currentState===mm.RECONNECTING&&(this.clearReconnectTimeout(),this.attemptReconnect(Wc.RR_SIGNAL_DISCONNECTED))},this.log=$h(null!==(t=e.loggerName)&&void 0!==t?t:Uh.Engine),this.loggerOptions={loggerName:e.loggerName,loggerContextCb:()=>this.logContext},this.client=new fm(void 0,this.loggerOptions),this.client.signalLatency=this.options.expSignalLatency,this.reconnectPolicy=this.options.reconnectPolicy,this.closingLock=new il,this.dataProcessLock=new il,this.dcBufferStatus=new Map([[sd.LOSSY,!0],[sd.RELIABLE,!0]]),this.client.onParticipantUpdate=e=>this.emit(Tp.ParticipantUpdate,e),this.client.onConnectionQuality=e=>this.emit(Tp.ConnectionQualityUpdate,e),this.client.onRoomUpdate=e=>this.emit(Tp.RoomUpdate,e),this.client.onSubscriptionError=e=>this.emit(Tp.SubscriptionError,e),this.client.onSubscriptionPermissionUpdate=e=>this.emit(Tp.SubscriptionPermissionUpdate,e),this.client.onSpeakersChanged=e=>this.emit(Tp.SpeakersChanged,e),this.client.onStreamStateUpdate=e=>this.emit(Tp.StreamStateChanged,e),this.client.onRequestResponse=e=>this.emit(Tp.SignalRequestResponse,e)}get logContext(){var e,t,r,i,n,o;return{room:null===(t=null===(e=this.latestJoinResponse)||void 0===e?void 0:e.room)||void 0===t?void 0:t.name,roomID:null===(i=null===(r=this.latestJoinResponse)||void 0===r?void 0:r.room)||void 0===i?void 0:i.sid,participant:null===(o=null===(n=this.latestJoinResponse)||void 0===n?void 0:n.participant)||void 0===o?void 0:o.identity,pID:this.participantSid}}join(e,t,r,i){return Qh(this,void 0,void 0,function*(){this.url=e,this.token=t,this.signalOpts=r,this.maxJoinAttempts=r.maxRetries;try{this.joinAttempts+=1,this.setupSignalClientCallbacks();const n=yield this.client.join(e,t,r,i);return this._isClosed=!1,this.latestJoinResponse=n,this.subscriberPrimary=n.subscriberPrimary,this.pcManager||(yield this.configure(n)),this.subscriberPrimary&&!n.fastPublish||this.negotiate().catch(e=>{Wh.error(e,this.logContext)}),this.registerOnLineListener(),this.clientConfiguration=n.clientConfiguration,this.emit(Tp.SignalConnected,n),n}catch(yy){if(yy instanceof Rp&&yy.reason===pp.ServerUnreachable&&(this.log.warn("Couldn't connect to server, attempt ".concat(this.joinAttempts," of ").concat(this.maxJoinAttempts),this.logContext),this.joinAttempts<this.maxJoinAttempts))return this.join(e,t,r,i);throw yy}})}close(){return Qh(this,void 0,void 0,function*(){const e=yield this.closingLock.lock();if(this.isClosed)e();else try{this._isClosed=!0,this.joinAttempts=0,this.emit(Tp.Closing),this.removeAllListeners(),this.deregisterOnLineListener(),this.clearPendingReconnect(),yield this.cleanupPeerConnections(),yield this.cleanupClient()}finally{e()}})}cleanupPeerConnections(){return Qh(this,void 0,void 0,function*(){var e;yield null===(e=this.pcManager)||void 0===e?void 0:e.close(),this.pcManager=void 0;const t=e=>{e&&(e.close(),e.onbufferedamountlow=null,e.onclose=null,e.onclosing=null,e.onerror=null,e.onmessage=null,e.onopen=null)};t(this.lossyDC),t(this.lossyDCSub),t(this.reliableDC),t(this.reliableDCSub),this.lossyDC=void 0,this.lossyDCSub=void 0,this.reliableDC=void 0,this.reliableDCSub=void 0,this.reliableMessageBuffer=new wm,this.reliableDataSequence=1,this.reliableReceivedState.clear()})}cleanupClient(){return Qh(this,void 0,void 0,function*(){yield this.client.close(),this.client.resetCallbacks()})}addTrack(e){if(this.pendingTrackResolvers[e.cid])throw new Op("a track with the same ID has already been published");return new Promise((t,r)=>{const i=setTimeout(()=>{delete this.pendingTrackResolvers[e.cid],r(new Rp("publication of local track timed out, no response from server",pp.Timeout))},1e4);this.pendingTrackResolvers[e.cid]={resolve:e=>{clearTimeout(i),t(e)},reject:()=>{clearTimeout(i),r(new Error("Cancelled publication by calling unpublish"))}},this.client.sendAddTrack(e)})}removeTrack(e){if(e.track&&this.pendingTrackResolvers[e.track.id]){const{reject:t}=this.pendingTrackResolvers[e.track.id];t&&t(),delete this.pendingTrackResolvers[e.track.id]}try{return this.pcManager.removeTrack(e),!0}catch(yy){this.log.warn("failed to remove track",Object.assign(Object.assign({},this.logContext),{error:yy}))}return!1}updateMuteStatus(e,t){this.client.sendMuteTrack(e,t)}get dataSubscriberReadyState(){var e;return null===(e=this.reliableDCSub)||void 0===e?void 0:e.readyState}getConnectedServerAddress(){return Qh(this,void 0,void 0,function*(){var e;return null===(e=this.pcManager)||void 0===e?void 0:e.getConnectedAddress()})}setRegionUrlProvider(e){this.regionUrlProvider=e}configure(e){return Qh(this,void 0,void 0,function*(){var t,r;if(this.pcManager&&this.pcManager.currentState!==Gm.NEW)return;this.participantSid=null===(t=e.participant)||void 0===t?void 0:t.sid;const i=this.makeRTCConfiguration(e);var n;this.pcManager=new Km(i,e.subscriberPrimary,this.loggerOptions),this.emit(Tp.TransportsCreated,this.pcManager.publisher,this.pcManager.subscriber),this.pcManager.onIceCandidate=(e,t)=>{this.client.sendIceCandidate(e,t)},this.pcManager.onPublisherOffer=(e,t)=>{this.client.sendOffer(e,t)},this.pcManager.onDataChannel=this.handleDataChannel,this.pcManager.onStateChange=(t,r,i)=>Qh(this,void 0,void 0,function*(){if(this.log.debug("primary PC state changed ".concat(t),this.logContext),["closed","disconnected","failed"].includes(r)&&(this.publisherConnectionPromise=void 0),t===Gm.CONNECTED){const t=this.pcState===Sv.New;this.pcState=Sv.Connected,t&&this.emit(Tp.Connected,e)}else t===Gm.FAILED&&(this.pcState!==Sv.Connected&&this.pcState!==Sv.Reconnecting||(this.pcState=Sv.Disconnected,this.handleDisconnect("peerconnection failed","failed"===i?Wc.RR_SUBSCRIBER_FAILED:Wc.RR_PUBLISHER_FAILED)));const n=this.client.isDisconnected||this.client.currentState===mm.RECONNECTING,o=[Gm.FAILED,Gm.CLOSING,Gm.CLOSED].includes(t);n&&o&&!this._isClosed&&this.emit(Tp.Offline)}),this.pcManager.onTrack=e=>{this.emit(Tp.MediaTrackAdded,e.track,e.streams[0],e.receiver)},void 0!==(n=null===(r=e.serverInfo)||void 0===r?void 0:r.protocol)&&n>13||this.createDataChannels()})}setupSignalClientCallbacks(){this.client.onAnswer=(e,t)=>Qh(this,void 0,void 0,function*(){this.pcManager&&(this.log.debug("received server answer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type})),yield this.pcManager.setPublisherAnswer(e,t))}),this.client.onTrickle=(e,t)=>{this.pcManager&&(this.log.debug("got ICE candidate from peer",Object.assign(Object.assign({},this.logContext),{candidate:e,target:t})),this.pcManager.addIceCandidate(e,t))},this.client.onOffer=(e,t)=>Qh(this,void 0,void 0,function*(){if(this.latestRemoteOfferId=t,!this.pcManager)return;const r=yield this.pcManager.createSubscriberAnswerFromOffer(e,t);r&&this.client.sendAnswer(r,t)}),this.client.onLocalTrackPublished=e=>{var t;if(this.log.debug("received trackPublishedResponse",Object.assign(Object.assign({},this.logContext),{cid:e.cid,track:null===(t=e.track)||void 0===t?void 0:t.sid})),!this.pendingTrackResolvers[e.cid])return void this.log.error("missing track resolver for ".concat(e.cid),Object.assign(Object.assign({},this.logContext),{cid:e.cid}));const{resolve:r}=this.pendingTrackResolvers[e.cid];delete this.pendingTrackResolvers[e.cid],r(e.track)},this.client.onLocalTrackUnpublished=e=>{this.emit(Tp.LocalTrackUnpublished,e)},this.client.onLocalTrackSubscribed=e=>{this.emit(Tp.LocalTrackSubscribed,e)},this.client.onTokenRefresh=e=>{this.token=e},this.client.onRemoteMuteChanged=(e,t)=>{this.emit(Tp.RemoteMute,e,t)},this.client.onSubscribedQualityUpdate=e=>{this.emit(Tp.SubscribedQualityUpdate,e)},this.client.onRoomMoved=e=>{var t;this.participantSid=null===(t=e.participant)||void 0===t?void 0:t.sid,this.latestJoinResponse&&(this.latestJoinResponse.room=e.room),this.emit(Tp.RoomMoved,e)},this.client.onClose=()=>{this.handleDisconnect("signal",Wc.RR_SIGNAL_DISCONNECTED)},this.client.onLeave=e=>{switch(this.log.debug("client leave request",Object.assign(Object.assign({},this.logContext),{reason:null==e?void 0:e.reason})),e.regions&&this.regionUrlProvider&&(this.log.debug("updating regions",this.logContext),this.regionUrlProvider.setServerReportedRegions(e.regions)),e.action){case ih.DISCONNECT:this.emit(Tp.Disconnected,null==e?void 0:e.reason),this.close();break;case ih.RECONNECT:this.fullReconnectOnNext=!0,this.handleDisconnect(Cv);break;case ih.RESUME:this.handleDisconnect(Cv)}}}makeRTCConfiguration(e){var t;const r=Object.assign({},this.rtcConfig);if((null===(t=this.signalOpts)||void 0===t?void 0:t.e2eeEnabled)&&(this.log.debug("E2EE - setting up transports with insertable streams",this.logContext),r.encodedInsertableStreams=!0),e.iceServers&&!r.iceServers){const t=[];e.iceServers.forEach(e=>{const r={urls:e.urls};e.username&&(r.username=e.username),e.credential&&(r.credential=e.credential),t.push(r)}),r.iceServers=t}return e.clientConfiguration&&e.clientConfiguration.forceRelay===qc.ENABLED&&(r.iceTransportPolicy="relay"),r.sdpSemantics="unified-plan",r.continualGatheringPolicy="gather_continually",r}createDataChannels(){this.pcManager&&(this.lossyDC&&(this.lossyDC.onmessage=null,this.lossyDC.onerror=null),this.reliableDC&&(this.reliableDC.onmessage=null,this.reliableDC.onerror=null),this.lossyDC=this.pcManager.createPublisherDataChannel(yv,{ordered:!1,maxRetransmits:0}),this.reliableDC=this.pcManager.createPublisherDataChannel(xv,{ordered:!0}),this.lossyDC.onmessage=this.handleDataMessage,this.reliableDC.onmessage=this.handleDataMessage,this.lossyDC.onerror=this.handleDataError,this.reliableDC.onerror=this.handleDataError,this.lossyDC.bufferedAmountLowThreshold=65535,this.reliableDC.bufferedAmountLowThreshold=65535,this.lossyDC.onbufferedamountlow=this.handleBufferedAmountLow,this.reliableDC.onbufferedamountlow=this.handleBufferedAmountLow)}createSender(e,t,r){return Qh(this,void 0,void 0,function*(){if(ug())return yield this.createTransceiverRTCRtpSender(e,t,r);if(pg())return this.log.warn("using add-track fallback",this.logContext),yield this.createRTCRtpSender(e.mediaStreamTrack);throw new Lp("Required webRTC APIs not supported on this device")})}createSimulcastSender(e,t,r,i){return Qh(this,void 0,void 0,function*(){if(ug())return this.createSimulcastTransceiverSender(e,t,r,i);if(pg())return this.log.debug("using add-track fallback",this.logContext),this.createRTCRtpSender(e.mediaStreamTrack);throw new Lp("Cannot stream on this device")})}createTransceiverRTCRtpSender(e,t,r){return Qh(this,void 0,void 0,function*(){if(!this.pcManager)throw new Lp("publisher is closed");const i=[];e.mediaStream&&i.push(e.mediaStream),Hg(e)&&(e.codec=t.videoCodec);const n={direction:"sendonly",streams:i};return r&&(n.sendEncodings=r),(yield this.pcManager.addPublisherTransceiver(e.mediaStreamTrack,n)).sender})}createSimulcastTransceiverSender(e,t,r,i){return Qh(this,void 0,void 0,function*(){if(!this.pcManager)throw new Lp("publisher is closed");const n={direction:"sendonly"};i&&(n.sendEncodings=i);const o=yield this.pcManager.addPublisherTransceiver(t.mediaStreamTrack,n);if(r.videoCodec)return e.setSimulcastTrackSender(r.videoCodec,o.sender),o.sender})}createRTCRtpSender(e){return Qh(this,void 0,void 0,function*(){if(!this.pcManager)throw new Lp("publisher is closed");return this.pcManager.addPublisherTrack(e)})}attemptReconnect(e){return Qh(this,void 0,void 0,function*(){var t,r,i;if(!this._isClosed)if(this.attemptingReconnect)Wh.warn("already attempting reconnect, returning early",this.logContext);else{(null===(t=this.clientConfiguration)||void 0===t?void 0:t.resumeConnection)!==qc.DISABLED&&(null!==(i=null===(r=this.pcManager)||void 0===r?void 0:r.currentState)&&void 0!==i?i:Gm.NEW)!==Gm.NEW||(this.fullReconnectOnNext=!0);try{this.attemptingReconnect=!0,this.fullReconnectOnNext?yield this.restartConnection():yield this.resumeConnection(e),this.clearPendingReconnect(),this.fullReconnectOnNext=!1}catch(yy){this.reconnectAttempts+=1;let t=!0;yy instanceof Lp?(this.log.debug("received unrecoverable error",Object.assign(Object.assign({},this.logContext),{error:yy})),t=!1):yy instanceof Nv||(this.fullReconnectOnNext=!0),t?this.handleDisconnect("reconnect",Wc.RR_UNKNOWN):(this.log.info("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(Date.now()-this.reconnectStart,"ms. giving up"),this.logContext),this.emit(Tp.Disconnected),yield this.close())}finally{this.attemptingReconnect=!1}}})}getNextRetryDelay(e){try{return this.reconnectPolicy.nextRetryDelayInMs(e)}catch(yy){this.log.warn("encountered error in reconnect policy",Object.assign(Object.assign({},this.logContext),{error:yy}))}return null}restartConnection(e){return Qh(this,void 0,void 0,function*(){var t,r,i;try{if(!this.url||!this.token)throw new Lp("could not reconnect, url or token not saved");let r;this.log.info("reconnecting, attempt: ".concat(this.reconnectAttempts),this.logContext),this.emit(Tp.Restarting),this.client.isDisconnected||(yield this.client.sendLeave()),yield this.cleanupPeerConnections(),yield this.cleanupClient();try{if(!this.signalOpts)throw this.log.warn("attempted connection restart, without signal options present",this.logContext),new Nv;r=yield this.join(null!=e?e:this.url,this.token,this.signalOpts)}catch(yy){if(yy instanceof Rp&&yy.reason===pp.NotAllowed)throw new Lp("could not reconnect, token might be expired");throw new Nv}if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(this.client.setReconnected(),this.emit(Tp.SignalRestarted,r),yield this.waitForPCReconnected(),this.client.currentState!==mm.CONNECTED)throw new Nv("Signal connection got severed during reconnect");null===(t=this.regionUrlProvider)||void 0===t||t.resetAttempts(),this.emit(Tp.Restarted)}catch(n){const e=yield null===(r=this.regionUrlProvider)||void 0===r?void 0:r.getNextBestRegionUrl();if(e)return void(yield this.restartConnection(e));throw null===(i=this.regionUrlProvider)||void 0===i||i.resetAttempts(),n}})}resumeConnection(e){return Qh(this,void 0,void 0,function*(){var t;if(!this.url||!this.token)throw new Lp("could not reconnect, url or token not saved");if(!this.pcManager)throw new Lp("publisher and subscriber connections unset");let r;this.log.info("resuming signal connection, attempt ".concat(this.reconnectAttempts),this.logContext),this.emit(Tp.Resuming);try{this.setupSignalClientCallbacks(),r=yield this.client.reconnect(this.url,this.token,this.participantSid,e)}catch(i){let e="";if(i instanceof Error&&(e=i.message,this.log.error(i.message,Object.assign(Object.assign({},this.logContext),{error:i}))),i instanceof Rp&&i.reason===pp.NotAllowed)throw new Lp("could not reconnect, token might be expired");if(i instanceof Rp&&i.reason===pp.LeaveRequest)throw i;throw new Nv(e)}if(this.emit(Tp.SignalResumed),r){const e=this.makeRTCConfiguration(r);this.pcManager.updateConfiguration(e),this.latestJoinResponse&&(this.latestJoinResponse.serverInfo=r.serverInfo)}else this.log.warn("Did not receive reconnect response",this.logContext);if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(yield this.pcManager.triggerIceRestart(),yield this.waitForPCReconnected(),this.client.currentState!==mm.CONNECTED)throw new Nv("Signal connection got severed during reconnect");this.client.setReconnected(),"open"===(null===(t=this.reliableDC)||void 0===t?void 0:t.readyState)&&null===this.reliableDC.id&&this.createDataChannels(),(null==r?void 0:r.lastMessageSeq)&&this.resendReliableMessagesForResume(r.lastMessageSeq),this.emit(Tp.Resumed)})}waitForPCInitialConnection(e,t){return Qh(this,void 0,void 0,function*(){if(!this.pcManager)throw new Lp("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(t,e)})}waitForPCReconnected(){return Qh(this,void 0,void 0,function*(){this.pcState=Sv.Reconnecting,this.log.debug("waiting for peer connection to reconnect",this.logContext);try{if(yield hg(2e3),!this.pcManager)throw new Lp("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(void 0,this.peerConnectionTimeout),this.pcState=Sv.Connected}catch(yy){throw this.pcState=Sv.Disconnected,new Rp("could not establish PC connection, ".concat(yy.message),pp.InternalError)}})}publishRpcResponse(e,t,r,i){return Qh(this,void 0,void 0,function*(){const n=new ad({destinationIdentities:[e],kind:sd.RELIABLE,value:{case:"rpcResponse",value:new kd({requestId:t,value:i?{case:"error",value:i.toProto()}:{case:"payload",value:null!=r?r:""}})}});yield this.sendDataPacket(n,sd.RELIABLE)})}publishRpcAck(e,t){return Qh(this,void 0,void 0,function*(){const r=new ad({destinationIdentities:[e],kind:sd.RELIABLE,value:{case:"rpcAck",value:new bd({requestId:t})}});yield this.sendDataPacket(r,sd.RELIABLE)})}sendDataPacket(e,t){return Qh(this,void 0,void 0,function*(){if(yield this.ensurePublisherConnected(t),this.e2eeManager&&this.e2eeManager.isDataChannelEncryptionEnabled){const t=function(e){var t,r,i,n,o;if("sipDtmf"!==(null===(t=e.value)||void 0===t?void 0:t.case)&&"metrics"!==(null===(r=e.value)||void 0===r?void 0:r.case)&&"speaker"!==(null===(i=e.value)||void 0===i?void 0:i.case)&&"transcription"!==(null===(n=e.value)||void 0===n?void 0:n.case)&&"encryptedPacket"!==(null===(o=e.value)||void 0===o?void 0:o.case))return new cd({value:e.value})}(e);if(t){const r=yield this.e2eeManager.encryptData(t.toBinary());e.value={case:"encryptedPacket",value:new ld({encryptedValue:r.payload,iv:r.iv,keyIndex:r.keyIndex})}}}t===sd.RELIABLE&&(e.sequence=this.reliableDataSequence,this.reliableDataSequence+=1);const r=e.toBinary(),i=this.dataChannelForKind(t);if(i){if(t===sd.RELIABLE&&this.reliableMessageBuffer.push({data:r,sequence:e.sequence}),this.attemptingReconnect)return;i.send(r)}this.updateAndEmitDCBufferStatus(t)})}resendReliableMessagesForResume(e){return Qh(this,void 0,void 0,function*(){yield this.ensurePublisherConnected(sd.RELIABLE);const t=this.dataChannelForKind(sd.RELIABLE);t&&(this.reliableMessageBuffer.popToSequence(e),this.reliableMessageBuffer.getAll().forEach(e=>{t.send(e.data)})),this.updateAndEmitDCBufferStatus(sd.RELIABLE)})}waitForBufferStatusLow(e){return new Promise((t,r)=>Qh(this,void 0,void 0,function*(){if(this.isBufferStatusLow(e))t();else{const i=()=>r("Engine closed");for(this.once(Tp.Closing,i);!this.dcBufferStatus.get(e);)yield hg(10);this.off(Tp.Closing,i),t()}}))}ensureDataTransportConnected(e){return Qh(this,arguments,void 0,function(e){var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscriberPrimary;return function*(){var i;if(!t.pcManager)throw new Lp("PC manager is closed");const n=r?t.pcManager.subscriber:t.pcManager.publisher,o=r?"Subscriber":"Publisher";if(!n)throw new Rp("".concat(o," connection not set"),pp.InternalError);let a=!1;r||t.dataChannelForKind(e,r)||(t.createDataChannels(),a=!0),a||r||t.pcManager.publisher.isICEConnected||"checking"===t.pcManager.publisher.getICEConnectionState()||(a=!0),a&&t.negotiate().catch(e=>{Wh.error(e,t.logContext)});const s=t.dataChannelForKind(e,r);if("open"===(null==s?void 0:s.readyState))return;const l=(new Date).getTime()+t.peerConnectionTimeout;for(;(new Date).getTime()<l;){if(n.isICEConnected&&"open"===(null===(i=t.dataChannelForKind(e,r))||void 0===i?void 0:i.readyState))return;yield hg(50)}throw new Rp("could not establish ".concat(o," connection, state: ").concat(n.getICEConnectionState()),pp.InternalError)}()})}ensurePublisherConnected(e){return Qh(this,void 0,void 0,function*(){this.publisherConnectionPromise||(this.publisherConnectionPromise=this.ensureDataTransportConnected(e,!1)),yield this.publisherConnectionPromise})}verifyTransport(){return!!this.pcManager&&this.pcManager.currentState===Gm.CONNECTED&&!(!this.client.ws||this.client.ws.readyState===WebSocket.CLOSED)}negotiate(){return Qh(this,void 0,void 0,function*(){return new Promise((e,t)=>Qh(this,void 0,void 0,function*(){if(!this.pcManager)return void t(new Np("PC manager is closed"));this.pcManager.requirePublisher(),0!=this.pcManager.publisher.getTransceivers().length||this.lossyDC||this.reliableDC||this.createDataChannels();const r=new AbortController,i=()=>{r.abort(),this.log.debug("engine disconnected while negotiation was ongoing",this.logContext),e()};this.isClosed&&t("cannot negotiate on closed engine"),this.on(Tp.Closing,i),this.pcManager.publisher.once(Nm,e=>{const t=new Map;e.forEach(e=>{const r=e.codec.toLowerCase();var i;i=r,tg.includes(i)&&t.set(e.payload,r)}),this.emit(Tp.RTPVideoMapUpdate,t)});try{yield this.pcManager.negotiate(r),e()}catch(yy){yy instanceof Np&&(this.fullReconnectOnNext=!0),this.handleDisconnect("negotiation",Wc.RR_UNKNOWN),t(yy)}finally{this.off(Tp.Closing,i)}}))})}dataChannelForKind(e,t){if(t){if(e===sd.LOSSY)return this.lossyDCSub;if(e===sd.RELIABLE)return this.reliableDCSub}else{if(e===sd.LOSSY)return this.lossyDC;if(e===sd.RELIABLE)return this.reliableDC}}sendSyncState(e,t){var r,i;if(!this.pcManager)return void this.log.warn("sync state cannot be sent without peer connection setup",this.logContext);const n=this.pcManager.subscriber.getLocalDescription(),o=this.pcManager.subscriber.getRemoteDescription(),a=null===(i=null===(r=this.signalOpts)||void 0===r?void 0:r.autoSubscribe)||void 0===i||i,s=new Array,l=new Array;e.forEach(e=>{e.isDesired!==a&&s.push(e.trackSid),e.isEnabled||l.push(e.trackSid)}),this.client.sendSyncState(new yh({answer:n?km({sdp:n.sdp,type:n.type}):void 0,offer:o?km({sdp:o.sdp,type:o.type}):void 0,subscription:new Yd({trackSids:s,subscribe:!a,participantTracks:[]}),publishTracks:im(t),dataChannels:this.dataChannelsInfo(),trackSidsDisabled:l,datachannelReceiveStates:this.reliableReceivedState.map((e,t)=>new xh({publisherSid:t,lastSeq:e}))}))}failNext(){this.shouldFailNext=!0}dataChannelsInfo(){const e=[],t=(t,r)=>{void 0!==(null==t?void 0:t.id)&&null!==t.id&&e.push(new Ch({label:t.label,id:t.id,target:r}))};return t(this.dataChannelForKind(sd.LOSSY),jd.PUBLISHER),t(this.dataChannelForKind(sd.RELIABLE),jd.PUBLISHER),t(this.dataChannelForKind(sd.LOSSY,!0),jd.SUBSCRIBER),t(this.dataChannelForKind(sd.RELIABLE,!0),jd.SUBSCRIBER),e}clearReconnectTimeout(){this.reconnectTimeout&&$p.clearTimeout(this.reconnectTimeout)}clearPendingReconnect(){this.clearReconnectTimeout(),this.reconnectAttempts=0}registerOnLineListener(){wg()&&window.addEventListener("online",this.handleBrowserOnLine)}deregisterOnLineListener(){wg()&&window.removeEventListener("online",this.handleBrowserOnLine)}}class Nv extends Error{}function jv(e,t){const r=e.participantIdentity?e.participantIdentity:t.participantIdentity;e.participantIdentity=r,t.participantIdentity=r;const i=0!==e.destinationIdentities.length?e.destinationIdentities:t.destinationIdentities;e.destinationIdentities=i,t.destinationIdentities=i}class Uv{constructor(e,t){this.lastUpdateAt=0,this.settingsCacheTime=3e3,this.attemptedRegions=[],this.serverUrl=new URL(e),this.token=t}updateToken(e){this.token=e}isCloud(){return xg(this.serverUrl)}getServerUrl(){return this.serverUrl}getNextBestRegionUrl(e){return Qh(this,void 0,void 0,function*(){if(!this.isCloud())throw Error("region availability is only supported for LiveKit Cloud domains");(!this.regionSettings||Date.now()-this.lastUpdateAt>this.settingsCacheTime)&&(this.regionSettings=yield this.fetchRegionSettings(e));const t=this.regionSettings.regions.filter(e=>!this.attemptedRegions.find(t=>t.url===e.url));if(t.length>0){const e=t[0];return this.attemptedRegions.push(e),Wh.debug("next region: ".concat(e.region)),e.url}return null})}resetAttempts(){this.attemptedRegions=[]}fetchRegionSettings(e){return Qh(this,void 0,void 0,function*(){const t=yield fetch("".concat((r=this.serverUrl,"".concat(r.protocol.replace("ws","http"),"//").concat(r.host,"/settings")),"/regions"),{headers:{authorization:"Bearer ".concat(this.token)},signal:e});var r;if(t.ok){const e=yield t.json();return this.lastUpdateAt=Date.now(),e}throw new Rp("Could not fetch region settings: ".concat(t.statusText),401===t.status?pp.NotAllowed:pp.InternalError,t.status)})}setServerReportedRegions(e){this.regionSettings=e,this.lastUpdateAt=Date.now()}}class zv{get info(){return this._info}validateBytesReceived(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if("number"==typeof this.totalByteSize&&0!==this.totalByteSize){if(e&&this.bytesReceived<this.totalByteSize)throw new zp("Not enough chunk(s) received - expected ".concat(this.totalByteSize," bytes of data total, only received ").concat(this.bytesReceived," bytes"),mp.Incomplete);if(this.bytesReceived>this.totalByteSize)throw new zp("Extra chunk(s) received - expected ".concat(this.totalByteSize," bytes of data total, received ").concat(this.bytesReceived," bytes"),mp.LengthExceeded)}}constructor(e,t,r,i){this.reader=t,this.totalByteSize=r,this._info=e,this.bytesReceived=0,this.outOfBandFailureRejectingFuture=i}}class Fv extends zv{handleChunkReceived(e){var t;this.bytesReceived+=e.content.byteLength,this.validateBytesReceived();const r=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;null===(t=this.onProgress)||void 0===t||t.call(this,r)}[Symbol.asyncIterator](){const e=this.reader.getReader();let t=new Ng,r=null,i=null;if(this.signal){const e=this.signal;i=()=>{var r;null===(r=t.reject)||void 0===r||r.call(t,e.reason)},e.addEventListener("abort",i),r=e}const n=()=>{e.releaseLock(),r&&i&&r.removeEventListener("abort",i),this.signal=void 0};return{next:()=>Qh(this,void 0,void 0,function*(){var r,i;try{const{done:n,value:o}=yield Promise.race([e.read(),t.promise,null!==(i=null===(r=this.outOfBandFailureRejectingFuture)||void 0===r?void 0:r.promise)&&void 0!==i?i:new Promise(()=>{})]);return n?(this.validateBytesReceived(!0),{done:!0,value:void 0}):(this.handleChunkReceived(o),{done:!1,value:o.content})}catch(o){throw n(),o}}),return(){return Qh(this,void 0,void 0,function*(){return n(),{done:!0,value:void 0}})}}}withAbortSignal(e){return this.signal=e,this}readAll(){return Qh(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){var r,i,n,o;let a=new Set;const s=t.signal?e.withAbortSignal(t.signal):e;try{for(var l,c=!0,d=Zh(s);!(r=(l=yield d.next()).done);c=!0){o=l.value,c=!1;const e=o;a.add(e)}}catch(h){i={error:h}}finally{try{c||r||!(n=d.return)||(yield n.call(d))}finally{if(i)throw i.error}}return Array.from(a)}()})}}class Bv extends zv{constructor(e,t,r,i){super(e,t,r,i),this.receivedChunks=new Map}handleChunkReceived(e){var t;const r=Fg(e.chunkIndex),i=this.receivedChunks.get(r);if(i&&i.version>e.version)return;this.receivedChunks.set(r,e),this.bytesReceived+=e.content.byteLength,this.validateBytesReceived();const n=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;null===(t=this.onProgress)||void 0===t||t.call(this,n)}[Symbol.asyncIterator](){const e=this.reader.getReader(),t=new TextDecoder("utf-8",{fatal:!0});let r=new Ng,i=null,n=null;if(this.signal){const e=this.signal;n=()=>{var t;null===(t=r.reject)||void 0===t||t.call(r,e.reason)},e.addEventListener("abort",n),i=e}const o=()=>{e.releaseLock(),i&&n&&i.removeEventListener("abort",n),this.signal=void 0};return{next:()=>Qh(this,void 0,void 0,function*(){var i,n;try{const{done:o,value:s}=yield Promise.race([e.read(),r.promise,null!==(n=null===(i=this.outOfBandFailureRejectingFuture)||void 0===i?void 0:i.promise)&&void 0!==n?n:new Promise(()=>{})]);if(o)return this.validateBytesReceived(!0),{done:!0,value:void 0};{let e;this.handleChunkReceived(s);try{e=t.decode(s.content)}catch(a){throw new zp("Cannot decode datastream chunk ".concat(s.chunkIndex," as text: ").concat(a),mp.DecodeFailed)}return{done:!1,value:e}}}catch(a){throw o(),a}}),return(){return Qh(this,void 0,void 0,function*(){return o(),{done:!0,value:void 0}})}}}withAbortSignal(e){return this.signal=e,this}readAll(){return Qh(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){var r,i,n,o;let a="";const s=t.signal?e.withAbortSignal(t.signal):e;try{for(var l,c=!0,d=Zh(s);!(r=(l=yield d.next()).done);c=!0)o=l.value,c=!1,a+=o}catch(h){i={error:h}}finally{try{c||r||!(n=d.return)||(yield n.call(d))}finally{if(i)throw i.error}}return a}()})}}class Vv{constructor(){this.log=Wh,this.byteStreamControllers=new Map,this.textStreamControllers=new Map,this.byteStreamHandlers=new Map,this.textStreamHandlers=new Map}registerTextStreamHandler(e,t){if(this.textStreamHandlers.has(e))throw new zp('A text stream handler for topic "'.concat(e,'" has already been set.'),mp.HandlerAlreadyRegistered);this.textStreamHandlers.set(e,t)}unregisterTextStreamHandler(e){this.textStreamHandlers.delete(e)}registerByteStreamHandler(e,t){if(this.byteStreamHandlers.has(e))throw new zp('A byte stream handler for topic "'.concat(e,'" has already been set.'),mp.HandlerAlreadyRegistered);this.byteStreamHandlers.set(e,t)}unregisterByteStreamHandler(e){this.byteStreamHandlers.delete(e)}clearHandlersAndControllers(){this.byteStreamControllers.clear(),this.textStreamControllers.clear(),this.byteStreamHandlers.clear(),this.textStreamHandlers.clear()}validateParticipantHasNoActiveDataStreams(e){var t,r,i,n;const o=Array.from(this.textStreamControllers.entries()).filter(t=>t[1].sendingParticipantIdentity===e),a=Array.from(this.byteStreamControllers.entries()).filter(t=>t[1].sendingParticipantIdentity===e);if(o.length>0||a.length>0){const s=new zp("Participant ".concat(e," unexpectedly disconnected in the middle of sending data"),mp.AbnormalEnd);for(const[e,i]of a)null===(r=(t=i.outOfBandFailureRejectingFuture).reject)||void 0===r||r.call(t,s),this.byteStreamControllers.delete(e);for(const[e,t]of o)null===(n=(i=t.outOfBandFailureRejectingFuture).reject)||void 0===n||n.call(i,s),this.textStreamControllers.delete(e)}}handleDataStreamPacket(e,t){return Qh(this,void 0,void 0,function*(){switch(e.value.case){case"streamHeader":return this.handleStreamHeader(e.value.value,e.participantIdentity,t);case"streamChunk":return this.handleStreamChunk(e.value.value,t);case"streamTrailer":return this.handleStreamTrailer(e.value.value,t);default:throw new Error('DataPacket of value "'.concat(e.value.case,'" is not data stream related!'))}})}handleStreamHeader(e,t,r){return Qh(this,void 0,void 0,function*(){var i;if("byteHeader"===e.contentHeader.case){const n=this.byteStreamHandlers.get(e.topic);if(!n)return void this.log.debug("ignoring incoming byte stream due to no handler for topic",e.topic);let o;const a=new Ng;a.promise.catch(e=>{this.log.error(e)});const s={id:e.streamId,name:null!==(i=e.contentHeader.value.name)&&void 0!==i?i:"unknown",mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:Fg(e.timestamp),attributes:e.attributes,encryptionType:r},l=new ReadableStream({start:r=>{if(o=r,this.textStreamControllers.has(e.streamId))throw new zp("A data stream read is already in progress for a stream with id ".concat(e.streamId,"."),mp.AlreadyOpened);this.byteStreamControllers.set(e.streamId,{info:s,controller:o,startTime:Date.now(),sendingParticipantIdentity:t,outOfBandFailureRejectingFuture:a})}});n(new Fv(s,l,Fg(e.totalLength),a),{identity:t})}else if("textHeader"===e.contentHeader.case){const i=this.textStreamHandlers.get(e.topic);if(!i)return void this.log.debug("ignoring incoming text stream due to no handler for topic",e.topic);let n;const o=new Ng;o.promise.catch(e=>{this.log.error(e)});const a={id:e.streamId,mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:Number(e.timestamp),attributes:e.attributes,encryptionType:r},s=new ReadableStream({start:r=>{if(n=r,this.textStreamControllers.has(e.streamId))throw new zp("A data stream read is already in progress for a stream with id ".concat(e.streamId,"."),mp.AlreadyOpened);this.textStreamControllers.set(e.streamId,{info:a,controller:n,startTime:Date.now(),sendingParticipantIdentity:t,outOfBandFailureRejectingFuture:o})}});i(new Bv(a,s,Fg(e.totalLength),o),{identity:t})}})}handleStreamChunk(e,t){const r=this.byteStreamControllers.get(e.streamId);r&&(r.info.encryptionType!==t?(r.controller.error(new zp("Encryption type mismatch for stream ".concat(e.streamId,". Expected ").concat(t,", got ").concat(r.info.encryptionType),mp.EncryptionTypeMismatch)),this.byteStreamControllers.delete(e.streamId)):e.content.length>0&&r.controller.enqueue(e));const i=this.textStreamControllers.get(e.streamId);i&&(i.info.encryptionType!==t?(i.controller.error(new zp("Encryption type mismatch for stream ".concat(e.streamId,". Expected ").concat(t,", got ").concat(i.info.encryptionType),mp.EncryptionTypeMismatch)),this.textStreamControllers.delete(e.streamId)):e.content.length>0&&i.controller.enqueue(e))}handleStreamTrailer(e,t){const r=this.textStreamControllers.get(e.streamId);r&&(r.info.encryptionType!==t?r.controller.error(new zp("Encryption type mismatch for stream ".concat(e.streamId,". Expected ").concat(t,", got ").concat(r.info.encryptionType),mp.EncryptionTypeMismatch)):(r.info.attributes=Object.assign(Object.assign({},r.info.attributes),e.attributes),r.controller.close(),this.textStreamControllers.delete(e.streamId)));const i=this.byteStreamControllers.get(e.streamId);i&&(i.info.encryptionType!==t?i.controller.error(new zp("Encryption type mismatch for stream ".concat(e.streamId,". Expected ").concat(t,", got ").concat(i.info.encryptionType),mp.EncryptionTypeMismatch)):(i.info.attributes=Object.assign(Object.assign({},i.info.attributes),e.attributes),i.controller.close()),this.byteStreamControllers.delete(e.streamId))}}class qv{constructor(e,t,r){this.writableStream=e,this.defaultWriter=e.getWriter(),this.onClose=r,this.info=t}write(e){return this.defaultWriter.write(e)}close(){return Qh(this,void 0,void 0,function*(){var e;yield this.defaultWriter.close(),this.defaultWriter.releaseLock(),null===(e=this.onClose)||void 0===e||e.call(this)})}}class Hv extends qv{}class Wv extends qv{}class $v{constructor(e,t){this.engine=e,this.log=t}setupEngine(e){this.engine=e}sendText(e,t){return Qh(this,void 0,void 0,function*(){var r;const i=crypto.randomUUID(),n=(new TextEncoder).encode(e).byteLength,o=null===(r=null==t?void 0:t.attachments)||void 0===r?void 0:r.map(()=>crypto.randomUUID()),a=new Array(o?o.length+1:1).fill(0),s=(e,r)=>{var i;a[r]=e;const n=a.reduce((e,t)=>e+t,0);null===(i=null==t?void 0:t.onProgress)||void 0===i||i.call(t,n)},l=yield this.streamText({streamId:i,totalSize:n,destinationIdentities:null==t?void 0:t.destinationIdentities,topic:null==t?void 0:t.topic,attachedStreamIds:o,attributes:null==t?void 0:t.attributes});return yield l.write(e),s(1,0),yield l.close(),(null==t?void 0:t.attachments)&&o&&(yield Promise.all(t.attachments.map((e,r)=>Qh(this,void 0,void 0,function*(){return this._sendFile(o[r],e,{topic:t.topic,mimeType:e.type,onProgress:e=>{s(e,r+1)}})})))),l.info})}streamText(e){return Qh(this,void 0,void 0,function*(){var t,r,i;const n=null!==(t=null==e?void 0:e.streamId)&&void 0!==t?t:crypto.randomUUID(),o={id:n,mimeType:"text/plain",timestamp:Date.now(),topic:null!==(r=null==e?void 0:e.topic)&&void 0!==r?r:"",size:null==e?void 0:e.totalSize,attributes:null==e?void 0:e.attributes,encryptionType:(null===(i=this.engine.e2eeManager)||void 0===i?void 0:i.isDataChannelEncryptionEnabled)?td.GCM:td.NONE},a=new Od({streamId:n,mimeType:o.mimeType,topic:o.topic,timestamp:Bg(o.timestamp),totalLength:Bg(null==e?void 0:e.totalSize),attributes:o.attributes,contentHeader:{case:"textHeader",value:new Rd({version:null==e?void 0:e.version,attachedStreamIds:null==e?void 0:e.attachedStreamIds,replyToStreamId:null==e?void 0:e.replyToStreamId,operationType:"update"===(null==e?void 0:e.type)?Md.UPDATE:Md.CREATE})}}),s=null==e?void 0:e.destinationIdentities,l=new ad({destinationIdentities:s,value:{case:"streamHeader",value:a}});yield this.engine.sendDataPacket(l,sd.RELIABLE);let c=0;const d=this.engine,h=new WritableStream({write(e){return Qh(this,void 0,void 0,function*(){for(const t of function(e){const t=[];let r=(new TextEncoder).encode(e);for(;r.length>15e3;){let e=15e3;for(;e>0;){const t=r[e];if(void 0!==t&&128!=(192&t))break;e--}t.push(r.slice(0,e)),r=r.slice(e)}return r.length>0&&t.push(r),t}(e)){yield d.waitForBufferStatusLow(sd.RELIABLE);const e=new Dd({content:t,streamId:n,chunkIndex:Bg(c)}),r=new ad({destinationIdentities:s,value:{case:"streamChunk",value:e}});yield d.sendDataPacket(r,sd.RELIABLE),c+=1}})},close(){return Qh(this,void 0,void 0,function*(){const e=new Ld({streamId:n}),t=new ad({destinationIdentities:s,value:{case:"streamTrailer",value:e}});yield d.sendDataPacket(t,sd.RELIABLE)})},abort(e){}});let u=()=>Qh(this,void 0,void 0,function*(){yield p.close()});d.once(Tp.Closing,u);const p=new Hv(h,o,()=>this.engine.off(Tp.Closing,u));return p})}sendFile(e,t){return Qh(this,void 0,void 0,function*(){const r=crypto.randomUUID();return yield this._sendFile(r,e,t),{id:r}})}_sendFile(e,t,r){return Qh(this,void 0,void 0,function*(){var i;const n=yield this.streamBytes({streamId:e,totalSize:t.size,name:t.name,mimeType:null!==(i=null==r?void 0:r.mimeType)&&void 0!==i?i:t.type,topic:null==r?void 0:r.topic,destinationIdentities:null==r?void 0:r.destinationIdentities}),o=t.stream().getReader();for(;;){const{done:e,value:t}=yield o.read();if(e)break;yield n.write(t)}return yield n.close(),n.info})}streamBytes(e){return Qh(this,void 0,void 0,function*(){var t,r,i,n,o,a;const s=null!==(t=null==e?void 0:e.streamId)&&void 0!==t?t:crypto.randomUUID(),l=null==e?void 0:e.destinationIdentities,c={id:s,mimeType:null!==(r=null==e?void 0:e.mimeType)&&void 0!==r?r:"application/octet-stream",topic:null!==(i=null==e?void 0:e.topic)&&void 0!==i?i:"",timestamp:Date.now(),attributes:null==e?void 0:e.attributes,size:null==e?void 0:e.totalSize,name:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"unknown",encryptionType:(null===(o=this.engine.e2eeManager)||void 0===o?void 0:o.isDataChannelEncryptionEnabled)?td.GCM:td.NONE},d=new Od({totalLength:Bg(null!==(a=c.size)&&void 0!==a?a:0),mimeType:c.mimeType,streamId:s,topic:c.topic,timestamp:Bg(Date.now()),attributes:c.attributes,contentHeader:{case:"byteHeader",value:new Ad({name:c.name})}}),h=new ad({destinationIdentities:l,value:{case:"streamHeader",value:d}});yield this.engine.sendDataPacket(h,sd.RELIABLE);let u=0;const p=new il,g=this.engine,m=this.log,v=new WritableStream({write(e){return Qh(this,void 0,void 0,function*(){const t=yield p.lock();let r=0;try{for(;r<e.byteLength;){const t=e.slice(r,r+15e3);yield g.waitForBufferStatusLow(sd.RELIABLE);const i=new ad({destinationIdentities:l,value:{case:"streamChunk",value:new Dd({content:t,streamId:s,chunkIndex:Bg(u)})}});yield g.sendDataPacket(i,sd.RELIABLE),u+=1,r+=t.byteLength}}finally{t()}})},close(){return Qh(this,void 0,void 0,function*(){const e=new Ld({streamId:s}),t=new ad({destinationIdentities:l,value:{case:"streamTrailer",value:e}});yield g.sendDataPacket(t,sd.RELIABLE)})},abort(e){m.error("Sink error:",e)}});return new Wv(v,c)})}}class Gv extends Qp{constructor(e,t,r,i,n){super(e,r,n),this.sid=t,this.receiver=i}get isLocal(){return!1}setMuted(e){this.isMuted!==e&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?Ip.Muted:Ip.Unmuted,this))}setMediaStream(e){this.mediaStream=e;const t=r=>{r.track===this._mediaStreamTrack&&(e.removeEventListener("removetrack",t),this.receiver&&"playoutDelayHint"in this.receiver&&(this.receiver.playoutDelayHint=void 0),this.receiver=void 0,this._currentBitrate=0,this.emit(Ip.Ended,this))};e.addEventListener("removetrack",t)}start(){this.startMonitor(),super.enable()}stop(){this.stopMonitor(),super.disable()}getRTCStatsReport(){return Qh(this,void 0,void 0,function*(){var e;if(null===(e=this.receiver)||void 0===e?void 0:e.getStats)return yield this.receiver.getStats()})}setPlayoutDelay(e){this.receiver?"playoutDelayHint"in this.receiver?this.receiver.playoutDelayHint=e:this.log.warn("Playout delay not supported in this browser"):this.log.warn("Cannot set playout delay, track already ended")}getPlayoutDelay(){if(this.receiver){if("playoutDelayHint"in this.receiver)return this.receiver.playoutDelayHint;this.log.warn("Playout delay not supported in this browser")}else this.log.warn("Cannot get playout delay, track already ended");return 0}startMonitor(){this.monitorInterval||(this.monitorInterval=setInterval(()=>this.monitorReceiver(),Xm)),"undefined"!=typeof RTCRtpReceiver&&"getSynchronizationSources"in RTCRtpReceiver&&this.registerTimeSyncUpdate()}registerTimeSyncUpdate(){const e=()=>{var t;this.timeSyncHandle=requestAnimationFrame(()=>e());const r=null===(t=this.receiver)||void 0===t?void 0:t.getSynchronizationSources()[0];if(r){const{timestamp:e,rtpTimestamp:t}=r;t&&this.rtpTimestamp!==t&&(this.emit(Ip.TimeSyncUpdate,{timestamp:e,rtpTimestamp:t}),this.rtpTimestamp=t)}};e()}}class Jv extends Gv{constructor(e,t,r,i,n,o){super(e,t,Qp.Kind.Audio,r,o),this.monitorReceiver=()=>Qh(this,void 0,void 0,function*(){if(!this.receiver)return void(this._currentBitrate=0);const e=yield this.getReceiverStats();e&&this.prevStats&&this.receiver&&(this._currentBitrate=ev(e,this.prevStats)),this.prevStats=e}),this.audioContext=i,this.webAudioPluginNodes=[],n&&(this.sinkId=n.deviceId)}setVolume(e){var t;for(const r of this.attachedElements)this.audioContext?null===(t=this.gainNode)||void 0===t||t.gain.setTargetAtTime(e,0,.1):r.volume=e;yg()&&this._mediaStreamTrack._setVolume(e),this.elementVolume=e}getVolume(){if(this.elementVolume)return this.elementVolume;if(yg())return 1;let e=0;return this.attachedElements.forEach(t=>{t.volume>e&&(e=t.volume)}),e}setSinkId(e){return Qh(this,void 0,void 0,function*(){this.sinkId=e,yield Promise.all(this.attachedElements.map(t=>{if(mg(t))return t.setSinkId(e)}))})}attach(e){const t=0===this.attachedElements.length;return e?super.attach(e):e=super.attach(),this.sinkId&&mg(e)&&e.setSinkId(this.sinkId).catch(e=>{this.log.error("Failed to set sink id on remote audio track",e,this.logContext)}),this.audioContext&&t&&(this.log.debug("using audio context mapping",this.logContext),this.connectWebAudio(this.audioContext,e),e.volume=0,e.muted=!0),this.elementVolume&&this.setVolume(this.elementVolume),e}detach(e){let t;return e?(t=super.detach(e),this.audioContext&&(this.attachedElements.length>0?this.connectWebAudio(this.audioContext,this.attachedElements[0]):this.disconnectWebAudio())):(t=super.detach(),this.disconnectWebAudio()),t}setAudioContext(e){this.audioContext=e,e&&this.attachedElements.length>0?this.connectWebAudio(e,this.attachedElements[0]):e||this.disconnectWebAudio()}setWebAudioPlugins(e){this.webAudioPluginNodes=e,this.attachedElements.length>0&&this.audioContext&&this.connectWebAudio(this.audioContext,this.attachedElements[0])}connectWebAudio(e,t){this.disconnectWebAudio(),this.sourceNode=e.createMediaStreamSource(t.srcObject);let r=this.sourceNode;this.webAudioPluginNodes.forEach(e=>{r.connect(e),r=e}),this.gainNode=e.createGain(),r.connect(this.gainNode),this.gainNode.connect(e.destination),this.elementVolume&&this.gainNode.gain.setTargetAtTime(this.elementVolume,0,.1),"running"!==e.state&&e.resume().then(()=>{"running"!==e.state&&this.emit(Ip.AudioPlaybackFailed,new Error("Audio Context couldn't be started automatically"))}).catch(e=>{this.emit(Ip.AudioPlaybackFailed,e)})}disconnectWebAudio(){var e,t;null===(e=this.gainNode)||void 0===e||e.disconnect(),null===(t=this.sourceNode)||void 0===t||t.disconnect(),this.gainNode=void 0,this.sourceNode=void 0}getReceiverStats(){return Qh(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;let e;return(yield this.receiver.getStats()).forEach(t=>{"inbound-rtp"===t.type&&(e={type:"audio",streamId:t.id,timestamp:t.timestamp,jitter:t.jitter,bytesReceived:t.bytesReceived,concealedSamples:t.concealedSamples,concealmentEvents:t.concealmentEvents,silentConcealedSamples:t.silentConcealedSamples,silentConcealmentEvents:t.silentConcealmentEvents,totalAudioEnergy:t.totalAudioEnergy,totalSamplesDuration:t.totalSamplesDuration})}),e})}}class Kv extends Gv{constructor(e,t,r,i,n){super(e,t,Qp.Kind.Video,r,n),this.elementInfos=[],this.monitorReceiver=()=>Qh(this,void 0,void 0,function*(){if(!this.receiver)return void(this._currentBitrate=0);const e=yield this.getReceiverStats();e&&this.prevStats&&this.receiver&&(this._currentBitrate=ev(e,this.prevStats)),this.prevStats=e}),this.debouncedHandleResize=Om(()=>{this.updateDimensions()},100),this.adaptiveStreamSettings=i}get isAdaptiveStream(){return void 0!==this.adaptiveStreamSettings}setStreamState(e){super.setStreamState(e),e===Qp.StreamState.Active&&this.updateVisibility()}get mediaStreamTrack(){return this._mediaStreamTrack}setMuted(e){super.setMuted(e),this.attachedElements.forEach(t=>{e?Yp(this._mediaStreamTrack,t):Zp(this._mediaStreamTrack,t)})}attach(e){if(e?super.attach(e):e=super.attach(),this.adaptiveStreamSettings&&void 0===this.elementInfos.find(t=>t.element===e)){const t=new Qv(e);this.observeElementInfo(t)}return e}observeElementInfo(e){this.adaptiveStreamSettings&&void 0===this.elementInfos.find(t=>t===e)?(e.handleResize=()=>{this.debouncedHandleResize()},e.handleVisibilityChanged=()=>{this.updateVisibility()},this.elementInfos.push(e),e.observe(),this.debouncedHandleResize(),this.updateVisibility()):this.log.warn("visibility resize observer not triggered",this.logContext)}stopObservingElementInfo(e){if(!this.isAdaptiveStream)return void this.log.warn("stopObservingElementInfo ignored",this.logContext);const t=this.elementInfos.filter(t=>t===e);for(const r of t)r.stopObserving();this.elementInfos=this.elementInfos.filter(t=>t!==e),this.updateVisibility(),this.debouncedHandleResize()}detach(e){let t=[];if(e)return this.stopObservingElement(e),super.detach(e);t=super.detach();for(const r of t)this.stopObservingElement(r);return t}getDecoderImplementation(){var e;return null===(e=this.prevStats)||void 0===e?void 0:e.decoderImplementation}getReceiverStats(){return Qh(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;const e=yield this.receiver.getStats();let t,r="",i=new Map;return e.forEach(e=>{"inbound-rtp"===e.type?(r=e.codecId,t={type:"video",streamId:e.id,framesDecoded:e.framesDecoded,framesDropped:e.framesDropped,framesReceived:e.framesReceived,packetsReceived:e.packetsReceived,packetsLost:e.packetsLost,frameWidth:e.frameWidth,frameHeight:e.frameHeight,pliCount:e.pliCount,firCount:e.firCount,nackCount:e.nackCount,jitter:e.jitter,timestamp:e.timestamp,bytesReceived:e.bytesReceived,decoderImplementation:e.decoderImplementation}):"codec"===e.type&&i.set(e.id,e)}),t&&""!==r&&i.get(r)&&(t.mimeType=i.get(r).mimeType),t})}stopObservingElement(e){const t=this.elementInfos.filter(t=>t.element===e);for(const r of t)this.stopObservingElementInfo(r)}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return Qh(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),this.isAdaptiveStream&&this.updateVisibility()})}updateVisibility(e){var t,r;const i=this.elementInfos.reduce((e,t)=>Math.max(e,t.visibilityChangedAt||0),0),n=!(null!==(r=null===(t=this.adaptiveStreamSettings)||void 0===t?void 0:t.pauseVideoInBackground)&&void 0!==r&&!r)&&this.isInBackground,o=this.elementInfos.some(e=>e.pictureInPicture),a=this.elementInfos.some(e=>e.visible)&&!n||o;(this.lastVisible!==a||e)&&(!a&&Date.now()-i<100?$p.setTimeout(()=>{this.updateVisibility()},100):(this.lastVisible=a,this.emit(Ip.VisibilityChanged,a,this)))}updateDimensions(){var e,t;let r=0,i=0;const n=this.getPixelDensity();for(const o of this.elementInfos){const e=o.width()*n,t=o.height()*n;e+t>r+i&&(r=e,i=t)}(null===(e=this.lastDimensions)||void 0===e?void 0:e.width)===r&&(null===(t=this.lastDimensions)||void 0===t?void 0:t.height)===i||(this.lastDimensions={width:r,height:i},this.emit(Ip.VideoDimensionsChanged,this.lastDimensions,this))}getPixelDensity(){var e;const t=null===(e=this.adaptiveStreamSettings)||void 0===e?void 0:e.pixelDensity;return"screen"===t?Tg():t||(Tg()>2?2:1)}}class Qv{get visible(){return this.isPiP||this.isIntersecting}get pictureInPicture(){return this.isPiP}constructor(e,t){this.onVisibilityChanged=e=>{var t;const{target:r,isIntersecting:i}=e;r===this.element&&(this.isIntersecting=i,this.isPiP=Zv(this.element),this.visibilityChangedAt=Date.now(),null===(t=this.handleVisibilityChanged)||void 0===t||t.call(this))},this.onEnterPiP=()=>{var e,t,r;null===(t=null===(e=window.documentPictureInPicture)||void 0===e?void 0:e.window)||void 0===t||t.addEventListener("pagehide",this.onLeavePiP),this.isPiP=Zv(this.element),null===(r=this.handleVisibilityChanged)||void 0===r||r.call(this)},this.onLeavePiP=()=>{var e;this.isPiP=Zv(this.element),null===(e=this.handleVisibilityChanged)||void 0===e||e.call(this)},this.element=e,this.isIntersecting=null!=t?t:Yv(e),this.isPiP=wg()&&Zv(e),this.visibilityChangedAt=0}width(){return this.element.clientWidth}height(){return this.element.clientHeight}observe(){var e,t,r;this.isIntersecting=Yv(this.element),this.isPiP=Zv(this.element),this.element.handleResize=()=>{var e;null===(e=this.handleResize)||void 0===e||e.call(this)},this.element.handleVisibilityChanged=this.onVisibilityChanged,Ag().observe(this.element),Mg().observe(this.element),this.element.addEventListener("enterpictureinpicture",this.onEnterPiP),this.element.addEventListener("leavepictureinpicture",this.onLeavePiP),null===(e=window.documentPictureInPicture)||void 0===e||e.addEventListener("enter",this.onEnterPiP),null===(r=null===(t=window.documentPictureInPicture)||void 0===t?void 0:t.window)||void 0===r||r.addEventListener("pagehide",this.onLeavePiP)}stopObserving(){var e,t,r,i,n;null===(e=Ag())||void 0===e||e.unobserve(this.element),null===(t=Mg())||void 0===t||t.unobserve(this.element),this.element.removeEventListener("enterpictureinpicture",this.onEnterPiP),this.element.removeEventListener("leavepictureinpicture",this.onLeavePiP),null===(r=window.documentPictureInPicture)||void 0===r||r.removeEventListener("enter",this.onEnterPiP),null===(n=null===(i=window.documentPictureInPicture)||void 0===i?void 0:i.window)||void 0===n||n.removeEventListener("pagehide",this.onLeavePiP)}}function Zv(e){var t,r;return document.pictureInPictureElement===e||!!(null===(t=window.documentPictureInPicture)||void 0===t?void 0:t.window)&&Yv(e,null===(r=window.documentPictureInPicture)||void 0===r?void 0:r.window)}function Yv(e,t){const r=t||window;let i=e.offsetTop,n=e.offsetLeft;const o=e.offsetWidth,a=e.offsetHeight,{hidden:s}=e,{display:l}=getComputedStyle(e);for(;e.offsetParent;)i+=(e=e.offsetParent).offsetTop,n+=e.offsetLeft;return i<r.pageYOffset+r.innerHeight&&n<r.pageXOffset+r.innerWidth&&i+a>r.pageYOffset&&n+o>r.pageXOffset&&!s&&"none"!==l}class Xv extends eu.EventEmitter{constructor(e,t,r,i){var n;super(),this.metadataMuted=!1,this.encryption=td.NONE,this.log=Wh,this.handleMuted=()=>{this.emit(Ip.Muted)},this.handleUnmuted=()=>{this.emit(Ip.Unmuted)},this.log=$h(null!==(n=null==i?void 0:i.loggerName)&&void 0!==n?n:Uh.Publication),this.loggerContextCb=this.loggerContextCb,this.setMaxListeners(100),this.kind=e,this.trackSid=t,this.trackName=r,this.source=Qp.Source.Unknown}setTrack(e){this.track&&(this.track.off(Ip.Muted,this.handleMuted),this.track.off(Ip.Unmuted,this.handleUnmuted)),this.track=e,e&&(e.on(Ip.Muted,this.handleMuted),e.on(Ip.Unmuted,this.handleUnmuted))}get logContext(){var e;return Object.assign(Object.assign({},null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this)),nm(this))}get isMuted(){return this.metadataMuted}get isEnabled(){return!0}get isSubscribed(){return void 0!==this.track}get isEncrypted(){return this.encryption!==td.NONE}get audioTrack(){if(qg(this.track))return this.track}get videoTrack(){if(Hg(this.track))return this.track}updateInfo(e){this.trackSid=e.sid,this.trackName=e.name,this.source=Qp.sourceFromProto(e.source),this.mimeType=e.mimeType,this.kind===Qp.Kind.Video&&e.width>0&&(this.dimensions={width:e.width,height:e.height},this.simulcasted=e.simulcast),this.encryption=e.encryption,this.trackInfo=e,this.log.debug("update publication info",Object.assign(Object.assign({},this.logContext),{info:e}))}}(Iv=(Ev=Xv||(Xv={})).SubscriptionStatus||(Ev.SubscriptionStatus={})).Desired="desired",Iv.Subscribed="subscribed",Iv.Unsubscribed="unsubscribed",(Pv=Ev.PermissionStatus||(Ev.PermissionStatus={})).Allowed="allowed",Pv.NotAllowed="not_allowed";class ef extends Xv{get isUpstreamPaused(){var e;return null===(e=this.track)||void 0===e?void 0:e.isUpstreamPaused}constructor(e,t,r,i){super(e,t.sid,t.name,i),this.track=void 0,this.handleTrackEnded=()=>{this.emit(Ip.Ended)},this.handleCpuConstrained=()=>{this.track&&Hg(this.track)&&this.emit(Ip.CpuConstrained,this.track)},this.updateInfo(t),this.setTrack(r)}setTrack(e){this.track&&(this.track.off(Ip.Ended,this.handleTrackEnded),this.track.off(Ip.CpuConstrained,this.handleCpuConstrained)),super.setTrack(e),e&&(e.on(Ip.Ended,this.handleTrackEnded),e.on(Ip.CpuConstrained,this.handleCpuConstrained))}get isMuted(){return this.track?this.track.isMuted:super.isMuted}get audioTrack(){return super.audioTrack}get videoTrack(){return super.videoTrack}get isLocal(){return!0}mute(){return Qh(this,void 0,void 0,function*(){var e;return null===(e=this.track)||void 0===e?void 0:e.mute()})}unmute(){return Qh(this,void 0,void 0,function*(){var e;return null===(e=this.track)||void 0===e?void 0:e.unmute()})}pauseUpstream(){return Qh(this,void 0,void 0,function*(){var e;yield null===(e=this.track)||void 0===e?void 0:e.pauseUpstream()})}resumeUpstream(){return Qh(this,void 0,void 0,function*(){var e;yield null===(e=this.track)||void 0===e?void 0:e.resumeUpstream()})}getTrackFeatures(){var e;if(qg(this.track)){const t=this.track.getSourceTrackSettings(),r=new Set;return t.autoGainControl&&r.add(Gc.TF_AUTO_GAIN_CONTROL),t.echoCancellation&&r.add(Gc.TF_ECHO_CANCELLATION),t.noiseSuppression&&r.add(Gc.TF_NOISE_SUPPRESSION),t.channelCount&&t.channelCount>1&&r.add(Gc.TF_STEREO),(null===(e=this.options)||void 0===e?void 0:e.dtx)||r.add(Gc.TF_NO_DTX),this.track.enhancedNoiseCancellation&&r.add(Gc.TF_ENHANCED_NOISE_CANCELLATION),Array.from(r.values())}return[]}}function tf(e,t){return Qh(this,void 0,void 0,function*(){null!=e||(e={});let r=!1;const{audioProcessor:i,videoProcessor:n,optionsWithoutProcessor:o}=om(e);let a=o.audio,s=o.video;if(i&&"object"==typeof o.audio&&(o.audio.processor=i),n&&"object"==typeof o.video&&(o.video.processor=n),e.audio&&"object"==typeof o.audio&&"string"==typeof o.audio.deviceId){const e=o.audio.deviceId;o.audio.deviceId={exact:e},r=!0,a=Object.assign(Object.assign({},o.audio),{deviceId:{ideal:e}})}if(o.video&&"object"==typeof o.video&&"string"==typeof o.video.deviceId){const e=o.video.deviceId;o.video.deviceId={exact:e},r=!0,s=Object.assign(Object.assign({},o.video),{deviceId:{ideal:e}})}(!0===o.audio||"object"==typeof o.audio&&!o.audio.deviceId)&&(o.audio={deviceId:"default"}),!0===o.video?o.video={deviceId:"default"}:"object"!=typeof o.video||o.video.deviceId||(o.video.deviceId="default");const l=Qg(o,qm,Hm),c=Yg(l),d=navigator.mediaDevices.getUserMedia(c);o.audio&&(cm.userMediaPromiseMap.set("audioinput",d),d.catch(()=>cm.userMediaPromiseMap.delete("audioinput"))),o.video&&(cm.userMediaPromiseMap.set("videoinput",d),d.catch(()=>cm.userMediaPromiseMap.delete("videoinput")));try{const e=yield d;return yield Promise.all(e.getTracks().map(r=>Qh(this,void 0,void 0,function*(){const o="audio"===r.kind;let a,s=o?l.audio:l.video;"boolean"!=typeof s&&s||(s={});const d=o?c.audio:c.video;"boolean"!=typeof d&&(a=d);const h=r.getSettings().deviceId;(null==a?void 0:a.deviceId)&&jg(a.deviceId)!==h?a.deviceId=h:a||(a={deviceId:h});const u=function(e,t,r){switch(e.kind){case"audio":return new ov(e,t,!1,void 0,r);case"video":return new fv(e,t,!1,r);default:throw new Op("unsupported track type: ".concat(e.kind))}}(r,a,t);return u.kind===Qp.Kind.Video?u.source=Qp.Source.Camera:u.kind===Qp.Kind.Audio&&(u.source=Qp.Source.Microphone),u.mediaStream=e,qg(u)&&i?yield u.setProcessor(i):Hg(u)&&n&&(yield u.setProcessor(n)),u})))}catch(yy){if(!r)throw yy;return tf(Object.assign(Object.assign({},e),{audio:a,video:s}),t)}})}(Mv=_v||(_v={})).Excellent="excellent",Mv.Good="good",Mv.Poor="poor",Mv.Lost="lost",Mv.Unknown="unknown";class rf extends eu.EventEmitter{get logContext(){var e,t;return Object.assign({},null===(t=null===(e=this.loggerOptions)||void 0===e?void 0:e.loggerContextCb)||void 0===t?void 0:t.call(e))}get isEncrypted(){return this.trackPublications.size>0&&Array.from(this.trackPublications.values()).every(e=>e.isEncrypted)}get isAgent(){var e;return(null===(e=this.permissions)||void 0===e?void 0:e.agent)||this.kind===Xc.AGENT}get isActive(){var e;return(null===(e=this.participantInfo)||void 0===e?void 0:e.state)===Yc.ACTIVE}get kind(){return this._kind}get attributes(){return Object.freeze(Object.assign({},this._attributes))}constructor(e,t,r,i,n,o){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:Xc.STANDARD;var s;super(),this.audioLevel=0,this.isSpeaking=!1,this._connectionQuality=_v.Unknown,this.log=Wh,this.log=$h(null!==(s=null==o?void 0:o.loggerName)&&void 0!==s?s:Uh.Participant),this.loggerOptions=o,this.setMaxListeners(100),this.sid=e,this.identity=t,this.name=r,this.metadata=i,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this._kind=a,this._attributes=null!=n?n:{}}getTrackPublications(){return Array.from(this.trackPublications.values())}getTrackPublication(e){for(const[,t]of this.trackPublications)if(t.source===e)return t}getTrackPublicationByName(e){for(const[,t]of this.trackPublications)if(t.trackName===e)return t}waitUntilActive(){return this.isActive?Promise.resolve():(this.activeFuture||(this.activeFuture=new Ng,this.once(Cp.Active,()=>{var e,t;null===(t=null===(e=this.activeFuture)||void 0===e?void 0:e.resolve)||void 0===t||t.call(e),this.activeFuture=void 0})),this.activeFuture.promise)}get connectionQuality(){return this._connectionQuality}get isCameraEnabled(){var e;const t=this.getTrackPublication(Qp.Source.Camera);return!(null===(e=null==t?void 0:t.isMuted)||void 0===e||e)}get isMicrophoneEnabled(){var e;const t=this.getTrackPublication(Qp.Source.Microphone);return!(null===(e=null==t?void 0:t.isMuted)||void 0===e||e)}get isScreenShareEnabled(){return!!this.getTrackPublication(Qp.Source.ScreenShare)}get isLocal(){return!1}get joinedAt(){return this.participantInfo?new Date(1e3*Number.parseInt(this.participantInfo.joinedAt.toString())):new Date}updateInfo(e){var t;return!(this.participantInfo&&this.participantInfo.sid===e.sid&&this.participantInfo.version>e.version||(this.identity=e.identity,this.sid=e.sid,this._setName(e.name),this._setMetadata(e.metadata),this._setAttributes(e.attributes),e.state===Yc.ACTIVE&&(null===(t=this.participantInfo)||void 0===t?void 0:t.state)!==Yc.ACTIVE&&this.emit(Cp.Active),e.permission&&this.setPermissions(e.permission),this.participantInfo=e,0))}_setMetadata(e){const t=this.metadata!==e,r=this.metadata;this.metadata=e,t&&this.emit(Cp.ParticipantMetadataChanged,r)}_setName(e){const t=this.name!==e;this.name=e,t&&this.emit(Cp.ParticipantNameChanged,e)}_setAttributes(e){const t=function(e,t){var r;void 0===e&&(e={}),void 0===t&&(t={});const i=[...Object.keys(t),...Object.keys(e)],n={};for(const o of i)e[o]!==t[o]&&(n[o]=null!==(r=t[o])&&void 0!==r?r:"");return n}(this.attributes,e);this._attributes=e,Object.keys(t).length>0&&this.emit(Cp.AttributesChanged,t)}setPermissions(e){var t,r,i,n,o,a;const s=this.permissions,l=e.canPublish!==(null===(t=this.permissions)||void 0===t?void 0:t.canPublish)||e.canSubscribe!==(null===(r=this.permissions)||void 0===r?void 0:r.canSubscribe)||e.canPublishData!==(null===(i=this.permissions)||void 0===i?void 0:i.canPublishData)||e.hidden!==(null===(n=this.permissions)||void 0===n?void 0:n.hidden)||e.recorder!==(null===(o=this.permissions)||void 0===o?void 0:o.recorder)||e.canPublishSources.length!==this.permissions.canPublishSources.length||e.canPublishSources.some((e,t)=>{var r;return e!==(null===(r=this.permissions)||void 0===r?void 0:r.canPublishSources[t])})||e.canSubscribeMetrics!==(null===(a=this.permissions)||void 0===a?void 0:a.canSubscribeMetrics);return this.permissions=e,l&&this.emit(Cp.ParticipantPermissionsChanged,s),l}setIsSpeaking(e){e!==this.isSpeaking&&(this.isSpeaking=e,e&&(this.lastSpokeAt=new Date),this.emit(Cp.IsSpeakingChanged,e))}setConnectionQuality(e){const t=this._connectionQuality;this._connectionQuality=function(e){switch(e){case Vc.EXCELLENT:return _v.Excellent;case Vc.GOOD:return _v.Good;case Vc.POOR:return _v.Poor;case Vc.LOST:return _v.Lost;default:return _v.Unknown}}(e),t!==this._connectionQuality&&this.emit(Cp.ConnectionQualityChanged,this._connectionQuality)}setDisconnected(){var e,t;this.activeFuture&&(null===(t=(e=this.activeFuture).reject)||void 0===t||t.call(e,new Error("Participant disconnected")),this.activeFuture=void 0)}setAudioContext(e){this.audioContext=e,this.audioTrackPublications.forEach(t=>qg(t.track)&&t.track.setAudioContext(e))}addTrackPublication(e){e.on(Ip.Muted,()=>{this.emit(Cp.TrackMuted,e)}),e.on(Ip.Unmuted,()=>{this.emit(Cp.TrackUnmuted,e)});const t=e;switch(t.track&&(t.track.sid=e.trackSid),this.trackPublications.set(e.trackSid,e),e.kind){case Qp.Kind.Audio:this.audioTrackPublications.set(e.trackSid,e);break;case Qp.Kind.Video:this.videoTrackPublications.set(e.trackSid,e)}}}class nf extends rf{constructor(e,t,r,i,n,o){super(e,t,void 0,void 0,void 0,{loggerName:i.loggerName,loggerContextCb:()=>this.engine.logContext}),this.pendingPublishing=new Set,this.pendingPublishPromises=new Map,this.participantTrackPermissions=[],this.allParticipantsAllowedToSubscribe=!0,this.encryptionType=td.NONE,this.enabledPublishVideoCodecs=[],this.pendingAcks=new Map,this.pendingResponses=new Map,this.handleReconnecting=()=>{this.reconnectFuture||(this.reconnectFuture=new Ng)},this.handleReconnected=()=>{var e,t;null===(t=null===(e=this.reconnectFuture)||void 0===e?void 0:e.resolve)||void 0===t||t.call(e),this.reconnectFuture=void 0,this.updateTrackSubscriptionPermissions()},this.handleClosing=()=>{var e,t,r,i,n,o;this.reconnectFuture&&(this.reconnectFuture.promise.catch(e=>this.log.warn(e.message,this.logContext)),null===(t=null===(e=this.reconnectFuture)||void 0===e?void 0:e.reject)||void 0===t||t.call(e,"Got disconnected during reconnection attempt"),this.reconnectFuture=void 0),this.signalConnectedFuture&&(null===(i=(r=this.signalConnectedFuture).reject)||void 0===i||i.call(r,"Got disconnected without signal connected"),this.signalConnectedFuture=void 0),null===(o=null===(n=this.activeAgentFuture)||void 0===n?void 0:n.reject)||void 0===o||o.call(n,"Got disconnected without active agent present"),this.activeAgentFuture=void 0,this.firstActiveAgent=void 0},this.handleSignalConnected=e=>{var t,r;e.participant&&this.updateInfo(e.participant),this.signalConnectedFuture||(this.signalConnectedFuture=new Ng),null===(r=(t=this.signalConnectedFuture).resolve)||void 0===r||r.call(t)},this.handleSignalRequestResponse=e=>{const{requestId:t,reason:r,message:i}=e,n=this.pendingSignalRequests.get(t);n&&(r!==Rh.OK&&n.reject(new Up(i,r)),this.pendingSignalRequests.delete(t))},this.handleDataPacket=e=>{switch(e.value.case){case"rpcResponse":let t=e.value.value,r=null,i=null;"payload"===t.value.case?r=t.value.value:"error"===t.value.case&&(i=Qm.fromProto(t.value.value)),this.handleIncomingRpcResponse(t.requestId,r,i);break;case"rpcAck":let n=e.value.value;this.handleIncomingRpcAck(n.requestId)}},this.updateTrackSubscriptionPermissions=()=>{this.log.debug("updating track subscription permissions",Object.assign(Object.assign({},this.logContext),{allParticipantsAllowed:this.allParticipantsAllowedToSubscribe,participantTrackPermissions:this.participantTrackPermissions})),this.engine.client.sendUpdateSubscriptionPermissions(this.allParticipantsAllowedToSubscribe,this.participantTrackPermissions.map(e=>function(e){var t,r,i;if(!e.participantSid&&!e.participantIdentity)throw new Error("Invalid track permission, must provide at least one of participantIdentity and participantSid");return new fh({participantIdentity:null!==(t=e.participantIdentity)&&void 0!==t?t:"",participantSid:null!==(r=e.participantSid)&&void 0!==r?r:"",allTracks:null!==(i=e.allowAll)&&void 0!==i&&i,trackSids:e.allowedTrackSids||[]})}(e)))},this.onTrackUnmuted=e=>{this.onTrackMuted(e,e.isUpstreamPaused)},this.onTrackMuted=(e,t)=>{void 0===t&&(t=!0),e.sid?this.engine.updateMuteStatus(e.sid,t):this.log.error("could not update mute status for unpublished track",Object.assign(Object.assign({},this.logContext),nm(e)))},this.onTrackUpstreamPaused=e=>{this.log.debug("upstream paused",Object.assign(Object.assign({},this.logContext),nm(e))),this.onTrackMuted(e,!0)},this.onTrackUpstreamResumed=e=>{this.log.debug("upstream resumed",Object.assign(Object.assign({},this.logContext),nm(e))),this.onTrackMuted(e,e.isMuted)},this.onTrackFeatureUpdate=e=>{const t=this.audioTrackPublications.get(e.sid);t?this.engine.client.sendUpdateLocalAudioTrack(t.trackSid,t.getTrackFeatures()):this.log.warn("Could not update local audio track settings, missing publication for track ".concat(e.sid),this.logContext)},this.onTrackCpuConstrained=(e,t)=>{this.log.debug("track cpu constrained",Object.assign(Object.assign({},this.logContext),nm(t))),this.emit(Cp.LocalTrackCpuConstrained,e,t)},this.handleSubscribedQualityUpdate=e=>Qh(this,void 0,void 0,function*(){var t,r,i,n,o;if(!(null===(o=this.roomOptions)||void 0===o?void 0:o.dynacast))return;const a=this.videoTrackPublications.get(e.trackSid);if(!a)return void this.log.warn("received subscribed quality update for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:e.trackSid}));if(!a.videoTrack)return;const s=yield a.videoTrack.setPublishingCodecs(e.subscribedCodecs);try{for(var l,c=!0,d=Zh(s);!(t=(l=yield d.next()).done);c=!0){n=l.value,c=!1;const e=n;rg(e)&&(this.log.debug("publish ".concat(e," for ").concat(a.videoTrack.sid),Object.assign(Object.assign({},this.logContext),nm(a))),yield this.publishAdditionalCodecForTrack(a.videoTrack,e,a.options))}}catch(h){r={error:h}}finally{try{c||t||!(i=d.return)||(yield i.call(d))}finally{if(r)throw r.error}}}),this.handleLocalTrackUnpublished=e=>{const t=this.trackPublications.get(e.trackSid);t?this.unpublishTrack(t.track):this.log.warn("received unpublished event for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:e.trackSid}))},this.handleTrackEnded=e=>Qh(this,void 0,void 0,function*(){if(e.source===Qp.Source.ScreenShare||e.source===Qp.Source.ScreenShareAudio)this.log.debug("unpublishing local track due to TrackEnded",Object.assign(Object.assign({},this.logContext),nm(e))),this.unpublishTrack(e);else if(e.isUserProvided)yield e.mute();else if($g(e)||Wg(e))try{if(wg())try{const t=yield null===navigator||void 0===navigator?void 0:navigator.permissions.query({name:e.source===Qp.Source.Camera?"camera":"microphone"});if(t&&"denied"===t.state)throw this.log.warn("user has revoked access to ".concat(e.source),Object.assign(Object.assign({},this.logContext),nm(e))),t.onchange=()=>{"denied"!==t.state&&(e.isMuted||e.restartTrack(),t.onchange=null)},new Error("GetUserMedia Permission denied")}catch(yy){}e.isMuted||(this.log.debug("track ended, attempting to use a different device",Object.assign(Object.assign({},this.logContext),nm(e))),$g(e)?yield e.restartTrack({deviceId:"default"}):yield e.restartTrack())}catch(yy){this.log.warn("could not restart track, muting instead",Object.assign(Object.assign({},this.logContext),nm(e))),yield e.mute()}}),this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this.engine=r,this.roomOptions=i,this.setupEngine(r),this.activeDeviceMap=new Map([["audioinput","default"],["videoinput","default"],["audiooutput","default"]]),this.pendingSignalRequests=new Map,this.rpcHandlers=n,this.roomOutgoingDataStreamManager=o}get lastCameraError(){return this.cameraError}get lastMicrophoneError(){return this.microphoneError}get isE2EEEnabled(){return this.encryptionType!==td.NONE}getTrackPublication(e){const t=super.getTrackPublication(e);if(t)return t}getTrackPublicationByName(e){const t=super.getTrackPublicationByName(e);if(t)return t}setupEngine(e){var t;this.engine=e,this.engine.on(Tp.RemoteMute,(e,t)=>{const r=this.trackPublications.get(e);r&&r.track&&(t?r.mute():r.unmute())}),(null===(t=this.signalConnectedFuture)||void 0===t?void 0:t.isResolved)&&(this.signalConnectedFuture=void 0),this.engine.on(Tp.Connected,this.handleReconnected).on(Tp.SignalConnected,this.handleSignalConnected).on(Tp.SignalRestarted,this.handleReconnected).on(Tp.SignalResumed,this.handleReconnected).on(Tp.Restarting,this.handleReconnecting).on(Tp.Resuming,this.handleReconnecting).on(Tp.LocalTrackUnpublished,this.handleLocalTrackUnpublished).on(Tp.SubscribedQualityUpdate,this.handleSubscribedQualityUpdate).on(Tp.Closing,this.handleClosing).on(Tp.SignalRequestResponse,this.handleSignalRequestResponse).on(Tp.DataPacketReceived,this.handleDataPacket)}setMetadata(e){return Qh(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({metadata:e})})}setName(e){return Qh(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({name:e})})}setAttributes(e){return Qh(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({attributes:e})})}requestMetadataUpdate(e){return Qh(this,arguments,void 0,function(e){var t=this;let{metadata:r,name:i,attributes:n}=e;return function*(){return new Promise((e,o)=>Qh(t,void 0,void 0,function*(){var t,a;try{let s=!1;const l=yield this.engine.client.sendUpdateLocalMetadata(null!==(t=null!=r?r:this.metadata)&&void 0!==t?t:"",null!==(a=null!=i?i:this.name)&&void 0!==a?a:"",n),c=performance.now();for(this.pendingSignalRequests.set(l,{resolve:e,reject:e=>{o(e),s=!0},values:{name:i,metadata:r,attributes:n}});performance.now()-c<5e3&&!s;){if((!i||this.name===i)&&(!r||this.metadata===r)&&(!n||Object.entries(n).every(e=>{let[t,r]=e;return this.attributes[t]===r||""===r&&!this.attributes[t]})))return this.pendingSignalRequests.delete(l),void e();yield hg(50)}o(new Up("Request to update local metadata timed out","TimeoutError"))}catch(yy){yy instanceof Error&&o(yy)}}))}()})}setCameraEnabled(e,t,r){return this.setTrackEnabled(Qp.Source.Camera,e,t,r)}setMicrophoneEnabled(e,t,r){return this.setTrackEnabled(Qp.Source.Microphone,e,t,r)}setScreenShareEnabled(e,t,r){return this.setTrackEnabled(Qp.Source.ScreenShare,e,t,r)}setE2EEEnabled(e){return Qh(this,void 0,void 0,function*(){this.encryptionType=e?td.GCM:td.NONE,yield this.republishAllTracks(void 0,!1)})}setTrackEnabled(e,t,r,i){return Qh(this,void 0,void 0,function*(){var n,o;this.log.debug("setTrackEnabled",Object.assign(Object.assign({},this.logContext),{source:e,enabled:t})),this.republishPromise&&(yield this.republishPromise);let a=this.getTrackPublication(e);if(t)if(a)yield a.unmute();else{let t;if(this.pendingPublishing.has(e)){const t=yield this.waitForPendingPublicationOfSource(e);return t||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e})),yield null==t?void 0:t.unmute(),t}this.pendingPublishing.add(e);try{switch(e){case Qp.Source.Camera:t=yield this.createTracks({video:null===(n=r)||void 0===n||n});break;case Qp.Source.Microphone:t=yield this.createTracks({audio:null===(o=r)||void 0===o||o});break;case Qp.Source.ScreenShare:t=yield this.createScreenTracks(Object.assign({},r));break;default:throw new Op(e)}}catch(yy){throw null==t||t.forEach(e=>{e.stop()}),yy instanceof Error&&this.emit(Cp.MediaDevicesError,yy,tm(e)),this.pendingPublishing.delete(e),yy}for(const i of t){const t=Object.assign(Object.assign({},this.roomOptions.publishDefaults),r);e===Qp.Source.Microphone&&qg(i)&&t.preConnectBuffer&&(this.log.info("starting preconnect buffer for microphone",Object.assign({},this.logContext)),i.startPreConnectBuffer())}try{const e=[];for(const n of t)this.log.info("publishing track",Object.assign(Object.assign({},this.logContext),nm(n))),e.push(this.publishTrack(n,i));const r=yield Promise.all(e);[a]=r}catch(yy){throw null==t||t.forEach(e=>{e.stop()}),yy}finally{this.pendingPublishing.delete(e)}}else if(!(null==a?void 0:a.track)&&this.pendingPublishing.has(e)&&(a=yield this.waitForPendingPublicationOfSource(e),a||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e}))),a&&a.track)if(e===Qp.Source.ScreenShare){a=yield this.unpublishTrack(a.track);const e=this.getTrackPublication(Qp.Source.ScreenShareAudio);e&&e.track&&this.unpublishTrack(e.track)}else yield a.mute();return a})}enableCameraAndMicrophone(){return Qh(this,void 0,void 0,function*(){if(!this.pendingPublishing.has(Qp.Source.Camera)&&!this.pendingPublishing.has(Qp.Source.Microphone)){this.pendingPublishing.add(Qp.Source.Camera),this.pendingPublishing.add(Qp.Source.Microphone);try{const e=yield this.createTracks({audio:!0,video:!0});yield Promise.all(e.map(e=>this.publishTrack(e)))}finally{this.pendingPublishing.delete(Qp.Source.Camera),this.pendingPublishing.delete(Qp.Source.Microphone)}}})}createTracks(e){return Qh(this,void 0,void 0,function*(){var t,r;null!=e||(e={});const i=Qg(e,null===(t=this.roomOptions)||void 0===t?void 0:t.audioCaptureDefaults,null===(r=this.roomOptions)||void 0===r?void 0:r.videoCaptureDefaults);try{return(yield tf(i,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext})).map(e=>(qg(e)&&(this.microphoneError=void 0,e.setAudioContext(this.audioContext),e.source=Qp.Source.Microphone,this.emit(Cp.AudioStreamAcquired)),Hg(e)&&(this.cameraError=void 0,e.source=Qp.Source.Camera),e))}catch(n){throw n instanceof Error&&(e.audio&&(this.microphoneError=n),e.video&&(this.cameraError=n)),n}})}createScreenTracks(e){return Qh(this,void 0,void 0,function*(){if(void 0===e&&(e={}),void 0===navigator.mediaDevices.getDisplayMedia)throw new Ap("getDisplayMedia not supported");void 0!==e.resolution||function(){const e=Vp();return"Safari"===(null==e?void 0:e.name)&&e.version.startsWith("17.")||"iOS"===(null==e?void 0:e.os)&&!!(null==e?void 0:e.osVersion)&&Eg(e.osVersion,"17")>=0}()||(e.resolution=cg.h1080fps30.resolution);const t=function(e){var t,r;let i=null===(t=e.video)||void 0===t||t;return e.resolution&&e.resolution.width>0&&e.resolution.height>0&&(i="boolean"==typeof i?{}:i,i=fg()?Object.assign(Object.assign({},i),{width:{max:e.resolution.width},height:{max:e.resolution.height},frameRate:e.resolution.frameRate}):Object.assign(Object.assign({},i),{width:{ideal:e.resolution.width},height:{ideal:e.resolution.height},frameRate:e.resolution.frameRate})),{audio:null!==(r=e.audio)&&void 0!==r&&r,video:i,controller:e.controller,selfBrowserSurface:e.selfBrowserSurface,surfaceSwitching:e.surfaceSwitching,systemAudio:e.systemAudio,preferCurrentTab:e.preferCurrentTab}}(e),r=yield navigator.mediaDevices.getDisplayMedia(t),i=r.getVideoTracks();if(0===i.length)throw new Op("no video track found");const n=new fv(i[0],void 0,!1,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});n.source=Qp.Source.ScreenShare,e.contentHint&&(n.mediaStreamTrack.contentHint=e.contentHint);const o=[n];if(r.getAudioTracks().length>0){this.emit(Cp.AudioStreamAcquired);const e=new ov(r.getAudioTracks()[0],void 0,!1,this.audioContext,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});e.source=Qp.Source.ScreenShareAudio,o.push(e)}return o})}publishTrack(e,t){return Qh(this,void 0,void 0,function*(){return this.publishOrRepublishTrack(e,t)})}publishOrRepublishTrack(e,t){return Qh(this,arguments,void 0,function(e,t){var r=this;let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function*(){var n,o,a,s;let l,c;if($g(e)&&e.setAudioContext(r.audioContext),yield null===(n=r.reconnectFuture)||void 0===n?void 0:n.promise,r.republishPromise&&!i&&(yield r.republishPromise),Vg(e)&&r.pendingPublishPromises.has(e)&&(yield r.pendingPublishPromises.get(e)),e instanceof MediaStreamTrack)l=e.getConstraints();else{let t;switch(l=e.constraints,e.source){case Qp.Source.Microphone:t="audioinput";break;case Qp.Source.Camera:t="videoinput"}t&&r.activeDeviceMap.has(t)&&(l=Object.assign(Object.assign({},l),{deviceId:r.activeDeviceMap.get(t)}))}if(e instanceof MediaStreamTrack)switch(e.kind){case"audio":e=new ov(e,l,!0,r.audioContext,{loggerName:r.roomOptions.loggerName,loggerContextCb:()=>r.logContext});break;case"video":e=new fv(e,l,!0,{loggerName:r.roomOptions.loggerName,loggerContextCb:()=>r.logContext});break;default:throw new Op("unsupported MediaStreamTrack kind ".concat(e.kind))}else e.updateLoggerOptions({loggerName:r.roomOptions.loggerName,loggerContextCb:()=>r.logContext});if(r.trackPublications.forEach(t=>{t.track&&t.track===e&&(c=t)}),c)return r.log.warn("track has already been published, skipping",Object.assign(Object.assign({},r.logContext),nm(c))),c;const d=Object.assign(Object.assign({},r.roomOptions.publishDefaults),t),h="channelCount"in e.mediaStreamTrack.getSettings()&&2===e.mediaStreamTrack.getSettings().channelCount||2===e.mediaStreamTrack.getConstraints().channelCount,u=null!==(o=d.forceStereo)&&void 0!==o?o:h;u&&(void 0===d.dtx&&r.log.info("Opus DTX will be disabled for stereo tracks by default. Enable them explicitly to make it work.",Object.assign(Object.assign({},r.logContext),nm(e))),void 0===d.red&&r.log.info("Opus RED will be disabled for stereo tracks by default. Enable them explicitly to make it work."),null!==(a=d.dtx)&&void 0!==a||(d.dtx=!1),null!==(s=d.red)&&void 0!==s||(d.red=!1)),!function(){const e=Vp(),t="17.2";if(e)return"Safari"!==e.name&&"iOS"!==e.os||!!("iOS"===e.os&&e.osVersion&&Eg(e.osVersion,t)>=0)||"Safari"===e.name&&Eg(e.version,t)>=0}()&&r.roomOptions.e2ee&&(r.log.info("End-to-end encryption is set up, simulcast publishing will be disabled on Safari versions and iOS browsers running iOS < v17.2",Object.assign({},r.logContext)),d.simulcast=!1),d.source&&(e.source=d.source);const p=new Promise((t,i)=>Qh(r,void 0,void 0,function*(){try{if(this.engine.client.currentState!==mm.CONNECTED){this.log.debug("deferring track publication until signal is connected",Object.assign(Object.assign({},this.logContext),{track:nm(e)}));const r=setTimeout(()=>{i(new jp("publishing rejected as engine not connected within timeout",408))},15e3);yield this.waitUntilEngineConnected(),clearTimeout(r);const n=yield this.publish(e,d,u);t(n)}else try{const r=yield this.publish(e,d,u);t(r)}catch(yy){i(yy)}}catch(yy){i(yy)}}));r.pendingPublishPromises.set(e,p);try{return yield p}catch(yy){throw yy}finally{r.pendingPublishPromises.delete(e)}}()})}waitUntilEngineConnected(){return this.signalConnectedFuture||(this.signalConnectedFuture=new Ng),this.signalConnectedFuture.promise}hasPermissionsToPublish(e){if(!this.permissions)return this.log.warn("no permissions present for publishing track",Object.assign(Object.assign({},this.logContext),nm(e))),!1;const{canPublish:t,canPublishSources:r}=this.permissions;return!(!t||0!==r.length&&!r.map(e=>function(e){switch(e){case Fc.CAMERA:return Qp.Source.Camera;case Fc.MICROPHONE:return Qp.Source.Microphone;case Fc.SCREEN_SHARE:return Qp.Source.ScreenShare;case Fc.SCREEN_SHARE_AUDIO:return Qp.Source.ScreenShareAudio;default:return Qp.Source.Unknown}}(e)).includes(e.source))||(this.log.warn("insufficient permissions to publish",Object.assign(Object.assign({},this.logContext),nm(e))),!1)}publish(e,t,r){return Qh(this,void 0,void 0,function*(){var i,n,o,a,s,l,c,d,h,u;if(!this.hasPermissionsToPublish(e))throw new jp("failed to publish track, insufficient permissions",403);Array.from(this.trackPublications.values()).find(t=>Vg(e)&&t.source===e.source)&&e.source!==Qp.Source.Unknown&&this.log.info("publishing a second track with the same source: ".concat(e.source),Object.assign(Object.assign({},this.logContext),nm(e))),t.stopMicTrackOnMute&&qg(e)&&(e.stopOnMute=!0),e.source===Qp.Source.ScreenShare&&vg()&&(t.simulcast=!1),"av1"!==t.videoCodec||function(){if(!("getCapabilities"in RTCRtpSender))return!1;if(fg()||vg())return!1;const e=RTCRtpSender.getCapabilities("video");let t=!1;if(e)for(const r of e.codecs)if("video/av1"===r.mimeType.toLowerCase()){t=!0;break}return t}()||(t.videoCodec=void 0),"vp9"!==t.videoCodec||function(){if(!("getCapabilities"in RTCRtpSender))return!1;if(vg())return!1;if(fg()){const e=Vp();if((null==e?void 0:e.version)&&Eg(e.version,"16")<0)return!1;if("iOS"===(null==e?void 0:e.os)&&(null==e?void 0:e.osVersion)&&Eg(e.osVersion,"16")<0)return!1}const e=RTCRtpSender.getCapabilities("video");let t=!1;if(e)for(const r of e.codecs)if("video/vp9"===r.mimeType.toLowerCase()){t=!0;break}return t}()||(t.videoCodec=void 0),void 0===t.videoCodec&&(t.videoCodec=Bm),this.enabledPublishVideoCodecs.length>0&&(this.enabledPublishVideoCodecs.some(e=>t.videoCodec===rm(e.mime))||(t.videoCodec=rm(this.enabledPublishVideoCodecs[0].mime)));const p=t.videoCodec;e.on(Ip.Muted,this.onTrackMuted),e.on(Ip.Unmuted,this.onTrackUnmuted),e.on(Ip.Ended,this.handleTrackEnded),e.on(Ip.UpstreamPaused,this.onTrackUpstreamPaused),e.on(Ip.UpstreamResumed,this.onTrackUpstreamResumed),e.on(Ip.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate);const g=[],m=!(null===(i=t.dtx)||void 0===i||i),v=e.getSourceTrackSettings();v.autoGainControl&&g.push(Gc.TF_AUTO_GAIN_CONTROL),v.echoCancellation&&g.push(Gc.TF_ECHO_CANCELLATION),v.noiseSuppression&&g.push(Gc.TF_NOISE_SUPPRESSION),v.channelCount&&v.channelCount>1&&g.push(Gc.TF_STEREO),m&&g.push(Gc.TF_NO_DTX),$g(e)&&e.hasPreConnectBuffer&&g.push(Gc.TF_PRECONNECT_BUFFER);const f=new qd({cid:e.mediaStreamTrack.id,name:t.name,type:Qp.kindToProto(e.kind),muted:e.isMuted,source:Qp.sourceToProto(e.source),disableDtx:m,encryption:this.encryptionType,stereo:r,disableRed:this.isE2EEEnabled||!(null===(n=t.red)||void 0===n||n),stream:null==t?void 0:t.stream,backupCodecPolicy:null==t?void 0:t.backupCodecPolicy,audioFeatures:g});let b;if(e.kind===Qp.Kind.Video){let r={width:0,height:0};try{r=yield e.waitForDimensions()}catch(yy){const i=null!==(a=null===(o=this.roomOptions.videoCaptureDefaults)||void 0===o?void 0:o.resolution)&&void 0!==a?a:sg.h720.resolution;r={width:i.width,height:i.height},this.log.error("could not determine track dimensions, using defaults",Object.assign(Object.assign(Object.assign({},this.logContext),nm(e)),{dims:r}))}f.width=r.width,f.height=r.height,Wg(e)&&(gg(p)&&(e.source===Qp.Source.ScreenShare&&(t.scalabilityMode="L1T3","contentHint"in e.mediaStreamTrack&&(e.mediaStreamTrack.contentHint="motion",this.log.info("forcing contentHint to motion for screenshare with SVC codecs",Object.assign(Object.assign({},this.logContext),nm(e))))),t.scalabilityMode=null!==(s=t.scalabilityMode)&&void 0!==s?s:"L3T3_KEY"),f.simulcastCodecs=[new Vd({codec:p,cid:e.mediaStreamTrack.id})],!0===t.backupCodec&&(t.backupCodec={codec:Bm}),t.backupCodec&&p!==t.backupCodec.codec&&f.encryption===td.NONE&&(this.roomOptions.dynacast||(this.roomOptions.dynacast=!0),f.simulcastCodecs.push(new Vd({codec:t.backupCodec.codec,cid:""})))),b=uv(e.source===Qp.Source.ScreenShare,f.width,f.height,t),f.layers=wv(f.width,f.height,b,gg(t.videoCodec))}else e.kind===Qp.Kind.Audio&&(b=[{maxBitrate:null===(l=t.audioPreset)||void 0===l?void 0:l.maxBitrate,priority:null!==(d=null===(c=t.audioPreset)||void 0===c?void 0:c.priority)&&void 0!==d?d:"high",networkPriority:null!==(u=null===(h=t.audioPreset)||void 0===h?void 0:h.priority)&&void 0!==u?u:"high"}]);if(!this.engine||this.engine.isClosed)throw new Lp("cannot publish track when not connected");const k=()=>Qh(this,void 0,void 0,function*(){var r,i,n;if(!this.engine.pcManager)throw new Lp("pcManager is not ready");if(e.sender=yield this.engine.createSender(e,t,b),this.emit(Cp.LocalSenderCreated,e.sender,e),Wg(e)&&(null!==(r=t.degradationPreference)&&void 0!==r||(t.degradationPreference=function(e){return e.source===Qp.Source.ScreenShare||e.constraints.height&&jg(e.constraints.height)>=1080?"maintain-resolution":"balanced"}(e)),e.setDegradationPreference(t.degradationPreference)),b)if(vg()&&e.kind===Qp.Kind.Audio){let t;for(const r of this.engine.pcManager.publisher.getTransceivers())if(r.sender===e.sender){t=r;break}t&&this.engine.pcManager.publisher.setTrackCodecBitrate({transceiver:t,codec:"opus",maxbr:(null===(i=b[0])||void 0===i?void 0:i.maxBitrate)?b[0].maxBitrate/1e3:0})}else e.codec&&gg(e.codec)&&(null===(n=b[0])||void 0===n?void 0:n.maxBitrate)&&this.engine.pcManager.publisher.setTrackCodecBitrate({cid:f.cid,codec:e.codec,maxbr:b[0].maxBitrate/1e3});yield this.engine.negotiate()});let w;const y=new Promise((t,r)=>Qh(this,void 0,void 0,function*(){var i;try{w=yield this.engine.addTrack(f),t(w)}catch(n){e.sender&&(null===(i=this.engine.pcManager)||void 0===i?void 0:i.publisher)&&(this.engine.pcManager.publisher.removeTrack(e.sender),yield this.engine.negotiate().catch(t=>{this.log.error("failed to negotiate after removing track due to failed add track request",Object.assign(Object.assign(Object.assign({},this.logContext),nm(e)),{error:t}))})),r(n)}}));if(this.enabledPublishVideoCodecs.length>0){const e=yield Promise.all([y,k()]);w=e[0]}else{let r;if(w=yield y,w.codecs.forEach(e=>{void 0===r&&(r=e.mimeType)}),r&&e.kind===Qp.Kind.Video){const i=rm(r);i!==p&&(this.log.debug("falling back to server selected codec",Object.assign(Object.assign(Object.assign({},this.logContext),nm(e)),{codec:i})),t.videoCodec=i,b=uv(e.source===Qp.Source.ScreenShare,f.width,f.height,t))}yield k()}const x=new ef(e.kind,w,e,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});if(x.on(Ip.CpuConstrained,e=>this.onTrackCpuConstrained(e,x)),x.options=t,e.sid=w.sid,this.log.debug("publishing ".concat(e.kind," with encodings"),Object.assign(Object.assign({},this.logContext),{encodings:b,trackInfo:w})),Wg(e)?e.startMonitor(this.engine.client):$g(e)&&e.startMonitor(),this.addTrackPublication(x),this.emit(Cp.LocalTrackPublished,x),$g(e)&&w.audioFeatures.includes(Gc.TF_PRECONNECT_BUFFER)){const t=e.getPreConnectBuffer(),r=e.getPreConnectBufferMimeType();this.on(Cp.LocalTrackSubscribed,t=>{if(t.trackSid===w.sid){if(!e.hasPreConnectBuffer)return void this.log.warn("subscribe event came to late, buffer already closed",this.logContext);this.log.debug("finished recording preconnect buffer",Object.assign(Object.assign({},this.logContext),nm(e))),e.stopPreConnectBuffer()}}),t&&new Promise((i,n)=>Qh(this,void 0,void 0,function*(){var o,a,s,l,c,d;try{this.log.debug("waiting for agent",Object.assign(Object.assign({},this.logContext),nm(e)));const m=setTimeout(()=>{n(new Error("agent not active within 10 seconds"))},1e4),f=yield this.waitUntilActiveAgentPresent();clearTimeout(m),this.log.debug("sending preconnect buffer",Object.assign(Object.assign({},this.logContext),nm(e)));const b=yield this.streamBytes({name:"preconnect-buffer",mimeType:r,topic:"lk.agent.pre-connect-audio-buffer",destinationIdentities:[f.identity],attributes:{trackId:x.trackSid,sampleRate:String(null!==(c=v.sampleRate)&&void 0!==c?c:"48000"),channels:String(null!==(d=v.channelCount)&&void 0!==d?d:"1")}});try{for(var h,u=!0,p=Zh(t);!(o=(h=yield p.next()).done);u=!0){l=h.value,u=!1;const e=l;yield b.write(e)}}catch(g){a={error:g}}finally{try{u||o||!(s=p.return)||(yield s.call(p))}finally{if(a)throw a.error}}yield b.close(),i()}catch(yy){n(yy)}})).then(()=>{this.log.debug("preconnect buffer sent successfully",Object.assign(Object.assign({},this.logContext),nm(e)))}).catch(t=>{this.log.error("error sending preconnect buffer",Object.assign(Object.assign(Object.assign({},this.logContext),nm(e)),{error:t}))})}return x})}get isLocal(){return!0}publishAdditionalCodecForTrack(e,t,r){return Qh(this,void 0,void 0,function*(){var i;if(this.encryptionType!==td.NONE)return;let n;if(this.trackPublications.forEach(t=>{t.track&&t.track===e&&(n=t)}),!n)throw new Op("track is not published");if(!Wg(e))throw new Op("track is not a video track");const o=Object.assign(Object.assign({},null===(i=this.roomOptions)||void 0===i?void 0:i.publishDefaults),r),a=function(e,t,r){var i,n,o,a;if(!r.backupCodec||!0===r.backupCodec||r.backupCodec.codec===r.videoCodec)return;t!==r.backupCodec.codec&&Wh.warn("requested a different codec than specified as backup",{serverRequested:t,backup:r.backupCodec.codec}),r.videoCodec=t,r.videoEncoding=r.backupCodec.encoding;const s=e.mediaStreamTrack.getSettings(),l=null!==(i=s.width)&&void 0!==i?i:null===(n=e.dimensions)||void 0===n?void 0:n.width,c=null!==(o=s.height)&&void 0!==o?o:null===(a=e.dimensions)||void 0===a?void 0:a.height;return e.source===Qp.Source.ScreenShare&&r.simulcast&&(r.simulcast=!1),uv(e.source===Qp.Source.ScreenShare,l,c,r)}(e,t,o);if(!a)return void this.log.info("backup codec has been disabled, ignoring request to add additional codec for track",Object.assign(Object.assign({},this.logContext),nm(e)));const s=e.addSimulcastTrack(t,a);if(!s)return;const l=new qd({cid:s.mediaStreamTrack.id,type:Qp.kindToProto(e.kind),muted:e.isMuted,source:Qp.sourceToProto(e.source),sid:e.sid,simulcastCodecs:[{codec:o.videoCodec,cid:s.mediaStreamTrack.id}]});if(l.layers=wv(l.width,l.height,a),!this.engine||this.engine.isClosed)throw new Lp("cannot publish track when not connected");const c=(yield Promise.all([this.engine.addTrack(l),(()=>Qh(this,void 0,void 0,function*(){yield this.engine.createSimulcastSender(e,s,o,a),yield this.engine.negotiate()}))()]))[0];this.log.debug("published ".concat(t," for track ").concat(e.sid),Object.assign(Object.assign({},this.logContext),{encodings:a,trackInfo:c}))})}unpublishTrack(e,t){return Qh(this,void 0,void 0,function*(){var r,i;if(Vg(e)){const t=this.pendingPublishPromises.get(e);t&&(this.log.info("awaiting publish promise before attempting to unpublish",Object.assign(Object.assign({},this.logContext),nm(e))),yield t)}const n=this.getPublicationForTrack(e),o=n?nm(n):void 0;if(this.log.debug("unpublishing track",Object.assign(Object.assign({},this.logContext),o)),!n||!n.track)return void this.log.warn("track was not unpublished because no publication was found",Object.assign(Object.assign({},this.logContext),o));(e=n.track).off(Ip.Muted,this.onTrackMuted),e.off(Ip.Unmuted,this.onTrackUnmuted),e.off(Ip.Ended,this.handleTrackEnded),e.off(Ip.UpstreamPaused,this.onTrackUpstreamPaused),e.off(Ip.UpstreamResumed,this.onTrackUpstreamResumed),e.off(Ip.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate),void 0===t&&(t=null===(i=null===(r=this.roomOptions)||void 0===r?void 0:r.stopLocalTrackOnUnpublish)||void 0===i||i),t?e.stop():e.stopMonitor();let a=!1;const s=e.sender;if(e.sender=void 0,this.engine.pcManager&&this.engine.pcManager.currentState<Gm.FAILED&&s)try{for(const e of this.engine.pcManager.publisher.getTransceivers())e.sender===s&&(e.direction="inactive",a=!0);if(this.engine.removeTrack(s)&&(a=!0),Wg(e)){for(const[,t]of e.simulcastCodecs)t.sender&&(this.engine.removeTrack(t.sender)&&(a=!0),t.sender=void 0);e.simulcastCodecs.clear()}}catch(yy){this.log.warn("failed to unpublish track",Object.assign(Object.assign(Object.assign({},this.logContext),o),{error:yy}))}switch(this.trackPublications.delete(n.trackSid),n.kind){case Qp.Kind.Audio:this.audioTrackPublications.delete(n.trackSid);break;case Qp.Kind.Video:this.videoTrackPublications.delete(n.trackSid)}return this.emit(Cp.LocalTrackUnpublished,n),n.setTrack(void 0),a&&(yield this.engine.negotiate()),n})}unpublishTracks(e){return Qh(this,void 0,void 0,function*(){return(yield Promise.all(e.map(e=>this.unpublishTrack(e)))).filter(e=>!!e)})}republishAllTracks(e){return Qh(this,arguments,void 0,function(e){var t=this;let r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){t.republishPromise&&(yield t.republishPromise),t.republishPromise=new Promise((i,n)=>Qh(t,void 0,void 0,function*(){try{const t=[];this.trackPublications.forEach(r=>{r.track&&(e&&(r.options=Object.assign(Object.assign({},r.options),e)),t.push(r))}),yield Promise.all(t.map(e=>Qh(this,void 0,void 0,function*(){const t=e.track;yield this.unpublishTrack(t,!1),!r||t.isMuted||t.source===Qp.Source.ScreenShare||t.source===Qp.Source.ScreenShareAudio||!$g(t)&&!Wg(t)||t.isUserProvided||(this.log.debug("restarting existing track",Object.assign(Object.assign({},this.logContext),{track:e.trackSid})),yield t.restartTrack()),yield this.publishOrRepublishTrack(t,e.options,!0)}))),i()}catch(t){n(t)}finally{this.republishPromise=void 0}})),yield t.republishPromise}()})}publishData(e){return Qh(this,arguments,void 0,function(e){var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){const i=r.reliable?sd.RELIABLE:sd.LOSSY,n=r.destinationIdentities,o=r.topic;let a=new ud({participantIdentity:t.identity,payload:e,destinationIdentities:n,topic:o});const s=new ad({kind:i,value:{case:"user",value:a}});yield t.engine.sendDataPacket(s,i)}()})}publishDtmf(e,t){return Qh(this,void 0,void 0,function*(){const r=new ad({kind:sd.RELIABLE,value:{case:"sipDtmf",value:new pd({code:e,digit:t})}});yield this.engine.sendDataPacket(r,sd.RELIABLE)})}sendChatMessage(e,t){return Qh(this,void 0,void 0,function*(){const r={id:crypto.randomUUID(),message:e,timestamp:Date.now(),attachedFiles:null==t?void 0:t.attachments},i=new ad({value:{case:"chatMessage",value:new vd(Object.assign(Object.assign({},r),{timestamp:Cl.parse(r.timestamp)}))}});return yield this.engine.sendDataPacket(i,sd.RELIABLE),this.emit(Cp.ChatMessage,r),r})}editChatMessage(e,t){return Qh(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},t),{message:e,editTimestamp:Date.now()}),i=new ad({value:{case:"chatMessage",value:new vd(Object.assign(Object.assign({},r),{timestamp:Cl.parse(r.timestamp),editTimestamp:Cl.parse(r.editTimestamp)}))}});return yield this.engine.sendDataPacket(i,sd.RELIABLE),this.emit(Cp.ChatMessage,r),r})}sendText(e,t){return Qh(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendText(e,t)})}streamText(e){return Qh(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.streamText(e)})}sendFile(e,t){return Qh(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendFile(e,t)})}streamBytes(e){return Qh(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.streamBytes(e)})}performRpc(e){return Qh(this,arguments,void 0,function(e){var t=this;let{destinationIdentity:r,method:i,payload:n,responseTimeout:o=1e4}=e;return function*(){return new Promise((e,a)=>Qh(t,void 0,void 0,function*(){var t,s,l,c;if(Zm(n)>15360)return void a(Qm.builtIn("REQUEST_PAYLOAD_TOO_LARGE"));if((null===(s=null===(t=this.engine.latestJoinResponse)||void 0===t?void 0:t.serverInfo)||void 0===s?void 0:s.version)&&Eg(null===(c=null===(l=this.engine.latestJoinResponse)||void 0===l?void 0:l.serverInfo)||void 0===c?void 0:c.version,"1.8.0")<0)return void a(Qm.builtIn("UNSUPPORTED_SERVER"));const d=crypto.randomUUID();yield this.publishRpcRequest(r,d,i,n,o-2e3);const h=setTimeout(()=>{this.pendingAcks.delete(d),a(Qm.builtIn("CONNECTION_TIMEOUT")),this.pendingResponses.delete(d),clearTimeout(u)},2e3);this.pendingAcks.set(d,{resolve:()=>{clearTimeout(h)},participantIdentity:r});const u=setTimeout(()=>{this.pendingResponses.delete(d),a(Qm.builtIn("RESPONSE_TIMEOUT"))},o);this.pendingResponses.set(d,{resolve:(t,r)=>{clearTimeout(u),this.pendingAcks.has(d)&&(this.pendingAcks.delete(d),clearTimeout(h)),r?a(r):e(null!=t?t:"")},participantIdentity:r})}))}()})}registerRpcMethod(e,t){this.rpcHandlers.has(e)&&this.log.warn("you're overriding the RPC handler for method ".concat(e,", in the future this will throw an error")),this.rpcHandlers.set(e,t)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}setTrackSubscriptionPermissions(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.participantTrackPermissions=t,this.allParticipantsAllowedToSubscribe=e,this.engine.client.isDisconnected||this.updateTrackSubscriptionPermissions()}handleIncomingRpcAck(e){const t=this.pendingAcks.get(e);t&&(t.resolve(),this.pendingAcks.delete(e))}handleIncomingRpcResponse(e,t,r){const i=this.pendingResponses.get(e);i&&(i.resolve(t,r),this.pendingResponses.delete(e))}publishRpcRequest(e,t,r,i,n){return Qh(this,void 0,void 0,function*(){const o=new ad({destinationIdentities:[e],kind:sd.RELIABLE,value:{case:"rpcRequest",value:new fd({id:t,method:r,payload:i,responseTimeoutMs:n,version:1})}});yield this.engine.sendDataPacket(o,sd.RELIABLE)})}handleParticipantDisconnected(e){for(const[t,{participantIdentity:r}]of this.pendingAcks)r===e&&this.pendingAcks.delete(t);for(const[t,{participantIdentity:r,resolve:i}]of this.pendingResponses)r===e&&(i(null,Qm.builtIn("RECIPIENT_DISCONNECTED")),this.pendingResponses.delete(t))}setEnabledPublishCodecs(e){this.enabledPublishVideoCodecs=e.filter(e=>"video"===e.mime.split("/")[0].toLowerCase())}updateInfo(e){return!!super.updateInfo(e)&&(e.tracks.forEach(e=>{var t,r;const i=this.trackPublications.get(e.sid);if(i){const n=i.isMuted||null!==(r=null===(t=i.track)||void 0===t?void 0:t.isUpstreamPaused)&&void 0!==r&&r;n!==e.muted&&(this.log.debug("updating server mute state after reconcile",Object.assign(Object.assign(Object.assign({},this.logContext),nm(i)),{mutedOnServer:n})),this.engine.client.sendMuteTrack(e.sid,n))}}),!0)}setActiveAgent(e){var t,r,i,n;this.firstActiveAgent=e,e&&!this.firstActiveAgent&&(this.firstActiveAgent=e),e?null===(r=null===(t=this.activeAgentFuture)||void 0===t?void 0:t.resolve)||void 0===r||r.call(t,e):null===(n=null===(i=this.activeAgentFuture)||void 0===i?void 0:i.reject)||void 0===n||n.call(i,"Agent disconnected"),this.activeAgentFuture=void 0}waitUntilActiveAgentPresent(){return this.firstActiveAgent?Promise.resolve(this.firstActiveAgent):(this.activeAgentFuture||(this.activeAgentFuture=new Ng),this.activeAgentFuture.promise)}getPublicationForTrack(e){let t;return this.trackPublications.forEach(r=>{const i=r.track;i&&(e instanceof MediaStreamTrack?($g(i)||Wg(i))&&i.mediaStreamTrack===e&&(t=r):e===i&&(t=r))}),t}waitForPendingPublicationOfSource(e){return Qh(this,void 0,void 0,function*(){const t=Date.now();for(;Date.now()<t+1e4;){const t=Array.from(this.pendingPublishPromises.entries()).find(t=>{let[r]=t;return r.source===e});if(t)return t[1];yield hg(20)}})}}class of extends Xv{constructor(e,t,r,i){super(e,t.sid,t.name,i),this.track=void 0,this.allowed=!0,this.requestedDisabled=void 0,this.visible=!0,this.handleEnded=e=>{this.setTrack(void 0),this.emit(Ip.Ended,e)},this.handleVisibilityChange=e=>{this.log.debug("adaptivestream video visibility ".concat(this.trackSid,", visible=").concat(e),this.logContext),this.visible=e,this.emitTrackUpdate()},this.handleVideoDimensionsChange=e=>{this.log.debug("adaptivestream video dimensions ".concat(e.width,"x").concat(e.height),this.logContext),this.videoDimensionsAdaptiveStream=e,this.emitTrackUpdate()},this.subscribed=r,this.updateInfo(t)}setSubscribed(e){const t=this.subscriptionStatus,r=this.permissionStatus;this.subscribed=e,e&&(this.allowed=!0);const i=new Yd({trackSids:[this.trackSid],subscribe:this.subscribed,participantTracks:[new yd({participantSid:"",trackSids:[this.trackSid]})]});this.emit(Ip.UpdateSubscription,i),this.emitSubscriptionUpdateIfChanged(t),this.emitPermissionUpdateIfChanged(r)}get subscriptionStatus(){return!1===this.subscribed?Xv.SubscriptionStatus.Unsubscribed:super.isSubscribed?Xv.SubscriptionStatus.Subscribed:Xv.SubscriptionStatus.Desired}get permissionStatus(){return this.allowed?Xv.PermissionStatus.Allowed:Xv.PermissionStatus.NotAllowed}get isSubscribed(){return!1!==this.subscribed&&super.isSubscribed}get isDesired(){return!1!==this.subscribed}get isEnabled(){return void 0!==this.requestedDisabled?!this.requestedDisabled:!this.isAdaptiveStream||this.visible}get isLocal(){return!1}setEnabled(e){this.isManualOperationAllowed()&&this.requestedDisabled!==!e&&(this.requestedDisabled=!e,this.emitTrackUpdate())}setVideoQuality(e){this.isManualOperationAllowed()&&this.requestedMaxQuality!==e&&(this.requestedMaxQuality=e,this.requestedVideoDimensions=void 0,this.emitTrackUpdate())}setVideoDimensions(e){var t,r;this.isManualOperationAllowed()&&((null===(t=this.requestedVideoDimensions)||void 0===t?void 0:t.width)===e.width&&(null===(r=this.requestedVideoDimensions)||void 0===r?void 0:r.height)===e.height||(Kg(this.track)&&(this.requestedVideoDimensions=e),this.requestedMaxQuality=void 0,this.emitTrackUpdate()))}setVideoFPS(e){this.isManualOperationAllowed()&&Kg(this.track)&&this.fps!==e&&(this.fps=e,this.emitTrackUpdate())}get videoQuality(){var e;return null!==(e=this.requestedMaxQuality)&&void 0!==e?e:Jp.HIGH}setTrack(e){const t=this.subscriptionStatus,r=this.permissionStatus,i=this.track;i!==e&&(i&&(i.off(Ip.VideoDimensionsChanged,this.handleVideoDimensionsChange),i.off(Ip.VisibilityChanged,this.handleVisibilityChange),i.off(Ip.Ended,this.handleEnded),i.detach(),i.stopMonitor(),this.emit(Ip.Unsubscribed,i)),super.setTrack(e),e&&(e.sid=this.trackSid,e.on(Ip.VideoDimensionsChanged,this.handleVideoDimensionsChange),e.on(Ip.VisibilityChanged,this.handleVisibilityChange),e.on(Ip.Ended,this.handleEnded),this.emit(Ip.Subscribed,e)),this.emitPermissionUpdateIfChanged(r),this.emitSubscriptionUpdateIfChanged(t))}setAllowed(e){const t=this.subscriptionStatus,r=this.permissionStatus;this.allowed=e,this.emitPermissionUpdateIfChanged(r),this.emitSubscriptionUpdateIfChanged(t)}setSubscriptionError(e){this.emit(Ip.SubscriptionFailed,e)}updateInfo(e){super.updateInfo(e);const t=this.metadataMuted;this.metadataMuted=e.muted,this.track?this.track.setMuted(e.muted):t!==e.muted&&this.emit(e.muted?Ip.Muted:Ip.Unmuted)}emitSubscriptionUpdateIfChanged(e){const t=this.subscriptionStatus;e!==t&&this.emit(Ip.SubscriptionStatusChanged,t,e)}emitPermissionUpdateIfChanged(e){this.permissionStatus!==e&&this.emit(Ip.SubscriptionPermissionChanged,this.permissionStatus,e)}isManualOperationAllowed(){return!!this.isDesired||(this.log.warn("cannot update track settings when not subscribed",this.logContext),!1)}get isAdaptiveStream(){return Kg(this.track)&&this.track.isAdaptiveStream}emitTrackUpdate(){const e=new Xd({trackSids:[this.trackSid],disabled:!this.isEnabled,fps:this.fps});if(this.kind===Qp.Kind.Video){let n=this.requestedVideoDimensions;if(void 0!==this.videoDimensionsAdaptiveStream)if(n)am(this.videoDimensionsAdaptiveStream,n)&&(this.log.debug("using adaptive stream dimensions instead of requested",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),n=this.videoDimensionsAdaptiveStream);else if(void 0!==this.requestedMaxQuality&&this.trackInfo){const e=(t=this.trackInfo,r=this.requestedMaxQuality,null===(i=t.layers)||void 0===i?void 0:i.find(e=>e.quality===r));e&&am(this.videoDimensionsAdaptiveStream,e)&&(this.log.debug("using adaptive stream dimensions instead of max quality layer",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),n=this.videoDimensionsAdaptiveStream)}else this.log.debug("using adaptive stream dimensions",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),n=this.videoDimensionsAdaptiveStream;n?(e.width=Math.ceil(n.width),e.height=Math.ceil(n.height)):void 0!==this.requestedMaxQuality?(this.log.debug("using requested max quality",Object.assign(Object.assign({},this.logContext),{quality:this.requestedMaxQuality})),e.quality=this.requestedMaxQuality):(this.log.debug("using default quality",Object.assign(Object.assign({},this.logContext),{quality:Jp.HIGH})),e.quality=Jp.HIGH)}var t,r,i;this.emit(Ip.UpdateSettings,e)}}class af extends rf{static fromParticipantInfo(e,t,r){return new af(e,t.sid,t.identity,t.name,t.metadata,t.attributes,r,t.kind)}get logContext(){return Object.assign(Object.assign({},super.logContext),{rpID:this.sid,remoteParticipant:this.identity})}constructor(e,t,r,i,n,o,a){super(t,r||"",i,n,o,a,arguments.length>7&&void 0!==arguments[7]?arguments[7]:Xc.STANDARD),this.signalClient=e,this.trackPublications=new Map,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.volumeMap=new Map}addTrackPublication(e){super.addTrackPublication(e),e.on(Ip.UpdateSettings,t=>{this.log.debug("send update settings",Object.assign(Object.assign(Object.assign({},this.logContext),nm(e)),{settings:t})),this.signalClient.sendUpdateTrackSettings(t)}),e.on(Ip.UpdateSubscription,e=>{e.participantTracks.forEach(e=>{e.participantSid=this.sid}),this.signalClient.sendUpdateSubscription(e)}),e.on(Ip.SubscriptionPermissionChanged,t=>{this.emit(Cp.TrackSubscriptionPermissionChanged,e,t)}),e.on(Ip.SubscriptionStatusChanged,t=>{this.emit(Cp.TrackSubscriptionStatusChanged,e,t)}),e.on(Ip.Subscribed,t=>{this.emit(Cp.TrackSubscribed,t,e)}),e.on(Ip.Unsubscribed,t=>{this.emit(Cp.TrackUnsubscribed,t,e)}),e.on(Ip.SubscriptionFailed,t=>{this.emit(Cp.TrackSubscriptionFailed,e.trackSid,t)})}getTrackPublication(e){const t=super.getTrackPublication(e);if(t)return t}getTrackPublicationByName(e){const t=super.getTrackPublicationByName(e);if(t)return t}setVolume(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qp.Source.Microphone;this.volumeMap.set(t,e);const r=this.getTrackPublication(t);r&&r.track&&r.track.setVolume(e)}getVolume(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Qp.Source.Microphone;const t=this.getTrackPublication(e);return t&&t.track?t.track.getVolume():this.volumeMap.get(e)}addSubscribedMediaTrack(e,t,r,i,n,o){let a,s=this.getTrackPublicationBySid(t);return s||t.startsWith("TR")||this.trackPublications.forEach(t=>{s||e.kind!==t.kind.toString()||(s=t)}),s?"ended"===e.readyState?(this.log.error("unable to subscribe because MediaStreamTrack is ended. Do not call MediaStreamTrack.stop()",Object.assign(Object.assign({},this.logContext),nm(s))),void this.emit(Cp.TrackSubscriptionFailed,t)):(a="video"===e.kind?new Kv(e,t,i,n):new Jv(e,t,i,this.audioContext,this.audioOutput),a.source=s.source,a.isMuted=s.isMuted,a.setMediaStream(r),a.start(),s.setTrack(a),this.volumeMap.has(s.source)&&Gg(a)&&qg(a)&&a.setVolume(this.volumeMap.get(s.source)),s):0===o?(this.log.error("could not find published track",Object.assign(Object.assign({},this.logContext),{trackSid:t})),void this.emit(Cp.TrackSubscriptionFailed,t)):(void 0===o&&(o=20),void setTimeout(()=>{this.addSubscribedMediaTrack(e,t,r,i,n,o-1)},150))}get hasMetadata(){return!!this.participantInfo}getTrackPublicationBySid(e){return this.trackPublications.get(e)}updateInfo(e){if(!super.updateInfo(e))return!1;const t=new Map,r=new Map;return e.tracks.forEach(e=>{var i,n;let o=this.getTrackPublicationBySid(e.sid);if(o)o.updateInfo(e);else{const t=Qp.kindFromProto(e.type);if(!t)return;o=new of(t,e,null===(i=this.signalClient.connectOptions)||void 0===i?void 0:i.autoSubscribe,{loggerContextCb:()=>this.logContext,loggerName:null===(n=this.loggerOptions)||void 0===n?void 0:n.loggerName}),o.updateInfo(e),r.set(e.sid,o);const a=Array.from(this.trackPublications.values()).find(e=>e.source===(null==o?void 0:o.source));a&&o.source!==Qp.Source.Unknown&&this.log.debug("received a second track publication for ".concat(this.identity," with the same source: ").concat(o.source),Object.assign(Object.assign({},this.logContext),{oldTrack:nm(a),newTrack:nm(o)})),this.addTrackPublication(o)}t.set(e.sid,o)}),this.trackPublications.forEach(e=>{t.has(e.trackSid)||(this.log.trace("detected removed track on remote participant, unpublishing",Object.assign(Object.assign({},this.logContext),nm(e))),this.unpublishTrack(e.trackSid,!0))}),r.forEach(e=>{this.emit(Cp.TrackPublished,e)}),!0}unpublishTrack(e,t){const r=this.trackPublications.get(e);if(!r)return;const{track:i}=r;switch(i&&(i.stop(),r.setTrack(void 0)),this.trackPublications.delete(e),r.kind){case Qp.Kind.Audio:this.audioTrackPublications.delete(e);break;case Qp.Kind.Video:this.videoTrackPublications.delete(e)}t&&this.emit(Cp.TrackUnpublished,r)}setAudioOutput(e){return Qh(this,void 0,void 0,function*(){this.audioOutput=e;const t=[];this.audioTrackPublications.forEach(r=>{var i;qg(r.track)&&Gg(r.track)&&t.push(r.track.setSinkId(null!==(i=e.deviceId)&&void 0!==i?i:"default"))}),yield Promise.all(t)})}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return this.log.trace("participant event",Object.assign(Object.assign({},this.logContext),{event:e,args:r})),super.emit(e,...r)}}(Av=Rv||(Rv={})).Disconnected="disconnected",Av.Connecting="connecting",Av.Connected="connected",Av.Reconnecting="reconnecting",Av.SignalReconnecting="signalReconnecting";class sf extends eu.EventEmitter{get hasE2EESetup(){return void 0!==this.e2eeManager}constructor(e){var t,r,i,n;if(super(),t=this,this.state=Rv.Disconnected,this.activeSpeakers=[],this.isE2EEEnabled=!1,this.audioEnabled=!0,this.isVideoPlaybackBlocked=!1,this.log=Wh,this.bufferedEvents=[],this.isResuming=!1,this.rpcHandlers=new Map,this.connect=(e,t,r)=>Qh(this,void 0,void 0,function*(){var i;if("undefined"==typeof RTCPeerConnection||!ug()&&!pg())throw yg()?Error("WebRTC isn't detected, have you called registerGlobals?"):Error("LiveKit doesn't seem to be supported on this browser. Try to update your browser and make sure no browser extensions are disabling webRTC.");const n=yield this.disconnectLock.lock();if(this.state===Rv.Connected)return this.log.info("already connected to room ".concat(this.name),this.logContext),n(),Promise.resolve();if(this.connectFuture)return n(),this.connectFuture.promise;this.setAndEmitConnectionState(Rv.Connecting),(null===(i=this.regionUrlProvider)||void 0===i?void 0:i.getServerUrl().toString())!==e&&(this.regionUrl=void 0,this.regionUrlProvider=void 0),xg(new URL(e))&&(void 0===this.regionUrlProvider?this.regionUrlProvider=new Uv(e,t):this.regionUrlProvider.updateToken(t),this.regionUrlProvider.fetchRegionSettings().then(e=>{var t;null===(t=this.regionUrlProvider)||void 0===t||t.setServerReportedRegions(e)}).catch(e=>{this.log.warn("could not fetch region settings",Object.assign(Object.assign({},this.logContext),{error:e}))}));const o=(i,a,s)=>Qh(this,void 0,void 0,function*(){var l,c;this.abortController&&this.abortController.abort();const d=new AbortController;this.abortController=d,null==n||n();try{yield this.attemptConnection(null!=s?s:e,t,r,d),this.abortController=void 0,i()}catch(yy){if(this.regionUrlProvider&&yy instanceof Rp&&yy.reason!==pp.Cancelled&&yy.reason!==pp.NotAllowed){let t=null;try{t=yield this.regionUrlProvider.getNextBestRegionUrl(null===(l=this.abortController)||void 0===l?void 0:l.signal)}catch(h){if(h instanceof Rp&&(401===h.status||h.reason===pp.Cancelled))return this.handleDisconnect(this.options.stopLocalTrackOnUnpublish),void a(h)}t&&!(null===(c=this.abortController)||void 0===c?void 0:c.signal.aborted)?(this.log.info("Initial connection failed with ConnectionError: ".concat(yy.message,". Retrying with another region: ").concat(t),this.logContext),this.recreateEngine(),yield o(i,a,t)):(this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,zg(yy)),a(yy))}else{let t=Hc.UNKNOWN_REASON;yy instanceof Rp&&(t=zg(yy)),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,t),a(yy)}}}),a=this.regionUrl;return this.regionUrl=void 0,this.connectFuture=new Ng((e,t)=>{o(e,t,a)},()=>{this.clearConnectionFutures()}),this.connectFuture.promise}),this.connectSignal=(e,t,r,i,n,o)=>Qh(this,void 0,void 0,function*(){var a,s,l;const c=yield r.join(e,t,{autoSubscribe:i.autoSubscribe,adaptiveStream:"object"==typeof n.adaptiveStream||n.adaptiveStream,maxRetries:i.maxRetries,e2eeEnabled:!!this.e2eeManager,websocketTimeout:i.websocketTimeout},o.signal);let d=c.serverInfo;if(d||(d={version:c.serverVersion,region:c.serverRegion}),this.serverInfo=d,this.log.debug("connected to Livekit Server ".concat(Object.entries(d).map(e=>{let[t,r]=e;return"".concat(t,": ").concat(r)}).join(", ")),{room:null===(a=c.room)||void 0===a?void 0:a.name,roomSid:null===(s=c.room)||void 0===s?void 0:s.sid,identity:null===(l=c.participant)||void 0===l?void 0:l.identity}),!d.version)throw new Dp("unknown server version");return"0.15.1"===d.version&&this.options.dynacast&&(this.log.debug("disabling dynacast due to server version",this.logContext),n.dynacast=!1),c}),this.applyJoinResponse=e=>{const t=e.participant;if(this.localParticipant.sid=t.sid,this.localParticipant.identity=t.identity,this.localParticipant.setEnabledPublishCodecs(e.enabledPublishCodecs),this.e2eeManager)try{this.e2eeManager.setSifTrailer(e.sifTrailer)}catch(yy){this.log.error(yy instanceof Error?yy.message:"Could not set SifTrailer",Object.assign(Object.assign({},this.logContext),{error:yy}))}this.handleParticipantUpdates([t,...e.otherParticipants]),e.room&&this.handleRoomUpdate(e.room)},this.attemptConnection=(e,t,r,i)=>Qh(this,void 0,void 0,function*(){var n,o;this.state===Rv.Reconnecting||this.isResuming||(null===(n=this.engine)||void 0===n?void 0:n.pendingReconnect)?(this.log.info("Reconnection attempt replaced by new connection attempt",this.logContext),this.recreateEngine()):this.maybeCreateEngine(),(null===(o=this.regionUrlProvider)||void 0===o?void 0:o.isCloud())&&this.engine.setRegionUrlProvider(this.regionUrlProvider),this.acquireAudioContext(),this.connOptions=Object.assign(Object.assign({},$m),r),this.connOptions.rtcConfig&&(this.engine.rtcConfig=this.connOptions.rtcConfig),this.connOptions.peerConnectionTimeout&&(this.engine.peerConnectionTimeout=this.connOptions.peerConnectionTimeout);try{const r=yield this.connectSignal(e,t,this.engine,this.connOptions,this.options,i);this.applyJoinResponse(r),this.setupLocalParticipantEvents(),this.emit(yp.SignalConnected)}catch(a){yield this.engine.close(),this.recreateEngine();const e=new Rp("could not establish signal connection",pp.ServerUnreachable);throw a instanceof Error&&(e.message="".concat(e.message,": ").concat(a.message)),a instanceof Rp&&(e.reason=a.reason,e.status=a.status),this.log.debug("error trying to establish signal connection",Object.assign(Object.assign({},this.logContext),{error:a})),e}if(i.signal.aborted)throw yield this.engine.close(),this.recreateEngine(),new Rp("Connection attempt aborted",pp.Cancelled);try{yield this.engine.waitForPCInitialConnection(this.connOptions.peerConnectionTimeout,i)}catch(yy){throw yield this.engine.close(),this.recreateEngine(),yy}wg()&&this.options.disconnectOnPageLeave&&(window.addEventListener("pagehide",this.onPageLeave),window.addEventListener("beforeunload",this.onPageLeave)),wg()&&document.addEventListener("freeze",this.onPageLeave),this.setAndEmitConnectionState(Rv.Connected),this.emit(yp.Connected),this.registerConnectionReconcile()}),this.disconnect=function(){for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return Qh(t,[...r],void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){var r,i,n,o;const a=yield e.disconnectLock.lock();try{if(e.state===Rv.Disconnected)return void e.log.debug("already disconnected",e.logContext);e.log.info("disconnect from room",Object.assign({},e.logContext)),(e.state===Rv.Connecting||e.state===Rv.Reconnecting||e.isResuming)&&(e.log.warn("abort connection attempt",e.logContext),null===(r=e.abortController)||void 0===r||r.abort(),null===(n=null===(i=e.connectFuture)||void 0===i?void 0:i.reject)||void 0===n||n.call(i,new Rp("Client initiated disconnect",pp.Cancelled)),e.connectFuture=void 0),(null===(o=e.engine)||void 0===o?void 0:o.client.isDisconnected)||(yield e.engine.client.sendLeave()),e.engine&&(yield e.engine.close()),e.handleDisconnect(t,Hc.CLIENT_INITIATED),e.engine=void 0}finally{a()}}()})},this.onPageLeave=()=>Qh(this,void 0,void 0,function*(){this.log.info("Page leave detected, disconnecting",this.logContext),yield this.disconnect()}),this.startAudio=()=>Qh(this,void 0,void 0,function*(){const e=[],t=Vp();if(t&&"iOS"===t.os){const t="livekit-dummy-audio-el";let r=document.getElementById(t);if(!r){r=document.createElement("audio"),r.id=t,r.autoplay=!0,r.hidden=!0;const e=Lg();e.enabled=!0;const i=new MediaStream([e]);r.srcObject=i,document.addEventListener("visibilitychange",()=>{r&&(r.srcObject=document.hidden?null:i,document.hidden||(this.log.debug("page visible again, triggering startAudio to resume playback and update playback status",this.logContext),this.startAudio()))}),document.body.append(r),this.once(yp.Disconnected,()=>{null==r||r.remove(),r=null})}e.push(r)}this.remoteParticipants.forEach(t=>{t.audioTrackPublications.forEach(t=>{t.track&&t.track.attachedElements.forEach(t=>{e.push(t)})})});try{yield Promise.all([this.acquireAudioContext(),...e.map(e=>(e.muted=!1,e.play()))]),this.handleAudioPlaybackStarted()}catch(r){throw this.handleAudioPlaybackFailed(r),r}}),this.startVideo=()=>Qh(this,void 0,void 0,function*(){const e=[];for(const t of this.remoteParticipants.values())t.videoTrackPublications.forEach(t=>{var r;null===(r=t.track)||void 0===r||r.attachedElements.forEach(t=>{e.includes(t)||e.push(t)})});yield Promise.all(e.map(e=>e.play())).then(()=>{this.handleVideoPlaybackStarted()}).catch(e=>{"NotAllowedError"===e.name?this.handleVideoPlaybackFailed():this.log.warn("Resuming video playback failed, make sure you call `startVideo` directly in a user gesture handler",this.logContext)})}),this.handleRestarting=()=>{this.clearConnectionReconcile(),this.isResuming=!1;for(const e of this.remoteParticipants.values())this.handleParticipantDisconnected(e.identity,e);this.setAndEmitConnectionState(Rv.Reconnecting)&&this.emit(yp.Reconnecting)},this.handleSignalRestarted=e=>Qh(this,void 0,void 0,function*(){this.log.debug("signal reconnected to server, region ".concat(e.serverRegion),Object.assign(Object.assign({},this.logContext),{region:e.serverRegion})),this.bufferedEvents=[],this.applyJoinResponse(e);try{yield this.localParticipant.republishAllTracks(void 0,!0)}catch(t){this.log.error("error trying to re-publish tracks after reconnection",Object.assign(Object.assign({},this.logContext),{error:t}))}try{yield this.engine.waitForRestarted(),this.log.debug("fully reconnected to server",Object.assign(Object.assign({},this.logContext),{region:e.serverRegion}))}catch(r){return}this.setAndEmitConnectionState(Rv.Connected),this.emit(yp.Reconnected),this.registerConnectionReconcile(),this.emitBufferedEvents()}),this.handleParticipantUpdates=e=>{e.forEach(e=>{var t;if(e.identity===this.localParticipant.identity)return void this.localParticipant.updateInfo(e);""===e.identity&&(e.identity=null!==(t=this.sidToIdentity.get(e.sid))&&void 0!==t?t:"");let r=this.remoteParticipants.get(e.identity);e.state===Yc.DISCONNECTED?this.handleParticipantDisconnected(e.identity,r):r=this.getOrCreateParticipant(e.identity,e)})},this.handleActiveSpeakersUpdate=e=>{const t=[],r={};e.forEach(e=>{if(r[e.sid]=!0,e.sid===this.localParticipant.sid)this.localParticipant.audioLevel=e.level,this.localParticipant.setIsSpeaking(!0),t.push(this.localParticipant);else{const r=this.getRemoteParticipantBySid(e.sid);r&&(r.audioLevel=e.level,r.setIsSpeaking(!0),t.push(r))}}),r[this.localParticipant.sid]||(this.localParticipant.audioLevel=0,this.localParticipant.setIsSpeaking(!1)),this.remoteParticipants.forEach(e=>{r[e.sid]||(e.audioLevel=0,e.setIsSpeaking(!1))}),this.activeSpeakers=t,this.emitWhenConnected(yp.ActiveSpeakersChanged,t)},this.handleSpeakersChanged=e=>{const t=new Map;this.activeSpeakers.forEach(e=>{const r=this.remoteParticipants.get(e.identity);r&&r.sid!==e.sid||t.set(e.sid,e)}),e.forEach(e=>{let r=this.getRemoteParticipantBySid(e.sid);e.sid===this.localParticipant.sid&&(r=this.localParticipant),r&&(r.audioLevel=e.level,r.setIsSpeaking(e.active),e.active?t.set(e.sid,r):t.delete(e.sid))});const r=Array.from(t.values());r.sort((e,t)=>t.audioLevel-e.audioLevel),this.activeSpeakers=r,this.emitWhenConnected(yp.ActiveSpeakersChanged,r)},this.handleStreamStateUpdate=e=>{e.streamStates.forEach(e=>{const t=this.getRemoteParticipantBySid(e.participantSid);if(!t)return;const r=t.getTrackPublicationBySid(e.trackSid);if(!r||!r.track)return;const i=Qp.streamStateFromProto(e.state);r.track.setStreamState(i),i!==r.track.streamState&&(t.emit(Cp.TrackStreamStateChanged,r,r.track.streamState),this.emitWhenConnected(yp.TrackStreamStateChanged,r,r.track.streamState,t))})},this.handleSubscriptionPermissionUpdate=e=>{const t=this.getRemoteParticipantBySid(e.participantSid);if(!t)return;const r=t.getTrackPublicationBySid(e.trackSid);r&&r.setAllowed(e.allowed)},this.handleSubscriptionError=e=>{const t=Array.from(this.remoteParticipants.values()).find(t=>t.trackPublications.has(e.trackSid));if(!t)return;const r=t.getTrackPublicationBySid(e.trackSid);r&&r.setSubscriptionError(e.err)},this.handleDataPacket=(e,t)=>{const r=this.remoteParticipants.get(e.participantIdentity);if("user"===e.value.case)this.handleUserPacket(r,e.value.value,e.kind,t);else if("transcription"===e.value.case)this.handleTranscription(r,e.value.value);else if("sipDtmf"===e.value.case)this.handleSipDtmf(r,e.value.value);else if("chatMessage"===e.value.case)this.handleChatMessage(r,e.value.value);else if("metrics"===e.value.case)this.handleMetrics(e.value.value,r);else if("streamHeader"===e.value.case||"streamChunk"===e.value.case||"streamTrailer"===e.value.case)this.handleDataStream(e,t);else if("rpcRequest"===e.value.case){const t=e.value.value;this.handleIncomingRpcRequest(e.participantIdentity,t.id,t.method,t.payload,t.responseTimeoutMs,t.version)}},this.handleUserPacket=(e,t,r,i)=>{this.emit(yp.DataReceived,t.payload,e,r,t.topic,i),null==e||e.emit(Cp.DataReceived,t.payload,r,i)},this.handleSipDtmf=(e,t)=>{this.emit(yp.SipDTMFReceived,t,e),null==e||e.emit(Cp.SipDTMFReceived,t)},this.handleTranscription=(e,t)=>{const r=t.transcribedParticipantIdentity===this.localParticipant.identity?this.localParticipant:this.getParticipantByIdentity(t.transcribedParticipantIdentity),i=null==r?void 0:r.trackPublications.get(t.trackId),n=function(e,t){return e.segments.map(e=>{let{id:r,text:i,language:n,startTime:o,endTime:a,final:s}=e;var l;const c=null!==(l=t.get(r))&&void 0!==l?l:Date.now(),d=Date.now();return s?t.delete(r):t.set(r,c),{id:r,text:i,startTime:Number.parseInt(o.toString()),endTime:Number.parseInt(a.toString()),final:s,language:n,firstReceivedTime:c,lastReceivedTime:d}})}(t,this.transcriptionReceivedTimes);null==i||i.emit(Ip.TranscriptionReceived,n),null==r||r.emit(Cp.TranscriptionReceived,n,i),this.emit(yp.TranscriptionReceived,n,r,i)},this.handleChatMessage=(e,t)=>{const r=function(e){const{id:t,timestamp:r,message:i,editTimestamp:n}=e;return{id:t,timestamp:Number.parseInt(r.toString()),editTimestamp:n?Number.parseInt(n.toString()):void 0,message:i}}(t);this.emit(yp.ChatMessage,r,e)},this.handleMetrics=(e,t)=>{this.emit(yp.MetricsReceived,e,t)},this.handleDataStream=(e,t)=>{this.incomingDataStreamManager.handleDataStreamPacket(e,t)},this.bufferedSegments=new Map,this.handleAudioPlaybackStarted=()=>{this.canPlaybackAudio||(this.audioEnabled=!0,this.emit(yp.AudioPlaybackStatusChanged,!0))},this.handleAudioPlaybackFailed=e=>{this.log.warn("could not playback audio",Object.assign(Object.assign({},this.logContext),{error:e})),this.canPlaybackAudio&&(this.audioEnabled=!1,this.emit(yp.AudioPlaybackStatusChanged,!1))},this.handleVideoPlaybackStarted=()=>{this.isVideoPlaybackBlocked&&(this.isVideoPlaybackBlocked=!1,this.emit(yp.VideoPlaybackStatusChanged,!0))},this.handleVideoPlaybackFailed=()=>{this.isVideoPlaybackBlocked||(this.isVideoPlaybackBlocked=!0,this.emit(yp.VideoPlaybackStatusChanged,!1))},this.handleDeviceChange=()=>Qh(this,void 0,void 0,function*(){var e;"iOS"!==(null===(e=Vp())||void 0===e?void 0:e.os)&&(yield this.selectDefaultDevices()),this.emit(yp.MediaDevicesChanged)}),this.handleRoomUpdate=e=>{const t=this.roomInfo;this.roomInfo=e,t&&t.metadata!==e.metadata&&this.emitWhenConnected(yp.RoomMetadataChanged,e.metadata),(null==t?void 0:t.activeRecording)!==e.activeRecording&&this.emitWhenConnected(yp.RecordingStatusChanged,e.activeRecording)},this.handleConnectionQualityUpdate=e=>{e.updates.forEach(e=>{if(e.participantSid===this.localParticipant.sid)return void this.localParticipant.setConnectionQuality(e.quality);const t=this.getRemoteParticipantBySid(e.participantSid);t&&t.setConnectionQuality(e.quality)})},this.onLocalParticipantMetadataChanged=e=>{this.emit(yp.ParticipantMetadataChanged,e,this.localParticipant)},this.onLocalParticipantNameChanged=e=>{this.emit(yp.ParticipantNameChanged,e,this.localParticipant)},this.onLocalAttributesChanged=e=>{this.emit(yp.ParticipantAttributesChanged,e,this.localParticipant)},this.onLocalTrackMuted=e=>{this.emit(yp.TrackMuted,e,this.localParticipant)},this.onLocalTrackUnmuted=e=>{this.emit(yp.TrackUnmuted,e,this.localParticipant)},this.onTrackProcessorUpdate=e=>{var t;null===(t=null==e?void 0:e.onPublish)||void 0===t||t.call(e,this)},this.onLocalTrackPublished=e=>Qh(this,void 0,void 0,function*(){var t,r,i,n,o,a;null===(t=e.track)||void 0===t||t.on(Ip.TrackProcessorUpdate,this.onTrackProcessorUpdate),null===(r=e.track)||void 0===r||r.on(Ip.Restarted,this.onLocalTrackRestarted),null===(o=null===(n=null===(i=e.track)||void 0===i?void 0:i.getProcessor())||void 0===n?void 0:n.onPublish)||void 0===o||o.call(n,this),this.emit(yp.LocalTrackPublished,e,this.localParticipant),$g(e.track)&&(yield e.track.checkForSilence())&&this.emit(yp.LocalAudioSilenceDetected,e);const s=yield null===(a=e.track)||void 0===a?void 0:a.getDeviceId(!1),l=tm(e.source);l&&s&&s!==this.localParticipant.activeDeviceMap.get(l)&&(this.localParticipant.activeDeviceMap.set(l,s),this.emit(yp.ActiveDeviceChanged,l,s))}),this.onLocalTrackUnpublished=e=>{var t,r;null===(t=e.track)||void 0===t||t.off(Ip.TrackProcessorUpdate,this.onTrackProcessorUpdate),null===(r=e.track)||void 0===r||r.off(Ip.Restarted,this.onLocalTrackRestarted),this.emit(yp.LocalTrackUnpublished,e,this.localParticipant)},this.onLocalTrackRestarted=e=>Qh(this,void 0,void 0,function*(){const t=yield e.getDeviceId(!1),r=tm(e.source);r&&t&&t!==this.localParticipant.activeDeviceMap.get(r)&&(this.log.debug("local track restarted, setting ".concat(r," ").concat(t," active"),this.logContext),this.localParticipant.activeDeviceMap.set(r,t),this.emit(yp.ActiveDeviceChanged,r,t))}),this.onLocalConnectionQualityChanged=e=>{this.emit(yp.ConnectionQualityChanged,e,this.localParticipant)},this.onMediaDevicesError=(e,t)=>{this.emit(yp.MediaDevicesError,e,t)},this.onLocalParticipantPermissionsChanged=e=>{this.emit(yp.ParticipantPermissionsChanged,e,this.localParticipant)},this.onLocalChatMessageSent=e=>{this.emit(yp.ChatMessage,e,this.localParticipant)},this.setMaxListeners(100),this.remoteParticipants=new Map,this.sidToIdentity=new Map,this.options=Object.assign(Object.assign({},Wm),e),this.log=$h(null!==(r=this.options.loggerName)&&void 0!==r?r:Uh.Room),this.transcriptionReceivedTimes=new Map,this.options.audioCaptureDefaults=Object.assign(Object.assign({},qm),null==e?void 0:e.audioCaptureDefaults),this.options.videoCaptureDefaults=Object.assign(Object.assign({},Hm),null==e?void 0:e.videoCaptureDefaults),this.options.publishDefaults=Object.assign(Object.assign({},Vm),null==e?void 0:e.publishDefaults),this.maybeCreateEngine(),this.incomingDataStreamManager=new Vv,this.outgoingDataStreamManager=new $v(this.engine,this.log),this.disconnectLock=new il,this.localParticipant=new nf("","",this.engine,this.options,this.rpcHandlers,this.outgoingDataStreamManager),(this.options.e2ee||this.options.encryption)&&this.setupE2EE(),this.engine.e2eeManager=this.e2eeManager,this.options.videoCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("videoinput",jg(this.options.videoCaptureDefaults.deviceId)),this.options.audioCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("audioinput",jg(this.options.audioCaptureDefaults.deviceId)),(null===(i=this.options.audioOutput)||void 0===i?void 0:i.deviceId)&&this.switchActiveDevice("audiooutput",jg(this.options.audioOutput.deviceId)).catch(e=>this.log.warn("Could not set audio output: ".concat(e.message),this.logContext)),wg()){const e=new AbortController;null===(n=navigator.mediaDevices)||void 0===n||n.addEventListener("devicechange",this.handleDeviceChange,{signal:e.signal}),sf.cleanupRegistry&&sf.cleanupRegistry.register(this,()=>{e.abort()})}}registerTextStreamHandler(e,t){return this.incomingDataStreamManager.registerTextStreamHandler(e,t)}unregisterTextStreamHandler(e){return this.incomingDataStreamManager.unregisterTextStreamHandler(e)}registerByteStreamHandler(e,t){return this.incomingDataStreamManager.registerByteStreamHandler(e,t)}unregisterByteStreamHandler(e){return this.incomingDataStreamManager.unregisterByteStreamHandler(e)}registerRpcMethod(e,t){if(this.rpcHandlers.has(e))throw Error("RPC handler already registered for method ".concat(e,", unregisterRpcMethod before trying to register again"));this.rpcHandlers.set(e,t)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}setE2EEEnabled(e){return Qh(this,void 0,void 0,function*(){if(!this.e2eeManager)throw Error("e2ee not configured, please set e2ee settings within the room options");yield Promise.all([this.localParticipant.setE2EEEnabled(e)]),""!==this.localParticipant.identity&&this.e2eeManager.setParticipantCryptorEnabled(e,this.localParticipant.identity)})}setupE2EE(){var e;const t=!!this.options.encryption,r=this.options.encryption||this.options.e2ee;r&&(this.e2eeManager="e2eeManager"in r?r.e2eeManager:new sm(r,t),this.e2eeManager.on(dp.ParticipantEncryptionStatusChanged,(e,t)=>{t.isLocal&&(this.isE2EEEnabled=e),this.emit(yp.ParticipantEncryptionStatusChanged,e,t)}),this.e2eeManager.on(dp.EncryptionError,e=>this.emit(yp.EncryptionError,e)),null===(e=this.e2eeManager)||void 0===e||e.setup(this))}get logContext(){var e;return{room:this.name,roomID:null===(e=this.roomInfo)||void 0===e?void 0:e.sid,participant:this.localParticipant.identity,pID:this.localParticipant.sid}}get isRecording(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.activeRecording)&&void 0!==t&&t}getSid(){return Qh(this,void 0,void 0,function*(){return this.state===Rv.Disconnected?"":this.roomInfo&&""!==this.roomInfo.sid?this.roomInfo.sid:new Promise((e,t)=>{const r=t=>{""!==t.sid&&(this.engine.off(Tp.RoomUpdate,r),e(t.sid))};this.engine.on(Tp.RoomUpdate,r),this.once(yp.Disconnected,()=>{this.engine.off(Tp.RoomUpdate,r),t("Room disconnected before room server id was available")})})})}get name(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.name)&&void 0!==t?t:""}get metadata(){var e;return null===(e=this.roomInfo)||void 0===e?void 0:e.metadata}get numParticipants(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.numParticipants)&&void 0!==t?t:0}get numPublishers(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.numPublishers)&&void 0!==t?t:0}maybeCreateEngine(){this.engine&&!this.engine.isClosed||(this.engine=new Lv(this.options),this.engine.e2eeManager=this.e2eeManager,this.engine.on(Tp.ParticipantUpdate,this.handleParticipantUpdates).on(Tp.RoomUpdate,this.handleRoomUpdate).on(Tp.SpeakersChanged,this.handleSpeakersChanged).on(Tp.StreamStateChanged,this.handleStreamStateUpdate).on(Tp.ConnectionQualityUpdate,this.handleConnectionQualityUpdate).on(Tp.SubscriptionError,this.handleSubscriptionError).on(Tp.SubscriptionPermissionUpdate,this.handleSubscriptionPermissionUpdate).on(Tp.MediaTrackAdded,(e,t,r)=>{this.onTrackAdded(e,t,r)}).on(Tp.Disconnected,e=>{this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,e)}).on(Tp.ActiveSpeakersUpdate,this.handleActiveSpeakersUpdate).on(Tp.DataPacketReceived,this.handleDataPacket).on(Tp.Resuming,()=>{this.clearConnectionReconcile(),this.isResuming=!0,this.log.info("Resuming signal connection",this.logContext),this.setAndEmitConnectionState(Rv.SignalReconnecting)&&this.emit(yp.SignalReconnecting)}).on(Tp.Resumed,()=>{this.registerConnectionReconcile(),this.isResuming=!1,this.log.info("Resumed signal connection",this.logContext),this.updateSubscriptions(),this.emitBufferedEvents(),this.setAndEmitConnectionState(Rv.Connected)&&this.emit(yp.Reconnected)}).on(Tp.SignalResumed,()=>{this.bufferedEvents=[],(this.state===Rv.Reconnecting||this.isResuming)&&this.sendSyncState()}).on(Tp.Restarting,this.handleRestarting).on(Tp.SignalRestarted,this.handleSignalRestarted).on(Tp.Offline,()=>{this.setAndEmitConnectionState(Rv.Reconnecting)&&this.emit(yp.Reconnecting)}).on(Tp.DCBufferStatusChanged,(e,t)=>{this.emit(yp.DCBufferStatusChanged,e,t)}).on(Tp.LocalTrackSubscribed,e=>{const t=this.localParticipant.getTrackPublications().find(t=>{let{trackSid:r}=t;return r===e});t?(this.localParticipant.emit(Cp.LocalTrackSubscribed,t),this.emitWhenConnected(yp.LocalTrackSubscribed,t,this.localParticipant)):this.log.warn("could not find local track subscription for subscribed event",this.logContext)}).on(Tp.RoomMoved,e=>{this.log.debug("room moved",e),e.room&&this.handleRoomUpdate(e.room),this.remoteParticipants.forEach((e,t)=>{this.handleParticipantDisconnected(t,e)}),this.emit(yp.Moved,e.room.name),e.participant?this.handleParticipantUpdates([e.participant,...e.otherParticipants]):this.handleParticipantUpdates(e.otherParticipants)}),this.localParticipant&&this.localParticipant.setupEngine(this.engine),this.e2eeManager&&this.e2eeManager.setupEngine(this.engine),this.outgoingDataStreamManager&&this.outgoingDataStreamManager.setupEngine(this.engine))}static getLocalDevices(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return cm.getInstance().getDevices(e,t)}prepareConnection(e,t){return Qh(this,void 0,void 0,function*(){if(this.state===Rv.Disconnected){this.log.debug("prepareConnection to ".concat(e),this.logContext);try{if(xg(new URL(e))&&t){this.regionUrlProvider=new Uv(e,t);const r=yield this.regionUrlProvider.getNextBestRegionUrl();r&&this.state===Rv.Disconnected&&(this.regionUrl=r,yield fetch(Ug(r),{method:"HEAD"}),this.log.debug("prepared connection to ".concat(r),this.logContext))}else yield fetch(Ug(e),{method:"HEAD"})}catch(yy){this.log.warn("could not prepare connection",Object.assign(Object.assign({},this.logContext),{error:yy}))}}})}getParticipantByIdentity(e){return this.localParticipant.identity===e?this.localParticipant:this.remoteParticipants.get(e)}clearConnectionFutures(){this.connectFuture=void 0}simulateScenario(e,t){return Qh(this,void 0,void 0,function*(){let r,i=()=>Qh(this,void 0,void 0,function*(){});switch(e){case"signal-reconnect":yield this.engine.client.handleOnClose("simulate disconnect");break;case"speaker":r=new Sh({scenario:{case:"speakerUpdate",value:3}});break;case"node-failure":r=new Sh({scenario:{case:"nodeFailure",value:!0}});break;case"server-leave":r=new Sh({scenario:{case:"serverLeave",value:!0}});break;case"migration":r=new Sh({scenario:{case:"migration",value:!0}});break;case"resume-reconnect":this.engine.failNext(),yield this.engine.client.handleOnClose("simulate resume-disconnect");break;case"disconnect-signal-on-resume":i=()=>Qh(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),r=new Sh({scenario:{case:"disconnectSignalOnResume",value:!0}});break;case"disconnect-signal-on-resume-no-messages":i=()=>Qh(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),r=new Sh({scenario:{case:"disconnectSignalOnResumeNoMessages",value:!0}});break;case"full-reconnect":this.engine.fullReconnectOnNext=!0,yield this.engine.client.handleOnClose("simulate full-reconnect");break;case"force-tcp":case"force-tls":r=new Sh({scenario:{case:"switchCandidateProtocol",value:"force-tls"===e?2:1}}),i=()=>Qh(this,void 0,void 0,function*(){const e=this.engine.client.onLeave;e&&e(new rh({reason:Hc.CLIENT_INITIATED,action:ih.RECONNECT}))});break;case"subscriber-bandwidth":if(void 0===t||"number"!=typeof t)throw new Error("subscriber-bandwidth requires a number as argument");r=new Sh({scenario:{case:"subscriberBandwidth",value:Bg(t)}});break;case"leave-full-reconnect":r=new Sh({scenario:{case:"leaveRequestFullReconnect",value:!0}})}r&&(yield this.engine.client.sendSimulateScenario(r),yield i())})}get canPlaybackAudio(){return this.audioEnabled}get canPlaybackVideo(){return!this.isVideoPlaybackBlocked}getActiveDevice(e){return this.localParticipant.activeDeviceMap.get(e)}switchActiveDevice(e,t){return Qh(this,arguments,void 0,function(e,t){var r=this;let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function*(){var n,o,a,s,l,c,d;let h=!0,u=!1;const p=i?{exact:t}:t;if("audioinput"===e){u=0===r.localParticipant.audioTrackPublications.size;const t=null!==(n=r.getActiveDevice(e))&&void 0!==n?n:r.options.audioCaptureDefaults.deviceId;r.options.audioCaptureDefaults.deviceId=p;const i=Array.from(r.localParticipant.audioTrackPublications.values()).filter(e=>e.source===Qp.Source.Microphone);try{h=(yield Promise.all(i.map(e=>{var t;return null===(t=e.audioTrack)||void 0===t?void 0:t.setDeviceId(p)}))).every(e=>!0===e)}catch(yy){throw r.options.audioCaptureDefaults.deviceId=t,yy}const o=i.some(e=>{var t,r;return null!==(r=null===(t=e.track)||void 0===t?void 0:t.isMuted)&&void 0!==r&&r});h&&o&&(u=!0)}else if("videoinput"===e){u=0===r.localParticipant.videoTrackPublications.size;const t=null!==(o=r.getActiveDevice(e))&&void 0!==o?o:r.options.videoCaptureDefaults.deviceId;r.options.videoCaptureDefaults.deviceId=p;const i=Array.from(r.localParticipant.videoTrackPublications.values()).filter(e=>e.source===Qp.Source.Camera);try{h=(yield Promise.all(i.map(e=>{var t;return null===(t=e.videoTrack)||void 0===t?void 0:t.setDeviceId(p)}))).every(e=>!0===e)}catch(yy){throw r.options.videoCaptureDefaults.deviceId=t,yy}const n=i.some(e=>{var t,r;return null!==(r=null===(t=e.track)||void 0===t?void 0:t.isMuted)&&void 0!==r&&r});h&&n&&(u=!0)}else if("audiooutput"===e){if(u=!0,!mg()&&!r.options.webAudioMix||r.options.webAudioMix&&r.audioContext&&!("setSinkId"in r.audioContext))throw new Error("cannot switch audio output, the current browser does not support it");r.options.webAudioMix&&(t=null!==(a=yield cm.getInstance().normalizeDeviceId("audiooutput",t))&&void 0!==a?a:""),null!==(s=(d=r.options).audioOutput)&&void 0!==s||(d.audioOutput={});const i=null!==(l=r.getActiveDevice(e))&&void 0!==l?l:r.options.audioOutput.deviceId;r.options.audioOutput.deviceId=t;try{r.options.webAudioMix&&(null===(c=r.audioContext)||void 0===c||c.setSinkId(t)),yield Promise.all(Array.from(r.remoteParticipants.values()).map(e=>e.setAudioOutput({deviceId:t})))}catch(yy){throw r.options.audioOutput.deviceId=i,yy}}return u&&(r.localParticipant.activeDeviceMap.set(e,t),r.emit(yp.ActiveDeviceChanged,e,t)),h}()})}setupLocalParticipantEvents(){this.localParticipant.on(Cp.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).on(Cp.ParticipantNameChanged,this.onLocalParticipantNameChanged).on(Cp.AttributesChanged,this.onLocalAttributesChanged).on(Cp.TrackMuted,this.onLocalTrackMuted).on(Cp.TrackUnmuted,this.onLocalTrackUnmuted).on(Cp.LocalTrackPublished,this.onLocalTrackPublished).on(Cp.LocalTrackUnpublished,this.onLocalTrackUnpublished).on(Cp.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).on(Cp.MediaDevicesError,this.onMediaDevicesError).on(Cp.AudioStreamAcquired,this.startAudio).on(Cp.ChatMessage,this.onLocalChatMessageSent).on(Cp.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged)}recreateEngine(){var e;null===(e=this.engine)||void 0===e||e.close(),this.engine=void 0,this.isResuming=!1,this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.bufferedEvents=[],this.maybeCreateEngine()}onTrackAdded(e,t,r){if(this.state===Rv.Connecting||this.state===Rv.Reconnecting){const i=()=>{this.onTrackAdded(e,t,r),n()},n=()=>{this.off(yp.Reconnected,i),this.off(yp.Connected,i),this.off(yp.Disconnected,n)};return this.once(yp.Reconnected,i),this.once(yp.Connected,i),void this.once(yp.Disconnected,n)}if(this.state===Rv.Disconnected)return void this.log.warn("skipping incoming track after Room disconnected",this.logContext);if("ended"===e.readyState)return void this.log.info("skipping incoming track as it already ended",this.logContext);const i=function(e){const t=e.split("|");return t.length>1?[t[0],e.substr(t[0].length+1)]:[e,""]}(t.id),n=i[0];let o=i[1],a=e.id;if(o&&o.startsWith("TR")&&(a=o),n===this.localParticipant.sid)return void this.log.warn("tried to create RemoteParticipant for local participant",this.logContext);const s=Array.from(this.remoteParticipants.values()).find(e=>e.sid===n);if(!s)return void this.log.error("Tried to add a track for a participant, that's not present. Sid: ".concat(n),this.logContext);let l;this.options.adaptiveStream&&(l="object"==typeof this.options.adaptiveStream?this.options.adaptiveStream:{});const c=s.addSubscribedMediaTrack(e,a,t,r,l);(null==c?void 0:c.isEncrypted)&&!this.e2eeManager&&this.emit(yp.EncryptionError,new Error("Encrypted ".concat(c.source," track received from participant ").concat(s.sid,", but room does not have encryption enabled!")))}handleDisconnect(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1?arguments[1]:void 0;var r;if(this.clearConnectionReconcile(),this.isResuming=!1,this.bufferedEvents=[],this.transcriptionReceivedTimes.clear(),this.incomingDataStreamManager.clearHandlersAndControllers(),this.state!==Rv.Disconnected){this.regionUrl=void 0;try{this.remoteParticipants.forEach(e=>{e.trackPublications.forEach(t=>{e.unpublishTrack(t.trackSid)})}),this.localParticipant.trackPublications.forEach(t=>{var r,i,n;t.track&&this.localParticipant.unpublishTrack(t.track,e),e?(null===(r=t.track)||void 0===r||r.detach(),null===(i=t.track)||void 0===i||i.stop()):null===(n=t.track)||void 0===n||n.stopMonitor()}),this.localParticipant.off(Cp.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).off(Cp.ParticipantNameChanged,this.onLocalParticipantNameChanged).off(Cp.AttributesChanged,this.onLocalAttributesChanged).off(Cp.TrackMuted,this.onLocalTrackMuted).off(Cp.TrackUnmuted,this.onLocalTrackUnmuted).off(Cp.LocalTrackPublished,this.onLocalTrackPublished).off(Cp.LocalTrackUnpublished,this.onLocalTrackUnpublished).off(Cp.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).off(Cp.MediaDevicesError,this.onMediaDevicesError).off(Cp.AudioStreamAcquired,this.startAudio).off(Cp.ChatMessage,this.onLocalChatMessageSent).off(Cp.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged),this.localParticipant.trackPublications.clear(),this.localParticipant.videoTrackPublications.clear(),this.localParticipant.audioTrackPublications.clear(),this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.activeSpeakers=[],this.audioContext&&"boolean"==typeof this.options.webAudioMix&&(this.audioContext.close(),this.audioContext=void 0),wg()&&(window.removeEventListener("beforeunload",this.onPageLeave),window.removeEventListener("pagehide",this.onPageLeave),window.removeEventListener("freeze",this.onPageLeave),null===(r=navigator.mediaDevices)||void 0===r||r.removeEventListener("devicechange",this.handleDeviceChange))}finally{this.setAndEmitConnectionState(Rv.Disconnected),this.emit(yp.Disconnected,t)}}}handleParticipantDisconnected(e,t){var r;this.remoteParticipants.delete(e),t&&(this.incomingDataStreamManager.validateParticipantHasNoActiveDataStreams(e),t.trackPublications.forEach(e=>{t.unpublishTrack(e.trackSid,!0)}),this.emit(yp.ParticipantDisconnected,t),t.setDisconnected(),null===(r=this.localParticipant)||void 0===r||r.handleParticipantDisconnected(t.identity))}handleIncomingRpcRequest(e,t,r,i,n,o){return Qh(this,void 0,void 0,function*(){if(yield this.engine.publishRpcAck(e,t),1!==o)return void(yield this.engine.publishRpcResponse(e,t,null,Qm.builtIn("UNSUPPORTED_VERSION")));const a=this.rpcHandlers.get(r);if(!a)return void(yield this.engine.publishRpcResponse(e,t,null,Qm.builtIn("UNSUPPORTED_METHOD")));let s=null,l=null;try{const r=yield a({requestId:t,callerIdentity:e,payload:i,responseTimeout:n});Zm(r)>15360?s=Qm.builtIn("RESPONSE_PAYLOAD_TOO_LARGE"):l=r}catch(c){s=c instanceof Qm?c:Qm.builtIn("APPLICATION_ERROR")}yield this.engine.publishRpcResponse(e,t,l,s)})}selectDefaultDevices(){return Qh(this,void 0,void 0,function*(){var e,t,r;const i=cm.getInstance().previousDevices,n=yield cm.getInstance().getDevices(void 0,!1),o=Vp();if("Chrome"===(null==o?void 0:o.name)&&"iOS"!==o.os)for(let s of n){const e=i.find(e=>e.deviceId===s.deviceId);e&&""!==e.label&&e.kind===s.kind&&e.label!==s.label&&"default"===this.getActiveDevice(s.kind)&&this.emit(yp.ActiveDeviceChanged,s.kind,s.deviceId)}const a=["audiooutput","audioinput","videoinput"];for(let s of a){const o=em(s),a=this.localParticipant.getTrackPublication(o);if(a&&(null===(e=a.track)||void 0===e?void 0:e.isUserProvided))continue;const l=n.filter(e=>e.kind===s),c=this.getActiveDevice(s);c===(null===(t=i.filter(e=>e.kind===s)[0])||void 0===t?void 0:t.deviceId)&&l.length>0&&(null===(r=l[0])||void 0===r?void 0:r.deviceId)!==c?yield this.switchActiveDevice(s,l[0].deviceId):"audioinput"===s&&!bg()||"videoinput"===s||!(l.length>0)||l.find(e=>e.deviceId===this.getActiveDevice(s))||"audiooutput"===s&&bg()||(yield this.switchActiveDevice(s,l[0].deviceId))}})}acquireAudioContext(){return Qh(this,void 0,void 0,function*(){var e,t;if("boolean"!=typeof this.options.webAudioMix&&this.options.webAudioMix.audioContext?this.audioContext=this.options.webAudioMix.audioContext:this.audioContext&&"closed"!==this.audioContext.state||(this.audioContext=null!==(e=Xg())&&void 0!==e?e:void 0),this.options.webAudioMix&&this.remoteParticipants.forEach(e=>e.setAudioContext(this.audioContext)),this.localParticipant.setAudioContext(this.audioContext),this.audioContext&&"suspended"===this.audioContext.state)try{yield Promise.race([this.audioContext.resume(),hg(200)])}catch(yy){this.log.warn("Could not resume audio context",Object.assign(Object.assign({},this.logContext),{error:yy}))}const r="running"===(null===(t=this.audioContext)||void 0===t?void 0:t.state);r!==this.canPlaybackAudio&&(this.audioEnabled=r,this.emit(yp.AudioPlaybackStatusChanged,r))})}createParticipant(e,t){var r;let i;return i=t?af.fromParticipantInfo(this.engine.client,t,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}):new af(this.engine.client,"",e,void 0,void 0,void 0,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}),this.options.webAudioMix&&i.setAudioContext(this.audioContext),(null===(r=this.options.audioOutput)||void 0===r?void 0:r.deviceId)&&i.setAudioOutput(this.options.audioOutput).catch(e=>this.log.warn("Could not set audio output: ".concat(e.message),this.logContext)),i}getOrCreateParticipant(e,t){if(this.remoteParticipants.has(e)){const r=this.remoteParticipants.get(e);return t&&r.updateInfo(t)&&this.sidToIdentity.set(t.sid,t.identity),r}const r=this.createParticipant(e,t);return this.remoteParticipants.set(e,r),this.sidToIdentity.set(t.sid,t.identity),this.emitWhenConnected(yp.ParticipantConnected,r),r.on(Cp.TrackPublished,e=>{this.emitWhenConnected(yp.TrackPublished,e,r)}).on(Cp.TrackSubscribed,(e,t)=>{e.kind===Qp.Kind.Audio?(e.on(Ip.AudioPlaybackStarted,this.handleAudioPlaybackStarted),e.on(Ip.AudioPlaybackFailed,this.handleAudioPlaybackFailed)):e.kind===Qp.Kind.Video&&(e.on(Ip.VideoPlaybackFailed,this.handleVideoPlaybackFailed),e.on(Ip.VideoPlaybackStarted,this.handleVideoPlaybackStarted)),this.emit(yp.TrackSubscribed,e,t,r)}).on(Cp.TrackUnpublished,e=>{this.emit(yp.TrackUnpublished,e,r)}).on(Cp.TrackUnsubscribed,(e,t)=>{this.emit(yp.TrackUnsubscribed,e,t,r)}).on(Cp.TrackMuted,e=>{this.emitWhenConnected(yp.TrackMuted,e,r)}).on(Cp.TrackUnmuted,e=>{this.emitWhenConnected(yp.TrackUnmuted,e,r)}).on(Cp.ParticipantMetadataChanged,e=>{this.emitWhenConnected(yp.ParticipantMetadataChanged,e,r)}).on(Cp.ParticipantNameChanged,e=>{this.emitWhenConnected(yp.ParticipantNameChanged,e,r)}).on(Cp.AttributesChanged,e=>{this.emitWhenConnected(yp.ParticipantAttributesChanged,e,r)}).on(Cp.ConnectionQualityChanged,e=>{this.emitWhenConnected(yp.ConnectionQualityChanged,e,r)}).on(Cp.ParticipantPermissionsChanged,e=>{this.emitWhenConnected(yp.ParticipantPermissionsChanged,e,r)}).on(Cp.TrackSubscriptionStatusChanged,(e,t)=>{this.emitWhenConnected(yp.TrackSubscriptionStatusChanged,e,t,r)}).on(Cp.TrackSubscriptionFailed,(e,t)=>{this.emit(yp.TrackSubscriptionFailed,e,r,t)}).on(Cp.TrackSubscriptionPermissionChanged,(e,t)=>{this.emitWhenConnected(yp.TrackSubscriptionPermissionChanged,e,t,r)}).on(Cp.Active,()=>{this.emitWhenConnected(yp.ParticipantActive,r),r.kind===Xc.AGENT&&this.localParticipant.setActiveAgent(r)}),t&&r.updateInfo(t),r}sendSyncState(){const e=Array.from(this.remoteParticipants.values()).reduce((e,t)=>(e.push(...t.getTrackPublications()),e),[]),t=this.localParticipant.getTrackPublications();this.engine.sendSyncState(e,t)}updateSubscriptions(){for(const e of this.remoteParticipants.values())for(const t of e.videoTrackPublications.values())t.isSubscribed&&Jg(t)&&t.emitTrackUpdate()}getRemoteParticipantBySid(e){const t=this.sidToIdentity.get(e);if(t)return this.remoteParticipants.get(t)}registerConnectionReconcile(){this.clearConnectionReconcile();let e=0;this.connectionReconcileInterval=$p.setInterval(()=>{this.engine&&!this.engine.isClosed&&this.engine.verifyTransport()?e=0:(e++,this.log.warn("detected connection state mismatch",Object.assign(Object.assign({},this.logContext),{numFailures:e,engine:this.engine?{closed:this.engine.isClosed,transportsConnected:this.engine.verifyTransport()}:void 0})),e>=3&&(this.recreateEngine(),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,Hc.STATE_MISMATCH)))},4e3)}clearConnectionReconcile(){this.connectionReconcileInterval&&$p.clearInterval(this.connectionReconcileInterval)}setAndEmitConnectionState(e){return e!==this.state&&(this.state=e,this.emit(yp.ConnectionStateChanged,this.state),!0)}emitBufferedEvents(){this.bufferedEvents.forEach(e=>{let[t,r]=e;this.emit(t,...r)}),this.bufferedEvents=[]}emitWhenConnected(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];if(this.state===Rv.Reconnecting||this.isResuming||!this.engine||this.engine.pendingReconnect)this.bufferedEvents.push([e,r]);else if(this.state===Rv.Connected)return this.emit(e,...r);return!1}simulateParticipants(e){return Qh(this,void 0,void 0,function*(){var t,r;const i=Object.assign({audio:!0,video:!0,useRealTracks:!1},e.publish),n=Object.assign({count:9,audio:!1,video:!0,aspectRatios:[1.66,1.7,1.3]},e.participants);if(this.handleDisconnect(),this.roomInfo=new Jc({sid:"RM_SIMULATED",name:"simulated-room",emptyTimeout:0,maxParticipants:0,creationTime:Cl.parse((new Date).getTime()),metadata:"",numParticipants:1,numPublishers:1,turnPassword:"",enabledCodecs:[],activeRecording:!1}),this.localParticipant.updateInfo(new Zc({identity:"simulated-local",name:"local-name"})),this.setupLocalParticipantEvents(),this.emit(yp.SignalConnected),this.emit(yp.Connected),this.setAndEmitConnectionState(Rv.Connected),i.video){const e=new ef(Qp.Kind.Video,new id({source:Fc.CAMERA,sid:Math.floor(1e4*Math.random()).toString(),type:zc.AUDIO,name:"video-dummy"}),new fv(i.useRealTracks?(yield window.navigator.mediaDevices.getUserMedia({video:!0})).getVideoTracks()[0]:Og(160*(null!==(t=n.aspectRatios[0])&&void 0!==t?t:1),160,!0,!0),void 0,!1,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(e),this.localParticipant.emit(Cp.LocalTrackPublished,e)}if(i.audio){const e=new ef(Qp.Kind.Audio,new id({source:Fc.MICROPHONE,sid:Math.floor(1e4*Math.random()).toString(),type:zc.AUDIO}),new ov(i.useRealTracks?(yield navigator.mediaDevices.getUserMedia({audio:!0})).getAudioTracks()[0]:Lg(),void 0,!1,this.audioContext,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(e),this.localParticipant.emit(Cp.LocalTrackPublished,e)}for(let e=0;e<n.count-1;e+=1){let t=new Zc({sid:Math.floor(1e4*Math.random()).toString(),identity:"simulated-".concat(e),state:Yc.ACTIVE,tracks:[],joinedAt:Cl.parse(Date.now())});const i=this.getOrCreateParticipant(t.identity,t);if(n.video){const o=Og(160*(null!==(r=n.aspectRatios[e%n.aspectRatios.length])&&void 0!==r?r:1),160,!1,!0),a=new id({source:Fc.CAMERA,sid:Math.floor(1e4*Math.random()).toString(),type:zc.AUDIO});i.addSubscribedMediaTrack(o,a.sid,new MediaStream([o]),new RTCRtpReceiver),t.tracks=[...t.tracks,a]}if(n.audio){const e=Lg(),r=new id({source:Fc.MICROPHONE,sid:Math.floor(1e4*Math.random()).toString(),type:zc.AUDIO});i.addSubscribedMediaTrack(e,r.sid,new MediaStream([e]),new RTCRtpReceiver),t.tracks=[...t.tracks,r]}i.updateInfo(t)}})}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];if(e!==yp.ActiveSpeakersChanged&&e!==yp.TranscriptionReceived){const t=lf(r).filter(e=>void 0!==e);this.log.debug("room event ".concat(e),Object.assign(Object.assign({},this.logContext),{event:e,args:t}))}return super.emit(e,...r)}}function lf(e){return e.map(e=>{if(e)return Array.isArray(e)?lf(e):"object"==typeof e?"logContext"in e?e.logContext:void 0:e})}function cf(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}sf.cleanupRegistry="undefined"!=typeof FinalizationRegistry&&new FinalizationRegistry(e=>{e()}),(Dv=Ov||(Ov={}))[Dv.IDLE=0]="IDLE",Dv[Dv.RUNNING=1]="RUNNING",Dv[Dv.SKIPPED=2]="SKIPPED",Dv[Dv.SUCCESS=3]="SUCCESS",Dv[Dv.FAILED=4]="FAILED",eu.EventEmitter,eu.EventEmitter,new TextEncoder,new TextDecoder;class df extends Error{constructor(e,t){var r;super(e,t),cf(this,"code","ERR_JOSE_GENERIC"),this.name=this.constructor.name,null===(r=Error.captureStackTrace)||void 0===r||r.call(Error,this,this.constructor)}}function hf(){return hf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)({}).hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},hf.apply(null,arguments)}cf(df,"code","ERR_JOSE_GENERIC"),cf(class extends df{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"unspecified",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"unspecified";super(e,{cause:{claim:r,reason:i,payload:t}}),cf(this,"code","ERR_JWT_CLAIM_VALIDATION_FAILED"),cf(this,"claim",void 0),cf(this,"reason",void 0),cf(this,"payload",void 0),this.claim=r,this.reason=i,this.payload=t}},"code","ERR_JWT_CLAIM_VALIDATION_FAILED"),cf(class extends df{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"unspecified",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"unspecified";super(e,{cause:{claim:r,reason:i,payload:t}}),cf(this,"code","ERR_JWT_EXPIRED"),cf(this,"claim",void 0),cf(this,"reason",void 0),cf(this,"payload",void 0),this.claim=r,this.reason=i,this.payload=t}},"code","ERR_JWT_EXPIRED"),cf(class extends df{constructor(){super(...arguments),cf(this,"code","ERR_JOSE_ALG_NOT_ALLOWED")}},"code","ERR_JOSE_ALG_NOT_ALLOWED"),cf(class extends df{constructor(){super(...arguments),cf(this,"code","ERR_JOSE_NOT_SUPPORTED")}},"code","ERR_JOSE_NOT_SUPPORTED"),cf(class extends df{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"decryption operation failed",arguments.length>1?arguments[1]:void 0),cf(this,"code","ERR_JWE_DECRYPTION_FAILED")}},"code","ERR_JWE_DECRYPTION_FAILED"),cf(class extends df{constructor(){super(...arguments),cf(this,"code","ERR_JWE_INVALID")}},"code","ERR_JWE_INVALID"),cf(class extends df{constructor(){super(...arguments),cf(this,"code","ERR_JWS_INVALID")}},"code","ERR_JWS_INVALID"),cf(class extends df{constructor(){super(...arguments),cf(this,"code","ERR_JWT_INVALID")}},"code","ERR_JWT_INVALID"),cf(class extends df{constructor(){super(...arguments),cf(this,"code","ERR_JWK_INVALID")}},"code","ERR_JWK_INVALID"),cf(class extends df{constructor(){super(...arguments),cf(this,"code","ERR_JWKS_INVALID")}},"code","ERR_JWKS_INVALID"),cf(class extends df{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"no applicable key found in the JSON Web Key Set",arguments.length>1?arguments[1]:void 0),cf(this,"code","ERR_JWKS_NO_MATCHING_KEY")}},"code","ERR_JWKS_NO_MATCHING_KEY"),cf(class extends df{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"multiple matching keys found in the JSON Web Key Set",arguments.length>1?arguments[1]:void 0),cf(this,Symbol.asyncIterator,void 0),cf(this,"code","ERR_JWKS_MULTIPLE_MATCHING_KEYS")}},"code","ERR_JWKS_MULTIPLE_MATCHING_KEYS"),cf(class extends df{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"request timed out",arguments.length>1?arguments[1]:void 0),cf(this,"code","ERR_JWKS_TIMEOUT")}},"code","ERR_JWKS_TIMEOUT"),cf(class extends df{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"signature verification failed",arguments.length>1?arguments[1]:void 0),cf(this,"code","ERR_JWS_SIGNATURE_VERIFICATION_FAILED")}},"code","ERR_JWS_SIGNATURE_VERIFICATION_FAILED");const uf=new Uint8Array(0);let pf=class{static getFullOptions(e){return hf({clientTools:{},onConnect:()=>{},onDebug:()=>{},onDisconnect:()=>{},onError:()=>{},onMessage:()=>{},onAudio:()=>{},onModeChange:()=>{},onStatusChange:()=>{},onCanSendFeedbackChange:()=>{},onInterruption:()=>{}},e)}constructor(e,t){var r=this;this.options=void 0,this.connection=void 0,this.lastInterruptTimestamp=0,this.mode="listening",this.status="connecting",this.volume=1,this.currentEventId=1,this.lastFeedbackEventId=0,this.canSendFeedback=!1,this.endSessionWithDetails=async function(e){"connected"!==r.status&&"connecting"!==r.status||(r.updateStatus("disconnecting"),await r.handleEndSession(),r.updateStatus("disconnected"),r.options.onDisconnect&&r.options.onDisconnect(e))},this.onMessage=async function(e){switch(e.type){case"interruption":return void r.handleInterruption(e);case"agent_response":return void r.handleAgentResponse(e);case"user_transcript":return void r.handleUserTranscript(e);case"internal_tentative_agent_response":return void r.handleTentativeAgentResponse(e);case"client_tool_call":try{await r.handleClientToolCall(e)}catch(t){r.onError(`Unexpected error in client tool call handling: ${t instanceof Error?t.message:String(t)}`,{clientToolName:e.client_tool_call.tool_name,toolCallId:e.client_tool_call.tool_call_id})}return;case"audio":return void r.handleAudio(e);case"vad_score":return void r.handleVadScore(e);case"ping":return void r.connection.sendMessage({type:"pong",event_id:e.ping_event.event_id});case"mcp_tool_call":return void r.handleMCPToolCall(e);case"mcp_connection_status":return void r.handleMCPConnectionStatus(e);case"agent_tool_response":return void r.handleAgentToolResponse(e);case"conversation_initiation_metadata":return void r.handleConversationMetadata(e);case"asr_initiation_metadata":return void r.handleAsrInitiationMetadata(e);default:return void(r.options.onDebug&&r.options.onDebug(e))}},this.setVolume=({volume:e})=>{this.volume=e},this.options=e,this.connection=t,this.options.onConnect&&this.options.onConnect({conversationId:t.conversationId}),this.connection.onMessage(this.onMessage),this.connection.onDisconnect(this.endSessionWithDetails),this.connection.onModeChange(e=>this.updateMode(e)),this.updateStatus("connected")}endSession(){return this.endSessionWithDetails({reason:"user"})}async handleEndSession(){this.connection.close()}updateMode(e){e!==this.mode&&(this.mode=e,this.options.onModeChange&&this.options.onModeChange({mode:e}))}updateStatus(e){e!==this.status&&(this.status=e,this.options.onStatusChange&&this.options.onStatusChange({status:e}))}updateCanSendFeedback(){const e=this.currentEventId!==this.lastFeedbackEventId;this.canSendFeedback!==e&&(this.canSendFeedback=e,this.options.onCanSendFeedbackChange&&this.options.onCanSendFeedbackChange({canSendFeedback:e}))}handleInterruption(e){e.interruption_event&&(this.lastInterruptTimestamp=e.interruption_event.event_id,this.options.onInterruption&&this.options.onInterruption({event_id:e.interruption_event.event_id}))}handleAgentResponse(e){this.options.onMessage&&this.options.onMessage({source:"ai",message:e.agent_response_event.agent_response})}handleUserTranscript(e){this.options.onMessage&&this.options.onMessage({source:"user",message:e.user_transcription_event.user_transcript})}handleTentativeAgentResponse(e){this.options.onDebug&&this.options.onDebug({type:"tentative_agent_response",response:e.tentative_agent_response_internal_event.tentative_agent_response})}handleVadScore(e){this.options.onVadScore&&this.options.onVadScore({vadScore:e.vad_score_event.vad_score})}async handleClientToolCall(e){if(Object.prototype.hasOwnProperty.call(this.options.clientTools,e.client_tool_call.tool_name))try{var t;const r=null!=(t=await this.options.clientTools[e.client_tool_call.tool_name](e.client_tool_call.parameters))?t:"Client tool execution successful.",i="object"==typeof r?JSON.stringify(r):String(r);this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:i,is_error:!1})}catch(r){this.onError(`Client tool execution failed with following error: ${null==r?void 0:r.message}`,{clientToolName:e.client_tool_call.tool_name}),this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:`Client tool execution failed: ${null==r?void 0:r.message}`,is_error:!0})}else{if(this.options.onUnhandledClientToolCall)return void this.options.onUnhandledClientToolCall(e.client_tool_call);this.onError(`Client tool with name ${e.client_tool_call.tool_name} is not defined on client`,{clientToolName:e.client_tool_call.tool_name}),this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:`Client tool with name ${e.client_tool_call.tool_name} is not defined on client`,is_error:!0})}}handleAudio(e){}handleMCPToolCall(e){this.options.onMCPToolCall&&this.options.onMCPToolCall(e.mcp_tool_call)}handleMCPConnectionStatus(e){this.options.onMCPConnectionStatus&&this.options.onMCPConnectionStatus(e.mcp_connection_status)}handleAgentToolResponse(e){this.options.onAgentToolResponse&&this.options.onAgentToolResponse(e.agent_tool_response)}handleConversationMetadata(e){this.options.onConversationMetadata&&this.options.onConversationMetadata(e.conversation_initiation_metadata_event)}handleAsrInitiationMetadata(e){this.options.onAsrInitiationMetadata&&this.options.onAsrInitiationMetadata(e.asr_initiation_metadata_event)}onError(e,t){this.options.onError&&this.options.onError(e,t)}getId(){return this.connection.conversationId}isOpen(){return"connected"===this.status}setMicMuted(e){this.connection.setMicMuted(e)}getInputByteFrequencyData(){return uf}getOutputByteFrequencyData(){return uf}getInputVolume(){return 0}getOutputVolume(){return 0}sendFeedback(e){this.canSendFeedback&&(this.connection.sendMessage({type:"feedback",score:e?"like":"dislike",event_id:this.currentEventId}),this.lastFeedbackEventId=this.currentEventId,this.updateCanSendFeedback())}sendContextualUpdate(e){this.connection.sendMessage({type:"contextual_update",text:e})}sendUserMessage(e){this.connection.sendMessage({type:"user_message",text:e})}sendUserActivity(){this.connection.sendMessage({type:"user_activity"})}sendMCPToolApprovalResult(e,t){this.connection.sendMessage({type:"mcp_tool_approval_result",tool_call_id:e,is_approved:t})}},gf=class{constructor(e={}){this.queue=[],this.disconnectionDetails=null,this.onDisconnectCallback=null,this.onMessageCallback=null,this.onModeChangeCallback=null,this.onDebug=void 0,this.onDebug=e.onDebug}debug(e){this.onDebug&&this.onDebug(e)}onMessage(e){this.onMessageCallback=e;const t=this.queue;this.queue=[],t.length>0&&queueMicrotask(()=>{t.forEach(e)})}onDisconnect(e){this.onDisconnectCallback=e;const t=this.disconnectionDetails;t&&queueMicrotask(()=>{e(t)})}onModeChange(e){this.onModeChangeCallback=e}updateMode(e){var t;null==(t=this.onModeChangeCallback)||t.call(this,e)}disconnect(e){var t;this.disconnectionDetails||(this.disconnectionDetails=e,null==(t=this.onDisconnectCallback)||t.call(this,e))}handleMessage(e){this.onMessageCallback?this.onMessageCallback(e):this.queue.push(e)}};function mf(e){const[t,r]=e.split("_");if(!["pcm","ulaw"].includes(t))throw new Error(`Invalid format: ${e}`);const i=Number.parseInt(r);if(Number.isNaN(i))throw new Error(`Invalid sample rate: ${r}`);return{format:t,sampleRate:i}}const vf="0.7.1";function ff(e){return!!e.type}const bf="conversation_initiation_client_data";function kf(e){var t;const r={type:bf};var i,n,o,a,s;return e.overrides&&(r.conversation_config_override={agent:{prompt:null==(i=e.overrides.agent)?void 0:i.prompt,first_message:null==(n=e.overrides.agent)?void 0:n.firstMessage,language:null==(o=e.overrides.agent)?void 0:o.language},tts:{voice_id:null==(a=e.overrides.tts)?void 0:a.voiceId},conversation:{text_only:null==(s=e.overrides.conversation)?void 0:s.textOnly}}),e.customLlmExtraBody&&(r.custom_llm_extra_body=e.customLlmExtraBody),e.dynamicVariables&&(r.dynamic_variables=e.dynamicVariables),e.userId&&(r.user_id=e.userId),null!=(t=e.overrides)&&t.client&&(r.source_info={source:e.overrides.client.source,version:e.overrides.client.version}),r}class wf extends gf{constructor(e,t,r,i){super(),this.socket=void 0,this.conversationId=void 0,this.inputFormat=void 0,this.outputFormat=void 0,this.socket=e,this.conversationId=t,this.inputFormat=r,this.outputFormat=i,this.socket.addEventListener("error",e=>{setTimeout(()=>this.disconnect({reason:"error",message:"The connection was closed due to a socket error.",context:e}),0)}),this.socket.addEventListener("close",e=>{this.disconnect(1e3===e.code?{reason:"agent",context:e}:{reason:"error",message:e.reason||"The connection was closed by the server.",context:e})}),this.socket.addEventListener("message",e=>{try{const t=JSON.parse(e.data);if(!ff(t))return void this.debug({type:"invalid_event",message:"Received invalid socket event",data:e.data});this.handleMessage(t)}catch(t){this.debug({type:"parsing_error",message:"Failed to parse socket message",error:t instanceof Error?t.message:String(t),data:e.data})}})}static async create(e){let t=null;try{var r,i,n;const o=null!=(r=e.origin)?r:"wss://api.elevenlabs.io";let a;const s=(null==(i=e.overrides)||null==(i=i.client)?void 0:i.version)||vf,l=(null==(n=e.overrides)||null==(n=n.client)?void 0:n.source)||"js_sdk";if(e.signedUrl){const t=e.signedUrl.includes("?")?"&":"?";a=`${e.signedUrl}${t}source=${l}&version=${s}`}else a=`${o}/v1/convai/conversation?agent_id=${e.agentId}&source=${l}&version=${s}`;const c=["convai"];e.authorization&&c.push(`bearer.${e.authorization}`),t=new WebSocket(a,c);const d=await new Promise((r,i)=>{t.addEventListener("open",()=>{var r;const i=kf(e);null==(r=t)||r.send(JSON.stringify(i))},{once:!0}),t.addEventListener("error",e=>{setTimeout(()=>i(e),0)}),t.addEventListener("close",i),t.addEventListener("message",e=>{const t=JSON.parse(e.data);ff(t)&&"conversation_initiation_metadata"===t.type&&r(t.conversation_initiation_metadata_event)},{once:!0})}),{conversation_id:h,agent_output_audio_format:u,user_input_audio_format:p}=d,g=mf(null!=p?p:"pcm_16000"),m=mf(u);return new wf(t,h,g,m)}catch(a){var o;throw null==(o=t)||o.close(),a}}close(){this.socket.close()}sendMessage(e){this.socket.send(JSON.stringify(e))}async setMicMuted(e){}}function yf(e){const t=new Uint8Array(e);return window.btoa(String.fromCharCode(...t))}function xf(e){const t=window.atob(e),r=t.length,i=new Uint8Array(r);for(let n=0;n<r;n++)i[n]=t.charCodeAt(n);return i.buffer}const Cf=new Map;function Sf(e,t){return async(r,i)=>{const n=Cf.get(e);if(n)return r.addModule(n);if(i)try{return await r.addModule(i),void Cf.set(e,i)}catch(s){throw new Error(`Failed to load the ${e} worklet module from path: ${i}. Error: ${s}`)}const o=new Blob([t],{type:"application/javascript"}),a=URL.createObjectURL(o);try{return await r.addModule(a),void Cf.set(e,a)}catch(l){URL.revokeObjectURL(a)}try{const i=`data:application/javascript;base64,${btoa(t)}`;await r.addModule(i),Cf.set(e,i)}catch(s){throw new Error(`Failed to load the ${e} worklet module. Make sure the browser supports AudioWorklets. If you are using a strict CSP, you may need to self-host the worklet files.`)}}}const Tf=Sf("rawAudioProcessor",'/*\n * ulaw encoding logic taken from the wavefile library\n * https://github.com/rochars/wavefile/blob/master/lib/codecs/mulaw.js\n * USED BY @elevenlabs/client\n */\n\nconst BIAS = 0x84;\nconst CLIP = 32635;\nconst encodeTable = [\n 0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,\n 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,\n 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,\n 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,\n 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7\n];\n\nfunction encodeSample(sample) {\n let sign;\n let exponent;\n let mantissa;\n let muLawSample;\n sign = (sample >> 8) & 0x80;\n if (sign !== 0) sample = -sample;\n sample = sample + BIAS;\n if (sample > CLIP) sample = CLIP;\n exponent = encodeTable[(sample>>7) & 0xFF];\n mantissa = (sample >> (exponent+3)) & 0x0F;\n muLawSample = ~(sign | (exponent << 4) | mantissa);\n \n return muLawSample;\n}\n\nclass RawAudioProcessor extends AudioWorkletProcessor {\n constructor() {\n super();\n \n this.port.onmessage = ({ data }) => {\n switch (data.type) {\n case "setFormat":\n this.isMuted = false;\n this.buffer = []; // Initialize an empty buffer\n this.bufferSize = data.sampleRate / 4;\n this.format = data.format;\n\n if (globalThis.LibSampleRate && sampleRate !== data.sampleRate) {\n globalThis.LibSampleRate.create(1, sampleRate, data.sampleRate).then(resampler => {\n this.resampler = resampler;\n });\n }\n break;\n case "setMuted":\n this.isMuted = data.isMuted;\n break;\n }\n };\n }\n process(inputs) {\n if (!this.buffer) {\n return true;\n }\n \n const input = inputs[0]; // Get the first input node\n if (input.length > 0) {\n let channelData = input[0]; // Get the first channel\'s data\n\n // Resample the audio if necessary\n if (this.resampler) {\n channelData = this.resampler.full(channelData);\n }\n\n // Add channel data to the buffer\n this.buffer.push(...channelData);\n // Get max volume \n let sum = 0.0;\n for (let i = 0; i < channelData.length; i++) {\n sum += channelData[i] * channelData[i];\n }\n const maxVolume = Math.sqrt(sum / channelData.length);\n // Check if buffer size has reached or exceeded the threshold\n if (this.buffer.length >= this.bufferSize) {\n const float32Array = this.isMuted \n ? new Float32Array(this.buffer.length)\n : new Float32Array(this.buffer);\n\n let encodedArray = this.format === "ulaw"\n ? new Uint8Array(float32Array.length)\n : new Int16Array(float32Array.length);\n\n // Iterate through the Float32Array and convert each sample to PCM16\n for (let i = 0; i < float32Array.length; i++) {\n // Clamp the value to the range [-1, 1]\n let sample = Math.max(-1, Math.min(1, float32Array[i]));\n\n // Scale the sample to the range [-32768, 32767]\n let value = sample < 0 ? sample * 32768 : sample * 32767;\n if (this.format === "ulaw") {\n value = encodeSample(Math.round(value));\n }\n\n encodedArray[i] = value;\n }\n\n // Send the buffered data to the main script\n this.port.postMessage([encodedArray, maxVolume]);\n\n // Clear the buffer after sending\n this.buffer = [];\n }\n }\n return true; // Continue processing\n }\n}\nregisterProcessor("rawAudioProcessor", RawAudioProcessor);\n');class Ef extends gf{constructor(e,t,r,i,n={}){super(n),this.conversationId=void 0,this.inputFormat=void 0,this.outputFormat=void 0,this.room=void 0,this.isConnected=!1,this.audioEventId=1,this.audioCaptureContext=null,this.audioElements=[],this.outputDeviceId=null,this.outputAnalyser=null,this.outputFrequencyData=null,this.room=e,this.conversationId=t,this.inputFormat=r,this.outputFormat=i,this.setupRoomEventListeners()}static async create(e){let t;if("conversationToken"in e&&e.conversationToken)t=e.conversationToken;else{if(!("agentId"in e)||!e.agentId)throw new Error("Either conversationToken or agentId is required for WebRTC connection");try{var r,i,n;const a=(null==(r=e.overrides)||null==(r=r.client)?void 0:r.version)||vf,s=(null==(i=e.overrides)||null==(i=i.client)?void 0:i.source)||"js_sdk",l=`${o=null!=(n=e.origin)?n:"https://api.elevenlabs.io",o.replace(/^wss:\/\//,"https://")}/v1/convai/conversation/token?agent_id=${e.agentId}&source=${s}&version=${a}`,c=await fetch(l);if(!c.ok)throw new Error(`ElevenLabs API returned ${c.status} ${c.statusText}`);if(t=(await c.json()).token,!t)throw new Error("No conversation token received from API")}catch(yy){let r=yy instanceof Error?yy.message:String(yy);throw yy instanceof Error&&yy.message.includes("401")&&(r="Your agent has authentication enabled, but no signed URL or conversation token was provided."),new Error(`Failed to fetch conversation token for agent ${e.agentId}: ${r}`)}}var o;const a=new sf;try{const r=`room_${Date.now()}`,i=mf("pcm_48000"),n=mf("pcm_48000"),o=new Ef(a,r,i,n,e),l=e.livekitUrl||"wss://livekit.rtc.elevenlabs.io";var s;await a.connect(l,t),await new Promise(e=>{if(o.isConnected)e();else{const t=()=>{a.off(yp.Connected,t),e()};a.on(yp.Connected,t)}}),a.name&&(o.conversationId=(null==(s=a.name.match(/(conv_[a-zA-Z0-9]+)/))?void 0:s[0])||a.name),await a.localParticipant.setMicrophoneEnabled(!0);const c=kf(e);return o.debug({type:bf,message:c}),await o.sendMessage(c),o}catch(yy){throw await a.disconnect(),yy}}setupRoomEventListeners(){var e=this;this.room.on(yp.Connected,async function(){e.isConnected=!0}),this.room.on(yp.Disconnected,e=>{this.isConnected=!1,this.disconnect({reason:"agent",context:new CloseEvent("close",{reason:null==e?void 0:e.toString()})})}),this.room.on(yp.ConnectionStateChanged,e=>{e===Rv.Disconnected&&(this.isConnected=!1,this.disconnect({reason:"error",message:`LiveKit connection state changed to ${e}`,context:new Event("connection_state_changed")}))}),this.room.on(yp.DataReceived,(e,t)=>{try{const t=JSON.parse((new TextDecoder).decode(e));if("audio"===t.type)return;ff(t)&&this.handleMessage(t)}catch(r){}}),this.room.on(yp.TrackSubscribed,async function(t,r,i){if(t.kind===Qp.Kind.Audio&&i.identity.includes("agent")){const r=t,i=r.attach();if(i.autoplay=!0,i.controls=!1,e.outputDeviceId&&i.setSinkId)try{await i.setSinkId(e.outputDeviceId)}catch(n){}i.style.display="none",document.body.appendChild(i),e.audioElements.push(i),1===e.audioElements.length&&(null==e.onDebug||e.onDebug({type:"audio_element_ready"})),await e.setupAudioCapture(r)}}),this.room.on(yp.ActiveSpeakersChanged,async function(t){e.updateMode(t.length>0&&t[0].identity.startsWith("agent")?"speaking":"listening")})}close(){if(this.isConnected){try{this.room.localParticipant.audioTrackPublications.forEach(e=>{e.track&&e.track.stop()})}catch(yy){}this.audioCaptureContext&&(this.audioCaptureContext.close().catch(e=>{}),this.audioCaptureContext=null),this.audioElements.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)}),this.audioElements=[],this.room.disconnect()}}async sendMessage(e){if(this.isConnected&&this.room.localParticipant&&!("user_audio_chunk"in e))try{const t=(new TextEncoder).encode(JSON.stringify(e));await this.room.localParticipant.publishData(t,{reliable:!0})}catch(t){this.debug({type:"send_message_error",message:{message:e,error:t}})}}getRoom(){return this.room}async setMicMuted(e){if(!this.isConnected||!this.room.localParticipant)return;const t=this.room.localParticipant.getTrackPublication(Qp.Source.Microphone);if(null!=t&&t.track)try{e?await t.track.mute():await t.track.unmute()}catch(r){await this.room.localParticipant.setMicrophoneEnabled(!e)}else await this.room.localParticipant.setMicrophoneEnabled(!e)}async setupAudioCapture(e){try{const t=new AudioContext;this.audioCaptureContext=t,this.outputAnalyser=t.createAnalyser(),this.outputAnalyser.fftSize=2048,this.outputAnalyser.smoothingTimeConstant=.8;const r=new MediaStream([e.mediaStreamTrack]),i=t.createMediaStreamSource(r);i.connect(this.outputAnalyser),await Tf(t.audioWorklet);const n=new AudioWorkletNode(t,"rawAudioProcessor");this.outputAnalyser.connect(n),n.port.postMessage({type:"setFormat",format:this.outputFormat.format,sampleRate:this.outputFormat.sampleRate}),n.port.onmessage=e=>{const[t,r]=e.data;if(r>.01){const e=yf(t.buffer),r=this.audioEventId++;this.handleMessage({type:"audio",audio_event:{audio_base_64:e,event_id:r}})}},i.connect(n)}catch(t){}}setAudioVolume(e){this.audioElements.forEach(t=>{t.volume=e})}async setAudioOutputDevice(e){if(!("setSinkId"in HTMLAudioElement.prototype))throw new Error("setSinkId is not supported in this browser");const t=this.audioElements.map(async function(t){try{await t.setSinkId(e)}catch(r){throw r}});await Promise.all(t),this.outputDeviceId=e}async setAudioInputDevice(e){if(!this.isConnected||!this.room.localParticipant)throw new Error("Cannot change input device: room not connected or no local participant");try{const t=this.room.localParticipant.getTrackPublication(Qp.Source.Microphone);null!=t&&t.track&&(await t.track.stop(),await this.room.localParticipant.unpublishTrack(t.track));const r={deviceId:{exact:e},echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,channelCount:{ideal:1}},i=await function(e){return Qh(this,void 0,void 0,function*(){return(yield tf({audio:null==e||e,video:!1}))[0]})}(r);await this.room.localParticipant.publishTrack(i,{name:"microphone",source:Qp.Source.Microphone})}catch(t){try{await this.room.localParticipant.setMicrophoneEnabled(!0)}catch(r){}throw t}}getOutputByteFrequencyData(){return this.outputAnalyser?(null!=this.outputFrequencyData||(this.outputFrequencyData=new Uint8Array(this.outputAnalyser.frequencyBinCount)),this.outputAnalyser.getByteFrequencyData(this.outputFrequencyData),this.outputFrequencyData):null}}async function If(e){const t=(r=e).connectionType?r.connectionType:"conversationToken"in r&&r.conversationToken?"webrtc":"websocket";var r;switch(t){case"websocket":return wf.create(e);case"webrtc":return Ef.create(e);default:throw new Error(`Unknown connection type: ${t}`)}}function Pf(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}async function _f(e={default:0,android:3e3}){let t=e.default;var r;if(/android/i.test(navigator.userAgent))t=null!=(r=e.android)?r:t;else if(Pf()){var i;t=null!=(i=e.ios)?i:t}t>0&&await new Promise(e=>setTimeout(e,t))}let Mf=class e extends pf{static async startSession(t){const r=pf.getFullOptions(t);r.onStatusChange&&r.onStatusChange({status:"connecting"}),r.onCanSendFeedbackChange&&r.onCanSendFeedbackChange({canSendFeedback:!1}),r.onModeChange&&r.onModeChange({mode:"listening"}),r.onCanSendFeedbackChange&&r.onCanSendFeedbackChange({canSendFeedback:!1});let i=null;try{return await _f(r.connectionDelay),i=await If(t),new e(r,i)}catch(o){var n;throw r.onStatusChange&&r.onStatusChange({status:"disconnected"}),null==(n=i)||n.close(),o}}};const Rf={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,channelCount:{ideal:1}};let Af=class e{static async create({sampleRate:t,format:r,preferHeadphonesForIosDevices:i,inputDeviceId:n,workletPaths:o,libsampleratePath:a}){let s=null,l=null;try{const c=hf({sampleRate:{ideal:t}},Rf);if(Pf()&&i){const e=(await window.navigator.mediaDevices.enumerateDevices()).find(e=>"audioinput"===e.kind&&["airpod","headphone","earphone"].find(t=>e.label.toLowerCase().includes(t)));e&&(c.deviceId={ideal:e.deviceId})}n&&(c.deviceId={exact:n});const d=navigator.mediaDevices.getSupportedConstraints().sampleRate;s=new window.AudioContext(d?{sampleRate:t}:{});const h=s.createAnalyser();if(!d){const e=a||"https://cdn.jsdelivr.net/npm/@alexanderolsen/libsamplerate-js@2.1.2/dist/libsamplerate.worklet.js";await s.audioWorklet.addModule(e)}await Tf(s.audioWorklet,null==o?void 0:o.rawAudioProcessor);const u=hf({voiceIsolation:!0},c);l=await navigator.mediaDevices.getUserMedia({audio:u});const p=s.createMediaStreamSource(l),g=new AudioWorkletNode(s,"rawAudioProcessor");return g.port.postMessage({type:"setFormat",format:r,sampleRate:t}),p.connect(h),h.connect(g),await s.resume(),new e(s,h,g,l,p)}catch(h){var c,d;throw null==(c=l)||c.getTracks().forEach(e=>{e.stop()}),null==(d=s)||d.close(),h}}constructor(e,t,r,i,n){this.context=void 0,this.analyser=void 0,this.worklet=void 0,this.inputStream=void 0,this.mediaStreamSource=void 0,this.context=e,this.analyser=t,this.worklet=r,this.inputStream=i,this.mediaStreamSource=n}async close(){this.inputStream.getTracks().forEach(e=>{e.stop()}),this.mediaStreamSource.disconnect(),await this.context.close()}setMuted(e){this.worklet.port.postMessage({type:"setMuted",isMuted:e})}async setInputDevice(e){try{const t=hf({},Rf);e&&(t.deviceId={exact:e});const r=hf({voiceIsolation:!0},t),i=await navigator.mediaDevices.getUserMedia({audio:r});this.inputStream.getTracks().forEach(e=>{e.stop()}),this.mediaStreamSource.disconnect(),this.inputStream=i,this.mediaStreamSource=this.context.createMediaStreamSource(i),this.mediaStreamSource.connect(this.analyser)}catch(t){throw t}}};const Of=Sf("audioConcatProcessor",'/*\n * ulaw decoding logic taken from the wavefile library\n * https://github.com/rochars/wavefile/blob/master/lib/codecs/mulaw.js\n * USED BY @elevenlabs/client\n */\n\nconst decodeTable = [0,132,396,924,1980,4092,8316,16764];\n\nfunction decodeSample(muLawSample) {\n let sign;\n let exponent;\n let mantissa;\n let sample;\n muLawSample = ~muLawSample;\n sign = (muLawSample & 0x80);\n exponent = (muLawSample >> 4) & 0x07;\n mantissa = muLawSample & 0x0F;\n sample = decodeTable[exponent] + (mantissa << (exponent+3));\n if (sign !== 0) sample = -sample;\n\n return sample;\n}\n\nclass AudioConcatProcessor extends AudioWorkletProcessor {\n constructor() {\n super();\n this.buffers = []; // Initialize an empty buffer\n this.cursor = 0;\n this.currentBuffer = null;\n this.wasInterrupted = false;\n this.finished = false;\n \n this.port.onmessage = ({ data }) => {\n switch (data.type) {\n case "setFormat":\n this.format = data.format;\n break;\n case "buffer":\n this.wasInterrupted = false;\n this.buffers.push(\n this.format === "ulaw"\n ? new Uint8Array(data.buffer)\n : new Int16Array(data.buffer)\n );\n break;\n case "interrupt":\n this.wasInterrupted = true;\n break;\n case "clearInterrupted":\n if (this.wasInterrupted) {\n this.wasInterrupted = false;\n this.buffers = [];\n this.currentBuffer = null;\n }\n }\n };\n }\n process(_, outputs) {\n let finished = false;\n const output = outputs[0][0];\n for (let i = 0; i < output.length; i++) {\n if (!this.currentBuffer) {\n if (this.buffers.length === 0) {\n finished = true;\n break;\n }\n this.currentBuffer = this.buffers.shift();\n this.cursor = 0;\n }\n\n let value = this.currentBuffer[this.cursor];\n if (this.format === "ulaw") {\n value = decodeSample(value);\n }\n output[i] = value / 32768;\n this.cursor++;\n\n if (this.cursor >= this.currentBuffer.length) {\n this.currentBuffer = null;\n }\n }\n\n if (this.finished !== finished) {\n this.finished = finished;\n this.port.postMessage({ type: "process", finished });\n }\n\n return true; // Continue processing\n }\n}\n\nregisterProcessor("audioConcatProcessor", AudioConcatProcessor);\n');class Df{static async create({sampleRate:e,format:t,outputDeviceId:r,workletPaths:i}){let n=null,o=null;try{n=new AudioContext({sampleRate:e});const a=n.createAnalyser(),s=n.createGain();o=new Audio,o.src="",o.load(),o.autoplay=!0,o.style.display="none",document.body.appendChild(o);const l=n.createMediaStreamDestination();o.srcObject=l.stream,s.connect(a),a.connect(l),await Of(n.audioWorklet,null==i?void 0:i.audioConcatProcessor);const c=new AudioWorkletNode(n,"audioConcatProcessor");return c.port.postMessage({type:"setFormat",format:t}),c.connect(s),await n.resume(),r&&o.setSinkId&&await o.setSinkId(r),new Df(n,a,s,c,o)}catch(l){var a,s;throw null!=(a=o)&&a.parentNode&&o.parentNode.removeChild(o),null==(s=o)||s.pause(),n&&"closed"!==n.state&&await n.close(),l}}constructor(e,t,r,i,n){this.context=void 0,this.analyser=void 0,this.gain=void 0,this.worklet=void 0,this.audioElement=void 0,this.context=e,this.analyser=t,this.gain=r,this.worklet=i,this.audioElement=n}async setOutputDevice(e){if(!("setSinkId"in HTMLAudioElement.prototype))throw new Error("setSinkId is not supported in this browser");await this.audioElement.setSinkId(e||"")}async close(){this.audioElement.parentNode&&this.audioElement.parentNode.removeChild(this.audioElement),this.audioElement.pause(),await this.context.close()}}class Lf extends pf{static async startSession(e){var t;const r=pf.getFullOptions(e);r.onStatusChange&&r.onStatusChange({status:"connecting"}),r.onCanSendFeedbackChange&&r.onCanSendFeedbackChange({canSendFeedback:!1});let i=null,n=null,o=null,a=null,s=null;if(null==(t=e.useWakeLock)||t)try{s=await navigator.wakeLock.request("screen")}catch(g){}try{var l;return a=await navigator.mediaDevices.getUserMedia({audio:!0}),await _f(r.connectionDelay),n=await If(e),[i,o]=await Promise.all([Af.create(hf({},n.inputFormat,{preferHeadphonesForIosDevices:e.preferHeadphonesForIosDevices,inputDeviceId:e.inputDeviceId,workletPaths:e.workletPaths,libsampleratePath:e.libsampleratePath})),Df.create(hf({},n.outputFormat,{outputDeviceId:e.outputDeviceId,workletPaths:e.workletPaths}))]),null==(l=a)||l.getTracks().forEach(e=>{e.stop()}),a=null,new Lf(r,n,i,o,s)}catch(g){var c,d,h,u;r.onStatusChange&&r.onStatusChange({status:"disconnected"}),null==(c=a)||c.getTracks().forEach(e=>{e.stop()}),null==(d=n)||d.close(),await(null==(h=i)?void 0:h.close()),await(null==(u=o)?void 0:u.close());try{var p;await(null==(p=s)?void 0:p.release()),s=null}catch(m){}throw g}}constructor(e,t,r,i,n){super(e,t),this.input=void 0,this.output=void 0,this.wakeLock=void 0,this.inputFrequencyData=void 0,this.outputFrequencyData=void 0,this.onInputWorkletMessage=e=>{"connected"===this.status&&this.connection.sendMessage({user_audio_chunk:yf(e.data[0].buffer)})},this.onOutputWorkletMessage=({data:e})=>{"process"===e.type&&this.updateMode(e.finished?"listening":"speaking")},this.addAudioBase64Chunk=e=>{this.output.gain.gain.value=this.volume,this.output.worklet.port.postMessage({type:"clearInterrupted"}),this.output.worklet.port.postMessage({type:"buffer",buffer:xf(e)})},this.fadeOutAudio=()=>{this.updateMode("listening"),this.output.worklet.port.postMessage({type:"interrupt"}),this.output.gain.gain.exponentialRampToValueAtTime(1e-4,this.output.context.currentTime+2),setTimeout(()=>{this.output.gain.gain.value=this.volume,this.output.worklet.port.postMessage({type:"clearInterrupted"})},2e3)},this.calculateVolume=e=>{if(0===e.length)return 0;let t=0;for(let r=0;r<e.length;r++)t+=e[r]/255;return t/=e.length,t<0?0:t>1?1:t},this.setVolume=({volume:e})=>{const t=Number.isFinite(e)?Math.min(1,Math.max(0,e)):1;this.volume=t,this.connection instanceof Ef?this.connection.setAudioVolume(t):this.output.gain.gain.value=t},this.input=r,this.output=i,this.wakeLock=n,this.input.worklet.port.onmessage=this.onInputWorkletMessage,this.output.worklet.port.onmessage=this.onOutputWorkletMessage}async handleEndSession(){await super.handleEndSession();try{var e;await(null==(e=this.wakeLock)?void 0:e.release()),this.wakeLock=null}catch(t){}await this.input.close(),await this.output.close()}handleInterruption(e){super.handleInterruption(e),this.fadeOutAudio()}handleAudio(e){var t,r;this.lastInterruptTimestamp<=e.audio_event.event_id&&(null==(t=(r=this.options).onAudio)||t.call(r,e.audio_event.audio_base_64),this.connection instanceof Ef||this.addAudioBase64Chunk(e.audio_event.audio_base_64),this.currentEventId=e.audio_event.event_id,this.updateCanSendFeedback(),this.updateMode("speaking"))}setMicMuted(e){this.connection instanceof Ef?this.connection.setMicMuted(e):this.input.setMuted(e)}getInputByteFrequencyData(){return null!=this.inputFrequencyData||(this.inputFrequencyData=new Uint8Array(this.input.analyser.frequencyBinCount)),this.input.analyser.getByteFrequencyData(this.inputFrequencyData),this.inputFrequencyData}getOutputByteFrequencyData(){return this.connection instanceof Ef?this.connection.getOutputByteFrequencyData()||new Uint8Array(1024):(null!=this.outputFrequencyData||(this.outputFrequencyData=new Uint8Array(this.output.analyser.frequencyBinCount)),this.output.analyser.getByteFrequencyData(this.outputFrequencyData),this.outputFrequencyData)}getInputVolume(){return this.calculateVolume(this.getInputByteFrequencyData())}getOutputVolume(){return this.calculateVolume(this.getOutputByteFrequencyData())}async changeInputDevice({sampleRate:e,format:t,preferHeadphonesForIosDevices:r,inputDeviceId:i}){try{if(this.connection instanceof wf)try{return await this.input.setInputDevice(i),this.input}catch(n){}this.connection instanceof Ef&&await this.connection.setAudioInputDevice(i||""),await this.input.close();const o=await Af.create({sampleRate:null!=e?e:this.connection.inputFormat.sampleRate,format:null!=t?t:this.connection.inputFormat.format,preferHeadphonesForIosDevices:r,inputDeviceId:i,workletPaths:this.options.workletPaths,libsampleratePath:this.options.libsampleratePath});return this.input=o,this.input.worklet.port.onmessage=this.onInputWorkletMessage,this.input}catch(n){throw n}}async changeOutputDevice({sampleRate:e,format:t,outputDeviceId:r}){try{if(this.connection instanceof wf)try{return await this.output.setOutputDevice(r),this.output}catch(i){}this.connection instanceof Ef&&await this.connection.setAudioOutputDevice(r||""),await this.output.close();const n=await Df.create({sampleRate:null!=e?e:this.connection.outputFormat.sampleRate,format:null!=t?t:this.connection.outputFormat.format,outputDeviceId:r,workletPaths:this.options.workletPaths});return this.output=n,this.output}catch(i){throw i}}}class Nf extends pf{static startSession(e){return e.textOnly?Mf.startSession(e):Lf.startSession(e)}}var jf=Object.defineProperty,Uf=(e,t)=>jf(e,"name",{value:t,configurable:!0}),zf=(e,t,r)=>((e,t,r)=>t in e?jf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);const Ff={class:"spinner max-w-sm"},Bf={class:"ring-circular h-full w-full origin-center",viewBox:"25 25 50 50"},Vf=$r({__name:"FSpinner",props:{width:{type:String,default:""},colorMode:{type:String,default:"primary"}},setup:e=>(t,r)=>(An(),Nn("div",Ff,[(An(),Nn("svg",Bf,[Vn("circle",{class:ge([e.colorMode,"ring-path"]),cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":"5","stroke-miterlimit":"30"},null,2)]))]))}),qf={green:{50:"oklch(98.2% 0.018 155.826)",100:"oklch(96.2% 0.044 156.743)",200:"oklch(92.5% 0.084 155.995)",300:"oklch(87.1% 0.15 154.449)",400:"oklch(79.2% 0.209 151.711)",500:"oklch(72.3% 0.219 149.579)",600:"oklch(62.7% 0.194 149.214)",700:"oklch(52.7% 0.154 150.069)",800:"oklch(44.8% 0.119 151.328)",900:"oklch(39.3% 0.095 152.535)",950:"oklch(26.6% 0.065 152.934)"},blue:{50:"oklch(97% 0.014 254.604)",100:"oklch(93.2% 0.032 255.585)",200:"oklch(88.2% 0.059 254.128)",300:"oklch(80.9% 0.105 251.813)",400:"oklch(70.7% 0.165 254.624)",500:"oklch(62.3% 0.214 259.815)",600:"oklch(54.6% 0.245 262.881)",700:"oklch(48.8% 0.243 264.376)",800:"oklch(42.4% 0.199 265.638)",900:"oklch(37.9% 0.146 265.522)",950:"oklch(28.2% 0.091 267.935)"},rose:{50:"oklch(96.9% 0.015 12.422)",100:"oklch(94.1% 0.03 12.58)",200:"oklch(89.2% 0.058 10.001)",300:"oklch(81% 0.117 11.638)",400:"oklch(71.2% 0.194 13.428)",500:"oklch(64.5% 0.246 16.439)",600:"oklch(58.6% 0.253 17.585)",700:"oklch(51.4% 0.222 16.935)",800:"oklch(45.5% 0.188 13.697)",900:"oklch(41% 0.159 10.272)",950:"oklch(27.1% 0.105 12.094)"},cyan:{50:"oklch(98.4% 0.019 200.873)",100:"oklch(95.6% 0.045 203.388)",200:"oklch(91.7% 0.08 205.041)",300:"oklch(86.5% 0.127 207.078)",400:"oklch(78.9% 0.154 211.53)",500:"oklch(71.5% 0.143 215.221)",600:"oklch(60.9% 0.126 221.723)",700:"oklch(52% 0.105 223.128)",800:"oklch(45% 0.085 224.283)",900:"oklch(39.8% 0.07 227.392)",950:"oklch(30.2% 0.056 229.695)"},purple:{50:"oklch(97.7% 0.014 308.299)",100:"oklch(94.6% 0.033 307.174)",200:"oklch(90.2% 0.063 306.703)",300:"oklch(82.7% 0.119 306.383)",400:"oklch(71.4% 0.203 305.504)",500:"oklch(62.7% 0.265 303.9)",600:"oklch(55.8% 0.288 302.321)",700:"oklch(49.6% 0.265 301.924)",800:"oklch(43.8% 0.218 303.724)",900:"oklch(38.1% 0.176 304.987)",950:"oklch(29.1% 0.149 302.717)"},amber:{50:"oklch(98.7% 0.022 95.277)",100:"oklch(96.2% 0.059 95.617)",200:"oklch(92.4% 0.12 95.746)",300:"oklch(87.9% 0.169 91.605)",400:"oklch(82.8% 0.189 84.429)",500:"oklch(76.9% 0.188 70.08)",600:"oklch(66.6% 0.179 58.318)",700:"oklch(55.5% 0.163 48.998)",800:"oklch(47.3% 0.137 46.201)",900:"oklch(41.4% 0.112 45.904)",950:"oklch(27.9% 0.077 45.635)"},indigo:{50:"oklch(96.2% 0.018 272.314)",100:"oklch(93% 0.034 272.788)",200:"oklch(87% 0.065 274.039)",300:"oklch(78.5% 0.115 274.713)",400:"oklch(67.3% 0.182 276.935)",500:"oklch(58.5% 0.233 277.117)",600:"oklch(51.1% 0.262 276.966)",700:"oklch(45.7% 0.24 277.023)",800:"oklch(39.8% 0.195 277.366)",900:"oklch(35.9% 0.144 278.697)",950:"oklch(25.7% 0.09 281.288)"},pink:{50:"oklch(97.1% 0.014 343.198)",100:"oklch(94.8% 0.028 342.258)",200:"oklch(89.9% 0.061 343.231)",300:"oklch(82.3% 0.12 346.018)",400:"oklch(71.8% 0.202 349.761)",500:"oklch(65.6% 0.241 354.308)",600:"oklch(59.2% 0.249 0.584)",700:"oklch(52.5% 0.223 3.958)",800:"oklch(45.9% 0.187 3.815)",900:"oklch(40.8% 0.153 2.432)",950:"oklch(28.4% 0.109 3.907)"},teal:{50:"oklch(98.4% 0.014 180.72)",100:"oklch(95.3% 0.051 180.801)",200:"oklch(91% 0.096 180.426)",300:"oklch(85.5% 0.138 181.071)",400:"oklch(77.7% 0.152 181.912)",500:"oklch(70.4% 0.14 182.503)",600:"oklch(60% 0.118 184.704)",700:"oklch(51.1% 0.096 186.391)",800:"oklch(43.7% 0.078 188.216)",900:"oklch(38.6% 0.063 188.416)",950:"oklch(27.7% 0.046 192.524)"},sky:{50:"oklch(97.7% 0.013 236.62)",100:"oklch(95.1% 0.026 236.824)",200:"oklch(90.1% 0.058 230.902)",300:"oklch(82.8% 0.111 230.318)",400:"oklch(74.6% 0.16 232.661)",500:"oklch(68.5% 0.169 237.323)",600:"oklch(58.8% 0.158 241.966)",700:"oklch(50% 0.134 242.749)",800:"oklch(44.3% 0.11 240.79)",900:"oklch(39.1% 0.09 240.876)",950:"oklch(29.3% 0.066 243.157)"}};function Hf(e){return qf[e]||qf.blue}Uf(Hf,"getColorSchemeOklch");const Wf=[{mode:"self",label:"Mode",icon:"i-tabler-north-star"},{mode:"talk",label:"Talk",icon:"i-tabler-phone"},{mode:"chat",label:"Chat",icon:"i-tabler-message-circle"},{mode:"info",label:"About",icon:"i-tabler-user-circle"}],$f=class extends Qa{constructor(e){super("ClientAudio",e),zf(this,"audioContext"),zf(this,"analyser"),zf(this,"microphone"),zf(this,"audioLevelInterval"),zf(this,"stream"),zf(this,"visibilityChangeHandler"),zf(this,"vadTimeout"),zf(this,"lastSpeechTime",0),zf(this,"VAD_SILENCE_THRESHOLD",.03),zf(this,"VAD_SILENCE_DURATION",1200),zf(this,"audioLevels",Ft({inputLevel:0,outputLevel:0})),this.setupVisibilityHandler()}setupVisibilityHandler(){typeof document>"u"||(this.visibilityChangeHandler=()=>{document.hidden?(this.logger.info("App backgrounded, suspending audio context"),this.handleAppBackground()):(this.logger.info("App foregrounded, resuming audio context"),this.handleAppForeground())},document.addEventListener("visibilitychange",this.visibilityChangeHandler,{passive:!0}),window.addEventListener("beforeunload",()=>{this.cleanup().catch(this.logger.error.bind(this,"Error during beforeunload cleanup"))},{passive:!0}))}handleAppBackground(){this.logger.info("App backgrounded - stopping microphone for privacy"),this.stopMicrophone().catch(this.logger.error.bind(this,"Error stopping microphone on background"))}handleAppForeground(){this.logger.info("App foregrounded - microphone remains off until user re-enables (security best practice)")}async requestMicrophonePermission(e={}){try{const{noiseSuppression:t=!0,echoCancellation:r=!0,autoGainControl:i=!0,voiceIsolation:n=!0}=e,o={audio:{noiseSuppression:{ideal:t,exact:t},echoCancellation:{ideal:r,exact:r},autoGainControl:{ideal:i,exact:i},voiceIsolation:{ideal:n,exact:n},advanced:[{googAudioMirroring:!1},{googAutoGainControl:i},{googAutoGainControl2:i},{googNoiseSuppression:t},{googNoiseSuppression2:t},{googEchoCancellation:r},{googEchoCancellation2:r},{googHighpassFilter:!0},{googTypingNoiseDetection:!0}]}};this.stream=await navigator.mediaDevices.getUserMedia(o);const a=this.stream.getAudioTracks()[0].getSettings();return this.logger.info("Microphone permission granted with settings:",{noiseSuppression:a.noiseSuppression,echoCancellation:a.echoCancellation,autoGainControl:a.autoGainControl,voiceIsolation:a.voiceIsolation,sampleRate:a.sampleRate}),await this.setupAudioAnalysis(),!0}catch(t){return this.logger.error("Microphone permission denied:",t),!1}}getMicrophoneStream(){return this.stream}async setupAudioAnalysis(){if(!this.stream)throw new Error("No audio stream available");try{this.audioContext=new AudioContext,this.analyser=this.audioContext.createAnalyser(),this.microphone=this.audioContext.createMediaStreamSource(this.stream),this.analyser.fftSize=256,this.analyser.smoothingTimeConstant=.8,this.microphone.connect(this.analyser),this.logger.info("Audio analysis setup complete",{fftSize:this.analyser.fftSize,frequencyBinCount:this.analyser.frequencyBinCount,sampleRate:this.audioContext.sampleRate})}catch(e){throw this.logger.error("Failed to setup audio analysis:",e),e}}detectVoiceActivity(e){const t=e>this.VAD_SILENCE_THRESHOLD;return t&&(this.lastSpeechTime=Date.now()),t}hasUserStoppedSpeaking(){return 0!==this.lastSpeechTime&&Date.now()-this.lastSpeechTime>this.VAD_SILENCE_DURATION}startAudioLevelMonitoring(e,t){if(!this.analyser)return void this.logger.info("Audio level monitoring not started - missing analyser");this.logger.info("Starting audio level monitoring with VAD at timestamp:",Date.now());const r=new Uint8Array(this.analyser.frequencyBinCount),i=Uf(async()=>{if(this.analyser)try{this.analyser.getByteFrequencyData(r);const i=r.reduce((e,t)=>e+t,0)/r.length,n=Math.min(i/128,1);!this.detectVoiceActivity(n)&&this.hasUserStoppedSpeaking()&&t&&(this.logger.info("VAD: User stopped speaking (silence detected)"),t(),this.lastSpeechTime=0);const o=e?.()?.3:0;this.audioLevels.value={inputLevel:n,outputLevel:o}}catch(i){this.logger.error("Error in audio level monitoring:",i),this.stopAudioLevelMonitoring()}else this.logger.info("Stopping audio level monitoring - missing analyser")},"updateLevels"),n=Uf(()=>{i().catch(e=>{this.logger.error("Async error in audio level monitoring:",e)})},"intervalWrapper");this.audioLevelInterval=window.setInterval(n,50)}stopAudioLevelMonitoring(){this.audioLevelInterval?(this.logger.info("Stopping audio level monitoring interval"),clearInterval(this.audioLevelInterval),this.audioLevelInterval=void 0):this.logger.info("No audio level monitoring interval to stop"),this.lastSpeechTime=0,this.vadTimeout&&(clearTimeout(this.vadTimeout),this.vadTimeout=void 0)}resetAudioLevels(){this.audioLevels.value={inputLevel:0,outputLevel:0},this.lastSpeechTime=0}isAudioContextAvailable(){return!!this.audioContext}getAudioContextState(){return this.audioContext?.state}getSharedAnalyser(){return this.analyser}async stopMicrophone(){this.stream&&(this.logger.info("Stopping microphone stream"),this.stream.getTracks().forEach(e=>{e.stop(),e.enabled=!1}),this.stream=void 0),this.stopAudioLevelMonitoring(),this.resetAudioLevels(),this.audioContext&&"closed"!==this.audioContext.state&&(await this.audioContext.close(),this.audioContext=void 0),this.analyser=void 0,this.microphone=void 0,this.logger.info("Microphone stopped")}async cleanup(){await this.stopMicrophone(),this.visibilityChangeHandler&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityChangeHandler),this.visibilityChangeHandler=void 0),this.logger.info("Audio resources cleaned up")}};Uf($f,"ClientAudio");let Gf=$f;function Jf(e){return e?"string"==typeof e?e:e.src||"":""}function Kf(e){return Jf(e.cover)||Jf(e.avatar)||"/img/placeholder-avatar.png"}function Qf(){return"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+"}function Zf(e){const t=e.target;t.dataset.fallbackUsed||(t.dataset.fallbackUsed="true",t.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+")}function Yf(e){const{message:t,source:r}=e;if(!t)return null;const i={user:"user",ai:"agent",agent:"agent"},n=i[r]||"agent";if("string"==typeof t)return t.trim()?{text:t.trim(),sender:n}:null;if("object"!=typeof t)return null;const o=[e=>{if(!("source"in e))return null;const t=i[e.source];return t?{text:e.message||"",sender:t}:null}];for(const a of o){const e=a(t);if(e&&e.text.trim())return{text:e.text.trim(),sender:e.sender}}return null}Uf(Jf,"getImageSrc"),Uf(Kf,"getSelfAvatarUrl"),Uf(Qf,"getFallbackAvatarDataUrl"),Uf(Zf,"handleImageError"),Uf(Yf,"parseVoiceMessage"),Uf(function(e){const{name:t,context:r}=e;return"welcome"===r?`Welcome to Fiction! I'm ${t}, your digital self. I'm here to help you understand how I can represent you and assist with your daily tasks. What would you like to know about how I work?`:"onboarding"===r?`Hi! I'm ${t}, your newly created digital self. I can handle conversations, answer questions about your expertise, and represent you professionally. Ready to see what I can do?`:`Hello! I'm ${t}. How can I help you today?`},"generateFirstMessage");const Xf=class extends Qa{constructor(e){if(super("SelfController",e),zf(this,"conversation"),zf(this,"isTextMode",!1),zf(this,"lastMessage",{hash:"",time:0}),zf(this,"clientAudio"),zf(this,"unwatchAudio"),zf(this,"isConnecting",!1),zf(this,"lastUserSpeechTime",0),zf(this,"lastUserMessageTime",0),zf(this,"sessionId"),zf(this,"conversationStartTime"),zf(this,"chatCharacterCount",0),zf(this,"hostParticipantId"),zf(this,"visitorParticipantId"),zf(this,"voiceState",Ft({isActive:!1,isConnected:!1,isSpeaking:!1,isListening:!1,isProcessing:!1,transcript:"Tap to begin voice conversation",connectionStatus:"disconnected"})),zf(this,"textState",Ft({isActive:!1,isConnected:!1,isThinking:!1,connectionStatus:"disconnected"})),zf(this,"agentMode",Ft("self")),zf(this,"sharedMessages",Ft([])),!e.self.elevenlabsAgentId||""===e.self.elevenlabsAgentId.trim())throw new Error(`Agent ID is required for SelfController. Self "${e.self.name}" (${e.self.selfId}) does not have a valid elevenlabsAgentId.`);this.clientAudio=new Gf(e),this.setupModeWatcher()}get audioLevels(){return this.clientAudio.audioLevels}getClientAudio(){return this.clientAudio}getOutputFrequencyData(){if(!this.conversation)return null;try{const e=this.conversation.getOutputByteFrequencyData();if(e&&e.length>0)return new Uint8Array(e)}catch{}return null}getInputFrequencyData(){if(this.conversation)try{const e=this.conversation.getInputByteFrequencyData?.();if(e&&e.length>0)return new Uint8Array(e)}catch{}const e=this.clientAudio.getSharedAnalyser();if(e)try{const t=new Uint8Array(e.frequencyBinCount);return e.getByteFrequencyData(t),t}catch{}return null}isDuplicateMessage(e,t){const r=`${t}:${e.toLowerCase().trim()}`,i=Date.now(),n=r===this.lastMessage.hash&&i-this.lastMessage.time<500;return n||(this.lastMessage={hash:r,time:i}),n}addMessage(e,t){this.isDuplicateMessage(e,t)||(this.sharedMessages.value=[...this.sharedMessages.value,{id:Date.now().toString(),text:e,sender:t,timestamp:new Date}])}getDynamicSettings(){const{sdk:e}=this.settings,t=e.activeUser.value,r=t?.selves?.find(e=>e.selfId===t.primarySelfId),i=t?`\n\nCurrent User:\n- Name: ${r?.name||"Anonymous"}\n- Email: ${t.email}\n- Title: ${r?.title||""}\n- About: ${r?.summary||""}\n`:"";return{dynamicVariables:{context:`${this.settings.context||""}${i}`.trim(),firstMessage:this.settings.firstMessage||""},overrides:{agent:this.settings.firstMessage?{firstMessage:this.settings.firstMessage}:{}}}}updateState(e,t){e.value={...e.value,...t}}resetState(e){e?this.updateState(this.textState,{isActive:!1,isConnected:!1,isThinking:!1,connectionStatus:"disconnected",error:void 0}):(this.updateState(this.voiceState,{isActive:!1,isConnected:!1,isSpeaking:!1,isListening:!1,isProcessing:!1,transcript:"Ready to start a call...",connectionStatus:"disconnected",error:void 0}),this.clientAudio.resetAudioLevels(),this.lastUserSpeechTime=0,this.lastUserMessageTime=0)}setupModeWatcher(){un(this.agentMode,async(e,t)=>{this.logger.info(`Mode changed from ${t} to ${e}`),this.conversation&&("talk"===t||"chat"===t)&&await this.endConversation()})}handleMessage(e,t){const r=Yf(e);if(r&&(t&&"user"===r.sender&&(this.lastUserMessageTime=Date.now(),this.logger.info("User transcription received",{text:r.text})),this.addMessage(r.text,r.sender),!t&&"agent"===r.sender&&this.updateState(this.textState,{isThinking:!1}),this.sessionId&&this.hostParticipantId&&this.visitorParticipantId)){const e="agent"===r.sender?this.hostParticipantId:this.visitorParticipantId,{sdk:t}=this.settings;t.saveMessage({conversationId:this.sessionId,participantId:e,content:r.text,role:"agent"===r.sender?"agent":"user"}).catch(e=>{this.logger.warn("Failed to save message",{error:e})})}}handleError(e,t){const r=e.message;this.logger.error("Conversation error:",e),this.resetState(t),t?this.updateState(this.voiceState,{error:r,connectionStatus:"error",transcript:"Failed to start call."}):this.updateState(this.textState,{error:r,connectionStatus:"error"})}async setMode(e){this.agentMode.value!==e&&(this.agentMode.value=e)}async startVoiceConversation(e={}){if(this.isConnecting)return void this.logger.info("Voice conversation already connecting, ignoring duplicate request");if(this.isConnecting=!0,this.isTextMode=!1,this.updateState(this.voiceState,{isActive:!0,transcript:"Connecting...",connectionStatus:"connecting"}),!(await this.clientAudio.requestMicrophonePermission()))throw this.isConnecting=!1,this.updateState(this.voiceState,{isActive:!1,error:"Microphone permission required",transcript:"Failed to get microphone permission",connectionStatus:"error"}),new Error("Microphone permission required");await this.startSession("voice");const t=this.getDynamicSettings(),r=this.settings.self.elevenlabsAgentId;this.logger.info("Starting voice conversation...",{agentId:r,dynamicSettings:t});try{this.conversation=await Nf.startSession({agentId:r,connectionType:"websocket",...t,onConnect:Uf(()=>{this.isConnecting=!1,this.clientAudio.startAudioLevelMonitoring(()=>this.isVoiceConnected(),()=>{this.logger.info("Client-side VAD: User has stopped speaking"),this.conversation&&(this.conversation.sendUserActivity(),this.logger.info("Sent user activity signal to ElevenLabs"))}),this.unwatchAudio=un(this.audioLevels,t=>{t.inputLevel>.03&&(this.lastUserSpeechTime=Date.now()),e.onAudioLevel?.(t)},{immediate:!0}),this.updateState(this.voiceState,{isConnected:!0,isListening:!0,isProcessing:!1,transcript:"Connected! Start speaking...",connectionStatus:"connected"}),e.onConnect?.(),this.logger.info("Voice conversation connected",{audioContextAvailable:this.clientAudio.isAudioContextAvailable(),audioContextState:this.clientAudio.getAudioContextState()})},"onConnect"),onDisconnect:Uf(()=>{this.logger.info("Voice conversation disconnected"),this.conversation=void 0,this.clientAudio.stopAudioLevelMonitoring(),this.endSession().catch(e=>{}),this.resetState(!1),e.onDisconnect?.()},"onDisconnect"),onError:Uf(t=>{let r=t;t.includes("does not exist")?r=`Agent not found: ${this.settings.self.elevenlabsAgentId}. Check ElevenLabs configuration.`:t.includes("limit")||t.includes("quota")?r="ElevenLabs account limit reached. Check your subscription and usage.":(t.includes("unauthorized")||t.includes("invalid"))&&(r="ElevenLabs API authentication failed. Check ELEVENLABS_API_KEY."),this.endSession().catch(e=>{}),this.handleError(new Error(r),!0),e.onError?.(new Error(r))},"onError"),onModeChange:Uf(t=>{const r="speaking"===t.mode,i=Date.now(),n=i-this.lastUserSpeechTime,o=i-this.lastUserMessageTime,a=!r&&(n<3e3||o<3e3);let s;s=r?"Speaking...":a?"Thinking...":"Listening...",this.updateState(this.voiceState,{isSpeaking:r,isListening:!r,isProcessing:a,transcript:s}),this.logger.info("Voice mode changed",{mode:t.mode,isSpeaking:r,isListening:!r,isProcessing:a,timeSinceUserSpeech:n,timeSinceUserMessage:o,detectionSource:o<n?"message":"audio"}),e.onModeChange?.(t.mode)},"onModeChange"),onMessage:Uf(t=>{this.handleMessage(t,!0),e.onMessage?.(t)},"onMessage")})}catch(i){throw this.isConnecting=!1,this.endSession().catch(e=>{}),this.handleError(i,!0),i}}async startTextConversation(e={}){if(this.isConnecting)this.logger.info("Text conversation already connecting, ignoring duplicate request");else{this.isConnecting=!0,this.isTextMode=!0,this.updateState(this.textState,{isActive:!0,connectionStatus:"connecting"}),await this.startSession("chat");try{this.conversation=await Nf.startSession({agentId:this.settings.self.elevenlabsAgentId,connectionType:"websocket",...this.getDynamicSettings(),textOnly:!0,onConnect:Uf(()=>{this.isConnecting=!1,this.updateState(this.textState,{isConnected:!0,connectionStatus:"connected"}),e.onConnect?.()},"onConnect"),onDisconnect:Uf(()=>{this.conversation=void 0,this.endSession().catch(e=>{}),this.resetState(!0),e.onDisconnect?.()},"onDisconnect"),onError:Uf(t=>{let r=t;t.includes("does not exist")?r=`Agent not found: ${this.settings.self.elevenlabsAgentId}. Check ElevenLabs configuration.`:t.includes("limit")||t.includes("quota")?r="ElevenLabs account limit reached. Check your subscription and usage.":(t.includes("unauthorized")||t.includes("invalid"))&&(r="ElevenLabs API authentication failed. Check ELEVENLABS_API_KEY."),this.endSession().catch(e=>{}),this.handleError(new Error(r),!1),e.onError?.(new Error(r))},"onError"),onModeChange:Uf(t=>{e.onModeChange?.(t.mode)},"onModeChange"),onMessage:Uf(t=>{this.handleMessage(t,!1),e.onMessage?.(t)},"onMessage")})}catch(t){throw this.isConnecting=!1,this.endSession().catch(e=>{}),this.handleError(t,!1),t}}}async endConversation(){if(!this.conversation)return this.resetState(this.isTextMode),void(await this.clientAudio.stopMicrophone());try{await this.conversation.endSession()}finally{this.conversation=void 0,this.unwatchAudio?.(),this.unwatchAudio=void 0,this.resetState(this.isTextMode),this.isTextMode=!1,await this.clientAudio.stopMicrophone()}}async sendChatMessage(e){if(this.conversation&&this.isTextMode){this.addMessage(e,"user"),this.chatCharacterCount+=e.length;try{this.updateState(this.textState,{isThinking:!0}),this.conversation.sendUserMessage(e)}catch(t){this.handleError(t,!1)}}}isConnected(){return!!this.conversation}isVoiceConnected(){return this.isConnected()&&!this.isTextMode}isTextConnected(){return this.isConnected()&&this.isTextMode}async destroy(){await this.endConversation(),await this.clientAudio.cleanup(),this.endSession().catch(e=>{})}async startSession(e){const{self:t,sdk:r}=this.settings;if(this.conversationStartTime=new Date,this.chatCharacterCount=0,t.selfId&&t.orgId){const i=r.activeUser.value?.userId?void 0:r.generateAnonId(),n=await r.startConversation({selfId:t.selfId,userId:r.activeUser.value?.userId,anonId:i});if(n)return this.sessionId=n.conversationId,this.hostParticipantId=n.hostParticipantId,this.visitorParticipantId=n.visitorParticipantId,void this.logger.info("Started conversation session",{sessionId:this.sessionId,type:e,userId:r.activeUser.value?.userId,anonId:i,hostParticipantId:this.hostParticipantId,visitorParticipantId:this.visitorParticipantId})}this.sessionId=l(),this.logger.info("Started conversation session (fallback)",{sessionId:this.sessionId,type:e})}async endSession(){!this.sessionId||!this.conversationStartTime||(this.logger.info("Session ended",{sessionId:this.sessionId,duration:Math.round((Date.now()-this.conversationStartTime.getTime())/1e3),type:this.isTextMode?"chat":"voice"}),this.resetSession())}resetSession(){this.sessionId=void 0,this.conversationStartTime=void 0,this.chatCharacterCount=0}};Uf(Xf,"SelfController");let eb=Xf;const tb=$r({__name:"EffectTransitionList",props:{disabled:{type:Boolean,default:!1},mode:{default:"block"}},setup:e=>(t,r)=>(An(),jn(ca,{name:e.disabled?"":"nlist"},{default:fr(()=>[ki(t.$slots,"default")]),_:3},8,["name"]))}),rb={key:0,class:"absolute inset-0 flex items-center justify-center"},ib=$r({__name:"ElSelfButton",props:{theme:{default:"primary"},size:{default:"lg"},loading:{type:Boolean,default:!1},icon:{},iconAfter:{}},setup(e){const t=go(()=>({primary:"bg-primary-600 border-primary-400 hover:border-primary-300 hover:bg-primary-500",green:"bg-green-600 border-green-400 hover:border-green-300 hover:bg-green-500",red:"bg-red-600 border-red-400 hover:border-red-300 hover:bg-red-500",default:"bg-white/10 border-white/20 hover:border-white/40 hover:bg-white/20"}[e.theme])),r=go(()=>({sm:"px-4 py-2 text-sm",md:"px-6 py-3 text-base",lg:"px-8 py-4 text-base"}[e.size])),i=go(()=>({sm:"size-4",md:"size-4",lg:"size-5"}[e.size]));return(n,o)=>(An(),Nn("button",{class:ge(["relative inline-flex items-center justify-center gap-2 font-medium rounded-full backdrop-blur-sm border-2 text-white transition-all duration-200 focus:outline-none active:opacity-80 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer",[t.value,r.value]])},[e.loading?(An(),Nn("div",rb,[...o[0]||(o[0]=[Vn("i",{class:"i-svg-spinners-90-ring-with-bg size-5"},null,-1)])])):Gn("",!0),Vn("span",{class:ge(["flex items-center gap-2 transition-opacity duration-200",e.loading?"opacity-0":"opacity-100"])},[e.icon?(An(),Nn("i",{key:0,class:ge([e.icon,i.value])},null,2)):Gn("",!0),ki(n.$slots,"default"),e.iconAfter?(An(),Nn("i",{key:1,class:ge([e.iconAfter,i.value])},null,2)):Gn("",!0)],2)],2))}}),nb=["value"],ob=$r({__name:"SelfInputEmail",props:{modelValue:{default:""}},emits:["update:modelValue"],setup(e,{emit:t}){const r=t;return(t,i)=>(An(),Nn("input",{type:"email",autocomplete:"email",placeholder:"Enter Your Email",value:e.modelValue,class:"w-full px-6 py-3 text-theme-900 placeholder-theme-500 bg-white border border-white rounded-full focus:outline-none transition-all",style:{"font-size":"16px"},onInput:i[0]||(i[0]=e=>r("update:modelValue",e.target.value))},null,40,nb))}}),ab={class:"flex gap-1.5 justify-center"},sb=["onUpdate:modelValue","onInput","onKeydown","onPaste","onFocus"],lb=$r({__name:"SelfInputOneTimeCode",props:{modelValue:{},length:{},focusFirst:{type:Boolean}},emits:["update:modelValue","autoSubmit"],setup(e,{emit:t}){const r=e,i=t,n=Ft([]),o=Ft(Array.from({length:r.length}).fill("")),a=Ft(!1);function s(e,t){t.preventDefault(),a.value=!0;const i=(t.clipboardData?.getData("text")||"").replace(/\D/g,"");if(i.length===r.length)o.value=i.split(""),setTimeout(()=>{n.value[r.length-1]?.focus(),a.value=!1},10);else{const t=[...o.value];i.split("").slice(0,r.length-e).forEach((r,i)=>{t[e+i]=r}),o.value=t;const s=Math.min(e+i.length,r.length-1);setTimeout(()=>{n.value[s]?.focus(),a.value=!1},10)}}function l(e,t){const i=t.target.value.slice(-1).replace(/\D/g,"");o.value[e]=i,i&&e<r.length-1&&n.value[e+1]?.focus()}function c(e,t){"Backspace"===t.key?(t.preventDefault(),o.value[e]="",e>0&&n.value[e-1]?.focus()):"ArrowLeft"===t.key&&e>0?n.value[e-1]?.focus():"ArrowRight"===t.key&&e<r.length-1&&n.value[e+1]?.focus()}function d(e){if(n.value[e]?.select(),!a.value&&o.value[e])for(let t=e;t<r.length;t++)o.value[t]=""}return ai(()=>{r.modelValue&&(o.value=r.modelValue.split("").slice(0,r.length)),r.focusFirst&&!("ontouchstart"in window)&&n.value[0]?.focus()}),un(()=>r.modelValue,e=>{o.value=e?e.split("").slice(0,r.length):Array.from({length:r.length}).fill("")}),un(o,()=>{const e=o.value.filter(Boolean).join("");i("update:modelValue",e),e.length===r.length&&i("autoSubmit",e)},{deep:!0}),Uf(s,"onPaste"),Uf(l,"onInput"),Uf(c,"onKeydown"),Uf(d,"onFocus"),(t,r)=>(An(),Nn("div",ab,[(An(!0),Nn(En,null,bi(e.length,e=>br((An(),Nn("input",{key:e,ref_for:!0,ref:Uf(t=>n.value[e-1]=t,"ref"),"onUpdate:modelValue":Uf(t=>o.value[e-1]=t,"onUpdate:modelValue"),type:"text",inputmode:"numeric",autocomplete:"one-time-code",class:"size-11 text-center font-mono text-theme-900 bg-white border border-white rounded-lg focus:outline-none transition-all",style:{"font-size":"16px"},maxlength:"1",onInput:Uf(t=>l(e-1,t),"onInput"),onKeydown:Uf(t=>c(e-1,t),"onKeydown"),onPaste:Uf(t=>s(e-1,t),"onPaste"),onFocus:Uf(t=>d(e-1),"onFocus")},null,40,sb)),[[fa,o.value[e-1]]])),128))]))}}),cb={class:"flex flex-col items-center justify-center h-full p-6"},db={class:"w-full max-w-xs space-y-12"},hb={key:0,class:"text-xs text-theme-400 text-center"},ub={class:"text-base font-light text-white text-center"},pb={class:"space-y-6 relative"},gb={key:"email-field",class:"w-full"},mb={key:"code-field",class:"w-full"},vb=$r({__name:"ElAuthGate",props:{sdk:{}},setup(e){const t=Ft({email:"",code:""}),r=Ft("email"),i=Ft(!1),n={email:{title:"Enter Your Email",button:{label:"Continue",disabled:Uf(()=>!t.value.email||i.value,"disabled")},action:Uf(async()=>{if(!i.value){i.value=!0;try{await e.sdk.requestAuthCode({email:t.value.email})&&(r.value="code")}finally{i.value=!1}}},"action")},code:{title:"Enter Verification Code",button:{label:"Verify",disabled:Uf(()=>6!==t.value.code.length||i.value,"disabled")},action:Uf(async()=>{if(!i.value){i.value=!0;try{await e.sdk.loginWithCode({email:t.value.email,code:t.value.code})}finally{i.value=!1}}},"action")}},o=go(()=>n[r.value]);return(i,n)=>(An(),Nn("div",cb,[Vn("div",db,[e.sdk.error.value?(An(),Nn("p",hb,ke(e.sdk.error.value),1)):Gn("",!0),Vn("h3",ub,ke(o.value.title),1),Vn("div",pb,[qn(tb,null,{default:fr(()=>["email"===r.value?(An(),Nn("div",gb,[qn(ob,{modelValue:t.value.email,"onUpdate:modelValue":n[0]||(n[0]=e=>t.value.email=e),onKeyup:xa(o.value.action,["enter"])},null,8,["modelValue","onKeyup"])])):(An(),Nn("div",mb,[qn(lb,{modelValue:t.value.code,"onUpdate:modelValue":n[1]||(n[1]=e=>t.value.code=e),length:6,"focus-first":!0,onAutoSubmit:o.value.action},null,8,["modelValue","onAutoSubmit"])])),(An(),Nn("div",{key:o.value.button.label,class:"space-y-4 w-full"},[qn(ib,{theme:"primary",size:"md",class:"w-full",loading:e.sdk.loading.value,disabled:o.value.button.disabled()||e.sdk.loading.value,onClick:o.value.action},{default:fr(()=>[$n(ke(o.value.button.label),1)]),_:1},8,["loading","disabled","onClick"]),"code"===r.value?(An(),Nn("button",{key:0,class:"w-full text-xs text-white/50 hover:text-white/70 transition-colors py-2",onClick:n[2]||(n[2]=e=>r.value="email")}," Change Email ")):Gn("",!0)]))]),_:1})])])]))}}),fb={class:"relative flex-shrink-0"},bb=["src","alt"],kb={key:0,class:"absolute top-1 right-1"},wb={class:"min-w-0"},yb=$r({__name:"ElModeHeader",props:{self:{},size:{default:"md"},showOnlineIndicator:{type:Boolean,default:!0},layout:{default:"centered"}},setup(e){function t(){return e.self.avatar?.src?e.self.avatar.src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+"}return Uf(t,"getAvatarSrc"),(r,i)=>(An(),Nn("div",{class:ge(["flex gap-4",["centered"===e.layout?"flex-col items-center text-center":"flex-row items-center justify-center"]])},[Vn("div",fb,[Vn("div",{class:ge(["rounded-full overflow-hidden border-white","lg"===e.size?"w-20 h-20 sm:w-24 sm:h-24 border-4":"w-16 sm:size-16 border-2"])},[Vn("img",{src:t(),alt:e.self.name,class:"w-full h-full object-cover",onError:i[0]||(i[0]=(...e)=>qt(Zf)&&qt(Zf)(...e))},null,40,bb)],2),e.showOnlineIndicator?(An(),Nn("div",kb,[...i[1]||(i[1]=[Vn("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white absolute animate-ping",style:{"animation-duration":"3s"}},null,-1),Vn("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white"},null,-1)])])):Gn("",!0)]),Vn("div",wb,[Vn("h1",{class:ge(["font-light text-white mb-1 truncate",["lg"===e.size?"text-3xl mb-2":"text-xl sm:text-2xl tracking-wide leading-tight","horizontal"===e.layout?"text-white/95":""]])},ke(e.self.name),3),Vn("p",{class:ge(["font-light line-clamp-1",["lg"===e.size?"text-base text-white/60":"text-sm sm:text-base","horizontal"===e.layout?"text-white/70 truncate":"text-white/60"]])},ke("horizontal"===e.layout?e.self.title||"Digital Self":e.self.title),3)])],2))}}),xb=Uf(e=>{const t=Eb(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:Uf(e=>{const r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),Cb(r,t)||Tb(e)},"getClassGroupId"),getConflictingClassGroupIds:Uf((e,t)=>{const n=r[e]||[];return t&&i[e]?[...n,...i[e]]:n},"getConflictingClassGroupIds")}},"createClassGroupUtils"),Cb=Uf((e,t)=>{if(0===e.length)return t.classGroupId;const r=e[0],i=t.nextPart.get(r),n=i?Cb(e.slice(1),i):void 0;if(n)return n;if(0===t.validators.length)return;const o=e.join("-");return t.validators.find(({validator:e})=>e(o))?.classGroupId},"getGroupRecursive"),Sb=/^\[(.+)\]$/,Tb=Uf(e=>{if(Sb.test(e)){const t=Sb.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},"getGroupIdForArbitraryProperty"),Eb=Uf(e=>{const{theme:t,classGroups:r}=e,i={nextPart:new Map,validators:[]};for(const n in r)Ib(r[n],i,n,t);return i},"createClassMap"),Ib=Uf((e,t,r,i)=>{e.forEach(e=>{if("string"!=typeof e)return"function"==typeof e?_b(e)?void Ib(e(i),t,r,i):void t.validators.push({validator:e,classGroupId:r}):void Object.entries(e).forEach(([e,n])=>{Ib(n,Pb(t,e),r,i)});(""===e?t:Pb(t,e)).classGroupId=r})},"processClassesRecursively"),Pb=Uf((e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},"getPart"),_b=Uf(e=>e.isThemeGetter,"isThemeGetter"),Mb=Uf(e=>{if(e<1)return{get:Uf(()=>{},"get"),set:Uf(()=>{},"set")};let t=0,r=new Map,i=new Map;const n=Uf((n,o)=>{r.set(n,o),t++,t>e&&(t=0,i=r,r=new Map)},"update");return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=i.get(e))?(n(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):n(e,t)}}},"createLruCache"),Rb=Uf(e=>{const{prefix:t,experimentalParseClassName:r}=e;let i=Uf(e=>{const t=[];let r,i=0,n=0,o=0;for(let l=0;l<e.length;l++){let a=e[l];if(0===i&&0===n){if(":"===a){t.push(e.slice(o,l)),o=l+1;continue}if("/"===a){r=l;continue}}"["===a?i++:"]"===a?i--:"("===a?n++:")"===a&&n--}const a=0===t.length?e:e.substring(o),s=Ab(a);return{modifiers:t,hasImportantModifier:s!==a,baseClassName:s,maybePostfixModifierPosition:r&&r>o?r-o:void 0}},"parseClassName");if(t){const e=t+":",r=i;i=Uf(t=>t.startsWith(e)?r(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0},"parseClassName")}if(r){const e=i;i=Uf(t=>r({className:t,parseClassName:e}),"parseClassName")}return i},"createParseClassName"),Ab=Uf(e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,"stripImportantModifier"),Ob=Uf(e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return Uf(e=>{if(e.length<=1)return e;const r=[];let i=[];return e.forEach(e=>{"["===e[0]||t[e]?(r.push(...i.sort(),e),i=[]):i.push(e)}),r.push(...i.sort()),r},"sortModifiers")},"createSortModifiers"),Db=Uf(e=>({cache:Mb(e.cacheSize),parseClassName:Rb(e),sortModifiers:Ob(e),...xb(e)}),"createConfigUtils"),Lb=/\s+/,Nb=Uf((e,t)=>{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:n,sortModifiers:o}=t,a=[],s=e.trim().split(Lb);let l="";for(let c=s.length-1;c>=0;c-=1){const e=s[c],{isExternal:t,modifiers:d,hasImportantModifier:h,baseClassName:u,maybePostfixModifierPosition:p}=r(e);if(t){l=e+(l.length>0?" "+l:l);continue}let g=!!p,m=i(g?u.substring(0,p):u);if(!m){if(!g){l=e+(l.length>0?" "+l:l);continue}if(m=i(u),!m){l=e+(l.length>0?" "+l:l);continue}g=!1}const v=o(d).join(":"),f=h?v+"!":v,b=f+m;if(a.includes(b))continue;a.push(b);const k=n(m,g);for(let r=0;r<k.length;++r){const e=k[r];a.push(f+e)}l=e+(l.length>0?" "+l:l)}return l},"mergeClassList");function jb(){let e,t,r=0,i="";for(;r<arguments.length;)(e=arguments[r++])&&(t=Ub(e))&&(i&&(i+=" "),i+=t);return i}Uf(jb,"twJoin");const Ub=Uf(e=>{if("string"==typeof e)return e;let t,r="";for(let i=0;i<e.length;i++)e[i]&&(t=Ub(e[i]))&&(r&&(r+=" "),r+=t);return r},"toValue");function zb(e,...t){let r,i,n,o=a;function a(a){const l=t.reduce((e,t)=>t(e),e());return r=Db(l),i=r.cache.get,n=r.cache.set,o=s,s(a)}function s(e){const t=i(e);if(t)return t;const o=Nb(e,r);return n(e,o),o}return Uf(a,"initTailwindMerge"),Uf(s,"tailwindMerge"),Uf(function(){return o(jb.apply(null,arguments))},"callTailwindMerge")}Uf(zb,"createTailwindMerge");const Fb=Uf(e=>{const t=Uf(t=>t[e]||[],"themeGetter");return t.isThemeGetter=!0,t},"fromTheme"),Bb=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Vb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,qb=/^\d+\/\d+$/,Hb=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Wb=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,$b=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Gb=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Jb=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Kb=Uf(e=>qb.test(e),"isFraction"),Qb=Uf(e=>!!e&&!Number.isNaN(Number(e)),"isNumber"),Zb=Uf(e=>!!e&&Number.isInteger(Number(e)),"isInteger"),Yb=Uf(e=>e.endsWith("%")&&Qb(e.slice(0,-1)),"isPercent"),Xb=Uf(e=>Hb.test(e),"isTshirtSize"),ek=Uf(()=>!0,"isAny"),tk=Uf(e=>Wb.test(e)&&!$b.test(e),"isLengthOnly"),rk=Uf(()=>!1,"isNever"),ik=Uf(e=>Gb.test(e),"isShadow"),nk=Uf(e=>Jb.test(e),"isImage"),ok=Uf(e=>!sk(e)&&!pk(e),"isAnyNonArbitrary"),ak=Uf(e=>wk(e,Sk,rk),"isArbitrarySize"),sk=Uf(e=>Bb.test(e),"isArbitraryValue"),lk=Uf(e=>wk(e,Tk,tk),"isArbitraryLength"),ck=Uf(e=>wk(e,Ek,Qb),"isArbitraryNumber"),dk=Uf(e=>wk(e,xk,rk),"isArbitraryPosition"),hk=Uf(e=>wk(e,Ck,nk),"isArbitraryImage"),uk=Uf(e=>wk(e,Pk,ik),"isArbitraryShadow"),pk=Uf(e=>Vb.test(e),"isArbitraryVariable"),gk=Uf(e=>yk(e,Tk),"isArbitraryVariableLength"),mk=Uf(e=>yk(e,Ik),"isArbitraryVariableFamilyName"),vk=Uf(e=>yk(e,xk),"isArbitraryVariablePosition"),fk=Uf(e=>yk(e,Sk),"isArbitraryVariableSize"),bk=Uf(e=>yk(e,Ck),"isArbitraryVariableImage"),kk=Uf(e=>yk(e,Pk,!0),"isArbitraryVariableShadow"),wk=Uf((e,t,r)=>{const i=Bb.exec(e);return!!i&&(i[1]?t(i[1]):r(i[2]))},"getIsArbitraryValue"),yk=Uf((e,t,r=!1)=>{const i=Vb.exec(e);return!!i&&(i[1]?t(i[1]):r)},"getIsArbitraryVariable"),xk=Uf(e=>"position"===e||"percentage"===e,"isLabelPosition"),Ck=Uf(e=>"image"===e||"url"===e,"isLabelImage"),Sk=Uf(e=>"length"===e||"size"===e||"bg-size"===e,"isLabelSize"),Tk=Uf(e=>"length"===e,"isLabelLength"),Ek=Uf(e=>"number"===e,"isLabelNumber"),Ik=Uf(e=>"family-name"===e,"isLabelFamilyName"),Pk=Uf(e=>"shadow"===e,"isLabelShadow"),_k=zb(Uf(()=>{const e=Fb("color"),t=Fb("font"),r=Fb("text"),i=Fb("font-weight"),n=Fb("tracking"),o=Fb("leading"),a=Fb("breakpoint"),s=Fb("container"),l=Fb("spacing"),c=Fb("radius"),d=Fb("shadow"),h=Fb("inset-shadow"),u=Fb("text-shadow"),p=Fb("drop-shadow"),g=Fb("blur"),m=Fb("perspective"),v=Fb("aspect"),f=Fb("ease"),b=Fb("animate"),k=Uf(()=>["auto","avoid","all","avoid-page","page","left","right","column"],"scaleBreak"),w=Uf(()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],"scalePosition"),y=Uf(()=>[...w(),pk,sk],"scalePositionWithArbitrary"),x=Uf(()=>["auto","hidden","clip","visible","scroll"],"scaleOverflow"),C=Uf(()=>["auto","contain","none"],"scaleOverscroll"),S=Uf(()=>[pk,sk,l],"scaleUnambiguousSpacing"),T=Uf(()=>[Kb,"full","auto",...S()],"scaleInset"),E=Uf(()=>[Zb,"none","subgrid",pk,sk],"scaleGridTemplateColsRows"),I=Uf(()=>["auto",{span:["full",Zb,pk,sk]},Zb,pk,sk],"scaleGridColRowStartAndEnd"),P=Uf(()=>[Zb,"auto",pk,sk],"scaleGridColRowStartOrEnd"),_=Uf(()=>["auto","min","max","fr",pk,sk],"scaleGridAutoColsRows"),M=Uf(()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],"scaleAlignPrimaryAxis"),R=Uf(()=>["start","end","center","stretch","center-safe","end-safe"],"scaleAlignSecondaryAxis"),A=Uf(()=>["auto",...S()],"scaleMargin"),O=Uf(()=>[Kb,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],"scaleSizing"),D=Uf(()=>[e,pk,sk],"scaleColor"),L=Uf(()=>[...w(),vk,dk,{position:[pk,sk]}],"scaleBgPosition"),N=Uf(()=>["no-repeat",{repeat:["","x","y","space","round"]}],"scaleBgRepeat"),j=Uf(()=>["auto","cover","contain",fk,ak,{size:[pk,sk]}],"scaleBgSize"),U=Uf(()=>[Yb,gk,lk],"scaleGradientStopPosition"),z=Uf(()=>["","none","full",c,pk,sk],"scaleRadius"),F=Uf(()=>["",Qb,gk,lk],"scaleBorderWidth"),B=Uf(()=>["solid","dashed","dotted","double"],"scaleLineStyle"),V=Uf(()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],"scaleBlendMode"),q=Uf(()=>[Qb,Yb,vk,dk],"scaleMaskImagePosition"),H=Uf(()=>["","none",g,pk,sk],"scaleBlur"),W=Uf(()=>["none",Qb,pk,sk],"scaleRotate"),$=Uf(()=>["none",Qb,pk,sk],"scaleScale"),G=Uf(()=>[Qb,pk,sk],"scaleSkew"),J=Uf(()=>[Kb,"full",...S()],"scaleTranslate");return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Xb],breakpoint:[Xb],color:[ek],container:[Xb],"drop-shadow":[Xb],ease:["in","out","in-out"],font:[ok],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Xb],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Xb],shadow:[Xb],spacing:["px",Qb],text:[Xb],"text-shadow":[Xb],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Kb,sk,pk,v]}],container:["container"],columns:[{columns:[Qb,sk,pk,s]}],"break-after":[{"break-after":k()}],"break-before":[{"break-before":k()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:y()}],overflow:[{overflow:x()}],"overflow-x":[{"overflow-x":x()}],"overflow-y":[{"overflow-y":x()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{start:T()}],end:[{end:T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:["visible","invisible","collapse"],z:[{z:[Zb,"auto",pk,sk]}],basis:[{basis:[Kb,"full","auto",s,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Qb,Kb,"auto","initial","none",sk]}],grow:[{grow:["",Qb,pk,sk]}],shrink:[{shrink:["",Qb,pk,sk]}],order:[{order:[Zb,"first","last","none",pk,sk]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:I()}],"col-start":[{"col-start":P()}],"col-end":[{"col-end":P()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:I()}],"row-start":[{"row-start":P()}],"row-end":[{"row-end":P()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":_()}],"auto-rows":[{"auto-rows":_()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...M(),"normal"]}],"justify-items":[{"justify-items":[...R(),"normal"]}],"justify-self":[{"justify-self":["auto",...R()]}],"align-content":[{content:["normal",...M()]}],"align-items":[{items:[...R(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...R(),{baseline:["","last"]}]}],"place-content":[{"place-content":M()}],"place-items":[{"place-items":[...R(),"baseline"]}],"place-self":[{"place-self":["auto",...R()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:A()}],mx:[{mx:A()}],my:[{my:A()}],ms:[{ms:A()}],me:[{me:A()}],mt:[{mt:A()}],mr:[{mr:A()}],mb:[{mb:A()}],ml:[{ml:A()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],w:[{w:[s,"screen",...O()]}],"min-w":[{"min-w":[s,"screen","none",...O()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[a]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",r,gk,lk]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,pk,ck]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Yb,sk]}],"font-family":[{font:[mk,sk,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,pk,sk]}],"line-clamp":[{"line-clamp":[Qb,"none",pk,ck]}],leading:[{leading:[o,...S()]}],"list-image":[{"list-image":["none",pk,sk]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",pk,sk]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...B(),"wavy"]}],"text-decoration-thickness":[{decoration:[Qb,"from-font","auto",pk,lk]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[Qb,"auto",pk,sk]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",pk,sk]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",pk,sk]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:L()}],"bg-repeat":[{bg:N()}],"bg-size":[{bg:j()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Zb,pk,sk],radial:["",pk,sk],conic:[Zb,pk,sk]},bk,hk]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:U()}],"gradient-via-pos":[{via:U()}],"gradient-to-pos":[{to:U()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:z()}],"rounded-s":[{"rounded-s":z()}],"rounded-e":[{"rounded-e":z()}],"rounded-t":[{"rounded-t":z()}],"rounded-r":[{"rounded-r":z()}],"rounded-b":[{"rounded-b":z()}],"rounded-l":[{"rounded-l":z()}],"rounded-ss":[{"rounded-ss":z()}],"rounded-se":[{"rounded-se":z()}],"rounded-ee":[{"rounded-ee":z()}],"rounded-es":[{"rounded-es":z()}],"rounded-tl":[{"rounded-tl":z()}],"rounded-tr":[{"rounded-tr":z()}],"rounded-br":[{"rounded-br":z()}],"rounded-bl":[{"rounded-bl":z()}],"border-w":[{border:F()}],"border-w-x":[{"border-x":F()}],"border-w-y":[{"border-y":F()}],"border-w-s":[{"border-s":F()}],"border-w-e":[{"border-e":F()}],"border-w-t":[{"border-t":F()}],"border-w-r":[{"border-r":F()}],"border-w-b":[{"border-b":F()}],"border-w-l":[{"border-l":F()}],"divide-x":[{"divide-x":F()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":F()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...B(),"hidden","none"]}],"divide-style":[{divide:[...B(),"hidden","none"]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...B(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Qb,pk,sk]}],"outline-w":[{outline:["",Qb,gk,lk]}],"outline-color":[{outline:D()}],shadow:[{shadow:["","none",d,kk,uk]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":["none",h,kk,uk]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:F()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[Qb,lk]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":F()}],"inset-ring-color":[{"inset-ring":D()}],"text-shadow":[{"text-shadow":["none",u,kk,uk]}],"text-shadow-color":[{"text-shadow":D()}],opacity:[{opacity:[Qb,pk,sk]}],"mix-blend":[{"mix-blend":[...V(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":V()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Qb]}],"mask-image-linear-from-pos":[{"mask-linear-from":q()}],"mask-image-linear-to-pos":[{"mask-linear-to":q()}],"mask-image-linear-from-color":[{"mask-linear-from":D()}],"mask-image-linear-to-color":[{"mask-linear-to":D()}],"mask-image-t-from-pos":[{"mask-t-from":q()}],"mask-image-t-to-pos":[{"mask-t-to":q()}],"mask-image-t-from-color":[{"mask-t-from":D()}],"mask-image-t-to-color":[{"mask-t-to":D()}],"mask-image-r-from-pos":[{"mask-r-from":q()}],"mask-image-r-to-pos":[{"mask-r-to":q()}],"mask-image-r-from-color":[{"mask-r-from":D()}],"mask-image-r-to-color":[{"mask-r-to":D()}],"mask-image-b-from-pos":[{"mask-b-from":q()}],"mask-image-b-to-pos":[{"mask-b-to":q()}],"mask-image-b-from-color":[{"mask-b-from":D()}],"mask-image-b-to-color":[{"mask-b-to":D()}],"mask-image-l-from-pos":[{"mask-l-from":q()}],"mask-image-l-to-pos":[{"mask-l-to":q()}],"mask-image-l-from-color":[{"mask-l-from":D()}],"mask-image-l-to-color":[{"mask-l-to":D()}],"mask-image-x-from-pos":[{"mask-x-from":q()}],"mask-image-x-to-pos":[{"mask-x-to":q()}],"mask-image-x-from-color":[{"mask-x-from":D()}],"mask-image-x-to-color":[{"mask-x-to":D()}],"mask-image-y-from-pos":[{"mask-y-from":q()}],"mask-image-y-to-pos":[{"mask-y-to":q()}],"mask-image-y-from-color":[{"mask-y-from":D()}],"mask-image-y-to-color":[{"mask-y-to":D()}],"mask-image-radial":[{"mask-radial":[pk,sk]}],"mask-image-radial-from-pos":[{"mask-radial-from":q()}],"mask-image-radial-to-pos":[{"mask-radial-to":q()}],"mask-image-radial-from-color":[{"mask-radial-from":D()}],"mask-image-radial-to-color":[{"mask-radial-to":D()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":w()}],"mask-image-conic-pos":[{"mask-conic":[Qb]}],"mask-image-conic-from-pos":[{"mask-conic-from":q()}],"mask-image-conic-to-pos":[{"mask-conic-to":q()}],"mask-image-conic-from-color":[{"mask-conic-from":D()}],"mask-image-conic-to-color":[{"mask-conic-to":D()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:L()}],"mask-repeat":[{mask:N()}],"mask-size":[{mask:j()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",pk,sk]}],filter:[{filter:["","none",pk,sk]}],blur:[{blur:H()}],brightness:[{brightness:[Qb,pk,sk]}],contrast:[{contrast:[Qb,pk,sk]}],"drop-shadow":[{"drop-shadow":["","none",p,kk,uk]}],"drop-shadow-color":[{"drop-shadow":D()}],grayscale:[{grayscale:["",Qb,pk,sk]}],"hue-rotate":[{"hue-rotate":[Qb,pk,sk]}],invert:[{invert:["",Qb,pk,sk]}],saturate:[{saturate:[Qb,pk,sk]}],sepia:[{sepia:["",Qb,pk,sk]}],"backdrop-filter":[{"backdrop-filter":["","none",pk,sk]}],"backdrop-blur":[{"backdrop-blur":H()}],"backdrop-brightness":[{"backdrop-brightness":[Qb,pk,sk]}],"backdrop-contrast":[{"backdrop-contrast":[Qb,pk,sk]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Qb,pk,sk]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Qb,pk,sk]}],"backdrop-invert":[{"backdrop-invert":["",Qb,pk,sk]}],"backdrop-opacity":[{"backdrop-opacity":[Qb,pk,sk]}],"backdrop-saturate":[{"backdrop-saturate":[Qb,pk,sk]}],"backdrop-sepia":[{"backdrop-sepia":["",Qb,pk,sk]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",pk,sk]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Qb,"initial",pk,sk]}],ease:[{ease:["linear","initial",f,pk,sk]}],delay:[{delay:[Qb,pk,sk]}],animate:[{animate:["none",b,pk,sk]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,pk,sk]}],"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:W()}],"rotate-x":[{"rotate-x":W()}],"rotate-y":[{"rotate-y":W()}],"rotate-z":[{"rotate-z":W()}],scale:[{scale:$()}],"scale-x":[{"scale-x":$()}],"scale-y":[{"scale-y":$()}],"scale-z":[{"scale-z":$()}],"scale-3d":["scale-3d"],skew:[{skew:G()}],"skew-x":[{"skew-x":G()}],"skew-y":[{"skew-y":G()}],transform:[{transform:[pk,sk,"","none","gpu","cpu"]}],"transform-origin":[{origin:y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:J()}],"translate-x":[{"translate-x":J()}],"translate-y":[{"translate-y":J()}],"translate-z":[{"translate-z":J()}],"translate-none":["translate-none"],accent:[{accent:D()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",pk,sk]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",pk,sk]}],fill:[{fill:["none",...D()]}],"stroke-w":[{stroke:[Qb,gk,lk,ck]}],stroke:[{stroke:["none",...D()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},"getDefaultConfig")),Mk={default:{solid:{base:"bg-theme-0 dark:bg-theme-700/40 text-theme-600 dark:text-theme-50",input:"bg-white dark:bg-theme-800/50\n ring-theme-200 dark:ring-theme-600/70\n focus:ring-theme-600 focus:bg-white\n dark:focus:ring-theme-500 dark:focus:bg-theme-800\n focus-within:ring-theme-600 dark:focus-within:ring-theme-500\n text-theme-900 dark:text-theme-100\n placeholder:text-theme-400 dark:placeholder:text-theme-500",border:"border-theme-300/80 dark:border-theme-600",hover:"hover:border-theme-300 dark:hover:border-theme-500",icon:"text-theme-600 dark:text-theme-50"},ghost:{base:"bg-theme-50 dark:bg-theme-600/30 text-theme-700 dark:text-theme-50",border:"border-theme-100 dark:border-theme-800/20",hover:"hover:bg-theme-200 dark:hover:bg-theme-600/50 hover:border-theme-200 dark:hover:border-theme-600",icon:"text-theme-500 dark:text-theme-500"},outline:{base:"bg-transparent text-theme-700 dark:text-theme-50",border:"border-theme-300 dark:border-theme-400",hover:"hover:opacity-70",icon:"text-theme-700 dark:text-theme-300"},link:{base:"bg-transparent text-theme-600 dark:text-theme-50",border:"border-transparent",hover:"hover:opacity-70",icon:"text-theme-600 dark:text-theme-400"}},muted:{solid:{base:"bg-gray-100 dark:bg-gray-700/40 text-gray-900 dark:text-gray-50",input:"bg-white dark:bg-gray-800/50\n ring-gray-200 dark:ring-gray-600/70\n focus:ring-gray-600 focus:bg-white\n dark:focus:ring-gray-500 dark:focus:bg-gray-800\n focus-within:ring-gray-600 dark:focus-within:ring-gray-500\n text-gray-900 dark:text-gray-100\n placeholder:text-gray-400 dark:placeholder:text-gray-500",border:"border-gray-300/80 dark:border-gray-600",hover:"hover:border-gray-300 dark:hover:border-gray-500",icon:"text-gray-600 dark:text-gray-50"},ghost:{base:"bg-gray-100 dark:bg-gray-600/30 text-gray-700 dark:text-gray-50",border:"border-gray-100 dark:border-gray-800/20",hover:"hover:bg-gray-200 dark:hover:bg-gray-600/50 hover:border-gray-200 dark:hover:border-gray-600",icon:"text-gray-500 dark:text-gray-500"},outline:{base:"bg-transparent text-gray-700 dark:text-gray-50",border:"border-gray-500 dark:border-gray-400",hover:"hover:opacity-70",icon:"text-gray-700 dark:text-gray-300"},link:{base:"bg-transparent text-gray-600 dark:text-gray-50",border:"border-transparent",hover:"hover:opacity-70",icon:"text-gray-600 dark:text-gray-400"}},overlay:{solid:{base:"bg-white/100 text-black backdrop-blur-sm shadow-sm mix-blend-overlay [text-shadow:_0_1px_1px_rgb(255_255_255_/_100%)]",border:"border-white/100",input:"bg-white/10 ring-white\n focus:ring-white/90 focus:bg-white/20\n dark:focus:ring-white/70\n text-white\n placeholder:text-white/60",hover:"hover:bg-white/70 ",icon:"text-black"},ghost:{base:"bg-white/70 text-black backdrop-blur-sm shadow-sm mix-blend-overlay [text-shadow:_0_1px_1px_rgb(255_255_255_/_100%)]",border:"border-white/100",hover:"hover:bg-white/70 hover:border-white/90",icon:"text-black"},outline:{base:"bg-white/10 text-white backdrop-blur-sm shadow-sm [text-shadow:_0_0.5px_0_rgb(0_0_0_/_40%)]",border:"border-white",hover:"hover:border-white/80",icon:"text-white"},link:{base:"bg-transparent text-white [text-shadow:_0_0.5px_0_rgb(0_0_0_/_40%)]",border:"border-transparent",hover:"hover:opacity-70",icon:"text-white"}},primary:{solid:{base:"bg-primary-500 dark:bg-primary-700/70 text-primary-0 dark:text-primary-50",border:"border-primary-600/80 dark:border-primary-600",input:"bg-primary-50 dark:bg-primary-800/20\n ring-primary-500 dark:ring-primary-600/70\n focus:ring-primary-700 focus:bg-primary-50/50\n dark:focus:ring-primary-600 dark:focus:bg-primary-800/40\n text-primary-800 dark:text-primary-0\n placeholder:text-primary-300 dark:placeholder:text-primary-600",hover:"hover:bg-primary-600 dark:hover:bg-primary-800",icon:"text-primary-0 dark:text-primary-50"},ghost:{base:"bg-primary-50 dark:bg-primary-800/40 text-primary-800 dark:text-primary-0",border:"border-primary-100 dark:border-primary-800/20",hover:"hover:bg-primary-100 dark:hover:bg-primary-800/60 hover:border-primary-200 dark:hover:border-primary-700",icon:"text-primary-500 dark:text-primary-500"},outline:{base:"bg-transparent text-primary-500 dark:text-primary-100",border:"border-primary-500 dark:border-primary-500",hover:"hover:bg-primary-500/10 dark:hover:bg-primary-500/20",icon:"text-primary-700 dark:text-primary-100"},link:{base:"bg-transparent text-primary-600 dark:text-primary-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-primary-600 dark:text-primary-400"}},theme:{solid:{base:"bg-theme-500 dark:bg-theme-600/70 text-theme-0 dark:text-theme-0",border:"border-theme-600/80 dark:border-theme-600",hover:"hover:bg-theme-600 dark:hover:bg-theme-800",icon:"text-theme-50 dark:text-theme-50"},ghost:{base:"bg-theme-100 dark:bg-theme-600/50 text-theme-900 dark:text-theme-100",border:"border-theme-100 dark:border-theme-800/20",hover:"hover:bg-theme-200 dark:hover:bg-theme-600/40 hover:border-theme-200 dark:hover:border-theme-600",icon:"text-theme-500 dark:text-theme-500"},outline:{base:"bg-transparent text-theme-500 dark:text-theme-300",border:"border-theme-500 dark:border-theme-400",hover:"hover:bg-theme-500/10 dark:hover:bg-theme-400/20",icon:"text-theme-500 dark:text-theme-300"},link:{base:"bg-transparent text-theme-600 dark:text-theme-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-theme-600 dark:text-theme-400"}},green:{solid:{base:"bg-green-600 dark:bg-green-700/70 text-green-50 dark:text-green-50",border:"border-green-600 dark:border-green-600",hover:"hover:bg-green-700 dark:hover:bg-green-800",icon:"text-green-50 dark:text-green-50"},ghost:{base:"bg-green-100 dark:bg-green-800/20 text-green-900 dark:text-green-100",border:"border-green-100 dark:border-green-800/20",hover:"hover:bg-green-200 dark:hover:bg-green-800/40 hover:border-green-200 dark:hover:border-green-700",icon:"text-green-500 dark:text-green-500"},outline:{base:"bg-transparent text-green-500 dark:text-green-50",border:"border-green-500 dark:border-green-600",hover:"hover:bg-green-500/10 dark:hover:bg-green-400/10",icon:"text-green-500 dark:text-green-50"},link:{base:"bg-transparent text-green-600 dark:text-green-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-green-600 dark:text-green-400"}},orange:{solid:{base:"bg-orange-500 dark:bg-orange-700/70 text-orange-50 dark:text-orange-50",border:"border-orange-700 dark:border-orange-600",hover:"hover:bg-orange-700 dark:hover:bg-orange-800",icon:"text-orange-50 dark:text-orange-50"},ghost:{base:"bg-orange-100 dark:bg-orange-800/20 text-orange-900 dark:text-orange-100",border:"border-orange-100 dark:border-orange-800/20",hover:"hover:bg-orange-200 dark:hover:bg-orange-800/40 hover:border-orange-200 dark:hover:border-orange-700",icon:"text-orange-500 dark:text-orange-500"},outline:{base:"bg-transparent text-orange-500 dark:text-orange-50",border:"border-orange-500 dark:border-orange-600",hover:"hover:bg-orange-500/10 dark:hover:bg-orange-400/10",icon:"text-orange-500 dark:text-orange-50"},link:{base:"bg-transparent text-orange-600 dark:text-orange-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-orange-600 dark:text-orange-400"}},rose:{solid:{base:"bg-rose-500 dark:bg-rose-700/70 text-rose-50 dark:text-rose-50",border:"border-rose-600/80 dark:border-rose-600",hover:"hover:bg-rose-600 dark:hover:bg-rose-800",icon:"text-rose-50 dark:text-rose-50"},ghost:{base:"bg-rose-100 dark:bg-rose-800/20 text-rose-900 dark:text-rose-100",border:"border-rose-100 dark:border-rose-800/20",hover:"hover:bg-rose-200 dark:hover:bg-rose-800/40 hover:border-rose-200 dark:hover:border-rose-700",icon:"text-rose-500 dark:text-rose-500"},outline:{base:"bg-transparent text-rose-500 dark:text-rose-50",border:"border-rose-500 dark:border-rose-600",hover:"hover:bg-rose-500/10 dark:hover:bg-rose-400/10",icon:"text-rose-500 dark:text-rose-50"},link:{base:"bg-transparent text-rose-600 dark:text-rose-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-rose-600 dark:text-rose-400"}},indigo:{solid:{base:"bg-indigo-500 dark:bg-indigo-700/70 text-indigo-50 dark:text-indigo-50",border:"border-indigo-600/80 dark:border-indigo-600",hover:"hover:bg-indigo-600 dark:hover:bg-indigo-800",icon:"text-indigo-50 dark:text-indigo-50"},ghost:{base:"bg-indigo-100 dark:bg-indigo-800/20 text-indigo-900 dark:text-indigo-100",border:"border-indigo-100 dark:border-indigo-800/20",hover:"hover:bg-indigo-200 dark:hover:bg-indigo-800/40 hover:border-indigo-200 dark:hover:border-indigo-700",icon:"text-indigo-500 dark:text-indigo-500"},outline:{base:"bg-transparent text-indigo-500 dark:text-indigo-50",border:"border-indigo-500 dark:border-indigo-600",hover:"hover:bg-indigo-500/10 dark:hover:bg-indigo-400/10",icon:"text-indigo-500 dark:text-indigo-50"},link:{base:"bg-transparent text-indigo-600 dark:text-indigo-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-indigo-600 dark:text-indigo-400"}},red:{solid:{base:"bg-red-500 dark:bg-red-700/70 text-red-50 dark:text-red-50",border:"border-red-600/80 dark:border-red-600",hover:"hover:bg-red-600 dark:hover:bg-red-800",icon:"text-red-50 dark:text-red-50"},ghost:{base:"bg-red-100 dark:bg-red-800/20 text-red-900 dark:text-red-100",border:"border-red-100 dark:border-red-800/20",hover:"hover:bg-red-200 dark:hover:bg-red-800/40 hover:border-red-200 dark:hover:border-red-700",icon:"text-red-500 dark:text-red-500"},outline:{base:"bg-transparent text-red-500 dark:text-red-50",border:"border-red-500 dark:border-red-600",hover:"hover:bg-red-500/10 dark:hover:bg-red-400/10",icon:"text-red-500 dark:text-red-50"},link:{base:"bg-transparent text-red-600 dark:text-red-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-red-600 dark:text-red-400"}}},Rk={key:0,class:"absolute inset-0 flex items-center justify-center"},Ak=$r({__name:"FButton",props:{theme:{default:"default"},design:{default:"solid"},size:{default:"md"},rounding:{default:"full"},href:{},icon:{},iconAfter:{},tag:{default:"button"},loading:{type:Boolean,default:!1},class:{default:""}},setup(e){const t=go(()=>({icon:"string"==typeof e.icon?e.icon:e.icon?.className,iconAfter:"string"==typeof e.iconAfter?e.iconAfter:e.iconAfter?.className})),r=go(()=>e.href?"a":e.tag),i=go(()=>({xxs:"size-2.5",xs:"size-3",sm:"size-3.5",md:"size-4",lg:"size-5",xl:"size-6"}[e.size])),n=go(()=>Mk[e.theme]?.[e.design]||Mk.default[e.design]||{base:"",border:"",hover:"",icon:""}),o=go(()=>{const t="link"===e.design?"!px-1":"",r=n.value,i=["relative inline-flex items-center justify-center gap-2 font-medium transition-all duration-200 focus:outline-none active:opacity-80 cursor-pointer",{xxs:"px-2 py-0.5 text-[10px]",xs:"px-3 py-1 text-[11px]",sm:"px-3 py-1.5 text-xs",md:"px-4 py-2 text-sm",lg:"px-6 py-3 text-base",xl:"px-8 py-4 text-base"}[e.size],t,{md:"rounded-md",lg:"rounded-lg",full:"rounded-full"}[e.rounding],r.base,`border ${r.border}`,r.hover].filter(Boolean).join(" ");return _k(i,e.class)}),a=go(()=>({design:n.value.icon||""}));return(n,s)=>(An(),jn(vi(r.value),{href:e.href,class:ge(o.value)},{default:fr(()=>[e.loading?(An(),Nn("div",Rk,[qn(Vf,{class:ge(i.value)},null,8,["class"])])):Gn("",!0),Vn("span",{class:ge(["flex items-center gap-2 transition-opacity duration-200 whitespace-nowrap",e.loading?"opacity-0":"opacity-100"])},[t.value.icon?(An(),Nn("span",{key:0,class:ge(["flex items-center size-[1.1em] mt-[-.07em]",[t.value.icon,a.value]])},null,2)):Gn("",!0),ki(n.$slots,"default"),t.value.iconAfter?(An(),Nn("span",{key:1,class:ge(["flex items-center size-[1.1em] mt-[-.07em]",[t.value.iconAfter,a.value]])},null,2)):Gn("",!0)],2)]),_:3},8,["href","class"]))}}),Ok={class:"flex-1 flex flex-col min-h-0 py-6 space-y-6 h-full overflow-scroll [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden relative"},Dk={class:"flex-1 space-y-6"},Lk={key:0,class:"bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"},Nk={class:"text-sm text-white/70 leading-relaxed"},jk={key:1,class:"bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"},Uk=["innerHTML"],zk={key:2,class:"bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"},Fk={class:"text-sm text-white/70 leading-relaxed"},Bk={key:3,class:"space-y-3"},Vk={class:"grid grid-cols-2 gap-3"},qk=$r({__name:"ElSelfAbout",props:{self:{}},setup(e){const t=go(()=>[{key:"email",condition:Uf(()=>!!e.self.email,"condition"),generate:Uf(()=>({title:"Contact",url:`mailto:${e.self.email}`,icon:"i-heroicons-envelope"}),"generate")},{key:"linkedin",condition:Uf(()=>!!e.self.accounts?.linkedin?.handle,"condition"),generate:Uf(()=>({title:"LinkedIn",url:e.self.accounts?.linkedin?.url||`https://linkedin.com/in/${e.self.accounts?.linkedin?.handle}`,icon:"i-simple-icons-linkedin"}),"generate")},{key:"x",condition:Uf(()=>!!e.self.accounts?.x?.handle,"condition"),generate:Uf(()=>({title:"X (Twitter)",url:e.self.accounts?.x?.url||`https://x.com/${e.self.accounts?.x?.handle}`,icon:"i-simple-icons-x"}),"generate")},{key:"github",condition:Uf(()=>!!e.self.accounts?.github?.handle,"condition"),generate:Uf(()=>({title:"GitHub",url:e.self.accounts?.github?.url||`https://github.com/${e.self.accounts?.github?.handle}`,icon:"i-simple-icons-github"}),"generate")},{key:"website",condition:Uf(()=>!!e.self.accounts?.website?.url,"condition"),generate:Uf(()=>({title:"Website",url:e.self.accounts?.website?.url,icon:"i-heroicons-globe-alt"}),"generate")}].filter(e=>e.condition()).map(e=>e.generate()));return(r,i)=>(An(),Nn("div",Ok,[Vn("div",Dk,[e.self.headline?(An(),Nn("div",Lk,[i[0]||(i[0]=Vn("h3",{class:"text-sm font-medium text-white/90 mb-2"}," Professional Tagline ",-1)),Vn("div",Nk,ke(e.self.headline),1)])):Gn("",!0),e.self.summary?(An(),Nn("div",jk,[i[1]||(i[1]=Vn("h3",{class:"text-sm font-medium text-white/90 mb-2"}," About ",-1)),Vn("div",{class:"text-sm text-white/70 leading-relaxed",innerHTML:e.self.summary},null,8,Uk)])):Gn("",!0),"company"===e.self.entityType?(An(),Nn("div",zk,[i[2]||(i[2]=Vn("h3",{class:"text-sm font-medium text-white/90 mb-2"}," Company Info ",-1)),Vn("p",Fk," This is a company digital self representing "+ke(e.self.name)+". ",1)])):Gn("",!0),t.value.length>0?(An(),Nn("div",Bk,[i[3]||(i[3]=Vn("h3",{class:"text-sm font-medium text-white/90"}," Connect ",-1)),Vn("div",Vk,[(An(!0),Nn(En,null,bi(t.value,e=>(An(),jn(Ak,{key:e.title,design:"ghost",theme:"default",size:"sm",class:"bg-white/5 hover:bg-white/10 border border-white/10 text-white/80 text-sm justify-start h-10",href:e.url,target:"_blank"},{default:fr(()=>[Vn("i",{class:ge([e.icon,"size-4 mr-2"])},null,2),$n(" "+ke(e.title),1)]),_:2},1032,["href"]))),128))])])):Gn("",!0)])]))}}),Hk={class:"flex flex-col h-full relative"},Wk={key:0,class:"text-theme-600 py-16 flex flex-col items-center justify-center gap-2 text-sm"},$k={key:0,class:"flex-shrink-0 size-8"},Gk=["src","alt"],Jk={class:"max-w-[70%]"},Kk={class:"text-sm leading-[1.5] whitespace-pre-wrap break-words"},Qk={key:0,class:"flex gap-2 justify-start items-end mb-4"},Zk={class:"flex-shrink-0"},Yk=["src","alt"],Xk={class:"flex-shrink-0 pt-6 pb-2"},ew=["placeholder","disabled"],tw=$r({__name:"ElSelfChat",props:{selfController:{},self:{}},setup(e){const t=Ft(""),r=Ft(),i=Ft(),n=go(()=>Kf(e.self));function o(e,t){const r=e[t],i=e[t+1];return!i||i.sender!==r.sender}async function a(){if(!t.value.trim()||!e.selfController||!e.selfController.textState.value.isConnected)return;const r=t.value;t.value="",i.value&&(i.value.style.height="auto",i.value.focus());try{await e.selfController.sendChatMessage(r),l()}catch(n){}}function s(e){"Enter"===e.key&&!e.shiftKey&&(e.preventDefault(),a())}function l(){r.value&&sr(()=>{const e=r.value;e.scrollTop=e.scrollHeight})}function c(){if(!i.value)return;i.value.style.height="auto";const e=Math.min(i.value.scrollHeight,150);i.value.style.height=`${e}px`}return Uf(o,"shouldShowAvatar"),ai(async()=>{if(e.selfController&&!e.selfController.textState.value.isConnected)try{await e.selfController.startTextConversation()}catch(t){}}),Uf(a,"sendMessage"),Uf(s,"handleKeydown"),Uf(l,"scrollToBottom"),Uf(c,"adjustTextareaHeight"),un(t,()=>{sr(()=>c())}),un(()=>e.selfController?.sharedMessages.value,e=>{e&&e.length>0&&sr(()=>l())},{immediate:!0,deep:!0}),(a,l)=>(An(),Nn("div",Hk,["connected"!==e.selfController?.textState.value.connectionStatus?(An(),Nn("div",Wk,[qn(Vf,{class:"size-4"})])):Gn("",!0),Vn("div",{ref_key:"messagesContainer",ref:r,class:"flex-1 overflow-y-auto overflow-x-hidden py-8 space-y-1 min-h-0 [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden"},[(An(!0),Nn(En,null,bi(e.selfController?.sharedMessages.value.filter(e=>"system"!==e.sender)??[],(t,r)=>(An(),Nn("div",{key:t.id,class:ge(["flex gap-2 items-end",{"justify-end":"user"===t.sender,"justify-start":"agent"===t.sender,"mb-4":o(e.selfController?.sharedMessages.value.filter(e=>"system"!==e.sender)??[],r)}])},["agent"===t.sender?(An(),Nn("div",$k,[o(e.selfController?.sharedMessages.value.filter(e=>"system"!==e.sender)??[],r)?(An(),Nn("img",{key:0,src:n.value,alt:e.self.name,class:"size-7 rounded-full object-cover"},null,8,Gk)):Gn("",!0)])):Gn("",!0),Vn("div",Jk,[Vn("div",{class:ge(["rounded-2xl px-3.5 py-1.5 backdrop-blur-sm","user"===t.sender?"bg-primary-500/80 text-white":"bg-white/15 text-white/95"])},[Vn("p",Kk,ke(t.text),1)],2)])],2))),128)),e.selfController?.textState.value.isThinking?(An(),Nn("div",Qk,[Vn("div",Zk,[Vn("img",{src:n.value,alt:e.self.name,class:"size-8 rounded-full object-cover"},null,8,Yk)]),l[1]||(l[1]=Vn("div",{class:"rounded-2xl px-4 py-2.5 bg-white/15 backdrop-blur-sm flex items-center"},[Vn("i",{class:"i-svg-spinners-3-dots-fade size-6 text-white/70"})],-1))])):Gn("",!0)],512),Vn("div",Xk,[br(Vn("textarea",{ref_key:"textarea",ref:i,"onUpdate:modelValue":l[0]||(l[0]=e=>t.value=e),rows:"1",placeholder:e.selfController?.textState.value.isConnected?"Message":"Connecting...",disabled:!e.selfController?.textState.value.isConnected,style:{"font-size":"16px",resize:"none"},class:"w-full bg-white/10 backdrop-blur-sm border border-white/20 rounded-3xl px-5 py-3 text-white placeholder-white/50 focus:outline-none focus:border-white/40 disabled:opacity-50 overflow-y-auto [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden",onKeydown:s},null,40,ew),[[fa,t.value]]),l[2]||(l[2]=Vn("div",{class:"text-[10px] text-white/40 text-center mt-2"}," Press Enter to send, Shift+Enter for new line ",-1))])]))}}),rw={class:"flex flex-col items-center text-center gap-4"},iw={class:"relative flex-shrink-0"},nw={class:"w-20 h-20 sm:w-24 sm:h-24 rounded-full overflow-hidden border-4 border-white"},ow=["src","alt"],aw={class:"min-w-0"},sw={class:"text-3xl font-light text-white mb-2 truncate"},lw={class:"text-base font-light text-white/60 line-clamp-1"},cw=$r({__name:"ElSelfHeader",props:{self:{}},setup(e){function t(){return e.self.avatar?.src?e.self.avatar.src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+"}return Uf(t,"getAvatarSrc"),(r,i)=>(An(),Nn("div",rw,[Vn("div",iw,[Vn("div",nw,[Vn("img",{src:t(),alt:e.self.name,class:"w-full h-full object-cover",onError:i[0]||(i[0]=(...e)=>qt(Zf)&&qt(Zf)(...e))},null,40,ow)]),i[1]||(i[1]=Vn("div",{class:"absolute top-1.5 right-1.5"},[Vn("div",{class:"size-4 bg-green-500 rounded-full ring-2 ring-white absolute animate-ping",style:{"animation-duration":"3s"}}),Vn("div",{class:"size-4 bg-green-500 rounded-full ring-2 ring-white"})],-1))]),Vn("div",aw,[Vn("h1",sw,ke(e.self.name),1),Vn("p",lw,ke(e.self.title),1)])]))}}),dw={class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[28px] h-[28px] overflow-hidden"},hw=$r({name:"FClose",__name:"FClose",emits:["click"],setup(e){const t=Ft(!1);return ai(()=>{setTimeout(()=>{t.value=!0},100)}),(e,r)=>(An(),Nn("a",{class:"close block cursor-pointer w-[60px] h-[60px] rounded-full transition-all duration-1000 ease-[cubic-bezier(0.25,1,0.33,1)] hover:scale-110 active:scale-90 hover:rotate-90",onClick:r[0]||(r[0]=t=>e.$emit("click",t))},[r[1]||(r[1]=Vn("span",{class:"absolute inset-0 rounded-full transition-all"},null,-1)),Vn("span",dw,[Vn("span",{class:ge(["absolute h-full w-[3px] rounded-[5px] left-[13px] transition-all duration-[400ms] ease-[cubic-bezier(0.52,0.01,0.16,1)]",t.value?"translate-y-0 translate-x-0 rotate-45":"translate-y-[30px] -translate-x-[30px] rotate-0"]),style:{"background-color":"currentColor","transition-delay":"0.15s"}},null,2),Vn("span",{class:ge(["absolute h-full w-[3px] rounded-[5px] left-[13px] transition-all duration-[400ms] ease-[cubic-bezier(0.52,0.01,0.16,1)]",t.value?"translate-y-0 translate-x-0 -rotate-45":"-translate-y-[30px] -translate-x-[30px] rotate-0"]),style:{"background-color":"currentColor","transition-delay":"0.45s"}},null,2)])]))}}),uw={key:0,class:"px-9 pt-12 pb-4"},pw={class:"text-base font-medium text-theme-400"},gw={key:1,class:"px-4 pb-8 border-b border-white/10"},mw=["disabled","onClick"],vw={class:"flex items-center gap-3"},fw={class:"flex-1"},bw={key:0,class:"text-xs text-white/50 mt-0.5"},kw={class:"p-6"},ww=$r({name:"ElSidebar",__name:"ElSidebar",props:{modelValue:{type:Boolean},items:{},position:{},title:{},widthClasses:{}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,i=t,n=r.position||"left",o=r.widthClasses||"w-[80%] max-w-[300px]",a=go({get:Uf(()=>r.modelValue,"get"),set:Uf(e=>i("update:modelValue",e),"set")}),s=go(()=>r.items.filter(e=>!e.isHidden));function l(e){e.isDisabled||(e.onClick?e.onClick({item:e,event:new MouseEvent("click")}):e.href&&(e.href.includes("http")?window.open(e.href,e.target||"_self")?.focus():window.location.href=e.href),a.value=!1)}Uf(l,"handleItemClick");const c=go(()=>"left"===n?{enter:"-translate-x-full",leave:"-translate-x-full",position:"justify-start",closeButton:"-right-16"}:{enter:"translate-x-full",leave:"translate-x-full",position:"justify-end",closeButton:"-left-16"});return(t,r)=>(An(),Nn(En,null,[qn(Io,{"enter-active-class":"transition-opacity duration-300 ease-out","leave-active-class":"transition-opacity duration-200 ease-in","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:fr(()=>[a.value?(An(),Nn("div",{key:0,class:"absolute inset-0 z-40 bg-black/50 backdrop-blur-sm",onClick:r[0]||(r[0]=e=>a.value=!1)})):Gn("",!0)]),_:1}),qn(Io,{"enter-active-class":"transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)]","leave-active-class":"transition-all duration-400 ease-[cubic-bezier(0.25,1,0.33,1)]","enter-from-class":c.value.enter,"enter-to-class":"translate-x-0","leave-from-class":"translate-x-0","leave-to-class":c.value.leave},{default:fr(()=>[a.value?(An(),Nn("div",{key:0,class:ge(["absolute inset-0 z-50 flex",c.value.position]),onClick:r[3]||(r[3]=e=>a.value=!1)},[Vn("div",{class:ge(["relative h-full shadow-2xl bg-black/30 backdrop-blur-xl flex flex-col justify-center",qt(o)]),onClick:r[2]||(r[2]=wa(()=>{},["stop"]))},[qn(hw,{class:ge(["absolute top-4 z-10 text-white",c.value.closeButton]),onClick:r[1]||(r[1]=e=>a.value=!1)},null,8,["class"]),e.title?(An(),Nn("div",uw,[Vn("h3",pw,ke(e.title),1)])):Gn("",!0),t.$slots.header?(An(),Nn("div",gw,[ki(t.$slots,"header")])):Gn("",!0),Vn("div",{class:ge(["flex-1 p-6 space-y-2 overflow-y-auto",{"pt-6":!e.title&&!t.$slots.header,"pt-4":e.title||t.$slots.header}])},[qn(ca,{"enter-active-class":"transition-all duration-400 ease-[cubic-bezier(0.25,1,0.33,1)]","leave-active-class":"transition-all duration-200 ease-[cubic-bezier(0.25,1,0.33,1)]","enter-from-class":"left"===qt(n)?"-translate-x-4 opacity-0":"translate-x-4 opacity-0","enter-to-class":"translate-x-0 opacity-100","leave-from-class":"translate-x-0 opacity-100","leave-to-class":"left"===qt(n)?"-translate-x-4 opacity-0":"translate-x-4 opacity-0"},{default:fr(()=>[(An(!0),Nn(En,null,bi(s.value,(e,t)=>(An(),Nn("button",{key:e.key||e.label||t,style:ce({transitionDelay:40*t+"ms"}),class:ge(["cursor-pointer w-full text-left p-3 rounded-xl transition-all duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group",[e.isActive?"bg-primary-500/20 border border-primary-500/40":"hover:bg-white/10",e.isDisabled&&"opacity-50 cursor-not-allowed"]]),disabled:e.isDisabled,onClick:Uf(t=>l(e),"onClick")},[Vn("div",vw,[e.icon?.src?(An(),Nn("i",{key:0,class:ge(["size-5 flex-shrink-0 transition-transform duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group-hover:scale-110",[e.icon.src,e.isActive?"text-primary-400":"text-white/70 group-hover:text-white"]])},null,2)):Gn("",!0),Vn("div",fw,[Vn("div",{class:ge(["font-medium text-sm",e.isActive?"text-primary-300":"text-white"])},ke(e.label),3),e.subLabel?(An(),Nn("div",bw,ke(e.subLabel),1)):Gn("",!0)])])],14,mw))),128))]),_:1},8,["enter-from-class","leave-to-class"])],2),Vn("div",kw,[ki(t.$slots,"footer",{},()=>[r[4]||(r[4]=Vn("div",{class:"text-center"},[Vn("p",{class:"text-[10px] text-white/40 font-sans"},[$n(" Digital Self by "),Vn("a",{href:"https://www.fiction.com",target:"_blank",class:"text-white/60 hover:text-white/80 transition-colors"},"Fiction")])],-1))])])],2)],2)):Gn("",!0)]),_:3},8,["enter-from-class","leave-to-class"])],64))}}),yw=$r({name:"SelfModeSidebar",__name:"ElSelfModeSidebar",props:{modelValue:{type:Boolean},selfController:{}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,i=t,n=go({get:Uf(()=>r.modelValue,"get"),set:Uf(e=>i("update:modelValue",e),"set")}),o=go(()=>r.selfController?.agentMode?.value??"self"),a=go(()=>Wf.map(e=>({key:e.mode,icon:{src:e.icon},label:e.label,isActive:o.value===e.mode,onClick:Uf(()=>{r.selfController?.setMode(e.mode)},"onClick")})));return(e,t)=>(An(),jn(ww,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=e=>n.value=e),items:a.value,position:"right",title:"Mode","width-classes":"w-[80%] max-w-[255px]"},null,8,["modelValue","items"]))}}),xw=$r({name:"SelfSidebar",__name:"ElSelfSidebar",props:{modelValue:{type:Boolean},self:{},sdk:{},title:{}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,i=t,n=go({get:Uf(()=>r.modelValue,"get"),set:Uf(e=>i("update:modelValue",e),"set")}),o=go(()=>{const e=[{key:"share",icon:{src:"i-tabler-share"},label:"Share This Digital Self",onClick:Uf(()=>{const e=`${window.location.origin}/@${r.self.handle||r.self.selfId}`;navigator.clipboard.writeText(e)},"onClick")},{key:"profile",icon:{src:"i-tabler-user"},label:"Visit Full Profile",onClick:Uf(()=>{window.open(`/@${r.self.handle||r.self.selfId}`,"_blank")},"onClick")},{key:"create",icon:{src:"i-tabler-sparkles"},label:"Create Your Own",onClick:Uf(()=>{window.open("/auth","_blank")},"onClick")}];return r.sdk.activeUser.value&&e.push({key:"logout",icon:{src:"i-tabler-logout"},label:"Logout",onClick:Uf(async()=>{await r.sdk.logout()},"onClick")}),e});return(t,r)=>(An(),jn(ww,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=e=>n.value=e),items:o.value,position:"left",title:e.title||"Menu"},null,8,["modelValue","items","title"]))}}),Cw={class:"w-full max-w-full flex items-center justify-center"},Sw=$r({__name:"FAudioVisualizer",props:{audioState:{},color:{default:"auto"},size:{default:"md"},enableWaveMotion:{type:Boolean,default:!0},enableGlow:{type:Boolean,default:!1}},setup(e){const t=e,r={sm:{bars:68,barWidth:2,barSpacing:1,minHeight:3,maxHeight:40},md:{bars:68,barWidth:3,barSpacing:1,minHeight:4,maxHeight:80},lg:{bars:68,barWidth:4,barSpacing:2,minHeight:5,maxHeight:120}},i=go(()=>r[t.size]),n=[85,100,120,140,155,170,185,200,215,230,245,260,275,290,315,340,355,375,400,425,450,475,500,530,560,590,630,670,700,730,780,820,880,940,1e3,1100,1200,1300,1400,1500,1600,1700,1800,1900,2e3,2200,2300,2500,2600,2800,3e3,3200,3500,3800,4e3,4300,4500,4800,5e3,5300,5500,5800,6e3,6500,7e3,7500,8e3,8500],o=Ft();let a=null,s=null;const l=Ft(!1),c=Ft(!0),d=new Map;let h,u,p,g,m,v,f;function b(e){const{minHeight:t}=i.value;h=new Float32Array(e).fill(t),u=new Float32Array(e).fill(0),p=new Float32Array(e).fill(t),g=new Float32Array(e).fill(t),m=new Float32Array(e).fill(t),v=new Float32Array(e).fill(0),f=new Float32Array(e).fill(0)}Uf(b,"initPhysicsArrays");const k=go(()=>{if("auto"!==t.color)return t.color;const e=t.audioState?.mode??"idle";return"listening"===e?"blue":"processing"===e?"cyan":"speaking"===e?"green":"gray"}),w={blue:{primary:[59,130,246],glow:"rgba(59,130,246,0.4)"},cyan:{primary:[34,211,238],glow:"rgba(34,211,238,0.4)"},green:{primary:[34,197,94],glow:"rgba(34,197,94,0.4)"},gray:{primary:[156,163,175],glow:"rgba(156,163,175,0.2)"}};function y(e){return e<200?{stiffnessMultiplier:.7,dampingMultiplier:1.2}:e<1e3?{stiffnessMultiplier:1,dampingMultiplier:1}:e<4e3?{stiffnessMultiplier:1.3,dampingMultiplier:.8}:{stiffnessMultiplier:1.5,dampingMultiplier:.6}}Uf(y,"getFrequencyPhysics");let x=1;function C(){if(!o.value)return;typeof window<"u"&&(x=Math.max(1,Math.min(2,window.devicePixelRatio||1)));const{bars:e,barWidth:t,barSpacing:r,maxHeight:n}=i.value,s=(t+r)*e-r,l=n;o.value.width=Math.floor(s*x),o.value.height=Math.floor(l*x),o.value.style.width=`${s}px`,o.value.style.height=`${l}px`,a&&a.setTransform(x,0,0,x,0,0),M()}function S(e){return Array.from({length:n.length},(t,r)=>{const i=n[r],o=Math.floor(i/12e3*e.length),a=Math.max(1,Math.floor(e.length/n.length/2));let s=0;for(let n=0;n<a&&o+n<e.length;n++)s+=e[o+n];s=s/a/255;let l=1;l=i<150?.1:i<200?.3:i>=400&&i<=600?1.4:i>=1400&&i<=1600?1.3:i>=2400&&i<=2600?1.2:i>=200&&i<=2e3?1.1:i>=2e3&&i<=4e3?.9:i>6e3?.4:.7;const c=s**.5*.6*l;return Math.min(.85,c)})}function T(e){const t=Array.from({length:n.length},()=>0);if(e<=0)return t;for(let r=0;r<n.length;r++){const i=n[r];let o=0;o=i>=400&&i<=600?.9*e:i>=1400&&i<=1600?.8*e:i>=2400&&i<=2600?.7*e:i>=200&&i<=2e3?.6*e:i>=85&&i<=300?.4*e:.2*e,o*=.8+.4*Math.random(),t[r]=Math.max(0,Math.min(1,o))}return t}function E(e,r,i){if(!t.enableWaveMotion||typeof window>"u")return e;const n=.001*performance.now(),o=[...e];for(let t=0;t<e.length;t++){const a=t*(2*Math.PI)/e.length;let s=0;s="listening"===i||"speaking"===i?.15*Math.sin(4.2*n+.6*a-2*n)+.08*Math.sin(6.8*n+1.2*a-1.5*n)+.05*Math.sin(.8*n):"processing"===i?.12*Math.sin(3*n+.5*a-1.5*n)+.06*Math.sin(5*n+.8*a-1.2*n)+.04*Math.sin(.6*n):"connected"===i?.1*Math.sin(.6*n)+.05*Math.sin(2*n+.3*a):.12*Math.sin(1.5*n+a)+.05*Math.sin(.4*n);const l=Math.max(.3,r);o[t]=Math.max(0,Math.min(.9,e[t]+s*l))}return o}function I(){const e=t.audioState;if(!e)return Array.from({length:n.length},()=>0);let r=[];if(e.getFrequencyData){const t=e.getFrequencyData();t&&t.length>0&&Array.from(t).some(e=>e>5)&&(r=S(t))}return r.length||(r=T("listening"===e.mode?e.inputLevel??0:"speaking"===e.mode?e.outputLevel??0:"connected"===e.mode?.02:0)),E(r,Math.max(e.inputLevel??0,e.outputLevel??0),e.mode)}function P(){if(typeof window>"u")return;const e=navigator.userAgent.toLowerCase(),t=/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e);l.value=t}function _(e,t){return d.has(e)||d.set(e,t()),d.get(e)}function M(){d.clear()}function R(){if(typeof window>"u"||!a||!o.value)return;P();const e=o.value,{bars:r,barWidth:d,barSpacing:b,minHeight:C,maxHeight:S}=i.value,T=e.width/x,E=e.height/x;function M(e){if(!a)return;if(!c.value)return void(s=requestAnimationFrame(M));a.clearRect(0,0,T,E);const i=I();for(let t=0;t<r;t++){const e=C+i[t]*(S-C);g[t]=g[t]+.3*(e-g[t]),p[t]=g[t]}for(let t=0;t<r;t++){const e=y(n[t]),r=p[t]-h[t],i=.25*e.stiffnessMultiplier,o=.35*e.dampingMultiplier,a=r*i-u[t]*o;if(u[t]+=a,h[t]+=u[t],h[t]>m[t])m[t]=h[t],v[t]=500,f[t]=0;else if(v[t]=Math.max(0,v[t]-16.67),v[t]<=0){const e=.15*(Math.max(C,1.1*h[t])-m[t])-.4*f[t];f[t]+=e,m[t]=Math.max(C,m[t]+f[t])}}const o=.15*r,x=t.audioState?.mode??"idle";if(("listening"===x||"speaking"===x)&&t.enableGlow&&!l.value){const e=.001*performance.now(),t=.1+.05*Math.sin(2*e);a.save(),a.globalCompositeOperation="lighter",a.globalAlpha=t;const i=w[k.value];a.fillStyle=i.glow;for(let n=0;n<r;n++){const e=n*(d+b),t=h[n],r=E-t;a.beginPath(),a.roundRect(e-1,r-1,d+2,t+2,[2,2,0,0]),a.fill()}a.restore()}const P=w[k.value],[R,A,O]=P.primary;for(let t=0;t<r;t++){const e=t*(d+b),i=h[t],s=E-i,c=n[t],u=Math.min(t,r-1-t),p=Math.min(1,u/o),g=Math.min(1,i/S),f=(.8+.2*g)*p,w=(.6+.2*g)*p,y=(.3+.1*g)*p,T=Math.round(10*g)/10,I=Math.round(10*p)/10,M=_(`${k.value}-${T}-${I}-${i}`,()=>{const e=a.createLinearGradient(0,s,0,s+i);if("speaking"===x)e.addColorStop(0,`rgba(${R}, ${A}, ${O}, ${f})`),e.addColorStop(.5,`rgba(${R}, ${A}, ${O}, ${w})`),e.addColorStop(1,`rgba(${R}, ${A}, ${O}, ${y})`),(c>=400&&c<=600||c>=1400&&c<=1600)&&e.addColorStop(0,`rgba(74, 222, 128, ${Math.min(1,f+.2)})`);else if("listening"===x)e.addColorStop(0,`rgba(${R}, ${A}, ${O}, ${f})`),e.addColorStop(.5,`rgba(${R}, ${A}, ${O}, ${w})`),e.addColorStop(1,`rgba(${R}, ${A}, ${O}, ${y})`);else{const t=.6*p,r=.4*p,i=.2*p;e.addColorStop(0,`rgba(${R}, ${A}, ${O}, ${t})`),e.addColorStop(.6,`rgba(${R}, ${A}, ${O}, ${r})`),e.addColorStop(1,`rgba(${R}, ${A}, ${O}, ${i})`)}return e});if(a.fillStyle=M,a.beginPath(),a.roundRect(e,s,d,i,[1,1,0,0]),a.fill(),m[t]>C+2){const r=E-m[t],i=v[t]>0?.9:Math.max(.3,v[t]/500);a.fillStyle=`rgba(255, 255, 255, ${i})`,a.fillRect(e,r-1,d,2),i>.5&&!l.value&&(a.shadowColor=P.glow,a.shadowBlur=3,a.fillRect(e,r-1,d,2),a.shadowBlur=0)}}s=requestAnimationFrame(M)}Uf(M,"animate"),s=requestAnimationFrame(M)}function A(){if(typeof window<"u"){const e=Math.max(1,Math.min(2,window.devicePixelRatio||1));e!==x&&(x=e)}C()}return Uf(C,"resizeCanvas"),Uf(S,"mapFrequencyDataToBands"),Uf(T,"generateIntensityBasedBands"),Uf(E,"addWaveMotionOverlay"),Uf(I,"generateFrequencyBands"),Uf(P,"detectMobile"),Uf(_,"getGradient"),Uf(M,"clearGradientCache"),Uf(R,"startAnimation"),ai(()=>{if(b(i.value.bars),o.value){if(a=o.value.getContext("2d"),C(),typeof window<"u"){window.addEventListener("resize",A,{passive:!0});const e=Uf(()=>{c.value=!document.hidden},"handleVisibilityChange");document.addEventListener("visibilitychange",e,{passive:!0})}R()}}),Uf(A,"onResize"),di(()=>{s&&cancelAnimationFrame(s),typeof window<"u"&&(window.removeEventListener("resize",A),document.removeEventListener("visibilitychange",()=>{c.value=!document.hidden}))}),un([()=>t.audioState?.mode,()=>t.size],()=>{h.length!==i.value.bars&&b(i.value.bars),!a&&o.value&&(a=o.value.getContext("2d")),s&&cancelAnimationFrame(s),C(),R()},{immediate:!1}),un(o,e=>{e&&!a&&(a=e.getContext("2d"),C(),R())}),(e,t)=>(An(),Nn("div",Cw,[Vn("canvas",{ref_key:"canvasRef",ref:o,class:"w-full max-w-full [image-rendering:-webkit-optimize-contrast]",style:ce({height:`${i.value.maxHeight}px`})},null,4)]))}}),Tw=$r({__name:"ElSelfAudioVisualizer",props:{selfController:{},size:{},color:{},enableWaveMotion:{type:Boolean},enableGlow:{type:Boolean}},setup(e){const t=function(e,t){const r={};for(const i in e)t.includes(i)||Object.defineProperty(r,i,{enumerable:!0,get:()=>e[i]});return r}(e,["selfController"]),r=go(()=>{if(!e.selfController)return{mode:"idle"};const t=e.selfController.voiceState.value,r=e.selfController.audioLevels.value,i=t.isSpeaking?"speaking":t.isProcessing?"processing":t.isListening?"listening":t.isConnected?"connected":"idle",n=Uf(()=>{try{if(t.isSpeaking){const t=e.selfController.getOutputFrequencyData();if(t&&t.length>0)return t}else if(t.isListening){const t=e.selfController.getInputFrequencyData();if(t&&t.length>0)return t}else if(t.isConnected){const t=e.selfController.getOutputFrequencyData();if(t&&t.length>0)return t}}catch{}},"getFrequencyData");return{mode:i,inputLevel:r.inputLevel,outputLevel:r.outputLevel,getFrequencyData:n}});return(e,i)=>(An(),jn(Sw,Zn({"audio-state":r.value},t),null,16,["audio-state"]))}}),Ew={class:"flex flex-col h-full items-center justify-center gap-4"},Iw={class:"flex-1 flex flex-col items-center justify-center space-y-8"},Pw={class:"w-full max-w-md"},_w={class:"text-center flex gap-2 items-center text-xs"},Mw={class:"flex items-center justify-center gap-2"},Rw={key:0,class:"size-2 bg-blue-500 rounded-full animate-pulse"},Aw={key:1,class:"size-2 bg-green-500 rounded-full animate-pulse"},Ow={key:2,class:"size-2 bg-white/50 rounded-full"},Dw={key:3,class:"size-2 bg-red-500 rounded-full"},Lw={class:"text-white/70 text-sm max-w-xs leading-relaxed"},Nw={class:"flex flex-col items-center space-y-6"},jw=$r({__name:"ElSelfVoice",props:{selfController:{}},setup(e){const t=go(()=>e.selfController?.voiceState.value),r=go(()=>t.value?.isConnected?"red":"green"),i=go(()=>t.value?.isConnected?"i-heroicons-phone-x-mark":"i-heroicons-phone"),n=go(()=>t.value?.isConnected?"End Call":"Start a Call"),o=go(()=>{const t=e.selfController?.voiceState.value;return!!t?.error||"connecting"===t?.connectionStatus}),a=go(()=>"connecting"===t.value?.connectionStatus);async function s(){if(e.selfController)try{e.selfController.voiceState.value.isConnected?await e.selfController.endConversation():(e.selfController.isConnected()&&await e.selfController.endConversation(),await e.selfController.startVoiceConversation(),e.selfController.agentMode.value="talk")}catch(t){}}return Uf(s,"toggleCall"),(t,l)=>(An(),Nn("div",Ew,[Vn("div",Iw,[Vn("div",Pw,[qn(Tw,{"self-controller":e.selfController,"enable-wave-motion":"","enable-glow":""},null,8,["self-controller"])]),Vn("div",_w,[Vn("div",Mw,[e.selfController?.voiceState.value.isListening?(An(),Nn("div",Rw)):e.selfController?.voiceState.value.isSpeaking?(An(),Nn("div",Aw)):!e.selfController?.voiceState.value.isConnected||e.selfController?.voiceState.value.isListening||e.selfController?.voiceState.value.isSpeaking?e.selfController?.voiceState.value.error?(An(),Nn("div",Dw)):Gn("",!0):(An(),Nn("div",Ow))]),Vn("p",Lw,ke(e.selfController?.voiceState.value.error?`Error: ${e.selfController.voiceState.value.error}`:e.selfController?.voiceState.value.transcript||"Ready to start a call..."),1)])]),Vn("div",Nw,[qn(ib,{theme:r.value,icon:i.value,size:"lg",loading:a.value,disabled:o.value,onClick:s},{default:fr(()=>[$n(ke(n.value),1)]),_:1},8,["theme","icon","loading","disabled"])])]))}}),Uw={key:0,class:"absolute inset-0 flex items-center justify-center bg-gradient-to-br from-theme-800 to-theme-950 rounded-3xl z-10"},zw={class:"text-sm"},Fw={key:0,class:"flex-1 basis-0 flex justify-end"},Bw={key:0,class:"h-full pb-12 flex-1 flex flex-col relative z-20 min-h-0 px-4 @[480px]/agent:px-6 max-w-md mx-auto w-full"},Vw={class:"flex-1 basis-0 flex flex-col justify-start pt-6"},qw={key:1,class:"flex-1 flex flex-col relative z-20 min-h-0 w-full gap-4 px-4"},Hw={class:"max-w-md mx-auto"},Ww={key:2,class:"flex-1 flex flex-col relative z-20 min-h-0 w-full px-4 @[480px]/agent:px-6"},$w={class:"flex-1 min-h-0 max-w-md mx-auto w-full"},Gw={key:2,class:"bg-gradient-to-br from-theme-800 to-theme-950 text-white flex items-center justify-center h-full p-8"},Jw={class:"text-center max-w-md space-y-4"},Kw={class:"text-sm text-white/70 leading-relaxed"},Qw={key:3,class:"bg-white/10 backdrop-blur-sm text-white/70 flex items-center justify-center h-full"},Zw=$r({__name:"SelfAgent",props:{sdk:{},self:{},context:{},firstMessage:{},hasClose:{type:Boolean,default:!1},isActive:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},theme:{default:"green"}},emits:["close","error"],setup(e,{emit:t}){const r=t,i=Bt(undefined,!0),n=Ft(!1),o=Ft(!1),a=Ft(),s=Ft(),l=go(()=>i.value?.agentMode?.value??"self"),c=go(()=>void 0!==e.sdk.activeUser.value),d=go(()=>Wf.find(e=>e.mode===l.value));function h(){i.value&&i.value.destroy();try{i.value=new eb({sdk:e.sdk,self:e.self,context:e.context,firstMessage:e.firstMessage})}catch(t){throw t}}function u(e){if(!s.value)return;const t=Hf(e);Object.entries(t).forEach(([e,t])=>{s.value.style.setProperty(`--primary-${e}`,t)})}return Uf(h,"createSelfController"),Uf(u,"applyTheme"),ai(()=>{try{h(),u(e.theme)}catch(t){const e=t instanceof Error?t.message:"Failed to initialize digital self";a.value=e,r("error",e)}}),di(()=>{i.value&&i.value.destroy()}),un(()=>e.theme,e=>{u(e)}),un(()=>e.sdk.activeUser.value,(e,t)=>{t&&!e&&i.value&&i.value.setMode("self")}),(t,h)=>(An(),Nn("div",{ref_key:"rootElement",ref:s,key:qt(Kf)(e.self),class:"fiction-sdk @container/agent self-agent w-full h-full overflow-hidden relative","data-test":"self-agent"},[e.loading?(An(),Nn("div",Uw,[qn(Vf,{class:"text-white size-8"})])):e.self&&!a.value?(An(),Nn("div",{key:1,class:ge(["absolute inset-0 bg-cover bg-center bg-no-repeat",{"backdrop-blur-sm":"low"===e.self.avatar?.quality||"low"===e.self.cover?.quality}]),style:ce({backgroundImage:`url(${qt(Kf)(e.self)||qt(Qf)()})`})},[Vn("div",{class:ge(["absolute inset-0 bg-gradient-to-br z-0","self"===l.value?"from-black/70 via-black/50 to-black/80":"from-black/90 via-black/90 to-black/100"])},null,2),Vn("div",{class:ge(["relative z-10 flex flex-col h-full transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)] will-change-transform",e.isActive?"opacity-100 translate-y-0":"opacity-0 translate-y-2"])},[Vn("div",{class:ge(["relative z-30 p-2","self"!==l.value?"backdrop-blur-lg":""])},[Vn("div",{class:ge(["flex items-center",e.hasClose?"":"justify-between"])},[Vn("div",{class:ge(e.hasClose?"flex-1 basis-0":"")},[Vn("button",{class:"cursor-pointer p-2 flex items-center gap-2 rounded-2xl text-white/70 hover:bg-white/10 transition-all duration-300 ease-[cubic-bezier(0.25,1,0.33,1)] hover:scale-105 active:scale-95",onClick:h[0]||(h[0]=e=>n.value=!0)},[...h[6]||(h[6]=[Vn("i",{class:"i-tabler-menu size-7"},null,-1)])])],2),Vn("button",{class:ge(["flex items-center gap-2 px-3.5 py-3 rounded-2xl text-white/90 hover:bg-white/10 transition-all cursor-pointer flex-grow-0",{"bg-white/10":o.value}]),onClick:h[1]||(h[1]=e=>o.value=!0)},[Vn("i",{class:ge([d.value?.icon,"size-4 opacity-60"])},null,2),Vn("span",zw,ke(d.value?.label),1),h[7]||(h[7]=Vn("i",{class:"i-tabler-chevron-down size-4"},null,-1))],2),e.hasClose?(An(),Nn("div",Fw,[Vn("button",{class:"cursor-pointer flex items-center p-3 rounded-2xl text-white/70 hover:bg-white/10 transition-colors",onClick:h[2]||(h[2]=wa(e=>r("close","button"),["stop"]))},[...h[8]||(h[8]=[Vn("i",{class:"size-6 i-tabler-x"},null,-1)])])])):Gn("",!0)],2)],2),"self"===l.value?(An(),Nn("div",Bw,[h[9]||(h[9]=Vn("div",{class:"flex-1 basis-0 mb-12"},null,-1)),qn(cw,{self:e.self},null,8,["self"]),Vn("div",Vw,[qn(ib,{theme:"primary",size:"lg",class:"w-full",icon:"i-heroicons-phone","data-test":"voice-button",onClick:h[3]||(h[3]=e=>i.value?.setMode("talk"))},{default:fr(()=>[$n(" Talk to "+ke(e.self.name),1)]),_:1})])])):"talk"===l.value?(An(),Nn("div",qw,[c.value?(An(),Nn(En,{key:1},[Vn("div",null,[Vn("div",Hw,[qn(yb,{self:e.self},null,8,["self"])])]),qn(jw,{"self-controller":i.value},null,8,["self-controller"])],64)):(An(),jn(vb,{key:0,sdk:e.sdk},null,8,["sdk"]))])):(An(),Nn("div",Ww,[Vn("div",$w,["chat"===l.value?(An(),Nn(En,{key:0},[c.value?(An(),jn(tw,{key:1,"self-controller":i.value,self:e.self},null,8,["self-controller","self"])):(An(),jn(vb,{key:0,sdk:e.sdk},null,8,["sdk"]))],64)):"info"===l.value?(An(),jn(qk,{key:1,self:e.self},null,8,["self"])):Gn("",!0)])])),Vn("div",{class:ge(["relative z-20 text-center py-5 px-6","info"===l.value?"hidden":""])},[...h[10]||(h[10]=[Vn("a",{href:"https://www.fiction.com",class:"flex items-center justify-center gap-1.5 text-[10px] font-sans font-normal text-white/50 hover:text-white/70 transition-colors"},[Vn("span",{class:""},"Digital Self\u2122"),Vn("span",{class:"text-white/20"},"by"),Vn("span",null,"Fiction.com")],-1)])],2)],2)],6)):a.value?(An(),Nn("div",Gw,[Vn("div",Jw,[h[11]||(h[11]=Vn("div",{class:"flex justify-center"},[Vn("div",{class:"rounded-full bg-red-500/20 flex items-center justify-center size-10"},[Vn("i",{class:"i-tabler-alert-circle size-6 text-red-400"})])],-1)),h[12]||(h[12]=Vn("h3",{class:"text-lg font-medium"}," Self Error ",-1)),Vn("p",Kw,ke(a.value),1)])])):(An(),Nn("div",Qw," There was an error loading the digital self. Please try again later. ")),qn(xw,{modelValue:n.value,"onUpdate:modelValue":h[4]||(h[4]=e=>n.value=e),self:e.self,sdk:e.sdk,title:e.self.name},null,8,["modelValue","self","sdk","title"]),qn(yw,{modelValue:o.value,"onUpdate:modelValue":h[5]||(h[5]=e=>o.value=e),"self-controller":i.value},null,8,["modelValue","self-controller"])]))}}),Yw={class:"self-wrap"},Xw={key:0,class:"flex items-center justify-center h-full"},ey=$r({__name:"SelfWrap",props:{sdk:{},self:{},handle:{},context:{},firstMessage:{},hasClose:{type:Boolean},apiBase:{}},setup(e){const t=Ga("SelfWrap"),r=e,i=r.sdk||new ls({isDev:typeof window<"u"&&("localhost"===window.location.hostname||window.location.hostname.includes("127.0.0.1")),apiBase:r.apiBase}),n=Ft(!r.self),o=Ft(r.self),a=Ft();return ai(async()=>{if(r.self)return t.debug("Self provided via props, skipping fetch",{selfId:r.self.selfId,handle:r.self.handle}),void(n.value=!1);if(!r.handle)return a.value="No handle or self provided",t.warn("SelfWrap mounted without handle or self",{propsReceived:{handle:r.handle,self:r.self,context:r.context,apiBase:r.apiBase},sdkState:{isDev:i.isDev,apiBase:i.apiBase}}),void(n.value=!1);try{n.value=!0,t.debug("Fetching public self",{handle:r.handle});const e=await i.getPublicSelf({handle:r.handle});e?(o.value=e,t.debug("Successfully fetched public self",{selfId:e.selfId,handle:e.handle}),e.selfId&&i.track({event:"view_profile",selfId:e.selfId,properties:{viewSource:"widget"}})):(a.value=i.error.value||"Self not found",t.error("Failed to fetch public self - no data returned",{handle:r.handle,sdkError:i.error.value,sdkState:{isDev:i.isDev,apiBase:i.apiBase,loading:i.loading.value}}))}catch(e){a.value=e instanceof Error?e.message:"Failed to fetch self",t.error("Exception while fetching public self",{handle:r.handle,error:e instanceof Error?{message:e.message,stack:e.stack}:e,sdkState:{isDev:i.isDev,apiBase:i.apiBase,error:i.error.value}})}finally{n.value=!1,o.value||t.debug("SelfWrap component will render empty (silent failure)",{state:{loading:n.value,hasSelf:!!o.value,error:a.value},props:{handle:r.handle,context:r.context,apiBase:r.apiBase},sdkState:{isDev:i.isDev,apiBase:i.apiBase,error:i.error.value}})}}),(t,r)=>(An(),Nn("div",Yw,[n.value?(An(),Nn("div",Xw,[...r[0]||(r[0]=[Vn("div",{class:"animate-spin rounded-full size-6 border-b-2 border-white"},null,-1)])])):o.value?ki(t.$slots,"default",{key:1,sdk:qt(i),self:o.value,context:e.context,firstMessage:e.firstMessage,loading:n.value}):Gn("",!0)]))}}),ty=$r({__name:"SelfProvider",props:{sdk:{},self:{},handle:{},context:{},firstMessage:{},hasClose:{type:Boolean},apiBase:{}},emits:["close","error"],setup(e,{emit:t}){const r=e,i=t;return(e,t)=>(An(),jn(ey,Zn(r,{class:"self-provider size-full relative"}),{default:fr(e=>[qn(Zw,{sdk:e.sdk,self:e.self,context:e.context,"first-message":e.firstMessage,"has-close":r.hasClose,"is-active":!0,class:"size-full",onClose:t[0]||(t[0]=e=>i("close",e)),onError:t[1]||(t[1]=e=>i("error",e))},null,8,["sdk","self","context","first-message","has-close"])]),_:1},16))}});var ry=Object.defineProperty;const iy=$r({__name:"SelfWidgetInline",props:{sdk:{},handle:{},self:{},context:{},firstMessage:{}},setup(e,{expose:t}){const r=e,i=Ft(r.self),n=Ft(r.context),o=Ft(r.firstMessage);function a(e){void 0!==e.self&&(i.value=e.self),void 0!==e.context&&(n.value=e.context),void 0!==e.firstMessage&&(o.value=e.firstMessage)}return(e=>{ry(e,"name",{value:"update",configurable:!0})})(a),t({update:a}),(t,r)=>(An(),jn(ty,{sdk:e.sdk,handle:e.handle,self:i.value,context:n.value,"first-message":o.value},null,8,["sdk","handle","self","context","first-message"]))}}),ny=Object.freeze(Object.defineProperty({__proto__:null,default:iy},Symbol.toStringTag,{value:"Module"}));var oy=Object.defineProperty,ay=(e,t)=>oy(e,"name",{value:t,configurable:!0});const sy={key:0,class:"relative h-full w-full"},ly={class:"group relative h-full w-full rounded-3xl overflow-hidden shadow-lg transition-all duration-300 ease-[cubic-bezier(0.25,1,0.33,1)] hover:shadow-2xl hover:translate-y-[-1px] hover:brightness-110 active:scale-[1.06] active:-translate-y-0.5 active:duration-100"},cy=["src","alt"],dy=$r({__name:"SelfWidgetPopup",props:{sdk:{},handle:{},self:{},context:{},firstMessage:{},position:{}},setup(e,{expose:t}){const r=e,i=Ft(!1),n=Ft(!1),o=Ft(r.self),a=Ft(r.context),s=Ft(r.firstMessage);function l(){i.value=!i.value}function c(){i.value=!0}function d(){i.value=!1}function h(){d()}function u(e){void 0!==e.self&&(o.value=e.self),void 0!==e.context&&(a.value=e.context),void 0!==e.firstMessage&&(s.value=e.firstMessage)}return ay(l,"toggle"),un(i,async e=>{e?(await sr(),setTimeout(()=>{n.value=!0},400)):n.value=!1}),ay(c,"open"),ay(d,"close"),ay(h,"handleClose"),ay(u,"update"),t({toggle:l,open:c,close:d,update:u}),(t,c)=>(An(),jn(ey,{sdk:e.sdk,handle:e.handle,self:o.value,context:a.value,"first-message":s.value},{default:fr(({self:e,sdk:t})=>[e?(An(),Nn("div",{key:0,class:ge(["fixed z-[999999] pointer-events-auto",["bottom-left"===r.position?"bottom-6 left-6":"top-right"===r.position?"top-6 right-6":"top-left"===r.position?"top-6 left-6":"bottom-6 right-6"]])},[Vn("div",{class:ge(["transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)] transform-gpu",[i.value?"widget-expanded w-96 h-[600px] max-w-[calc(100vw-48px)] max-h-[calc(100vh-48px)] rounded-3xl opacity-100 scale-100":"widget-button w-[80px] h-[80px] opacity-100 scale-100 flex items-center justify-center cursor-pointer"]]),style:ce({"transform-origin":"bottom-left"===r.position?"bottom left":"top-right"===r.position?"top right":"top-left"===r.position?"top left":"bottom right"}),onClick:c[0]||(c[0]=e=>i.value?void 0:l())},[i.value?Gn("",!0):(An(),Nn("div",sy,[Vn("div",ly,[Vn("img",{src:qt(Kf)(e)||qt(Qf)(),alt:`${e.name} digital self`,class:"h-full w-full object-cover pointer-events-none",width:"80",height:"80"},null,8,cy),c[1]||(c[1]=Vn("div",{class:"absolute inset-0 pointer-events-none bg-gradient-to-br from-transparent via-black/10 to-black/40 opacity-60 transition-opacity duration-300 group-hover:opacity-40"},null,-1))]),c[2]||(c[2]=Vn("div",{class:"absolute top-0.5 right-0.5"},[Vn("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white absolute animate-ping",style:{"animation-duration":"3s"}}),Vn("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white"})],-1))])),i.value&&e?(An(),jn(Zw,{key:1,class:"rounded-3xl shadow-2xl border border-white/10",sdk:t,self:e,context:a.value,"first-message":s.value,"has-close":!0,"is-active":n.value,onClose:h},null,8,["sdk","self","context","first-message","is-active"])):Gn("",!0)],6)],2)):Gn("",!0)]),_:1},8,["sdk","handle","self","context","first-message"]))}}),hy=Object.freeze(Object.defineProperty({__proto__:null,default:dy},Symbol.toStringTag,{value:"Module"}));var uy=Object.defineProperty;const py={class:"flex min-h-full items-center justify-center text-center p-4 py-8"},gy={key:0,class:"text-base p-4 font-semibold"},my={key:1,class:"flex items-center gap-2 px-2"},vy=$r({inheritAttrs:!1,name:"FModal",__name:"FModal",props:{vis:{type:Boolean,default:!1},modalClass:{},styleClass:{},fullScreen:{type:Boolean,default:!1},hasClose:{type:Boolean,default:!1},title:{default:""},transitionMode:{default:"modal"},teleportTo:{default:"body"},disableTeleport:{type:Boolean,default:!1}},emits:["update:vis","close","escape"],setup(e,{emit:t}){const r=t,i=Ft(!1);function n(e){const{reason:t}=e;r("update:vis",!1),r("close",!0),"escape"===t&&r("escape",!0)}(e=>{uy(e,"name",{value:"close",configurable:!0})})(n);const o=e.modalClass?[e.modalClass]:["max-w-screen-md p-24"],a=e.styleClass?[e.styleClass]:["bg-theme-0 text-theme-900","shadow-xl"];e.fullScreen?o.push("fixed inset-0"):o.push("rounded-2xl my-6 mx-3");const s=["relative","text-left","transform","transition-all","w-full","overflow-hidden",...o,...a],l=Ft(!1),c=[];ai(async()=>{i.value=!0;const t=un(()=>e.vis,e=>{e?setTimeout(()=>l.value=!0,300):l.value=!1},{immediate:!0});c.push(t)}),di(()=>{c.forEach(e=>e())});const d=go(()=>"slideUp"===e.transitionMode?{enterActiveClass:"ease-[cubic-bezier(0.25,1,0.33,1)] duration-500",enterFromClass:"opacity-0 translate-y-full scale-95",enterToClass:"opacity-100 translate-y-0 scale-100",leaveActiveClass:"ease-[cubic-bezier(0.25,1,0.33,1)] duration-500",leaveFromClass:"opacity-100 translate-y-0 scale-100",leaveToClass:"opacity-0 translate-y-full scale-95"}:{enterActiveClass:"ease-[cubic-bezier(0.25,1,0.33,1)] duration-500",enterFromClass:"opacity-0 scale-75",enterToClass:"opacity-100 translate-y-0 scale-100",leaveActiveClass:"ease-[cubic-bezier(0.25,1,0.33,1)] duration-500",leaveFromClass:"opacity-100 translate-y-0 scale-100",leaveToClass:"opacity-0 scale-75"});return(t,r)=>i.value?(An(),jn(_r,{key:0,to:e.teleportTo,disabled:e.disableTeleport},[Vn("div",{class:ge(["fixed inset-0 z-50",e.vis?"":"pointer-events-none"]),"aria-labelledby":"modal-title",role:"dialog","aria-modal":"true"},[qn(Io,{"enter-active-class":"ease-out duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"ease-in duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:fr(()=>[e.vis?(An(),Nn("div",{key:0,class:"fixed inset-0 bg-theme-800/60 active:bg-theme-800/80 cursor-pointer dark:bg-theme-600/90 backdrop-blur-sm transition-opacity",onClick:r[0]||(r[0]=e=>n({reason:"escape"}))})):Gn("",!0)]),_:1}),Vn("div",{class:"fixed inset-0 z-40 overflow-y-auto",onClick:r[3]||(r[3]=e=>n({reason:"escape"}))},[Vn("div",py,[qn(Io,me(Hn(d.value)),{default:fr(()=>[e.vis?(An(),Nn("div",{key:0,class:ge([s,"w-full"]),onClick:r[2]||(r[2]=wa(()=>{},["stop"]))},[e.hasClose||e.title||t.$slots.actions?(An(),Nn("div",{key:0,class:ge(e.title||!e.hasClose&&!t.$slots.actions?"flex justify-between items-center":"absolute top-0 right-0 z-10")},[e.title?(An(),Nn("h2",gy,ke(e.title),1)):Gn("",!0),e.hasClose||t.$slots.actions?(An(),Nn("div",my,[ki(t.$slots,"actions"),e.hasClose?(An(),jn(hw,{key:0,class:"relative","data-test-id":"close-modal",onClick:r[1]||(r[1]=wa(e=>n({reason:"escape"}),["stop"]))})):Gn("",!0)])):Gn("",!0)],2)):Gn("",!0),ki(t.$slots,"default")])):Gn("",!0)]),_:3},16)])])],2)],8,["to","disabled"])):Gn("",!0)}});var fy=Object.defineProperty,by=(e,t)=>fy(e,"name",{value:t,configurable:!0});const ky=$r({__name:"SelfWidgetModal",props:{sdk:{},handle:{},self:{},context:{},firstMessage:{},onClose:{type:Function}},setup(e,{expose:t}){const r=e,i=Ft(r.self),n=Ft(r.context),o=Ft(r.firstMessage),a=Ft(!1);function s(e){void 0!==e.self&&(i.value=e.self),void 0!==e.context&&(n.value=e.context),void 0!==e.firstMessage&&(o.value=e.firstMessage)}function l(){a.value=!1,setTimeout(()=>{r.onClose&&r.onClose()},300)}function c(){a.value=!0}return ai(async()=>{await sr(),setTimeout(()=>{a.value=!0},10)}),by(s,"update"),by(l,"close"),by(c,"open"),t({update:s,close:l,open:c}),(t,r)=>(An(),jn(vy,{vis:a.value,"disable-teleport":!0,"modal-class":"max-w-4xl h-[80vh] md:h-[600px]","has-close":!1,"onUpdate:vis":r[0]||(r[0]=e=>a.value=e),onClose:l},{default:fr(()=>[qn(ty,{sdk:e.sdk,handle:e.handle,self:i.value,context:n.value,"first-message":o.value,"has-close":!0,onClose:l},null,8,["sdk","handle","self","context","first-message"])]),_:1},8,["vis"]))}}),wy=Object.freeze(Object.defineProperty({__proto__:null,default:ky},Symbol.toStringTag,{value:"Module"}));return e.FictionWidget=gs,e.default=gs,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),e}({});
|
|
1
|
+
var FictionWidget=function(e){"use strict";var t=Object.defineProperty,r=(e,r,i)=>((e,r,i)=>r in e?t(e,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[r]=i)(e,"symbol"!=typeof r?r+"":r,i),i=Object.defineProperty,n=(e,t,r)=>((e,t,r)=>t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);const o=e=>"symbol"==typeof e;let a;const s=()=>a||(a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(o)),s().requestIdleCallback,s().cancelIdleCallback;{const e=s(),t=(t,r)=>{let i;return(i=e[t])||(i=e[t]=[]),i.push(r),e=>{i.length>1?i.forEach(t=>t(e)):i[0](e)}};t("__VUE_INSTANCE_SETTERS__",e=>e),t("__VUE_SSR_SETTERS__",e=>e)}function l({prefix:e="id_"}={}){const t=e.length>=3?e.substring(0,3):e.padEnd(3,"_"),r=Math.floor(Date.now()/1e3).toString(16).padStart(8,"0");let i="";for(let n=0;n<16;n++)i+=Math.floor(16*Math.random()).toString(16);return t+r+i}g.default=g,g.stable=b,g.stableStringify=b;var c="[...]",d="[Circular]",h=[],u=[];function p(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function g(e,t,r,i){var n;void 0===i&&(i=p()),v(e,"",0,[],void 0,0,i);try{n=0===u.length?JSON.stringify(e,t,r):JSON.stringify(e,w(t),r)}catch(a){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==h.length;){var o=h.pop();4===o.length?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return n}function m(e,t,r,i){var n=Object.getOwnPropertyDescriptor(i,r);void 0!==n.get?n.configurable?(Object.defineProperty(i,r,{value:e}),h.push([i,r,t,n])):u.push([t,r,e]):(i[r]=e,h.push([i,r,t]))}function v(e,t,r,i,n,o,a){var s;if(o+=1,"object"==typeof e&&null!==e){for(s=0;s<i.length;s++)if(i[s]===e)return void m(d,e,t,n);if(void 0!==a.depthLimit&&o>a.depthLimit)return void m(c,e,t,n);if(void 0!==a.edgesLimit&&r+1>a.edgesLimit)return void m(c,e,t,n);if(i.push(e),Array.isArray(e))for(s=0;s<e.length;s++)v(e[s],s,s,i,e,o,a);else{var l=Object.keys(e);for(s=0;s<l.length;s++){var h=l[s];v(e[h],h,s,i,e,o,a)}}i.pop()}}function f(e,t){return e<t?-1:e>t?1:0}function b(e,t,r,i){void 0===i&&(i=p());var n,o=k(e,"",0,[],void 0,0,i)||e;try{n=0===u.length?JSON.stringify(o,t,r):JSON.stringify(o,w(t),r)}catch(s){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==h.length;){var a=h.pop();4===a.length?Object.defineProperty(a[0],a[1],a[3]):a[0][a[1]]=a[2]}}return n}function k(e,t,r,i,n,o,a){var s;if(o+=1,"object"==typeof e&&null!==e){for(s=0;s<i.length;s++)if(i[s]===e)return void m(d,e,t,n);try{if("function"==typeof e.toJSON)return}catch(g){return}if(void 0!==a.depthLimit&&o>a.depthLimit)return void m(c,e,t,n);if(void 0!==a.edgesLimit&&r+1>a.edgesLimit)return void m(c,e,t,n);if(i.push(e),Array.isArray(e))for(s=0;s<e.length;s++)k(e[s],s,s,i,e,o,a);else{var l={},u=Object.keys(e).sort(f);for(s=0;s<u.length;s++){var p=u[s];k(e[p],p,s,i,e,o,a),l[p]=e[p]}if(void 0===n)return l;h.push([n,t,e]),n[t]=l}i.pop()}}function w(e){return e=void 0!==e?e:function(e,t){return t},function(t,r){if(u.length>0)for(var i=0;i<u.length;i++){var n=u[i];if(n[1]===t&&n[0]===r){r=n[2],u.splice(i,1);break}}return e.call(this,t,r)}}!function(){var e=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function t(e,t){var r=e[0],i=e[1],n=e[2],o=e[3];i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&n|~i&o)+t[0]-680876936|0)<<7|r>>>25)+i|0)&i|~r&n)+t[1]-389564586|0)<<12|o>>>20)+r|0)&r|~o&i)+t[2]+606105819|0)<<17|n>>>15)+o|0)&o|~n&r)+t[3]-1044525330|0)<<22|i>>>10)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&n|~i&o)+t[4]-176418897|0)<<7|r>>>25)+i|0)&i|~r&n)+t[5]+1200080426|0)<<12|o>>>20)+r|0)&r|~o&i)+t[6]-1473231341|0)<<17|n>>>15)+o|0)&o|~n&r)+t[7]-45705983|0)<<22|i>>>10)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&n|~i&o)+t[8]+1770035416|0)<<7|r>>>25)+i|0)&i|~r&n)+t[9]-1958414417|0)<<12|o>>>20)+r|0)&r|~o&i)+t[10]-42063|0)<<17|n>>>15)+o|0)&o|~n&r)+t[11]-1990404162|0)<<22|i>>>10)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&n|~i&o)+t[12]+1804603682|0)<<7|r>>>25)+i|0)&i|~r&n)+t[13]-40341101|0)<<12|o>>>20)+r|0)&r|~o&i)+t[14]-1502002290|0)<<17|n>>>15)+o|0)&o|~n&r)+t[15]+1236535329|0)<<22|i>>>10)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&o|n&~o)+t[1]-165796510|0)<<5|r>>>27)+i|0)&n|i&~n)+t[6]-1069501632|0)<<9|o>>>23)+r|0)&i|r&~i)+t[11]+643717713|0)<<14|n>>>18)+o|0)&r|o&~r)+t[0]-373897302|0)<<20|i>>>12)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&o|n&~o)+t[5]-701558691|0)<<5|r>>>27)+i|0)&n|i&~n)+t[10]+38016083|0)<<9|o>>>23)+r|0)&i|r&~i)+t[15]-660478335|0)<<14|n>>>18)+o|0)&r|o&~r)+t[4]-405537848|0)<<20|i>>>12)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&o|n&~o)+t[9]+568446438|0)<<5|r>>>27)+i|0)&n|i&~n)+t[14]-1019803690|0)<<9|o>>>23)+r|0)&i|r&~i)+t[3]-187363961|0)<<14|n>>>18)+o|0)&r|o&~r)+t[8]+1163531501|0)<<20|i>>>12)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i&o|n&~o)+t[13]-1444681467|0)<<5|r>>>27)+i|0)&n|i&~n)+t[2]-51403784|0)<<9|o>>>23)+r|0)&i|r&~i)+t[7]+1735328473|0)<<14|n>>>18)+o|0)&r|o&~r)+t[12]-1926607734|0)<<20|i>>>12)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i^n^o)+t[5]-378558|0)<<4|r>>>28)+i|0)^i^n)+t[8]-2022574463|0)<<11|o>>>21)+r|0)^r^i)+t[11]+1839030562|0)<<16|n>>>16)+o|0)^o^r)+t[14]-35309556|0)<<23|i>>>9)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i^n^o)+t[1]-1530992060|0)<<4|r>>>28)+i|0)^i^n)+t[4]+1272893353|0)<<11|o>>>21)+r|0)^r^i)+t[7]-155497632|0)<<16|n>>>16)+o|0)^o^r)+t[10]-1094730640|0)<<23|i>>>9)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i^n^o)+t[13]+681279174|0)<<4|r>>>28)+i|0)^i^n)+t[0]-358537222|0)<<11|o>>>21)+r|0)^r^i)+t[3]-722521979|0)<<16|n>>>16)+o|0)^o^r)+t[6]+76029189|0)<<23|i>>>9)+n|0,i=((i+=((n=((n+=((o=((o+=((r=((r+=(i^n^o)+t[9]-640364487|0)<<4|r>>>28)+i|0)^i^n)+t[12]-421815835|0)<<11|o>>>21)+r|0)^r^i)+t[15]+530742520|0)<<16|n>>>16)+o|0)^o^r)+t[2]-995338651|0)<<23|i>>>9)+n|0,i=((i+=((o=((o+=(i^((r=((r+=(n^(i|~o))+t[0]-198630844|0)<<6|r>>>26)+i|0)|~n))+t[7]+1126891415|0)<<10|o>>>22)+r|0)^((n=((n+=(r^(o|~i))+t[14]-1416354905|0)<<15|n>>>17)+o|0)|~r))+t[5]-57434055|0)<<21|i>>>11)+n|0,i=((i+=((o=((o+=(i^((r=((r+=(n^(i|~o))+t[12]+1700485571|0)<<6|r>>>26)+i|0)|~n))+t[3]-1894986606|0)<<10|o>>>22)+r|0)^((n=((n+=(r^(o|~i))+t[10]-1051523|0)<<15|n>>>17)+o|0)|~r))+t[1]-2054922799|0)<<21|i>>>11)+n|0,i=((i+=((o=((o+=(i^((r=((r+=(n^(i|~o))+t[8]+1873313359|0)<<6|r>>>26)+i|0)|~n))+t[15]-30611744|0)<<10|o>>>22)+r|0)^((n=((n+=(r^(o|~i))+t[6]-1560198380|0)<<15|n>>>17)+o|0)|~r))+t[13]+1309151649|0)<<21|i>>>11)+n|0,i=((i+=((o=((o+=(i^((r=((r+=(n^(i|~o))+t[4]-145523070|0)<<6|r>>>26)+i|0)|~n))+t[11]-1120210379|0)<<10|o>>>22)+r|0)^((n=((n+=(r^(o|~i))+t[2]+718787259|0)<<15|n>>>17)+o|0)|~r))+t[9]-343485551|0)<<21|i>>>11)+n|0,e[0]=r+e[0]|0,e[1]=i+e[1]|0,e[2]=n+e[2]|0,e[3]=o+e[3]|0}function r(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return r}function i(e){var t,r=[];for(t=0;t<64;t+=4)r[t>>2]=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24);return r}function n(e){var i,n,o,a,s,l,c=e.length,d=[1732584193,-271733879,-1732584194,271733878];for(i=64;i<=c;i+=64)t(d,r(e.substring(i-64,i)));for(n=(e=e.substring(i-64)).length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=0;i<n;i+=1)o[i>>2]|=e.charCodeAt(i)<<(i%4<<3);if(o[i>>2]|=128<<(i%4<<3),i>55)for(t(d,o),i=0;i<16;i+=1)o[i]=0;return a=(a=8*c).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),l=parseInt(a[1],16)||0,o[14]=s,o[15]=l,t(d,o),d}function o(t){var r,i="";for(r=0;r<4;r+=1)i+=e[t>>8*r+4&15]+e[t>>8*r&15];return i}function a(e){var t;for(t=0;t<e.length;t+=1)e[t]=o(e[t]);return e.join("")}function s(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function l(e){var t,r=[],i=e.length;for(t=0;t<i-1;t+=2)r.push(parseInt(e.substr(t,2),16));return String.fromCharCode.apply(String,r)}function c(){this.reset()}a(n("hello")),"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function e(e,t){return(e=0|e||0)<0?Math.max(e+t,0):Math.min(e,t)}ArrayBuffer.prototype.slice=function(t,r){var i,n,o,a,s=this.byteLength,l=e(t,s),c=s;return undefined!==r&&(c=e(r,s)),l>c?new ArrayBuffer(0):(i=c-l,n=new ArrayBuffer(i),o=new Uint8Array(n),a=new Uint8Array(this,l,i),o.set(a),n)}}(),c.prototype.append=function(e){return this.appendBinary(s(e)),this},c.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var i,n=this._buff.length;for(i=64;i<=n;i+=64)t(this._hash,r(this._buff.substring(i-64,i)));return this._buff=this._buff.substring(i-64),this},c.prototype.end=function(e){var t,r,i=this._buff,n=i.length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<n;t+=1)o[t>>2]|=i.charCodeAt(t)<<(t%4<<3);return this._finish(o,n),r=a(this._hash),e&&(r=l(r)),this.reset(),r},c.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},c.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},c.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this},c.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},c.prototype._finish=function(e,r){var i,n,o,a=r;if(e[a>>2]|=128<<(a%4<<3),a>55)for(t(this._hash,e),a=0;a<16;a+=1)e[a]=0;i=(i=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),n=parseInt(i[2],16),o=parseInt(i[1],16)||0,e[14]=n,e[15]=o,t(this._hash,e)},c.hash=function(e,t){return c.hashBinary(s(e),t)},c.hashBinary=function(e,t){var r=a(n(e));return t?l(r):r},c.ArrayBuffer=function(){this.reset()},c.ArrayBuffer.prototype.append=function(e){var r,n,o,a,s=(n=this._buff.buffer,o=e,(a=new Uint8Array(n.byteLength+o.byteLength)).set(new Uint8Array(n)),a.set(new Uint8Array(o),n.byteLength),a),l=s.length;for(this._length+=e.byteLength,r=64;r<=l;r+=64)t(this._hash,i(s.subarray(r-64,r)));return this._buff=r-64<l?new Uint8Array(s.buffer.slice(r-64)):new Uint8Array(0),this},c.ArrayBuffer.prototype.end=function(e){var t,r,i=this._buff,n=i.length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<n;t+=1)o[t>>2]|=i[t]<<(t%4<<3);return this._finish(o,n),r=a(this._hash),e&&(r=l(r)),this.reset(),r},c.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},c.ArrayBuffer.prototype.getState=function(){var e,t=c.prototype.getState.call(this);return t.buff=(e=t.buff,String.fromCharCode.apply(null,new Uint8Array(e))),t},c.ArrayBuffer.prototype.setState=function(e){return e.buff=function(e,t){var r,i=e.length,n=new ArrayBuffer(i),o=new Uint8Array(n);for(r=0;r<i;r+=1)o[r]=e.charCodeAt(r);return t?o:n}(e.buff,!0),c.prototype.setState.call(this,e)},c.ArrayBuffer.prototype.destroy=c.prototype.destroy,c.ArrayBuffer.prototype._finish=c.prototype._finish,c.ArrayBuffer.hash=function(e,r){var n=a(function(e){var r,n,o,a,s,l,c=e.length,d=[1732584193,-271733879,-1732584194,271733878];for(r=64;r<=c;r+=64)t(d,i(e.subarray(r-64,r)));for(n=(e=r-64<c?e.subarray(r-64):new Uint8Array(0)).length,o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],r=0;r<n;r+=1)o[r>>2]|=e[r]<<(r%4<<3);if(o[r>>2]|=128<<(r%4<<3),r>55)for(t(d,o),r=0;r<16;r+=1)o[r]=0;return a=(a=8*c).toString(16).match(/(.*?)(.{0,8})$/),s=parseInt(a[2],16),l=parseInt(a[1],16)||0,o[14]=s,o[15]=l,t(d,o),d}(new Uint8Array(e)));return r?l(n):n}}();const y="undefined"!=typeof window,x=!y&&"undefined"!=typeof globalThis&&void 0!==globalThis.process,C={error:{priority:50,color:"#FF0000",nodeColor:"\x1b[31m"},warn:{priority:40,color:"#FFA500",nodeColor:"\x1b[33m"},info:{priority:30,color:"#00ABFF",nodeColor:"\x1b[36m"},debug:{priority:20,color:"#00BD0C",nodeColor:"\x1b[32m"},trace:{priority:10,color:"#5233FF",nodeColor:"\x1b[35m"}};class S{constructor(e={},t){n(this,"settings"),n(this,"enabledInBrowser",!1),n(this,"context"),this.context=t,this.settings={enabled:e.enabled??!0,minLevel:e.minLevel??(this.isProduction()?"info":"trace"),colors:e.colors??!0,timestamps:e.timestamps??!0},y&&this.initBrowserLogging()}isProduction(){var e,t;if(x)return"production"===(null==(t=null==(e=globalThis.process)?void 0:e.env)?void 0:t.NODE_ENV);if(y&&window.location){const e=window.location.hostname;return"localhost"!==e&&!e.includes("127.0.0.1")}return!1}initBrowserLogging(){var e;if(!y)return;const t=(null==(e=window.location)?void 0:e.hostname)||"";this.enabledInBrowser=!this.isProduction()||"localhost"===t||t.includes("127.0.0.1")||"true"===localStorage.getItem("enableLogging"),!this.enabledInBrowser&&this.isProduction()}shouldLog(e){return!!this.settings.enabled&&(!(y&&!this.enabledInBrowser)&&C[e].priority>=C[this.settings.minLevel].priority)}formatTimestamp(){return(new Date).toLocaleTimeString("en-GB",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}formatData(e,t=5,r=0,i=12e3,n=100){var o,a,s;if(r>=t)return`[Max Depth Reached: ${t}]`;if(null==e)return e;if(e instanceof Error)return{name:e.name,message:e.message,stack:null==(o=e.stack)?void 0:o.split("\n").slice(0,5).join("\n")};if(e instanceof Date)return`DATE: ${e.toISOString()}`;if("object"!=typeof e)return e;if(Array.isArray(e))return e.length>20?`Array(${e.length}) [${e.slice(0,3).map(e=>this.formatData(e,t,r+1,i,n)).join(", ")}, ...]`:e.map(e=>this.formatData(e,t,r+1,i,n));try{const t=JSON.stringify(e);if(t.length>i){return`[${(a=e)instanceof Map?"Map":a instanceof Set?"Set":(null==(s=a.constructor)?void 0:s.name)??"Object"}: ${Object.keys(e).length} properties, Size: ${t.length}/${i}]`}}catch{return"[Circular Reference or Unserializable]"}const l={},c=Object.entries(e).slice(0,n);for(const[d,h]of c)try{l[d]=this.formatData(h,t,r+1,i,n)}catch{l[d]="[Circular or Unserializable]"}return Object.keys(e).length>n&&(l["..."]=Object.keys(e).length-n+" more properties"),l}logToBrowser(e){if(!y||!this.shouldLog(e.level))return;const{level:t,description:r,context:i,data:n,error:o}=e,a=C[t];i||this.context,this.settings.timestamps&&this.formatTimestamp(),a.color,a.color,a.color,a.color,void 0!==n&&n instanceof Error&&n.stack}logError(e){const{error:t,context:r="Unknown Context",description:i}=e,n=t,o=(this.formatTimestamp(),"\x1b[0m");`\x1b[31m(${r}):${o}`.padEnd(15),n.message;n.message,n.stack&&n.stack.split("\n").slice(1,6).map(e=>`\x1b[2m${e.trim()}${o}`).join("\n")}logToNode(e){if(!x||!this.shouldLog(e.level))return;const{level:t,description:r,context:i,data:n,error:o}=e,a=C[t],s=i||this.context||"app";this.settings.timestamps&&this.formatTimestamp();if(o)return void this.logError({error:o,context:s,description:r});const l=this.settings.colors?a.nodeColor:"";t.toUpperCase(),`${l}(${s}):\x1b[0m`.padEnd(15),void 0!==n&&(n instanceof Error?this.logError({error:n,context:s}):this.formatData(n))}log(e){y?this.logToBrowser(e):x&&this.logToNode(e)}error(e,t){this.log({level:"error",description:e,data:t,context:this.context})}warn(e,t){this.log({level:"warn",description:e,data:t,context:this.context})}info(e,t){this.log({level:"info",description:e,data:t,context:this.context})}debug(e,t){this.log({level:"debug",description:e,data:t,context:this.context})}trace(e,t){this.log({level:"trace",description:e,data:t,context:this.context})}createContextLogger(e){const t=new S(this.settings,e);return{error:(e,r)=>t.error(e,r),warn:(e,r)=>t.warn(e,r),info:(e,r)=>t.info(e,r),debug:(e,r)=>t.debug(e,r),trace:(e,r)=>t.trace(e,r)}}setLevel(e){this.settings.minLevel=e}setEnabled(e){this.settings.enabled=e}}const T=new S;function E(e){const t=Object.create(null);for(const r of e.split(","))t[r]=1;return e=>e in t}T.error.bind(T),T.warn.bind(T),T.info.bind(T),T.debug.bind(T),T.trace.bind(T),new class{constructor(e=".body-content"){n(this,"originalBodyPosition"),n(this,"originalBodyTop"),n(this,"originalBodyLeft"),n(this,"originalBodyWidth"),n(this,"originalBodyOverflow"),n(this,"originalScrollPosition"),n(this,"siteContentElement"),n(this,"isActivated",!1),n(this,"clearTimeout"),this.originalBodyPosition="",this.originalBodyTop="",this.originalBodyLeft="",this.originalBodyWidth="",this.originalBodyOverflow="",this.originalScrollPosition=0,"undefined"!=typeof document&&(this.siteContentElement=document.querySelector(e))}activate(){if("undefined"==typeof document)return;this.clearTimeout&&clearTimeout(this.clearTimeout),this.isActivated=!0,this.originalBodyPosition=document.body.style.position,this.originalBodyTop=document.body.style.top,this.originalBodyLeft=document.body.style.left,this.originalBodyWidth=document.body.style.width,this.originalBodyOverflow=document.body.style.overflow,this.originalScrollPosition=window.pageYOffset;const e=window.innerHeight,t=document.documentElement.scrollHeight-e,r=t>0?this.originalScrollPosition/t:0,i=Math.min(Math.max(100*r,30),70);document.body.style.position="fixed",document.body.style.top=`-${this.originalScrollPosition}px`,document.body.style.left="0",document.body.style.width="100%",document.body.style.overflow="hidden",this.siteContentElement&&(this.siteContentElement.style.transformOrigin=`center ${i}%`,this.siteContentElement.style.transform="scale(.96)",this.siteContentElement.style.transition="transform .75s cubic-bezier(0.25, 1, 0.33, 1)",this.siteContentElement.style.overflow="hidden")}deactivate(){"undefined"!=typeof document&&this.isActivated&&(this.isActivated=!1,document.body.style.position=this.originalBodyPosition,document.body.style.top=this.originalBodyTop,document.body.style.left=this.originalBodyLeft,document.body.style.width=this.originalBodyWidth,document.body.style.overflow=this.originalBodyOverflow,this.siteContentElement&&(this.siteContentElement.style.transform="scale(1)",this.siteContentElement.style.overflow=""),window.scrollTo(0,this.originalScrollPosition),this.clearTimeout=setTimeout(()=>{this.siteContentElement&&(this.siteContentElement.style.transform="",this.siteContentElement.style.transformOrigin="",this.siteContentElement.style.transition="")},1500))}},new class{constructor(){n(this,"callbacks",new Set),n(this,"initialized",!1)}get _testCallbacks(){return this.callbacks}get _testInitialized(){return this.initialized}set _testInitialized(e){this.initialized=e}onReset(e){return"undefined"==typeof window?()=>{}:(this.callbacks.add(e),this.init(),()=>this.callbacks.delete(e))}reset(){this.callbacks.forEach(e=>{try{e()}catch(t){}})}init(){this.initialized||"undefined"==typeof window||(this.initialized=!0,window.addEventListener("keydown",e=>{"Escape"===e.key&&this.reset()}),window.addEventListener("click",()=>this.reset()),this.initRouteWatcher())}initRouteWatcher(){window.addEventListener("popstate",()=>this.reset());const e=history.pushState.bind(history),t=history.replaceState.bind(history);history.pushState=(...t)=>{e(...t),setTimeout(()=>this.reset(),0)},history.replaceState=(...e)=>{t(...e),setTimeout(()=>this.reset(),0)}}};const I={},P=[],_=()=>{},M=()=>!1,R=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),A=e=>e.startsWith("onUpdate:"),O=Object.assign,D=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},L=Object.prototype.hasOwnProperty,N=(e,t)=>L.call(e,t),j=Array.isArray,U=e=>"[object Map]"===$(e),z=e=>"[object Set]"===$(e),F=e=>"function"==typeof e,B=e=>"string"==typeof e,V=e=>"symbol"==typeof e,q=e=>null!==e&&"object"==typeof e,H=e=>(q(e)||F(e))&&F(e.then)&&F(e.catch),W=Object.prototype.toString,$=e=>W.call(e),G=e=>"[object Object]"===$(e),J=e=>B(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,K=E(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Q=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},Z=/-\w/g,Y=Q(e=>e.replace(Z,e=>e.slice(1).toUpperCase())),X=/\B([A-Z])/g,ee=Q(e=>e.replace(X,"-$1").toLowerCase()),te=Q(e=>e.charAt(0).toUpperCase()+e.slice(1)),re=Q(e=>e?`on${te(e)}`:""),ie=(e,t)=>!Object.is(e,t),ne=(e,...t)=>{for(let r=0;r<e.length;r++)e[r](...t)},oe=(e,t,r,i=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:r})},ae=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let se;const le=()=>se||(se="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function ce(e){if(j(e)){const t={};for(let r=0;r<e.length;r++){const i=e[r],n=B(i)?pe(i):ce(i);if(n)for(const e in n)t[e]=n[e]}return t}if(B(e)||q(e))return e}const de=/;(?![^(]*\))/g,he=/:([^]+)/,ue=/\/\*[^]*?\*\//g;function pe(e){const t={};return e.replace(ue,"").split(de).forEach(e=>{if(e){const r=e.split(he);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ge(e){let t="";if(B(e))t=e;else if(j(e))for(let r=0;r<e.length;r++){const i=ge(e[r]);i&&(t+=i+" ")}else if(q(e))for(const r in e)e[r]&&(t+=r+" ");return t.trim()}function me(e){if(!e)return null;let{class:t,style:r}=e;return t&&!B(t)&&(e.class=ge(t)),r&&(e.style=ce(r)),e}const ve=E("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function fe(e){return!!e||""===e}const be=e=>!(!e||!0!==e.__v_isRef),ke=e=>B(e)?e:null==e?"":j(e)||q(e)&&(e.toString===W||!F(e.toString))?be(e)?ke(e.value):JSON.stringify(e,we,2):String(e),we=(e,t)=>be(t)?we(e,t.value):U(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,r],i)=>(e[ye(t,i)+" =>"]=r,e),{})}:z(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>ye(e))}:V(t)?ye(t):!q(t)||j(t)||G(t)?t:String(t),ye=(e,t="")=>{var r;return V(e)?`Symbol(${null!=(r=e.description)?r:t})`:e};let xe,Ce;class Se{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=xe,!e&&xe&&(this.index=(xe.scopes||(xe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){let e,t;if(this._isPaused=!1,this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){const t=xe;try{return xe=this,e()}finally{xe=t}}}on(){1===++this._on&&(this.prevScope=xe,xe=this)}off(){this._on>0&&0===--this._on&&(xe=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,r;for(this._active=!1,t=0,r=this.effects.length;t<r;t++)this.effects[t].stop();for(this.effects.length=0,t=0,r=this.cleanups.length;t<r;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,r=this.scopes.length;t<r;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){const e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}}const Te=new WeakSet;class Ee{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,xe&&xe.active&&xe.effects.push(this)}pause(){this.flags|=64}resume(){64&this.flags&&(this.flags&=-65,Te.has(this)&&(Te.delete(this),this.trigger()))}notify(){2&this.flags&&!(32&this.flags)||8&this.flags||Me(this)}run(){if(!(1&this.flags))return this.fn();this.flags|=2,qe(this),Oe(this);const e=Ce,t=ze;Ce=this,ze=!0;try{return this.fn()}finally{De(this),Ce=e,ze=t,this.flags&=-3}}stop(){if(1&this.flags){for(let e=this.deps;e;e=e.nextDep)je(e);this.deps=this.depsTail=void 0,qe(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){64&this.flags?Te.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Le(this)&&this.run()}get dirty(){return Le(this)}}let Ie,Pe,_e=0;function Me(e,t=!1){if(e.flags|=8,t)return e.next=Pe,void(Pe=e);e.next=Ie,Ie=e}function Re(){_e++}function Ae(){if(--_e>0)return;if(Pe){let e=Pe;for(Pe=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ie;){let r=Ie;for(Ie=void 0;r;){const i=r.next;if(r.next=void 0,r.flags&=-9,1&r.flags)try{r.trigger()}catch(t){e||(e=t)}r=i}}if(e)throw e}function Oe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function De(e){let t,r=e.depsTail,i=r;for(;i;){const e=i.prevDep;-1===i.version?(i===r&&(r=e),je(i),Ue(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=e}e.deps=t,e.depsTail=r}function Le(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ne(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ne(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===He)return;if(e.globalVersion=He,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!Le(e)))return;e.flags|=2;const t=e.dep,r=Ce,i=ze;Ce=e,ze=!0;try{Oe(e);const r=e.fn(e._value);(0===t.version||ie(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(n){throw t.version++,n}finally{Ce=r,ze=i,De(e),e.flags&=-3}}function je(e,t=!1){const{dep:r,prevSub:i,nextSub:n}=e;if(i&&(i.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=i,e.nextSub=void 0),r.subs===e&&(r.subs=i,!i&&r.computed)){r.computed.flags&=-5;for(let e=r.computed.deps;e;e=e.nextDep)je(e,!0)}t||--r.sc||!r.map||r.map.delete(r.key)}function Ue(e){const{prevDep:t,nextDep:r}=e;t&&(t.nextDep=r,e.prevDep=void 0),r&&(r.prevDep=t,e.nextDep=void 0)}let ze=!0;const Fe=[];function Be(){Fe.push(ze),ze=!1}function Ve(){const e=Fe.pop();ze=void 0===e||e}function qe(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=Ce;Ce=void 0;try{t()}finally{Ce=e}}}let He=0;class We{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class $e{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!Ce||!ze||Ce===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==Ce)t=this.activeLink=new We(Ce,this),Ce.deps?(t.prevDep=Ce.depsTail,Ce.depsTail.nextDep=t,Ce.depsTail=t):Ce.deps=Ce.depsTail=t,Ge(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Ce.depsTail,t.nextDep=void 0,Ce.depsTail.nextDep=t,Ce.depsTail=t,Ce.deps===t&&(Ce.deps=e)}return t}trigger(e){this.version++,He++,this.notify(e)}notify(e){Re();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ae()}}}function Ge(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Ge(e)}const r=e.dep.subs;r!==e&&(e.prevSub=r,r&&(r.nextSub=e)),e.dep.subs=e}}const Je=new WeakMap,Ke=Symbol(""),Qe=Symbol(""),Ze=Symbol("");function Ye(e,t,r){if(ze&&Ce){let t=Je.get(e);t||Je.set(e,t=new Map);let i=t.get(r);i||(t.set(r,i=new $e),i.map=t,i.key=r),i.track()}}function Xe(e,t,r,i,n,o){const a=Je.get(e);if(!a)return void He++;const s=e=>{e&&e.trigger()};if(Re(),"clear"===t)a.forEach(s);else{const n=j(e),o=n&&J(r);if(n&&"length"===r){const e=Number(i);a.forEach((t,r)=>{("length"===r||r===Ze||!V(r)&&r>=e)&&s(t)})}else switch((void 0!==r||a.has(void 0))&&s(a.get(r)),o&&s(a.get(Ze)),t){case"add":n?o&&s(a.get("length")):(s(a.get(Ke)),U(e)&&s(a.get(Qe)));break;case"delete":n||(s(a.get(Ke)),U(e)&&s(a.get(Qe)));break;case"set":U(e)&&s(a.get(Ke))}}Ae()}function et(e){const t=Nt(e);return t===e?t:(Ye(t,0,Ze),Dt(e)?t:t.map(jt))}function tt(e){return Ye(e=Nt(e),0,Ze),e}const rt={__proto__:null,[Symbol.iterator](){return it(this,Symbol.iterator,jt)},concat(...e){return et(this).concat(...e.map(e=>j(e)?et(e):e))},entries(){return it(this,"entries",e=>(e[1]=jt(e[1]),e))},every(e,t){return ot(this,"every",e,t,void 0,arguments)},filter(e,t){return ot(this,"filter",e,t,e=>e.map(jt),arguments)},find(e,t){return ot(this,"find",e,t,jt,arguments)},findIndex(e,t){return ot(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ot(this,"findLast",e,t,jt,arguments)},findLastIndex(e,t){return ot(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ot(this,"forEach",e,t,void 0,arguments)},includes(...e){return st(this,"includes",e)},indexOf(...e){return st(this,"indexOf",e)},join(e){return et(this).join(e)},lastIndexOf(...e){return st(this,"lastIndexOf",e)},map(e,t){return ot(this,"map",e,t,void 0,arguments)},pop(){return lt(this,"pop")},push(...e){return lt(this,"push",e)},reduce(e,...t){return at(this,"reduce",e,t)},reduceRight(e,...t){return at(this,"reduceRight",e,t)},shift(){return lt(this,"shift")},some(e,t){return ot(this,"some",e,t,void 0,arguments)},splice(...e){return lt(this,"splice",e)},toReversed(){return et(this).toReversed()},toSorted(e){return et(this).toSorted(e)},toSpliced(...e){return et(this).toSpliced(...e)},unshift(...e){return lt(this,"unshift",e)},values(){return it(this,"values",jt)}};function it(e,t,r){const i=tt(e),n=i[t]();return i===e||Dt(e)||(n._next=n.next,n.next=()=>{const e=n._next();return e.done||(e.value=r(e.value)),e}),n}const nt=Array.prototype;function ot(e,t,r,i,n,o){const a=tt(e),s=a!==e&&!Dt(e),l=a[t];if(l!==nt[t]){const t=l.apply(e,o);return s?jt(t):t}let c=r;a!==e&&(s?c=function(t,i){return r.call(this,jt(t),i,e)}:r.length>2&&(c=function(t,i){return r.call(this,t,i,e)}));const d=l.call(a,c,i);return s&&n?n(d):d}function at(e,t,r,i){const n=tt(e);let o=r;return n!==e&&(Dt(e)?r.length>3&&(o=function(t,i,n){return r.call(this,t,i,n,e)}):o=function(t,i,n){return r.call(this,t,jt(i),n,e)}),n[t](o,...i)}function st(e,t,r){const i=Nt(e);Ye(i,0,Ze);const n=i[t](...r);return-1!==n&&!1!==n||!Lt(r[0])?n:(r[0]=Nt(r[0]),i[t](...r))}function lt(e,t,r=[]){Be(),Re();const i=Nt(e)[t].apply(e,r);return Ae(),Ve(),i}const ct=E("__proto__,__v_isRef,__isVue"),dt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(V));function ht(e){V(e)||(e=String(e));const t=Nt(this);return Ye(t,0,e),t.hasOwnProperty(e)}class ut{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,r){if("__v_skip"===t)return e.__v_skip;const i=this._isReadonly,n=this._isShallow;if("__v_isReactive"===t)return!i;if("__v_isReadonly"===t)return i;if("__v_isShallow"===t)return n;if("__v_raw"===t)return r===(i?n?Pt:It:n?Et:Tt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(r)?e:void 0;const o=j(e);if(!i){let e;if(o&&(e=rt[t]))return e;if("hasOwnProperty"===t)return ht}const a=Reflect.get(e,t,zt(e)?e:r);if(V(t)?dt.has(t):ct(t))return a;if(i||Ye(e,0,t),n)return a;if(zt(a)){const e=o&&J(t)?a:a.value;return i&&q(e)?Mt(e):e}return q(a)?i?Mt(a):_t(a):a}}class pt extends ut{constructor(e=!1){super(!1,e)}set(e,t,r,i){let n=e[t];if(!this._isShallow){const t=Ot(n);if(Dt(r)||Ot(r)||(n=Nt(n),r=Nt(r)),!j(e)&&zt(n)&&!zt(r))return t||(n.value=r),!0}const o=j(e)&&J(t)?Number(t)<e.length:N(e,t),a=Reflect.set(e,t,r,zt(e)?e:i);return e===Nt(i)&&(o?ie(r,n)&&Xe(e,"set",t,r):Xe(e,"add",t,r)),a}deleteProperty(e,t){const r=N(e,t);e[t];const i=Reflect.deleteProperty(e,t);return i&&r&&Xe(e,"delete",t,void 0),i}has(e,t){const r=Reflect.has(e,t);return V(t)&&dt.has(t)||Ye(e,0,t),r}ownKeys(e){return Ye(e,0,j(e)?"length":Ke),Reflect.ownKeys(e)}}class gt extends ut{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}}const mt=new pt,vt=new gt,ft=new pt(!0),bt=e=>e,kt=e=>Reflect.getPrototypeOf(e);function wt(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function yt(e,t){const r=function(e,t){const r={get(r){const i=this.__v_raw,n=Nt(i),o=Nt(r);e||(ie(r,o)&&Ye(n,0,r),Ye(n,0,o));const{has:a}=kt(n),s=t?bt:e?Ut:jt;return a.call(n,r)?s(i.get(r)):a.call(n,o)?s(i.get(o)):void(i!==n&&i.get(r))},get size(){const t=this.__v_raw;return!e&&Ye(Nt(t),0,Ke),t.size},has(t){const r=this.__v_raw,i=Nt(r),n=Nt(t);return e||(ie(t,n)&&Ye(i,0,t),Ye(i,0,n)),t===n?r.has(t):r.has(t)||r.has(n)},forEach(r,i){const n=this,o=n.__v_raw,a=Nt(o),s=t?bt:e?Ut:jt;return!e&&Ye(a,0,Ke),o.forEach((e,t)=>r.call(i,s(e),s(t),n))}};return O(r,e?{add:wt("add"),set:wt("set"),delete:wt("delete"),clear:wt("clear")}:{add(e){t||Dt(e)||Ot(e)||(e=Nt(e));const r=Nt(this);return kt(r).has.call(r,e)||(r.add(e),Xe(r,"add",e,e)),this},set(e,r){t||Dt(r)||Ot(r)||(r=Nt(r));const i=Nt(this),{has:n,get:o}=kt(i);let a=n.call(i,e);a||(e=Nt(e),a=n.call(i,e));const s=o.call(i,e);return i.set(e,r),a?ie(r,s)&&Xe(i,"set",e,r):Xe(i,"add",e,r),this},delete(e){const t=Nt(this),{has:r,get:i}=kt(t);let n=r.call(t,e);n||(e=Nt(e),n=r.call(t,e)),i&&i.call(t,e);const o=t.delete(e);return n&&Xe(t,"delete",e,void 0),o},clear(){const e=Nt(this),t=0!==e.size,r=e.clear();return t&&Xe(e,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(i=>{r[i]=function(e,t,r){return function(...i){const n=this.__v_raw,o=Nt(n),a=U(o),s="entries"===e||e===Symbol.iterator&&a,l="keys"===e&&a,c=n[e](...i),d=r?bt:t?Ut:jt;return!t&&Ye(o,0,l?Qe:Ke),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:s?[d(e[0]),d(e[1])]:d(e),done:t}},[Symbol.iterator](){return this}}}}(i,e,t)}),r}(e,t);return(t,i,n)=>"__v_isReactive"===i?!e:"__v_isReadonly"===i?e:"__v_raw"===i?t:Reflect.get(N(r,i)&&i in t?r:t,i,n)}const xt={get:yt(!1,!1)},Ct={get:yt(!1,!0)},St={get:yt(!0,!1)},Tt=new WeakMap,Et=new WeakMap,It=new WeakMap,Pt=new WeakMap;function _t(e){return Ot(e)?e:Rt(e,!1,mt,xt,Tt)}function Mt(e){return Rt(e,!0,vt,St,It)}function Rt(e,t,r,i,n){if(!q(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const o=(a=e).__v_skip||!Object.isExtensible(a)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>$(e).slice(8,-1))(a));var a;if(0===o)return e;const s=n.get(e);if(s)return s;const l=new Proxy(e,2===o?i:r);return n.set(e,l),l}function At(e){return Ot(e)?At(e.__v_raw):!(!e||!e.__v_isReactive)}function Ot(e){return!(!e||!e.__v_isReadonly)}function Dt(e){return!(!e||!e.__v_isShallow)}function Lt(e){return!!e&&!!e.__v_raw}function Nt(e){const t=e&&e.__v_raw;return t?Nt(t):e}const jt=e=>q(e)?_t(e):e,Ut=e=>q(e)?Mt(e):e;function zt(e){return!!e&&!0===e.__v_isRef}function Ft(e){return Bt(e,!1)}function Bt(e,t){return zt(e)?e:new Vt(e,t)}class Vt{constructor(e,t){this.dep=new $e,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:Nt(e),this._value=t?e:jt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,r=this.__v_isShallow||Dt(e)||Ot(e);e=r?e:Nt(e),ie(e,t)&&(this._rawValue=e,this._value=r?e:jt(e),this.dep.trigger())}}function qt(e){return zt(e)?e.value:e}const Ht={get:(e,t,r)=>"__v_raw"===t?e:qt(Reflect.get(e,t,r)),set:(e,t,r,i)=>{const n=e[t];return zt(n)&&!zt(r)?(n.value=r,!0):Reflect.set(e,t,r,i)}};function Wt(e){return At(e)?e:new Proxy(e,Ht)}class $t{constructor(e,t,r){this.fn=e,this.setter=t,this._value=void 0,this.dep=new $e(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=He-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=r}notify(){if(this.flags|=16,!(8&this.flags)&&Ce!==this)return Me(this,!0),!0}get value(){const e=this.dep.track();return Ne(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const Gt={},Jt=new WeakMap;let Kt;function Qt(e,t=1/0,r){if(t<=0||!q(e)||e.__v_skip)return e;if(((r=r||new Map).get(e)||0)>=t)return e;if(r.set(e,t),t--,zt(e))Qt(e.value,t,r);else if(j(e))for(let i=0;i<e.length;i++)Qt(e[i],t,r);else if(z(e)||U(e))e.forEach(e=>{Qt(e,t,r)});else if(G(e)){for(const i in e)Qt(e[i],t,r);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&Qt(e[i],t,r)}return e}function Zt(e,t,r,i){try{return i?e(...i):e()}catch(n){Xt(n,t,r)}}function Yt(e,t,r,i){if(F(e)){const n=Zt(e,t,r,i);return n&&H(n)&&n.catch(e=>{Xt(e,t,r)}),n}if(j(e)){const n=[];for(let o=0;o<e.length;o++)n.push(Yt(e[o],t,r,i));return n}}function Xt(e,t,r,i=!0){t&&t.vnode;const{errorHandler:n,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||I;if(t){let i=t.parent;const o=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${r}`;for(;i;){const t=i.ec;if(t)for(let r=0;r<t.length;r++)if(!1===t[r](e,o,a))return;i=i.parent}if(n)return Be(),Zt(n,null,10,[e,o,a]),void Ve()}!function(e,t,r,i=!0,n=!1){if(n)throw e}(e,0,0,i,o)}const er=[];let tr=-1;const rr=[];let ir=null,nr=0;const or=Promise.resolve();let ar=null;function sr(e){const t=ar||or;return e?t.then(this?e.bind(this):e):t}function lr(e){if(!(1&e.flags)){const t=ur(e),r=er[er.length-1];!r||!(2&e.flags)&&t>=ur(r)?er.push(e):er.splice(function(e){let t=tr+1,r=er.length;for(;t<r;){const i=t+r>>>1,n=er[i],o=ur(n);o<e||o===e&&2&n.flags?t=i+1:r=i}return t}(t),0,e),e.flags|=1,cr()}}function cr(){ar||(ar=or.then(pr))}function dr(e,t,r=tr+1){for(;r<er.length;r++){const t=er[r];if(t&&2&t.flags){if(e&&t.id!==e.uid)continue;er.splice(r,1),r--,4&t.flags&&(t.flags&=-2),t(),4&t.flags||(t.flags&=-2)}}}function hr(e){if(rr.length){const e=[...new Set(rr)].sort((e,t)=>ur(e)-ur(t));if(rr.length=0,ir)return void ir.push(...e);for(ir=e,nr=0;nr<ir.length;nr++){const e=ir[nr];4&e.flags&&(e.flags&=-2),8&e.flags||e(),e.flags&=-2}ir=null,nr=0}}const ur=e=>null==e.id?2&e.flags?-1:1/0:e.id;function pr(e){try{for(tr=0;tr<er.length;tr++){const e=er[tr];!e||8&e.flags||(4&e.flags&&(e.flags&=-2),Zt(e,e.i,e.i?15:14),4&e.flags||(e.flags&=-2))}}finally{for(;tr<er.length;tr++){const e=er[tr];e&&(e.flags&=-2)}tr=-1,er.length=0,hr(),ar=null,(er.length||rr.length)&&pr()}}let gr=null,mr=null;function vr(e){const t=gr;return gr=e,mr=e&&e.type.__scopeId||null,t}function fr(e,t=gr,r){if(!t)return e;if(e._n)return e;const i=(...r)=>{i._d&&Dn(-1);const n=vr(t);let o;try{o=e(...r)}finally{vr(n),i._d&&Dn(1)}return o};return i._n=!0,i._c=!0,i._d=!0,i}function br(e,t){if(null===gr)return e;const r=po(gr),i=e.dirs||(e.dirs=[]);for(let n=0;n<t.length;n++){let[e,o,a,s=I]=t[n];e&&(F(e)&&(e={mounted:e,updated:e}),e.deep&&Qt(o),i.push({dir:e,instance:r,value:o,oldValue:void 0,arg:a,modifiers:s}))}return e}function kr(e,t,r,i){const n=e.dirs,o=t&&t.dirs;for(let a=0;a<n.length;a++){const s=n[a];o&&(s.oldValue=o[a].value);let l=s.dir[i];l&&(Be(),Yt(l,r,8,[e.el,s,e,t]),Ve())}}const wr=Symbol("_vte"),yr=e=>e.__isTeleport,xr=e=>e&&(e.disabled||""===e.disabled),Cr=e=>e&&(e.defer||""===e.defer),Sr=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,Tr=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,Er=(e,t)=>{const r=e&&e.to;return B(r)?t?t(r):null:r},Ir={name:"Teleport",__isTeleport:!0,process(e,t,r,i,n,o,a,s,l,c){const{mc:d,pc:h,pbc:u,o:{insert:p,querySelector:g,createText:m,createComment:v}}=c,f=xr(t.props);let{shapeFlag:b,children:k,dynamicChildren:w}=t;if(null==e){const e=t.el=m(""),c=t.anchor=m("");p(e,r,i),p(c,r,i);const h=(e,t)=>{16&b&&d(k,e,t,n,o,a,s,l)},u=()=>{const e=t.target=Er(t.props,g),r=Rr(e,t,m,p);e&&("svg"!==a&&Sr(e)?a="svg":"mathml"!==a&&Tr(e)&&(a="mathml"),n&&n.isCE&&(n.ce._teleportTargets||(n.ce._teleportTargets=new Set)).add(e),f||(h(e,r),Mr(t,!1)))};f&&(h(r,c),Mr(t,!0)),Cr(t.props)?(t.el.__isMounted=!1,rn(()=>{u(),delete t.el.__isMounted},o)):u()}else{if(Cr(t.props)&&!1===e.el.__isMounted)return void rn(()=>{Ir.process(e,t,r,i,n,o,a,s,l,c)},o);t.el=e.el,t.targetStart=e.targetStart;const d=t.anchor=e.anchor,p=t.target=e.target,m=t.targetAnchor=e.targetAnchor,v=xr(e.props),b=v?r:p,k=v?d:m;if("svg"===a||Sr(p)?a="svg":("mathml"===a||Tr(p))&&(a="mathml"),w?(u(e.dynamicChildren,w,b,n,o,a,s),sn(e,t,!0)):l||h(e,t,b,k,n,o,a,s,!1),f)v?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Pr(t,r,d,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=Er(t.props,g);e&&Pr(t,e,null,c,0)}else v&&Pr(t,p,m,c,1);Mr(t,f)}},remove(e,t,r,{um:i,o:{remove:n}},o){const{shapeFlag:a,children:s,anchor:l,targetStart:c,targetAnchor:d,target:h,props:u}=e;if(h&&(n(c),n(d)),o&&n(l),16&a){const e=o||!xr(u);for(let n=0;n<s.length;n++){const o=s[n];i(o,t,r,e,!!o.dynamicChildren)}}},move:Pr,hydrate:function(e,t,r,i,n,o,{o:{nextSibling:a,parentNode:s,querySelector:l,insert:c,createText:d}},h){function u(e,t,l,c){t.anchor=h(a(e),t,s(e),r,i,n,o),t.targetStart=l,t.targetAnchor=c}const p=t.target=Er(t.props,l),g=xr(t.props);if(p){const s=p._lpa||p.firstChild;if(16&t.shapeFlag)if(g)u(e,t,s,s&&a(s));else{t.anchor=a(e);let l=s;for(;l;){if(l&&8===l.nodeType)if("teleport start anchor"===l.data)t.targetStart=l;else if("teleport anchor"===l.data){t.targetAnchor=l,p._lpa=t.targetAnchor&&a(t.targetAnchor);break}l=a(l)}t.targetAnchor||Rr(p,t,d,c),h(s&&a(s),t,p,r,i,n,o)}Mr(t,g)}else g&&16&t.shapeFlag&&u(e,t,e,a(e));return t.anchor&&a(t.anchor)}};function Pr(e,t,r,{o:{insert:i},m:n},o=2){0===o&&i(e.targetAnchor,t,r);const{el:a,anchor:s,shapeFlag:l,children:c,props:d}=e,h=2===o;if(h&&i(a,t,r),(!h||xr(d))&&16&l)for(let u=0;u<c.length;u++)n(c[u],t,r,2);h&&i(s,t,r)}const _r=Ir;function Mr(e,t){const r=e.ctx;if(r&&r.ut){let i,n;for(t?(i=e.el,n=e.anchor):(i=e.targetStart,n=e.targetAnchor);i&&i!==n;)1===i.nodeType&&i.setAttribute("data-v-owner",r.uid),i=i.nextSibling;r.ut()}}function Rr(e,t,r,i){const n=t.targetStart=r(""),o=t.targetAnchor=r("");return n[wr]=o,e&&(i(n,e),i(o,e)),o}const Ar=Symbol("_leaveCb"),Or=Symbol("_enterCb");function Dr(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ai(()=>{e.isMounted=!0}),ci(()=>{e.isUnmounting=!0}),e}const Lr=[Function,Array],Nr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Lr,onEnter:Lr,onAfterEnter:Lr,onEnterCancelled:Lr,onBeforeLeave:Lr,onLeave:Lr,onAfterLeave:Lr,onLeaveCancelled:Lr,onBeforeAppear:Lr,onAppear:Lr,onAfterAppear:Lr,onAppearCancelled:Lr},jr=e=>{const t=e.subTree;return t.component?jr(t.component):t};function Ur(e){let t=e[0];if(e.length>1)for(const r of e)if(r.type!==Pn){t=r;break}return t}const zr={name:"BaseTransition",props:Nr,setup(e,{slots:t}){const r=ro(),i=Dr();return()=>{const n=t.default&&Wr(t.default(),!0);if(!n||!n.length)return;const o=Ur(n),a=Nt(e),{mode:s}=a;if(i.isLeaving)return Vr(o);const l=qr(o);if(!l)return Vr(o);let c=Br(l,a,i,r,e=>c=e);l.type!==Pn&&Hr(l,c);let d=r.subTree&&qr(r.subTree);if(d&&d.type!==Pn&&!zn(d,l)&&jr(r).type!==Pn){let e=Br(d,a,i,r);if(Hr(d,e),"out-in"===s&&l.type!==Pn)return i.isLeaving=!0,e.afterLeave=()=>{i.isLeaving=!1,8&r.job.flags||r.update(),delete e.afterLeave,d=void 0},Vr(o);"in-out"===s&&l.type!==Pn?e.delayLeave=(e,t,r)=>{Fr(i,d)[String(d.key)]=d,e[Ar]=()=>{t(),e[Ar]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{r(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return o}}};function Fr(e,t){const{leavingVNodes:r}=e;let i=r.get(t.type);return i||(i=Object.create(null),r.set(t.type,i)),i}function Br(e,t,r,i,n){const{appear:o,mode:a,persisted:s=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:d,onEnterCancelled:h,onBeforeLeave:u,onLeave:p,onAfterLeave:g,onLeaveCancelled:m,onBeforeAppear:v,onAppear:f,onAfterAppear:b,onAppearCancelled:k}=t,w=String(e.key),y=Fr(r,e),x=(e,t)=>{e&&Yt(e,i,9,t)},C=(e,t)=>{const r=t[1];x(e,t),j(e)?e.every(e=>e.length<=1)&&r():e.length<=1&&r()},S={mode:a,persisted:s,beforeEnter(t){let i=l;if(!r.isMounted){if(!o)return;i=v||l}t[Ar]&&t[Ar](!0);const n=y[w];n&&zn(e,n)&&n.el[Ar]&&n.el[Ar](),x(i,[t])},enter(e){let t=c,i=d,n=h;if(!r.isMounted){if(!o)return;t=f||c,i=b||d,n=k||h}let a=!1;const s=e[Or]=t=>{a||(a=!0,x(t?n:i,[e]),S.delayedLeave&&S.delayedLeave(),e[Or]=void 0)};t?C(t,[e,s]):s()},leave(t,i){const n=String(e.key);if(t[Or]&&t[Or](!0),r.isUnmounting)return i();x(u,[t]);let o=!1;const a=t[Ar]=r=>{o||(o=!0,i(),x(r?m:g,[t]),t[Ar]=void 0,y[n]===e&&delete y[n])};y[n]=e,p?C(p,[t,a]):a()},clone(e){const o=Br(e,t,r,i,n);return n&&n(o),o}};return S}function Vr(e){if(Yr(e))return(e=Wn(e)).children=null,e}function qr(e){if(!Yr(e))return yr(e.type)&&e.children?Ur(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:r}=e;if(r){if(16&t)return r[0];if(32&t&&F(r.default))return r.default()}}function Hr(e,t){6&e.shapeFlag&&e.component?(e.transition=t,Hr(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Wr(e,t=!1,r){let i=[],n=0;for(let o=0;o<e.length;o++){let a=e[o];const s=null==r?a.key:String(r)+String(null!=a.key?a.key:o);a.type===En?(128&a.patchFlag&&n++,i=i.concat(Wr(a.children,t,s))):(t||a.type!==Pn)&&i.push(null!=s?Wn(a,{key:s}):a)}if(n>1)for(let o=0;o<i.length;o++)i[o].patchFlag=-2;return i}function $r(e,t){return F(e)?(()=>O({name:e.name},t,{setup:e}))():e}function Gr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Jr=new WeakMap;function Kr(e,t,r,i,n=!1){if(j(e))return void e.forEach((e,o)=>Kr(e,t&&(j(t)?t[o]:t),r,i,n));if(Zr(i)&&!n)return void(512&i.shapeFlag&&i.type.__asyncResolved&&i.component.subTree.component&&Kr(e,t,r,i.component.subTree));const o=4&i.shapeFlag?po(i.component):i.el,a=n?null:o,{i:s,r:l}=e,c=t&&t.r,d=s.refs===I?s.refs={}:s.refs,h=s.setupState,u=Nt(h),p=h===I?M:e=>N(u,e);if(null!=c&&c!==l)if(Qr(t),B(c))d[c]=null,p(c)&&(h[c]=null);else if(zt(c)){c.value=null;const e=t;e.k&&(d[e.k]=null)}if(F(l))Zt(l,s,12,[a,d]);else{const t=B(l),i=zt(l);if(t||i){const s=()=>{if(e.f){const r=t?p(l)?h[l]:d[l]:l.value;if(n)j(r)&&D(r,o);else if(j(r))r.includes(o)||r.push(o);else if(t)d[l]=[o],p(l)&&(h[l]=d[l]);else{const t=[o];l.value=t,e.k&&(d[e.k]=t)}}else t?(d[l]=a,p(l)&&(h[l]=a)):i&&(l.value=a,e.k&&(d[e.k]=a))};if(a){const t=()=>{s(),Jr.delete(e)};t.id=-1,Jr.set(e,t),rn(t,r)}else Qr(e),s()}}}function Qr(e){const t=Jr.get(e);t&&(t.flags|=8,Jr.delete(e))}le().requestIdleCallback,le().cancelIdleCallback;const Zr=e=>!!e.type.__asyncLoader,Yr=e=>e.type.__isKeepAlive;function Xr(e,t){ti(e,"a",t)}function ei(e,t){ti(e,"da",t)}function ti(e,t,r=to){const i=e.__wdc||(e.__wdc=()=>{let t=r;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(ii(t,i,r),r){let e=r.parent;for(;e&&e.parent;)Yr(e.parent.vnode)&&ri(i,t,r,e),e=e.parent}}function ri(e,t,r,i){const n=ii(t,e,i,!0);di(()=>{D(i[t],n)},r)}function ii(e,t,r=to,i=!1){if(r){const n=r[e]||(r[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Be();const n=oo(r),o=Yt(t,r,e,i);return n(),Ve(),o});return i?n.unshift(o):n.push(o),o}}const ni=e=>(t,r=to)=>{lo&&"sp"!==e||ii(e,(...e)=>t(...e),r)},oi=ni("bm"),ai=ni("m"),si=ni("bu"),li=ni("u"),ci=ni("bum"),di=ni("um"),hi=ni("sp"),ui=ni("rtg"),pi=ni("rtc");function gi(e,t=to){ii("ec",e,t)}const mi=Symbol.for("v-ndc");function vi(e){return B(e)?function(e,t,r=!0,i=!1){const n=gr||to;if(n){const r=n.type;{const e=function(e,t=!0){return F(e)?e.displayName||e.name:e.name||t&&e.__name}(r,!1);if(e&&(e===t||e===Y(t)||e===te(Y(t))))return r}const o=fi(n[e]||r[e],t)||fi(n.appContext[e],t);return!o&&i?r:o}}("components",e,!1)||e:e||mi}function fi(e,t){return e&&(e[t]||e[Y(t)]||e[te(Y(t))])}function bi(e,t,r,i){let n;const o=r,a=j(e);if(a||B(e)){let r=!1,i=!1;a&&At(e)&&(r=!Dt(e),i=Ot(e),e=tt(e)),n=new Array(e.length);for(let a=0,s=e.length;a<s;a++)n[a]=t(r?i?Ut(jt(e[a])):jt(e[a]):e[a],a,void 0,o)}else if("number"==typeof e){n=new Array(e);for(let r=0;r<e;r++)n[r]=t(r+1,r,void 0,o)}else if(q(e))if(e[Symbol.iterator])n=Array.from(e,(e,r)=>t(e,r,void 0,o));else{const r=Object.keys(e);n=new Array(r.length);for(let i=0,a=r.length;i<a;i++){const a=r[i];n[i]=t(e[a],a,i,o)}}else n=[];return n}function ki(e,t,r={},i,n){if(gr.ce||gr.parent&&Zr(gr.parent)&&gr.parent.ce){const e=Object.keys(r).length>0;return"default"!==t&&(r.name=t),An(),jn(En,null,[qn("slot",r,i&&i())],e?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),An();const a=o&&wi(o(r)),s=r.key||a&&a.key,l=jn(En,{key:(s&&!V(s)?s:`_${t}`)+(!a&&i?"_fb":"")},a||(i?i():[]),a&&1===e._?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function wi(e){return e.some(e=>!Un(e)||e.type!==Pn&&!(e.type===En&&!wi(e.children)))?e:null}const yi=e=>e?so(e)?po(e):yi(e.parent):null,xi=O(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>yi(e.parent),$root:e=>yi(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>_i(e),$forceUpdate:e=>e.f||(e.f=()=>{lr(e.update)}),$nextTick:e=>e.n||(e.n=sr.bind(e.proxy)),$watch:e=>gn.bind(e)}),Ci=(e,t)=>e!==I&&!e.__isScriptSetup&&N(e,t),Si={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:r,setupState:i,data:n,props:o,accessCache:a,type:s,appContext:l}=e;let c;if("$"!==t[0]){const s=a[t];if(void 0!==s)switch(s){case 1:return i[t];case 2:return n[t];case 4:return r[t];case 3:return o[t]}else{if(Ci(i,t))return a[t]=1,i[t];if(n!==I&&N(n,t))return a[t]=2,n[t];if((c=e.propsOptions[0])&&N(c,t))return a[t]=3,o[t];if(r!==I&&N(r,t))return a[t]=4,r[t];Ei&&(a[t]=0)}}const d=xi[t];let h,u;return d?("$attrs"===t&&Ye(e.attrs,0,""),d(e)):(h=s.__cssModules)&&(h=h[t])?h:r!==I&&N(r,t)?(a[t]=4,r[t]):(u=l.config.globalProperties,N(u,t)?u[t]:void 0)},set({_:e},t,r){const{data:i,setupState:n,ctx:o}=e;return Ci(n,t)?(n[t]=r,!0):i!==I&&N(i,t)?(i[t]=r,!0):!(N(e.props,t)||"$"===t[0]&&t.slice(1)in e||(o[t]=r,0))},has({_:{data:e,setupState:t,accessCache:r,ctx:i,appContext:n,propsOptions:o,type:a}},s){let l,c;return!!(r[s]||e!==I&&"$"!==s[0]&&N(e,s)||Ci(t,s)||(l=o[0])&&N(l,s)||N(i,s)||N(xi,s)||N(n.config.globalProperties,s)||(c=a.__cssModules)&&c[s])},defineProperty(e,t,r){return null!=r.get?e._.accessCache[t]=0:N(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}};function Ti(e){return j(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}let Ei=!0;function Ii(e,t,r){Yt(j(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,r)}function Pi(e,t,r,i){let n=i.includes(".")?mn(r,i):()=>r[i];if(B(e)){const r=t[e];F(r)&&un(n,r)}else if(F(e))un(n,e.bind(r));else if(q(e))if(j(e))e.forEach(e=>Pi(e,t,r,i));else{const i=F(e.handler)?e.handler.bind(r):t[e.handler];F(i)&&un(n,i,e)}}function _i(e){const t=e.type,{mixins:r,extends:i}=t,{mixins:n,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,s=o.get(t);let l;return s?l=s:n.length||r||i?(l={},n.length&&n.forEach(e=>Mi(l,e,a,!0)),Mi(l,t,a)):l=t,q(t)&&o.set(t,l),l}function Mi(e,t,r,i=!1){const{mixins:n,extends:o}=t;o&&Mi(e,o,r,!0),n&&n.forEach(t=>Mi(e,t,r,!0));for(const a in t)if(i&&"expose"===a);else{const i=Ri[a]||r&&r[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const Ri={data:Ai,props:Ni,emits:Ni,methods:Li,computed:Li,beforeCreate:Di,created:Di,beforeMount:Di,mounted:Di,beforeUpdate:Di,updated:Di,beforeDestroy:Di,beforeUnmount:Di,destroyed:Di,unmounted:Di,activated:Di,deactivated:Di,errorCaptured:Di,serverPrefetch:Di,components:Li,directives:Li,watch:function(e,t){if(!e)return t;if(!t)return e;const r=O(Object.create(null),e);for(const i in t)r[i]=Di(e[i],t[i]);return r},provide:Ai,inject:function(e,t){return Li(Oi(e),Oi(t))}};function Ai(e,t){return t?e?function(){return O(F(e)?e.call(this,this):e,F(t)?t.call(this,this):t)}:t:e}function Oi(e){if(j(e)){const t={};for(let r=0;r<e.length;r++)t[e[r]]=e[r];return t}return e}function Di(e,t){return e?[...new Set([].concat(e,t))]:t}function Li(e,t){return e?O(Object.create(null),e,t):t}function Ni(e,t){return e?j(e)&&j(t)?[...new Set([...e,...t])]:O(Object.create(null),Ti(e),Ti(null!=t?t:{})):t}function ji(){return{app:null,config:{isNativeTag:M,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ui=0;function zi(e,t){return function(t,r=null){F(t)||(t=O({},t)),null==r||q(r)||(r=null);const i=ji(),n=new WeakSet,o=[];let a=!1;const s=i.app={_uid:Ui++,_component:t,_props:r,_container:null,_context:i,_instance:null,version:mo,get config(){return i.config},set config(e){},use:(e,...t)=>(n.has(e)||(e&&F(e.install)?(n.add(e),e.install(s,...t)):F(e)&&(n.add(e),e(s,...t))),s),mixin:e=>(i.mixins.includes(e)||i.mixins.push(e),s),component:(e,t)=>t?(i.components[e]=t,s):i.components[e],directive:(e,t)=>t?(i.directives[e]=t,s):i.directives[e],mount(n,o,l){if(!a){const o=s._ceVNode||qn(t,r);return o.appContext=i,!0===l?l="svg":!1===l&&(l=void 0),e(o,n,l),a=!0,s._container=n,n.__vue_app__=s,po(o.component)}},onUnmount(e){o.push(e)},unmount(){a&&(Yt(o,s._instance,16),e(null,s._container),delete s._container.__vue_app__)},provide:(e,t)=>(i.provides[e]=t,s),runWithContext(e){const t=Fi;Fi=s;try{return e()}finally{Fi=t}}};return s}}let Fi=null;function Bi(e,t,r=!1){const i=ro();if(i||Fi){let n=Fi?Fi._context.provides:i?null==i.parent||i.ce?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(n&&e in n)return n[e];if(arguments.length>1)return r&&F(t)?t.call(i&&i.proxy):t}}const Vi={},qi=()=>Object.create(Vi),Hi=e=>Object.getPrototypeOf(e)===Vi;function Wi(e,t,r,i){const[n,o]=e.propsOptions;let a,s=!1;if(t)for(let l in t){if(K(l))continue;const c=t[l];let d;n&&N(n,d=Y(l))?o&&o.includes(d)?(a||(a={}))[d]=c:r[d]=c:wn(e.emitsOptions,l)||l in i&&c===i[l]||(i[l]=c,s=!0)}if(o){const t=Nt(r),i=a||I;for(let a=0;a<o.length;a++){const s=o[a];r[s]=$i(n,t,s,i[s],e,!N(i,s))}}return s}function $i(e,t,r,i,n,o){const a=e[r];if(null!=a){const e=N(a,"default");if(e&&void 0===i){const e=a.default;if(a.type!==Function&&!a.skipFactory&&F(e)){const{propsDefaults:o}=n;if(r in o)i=o[r];else{const a=oo(n);i=o[r]=e.call(null,t),a()}}else i=e;n.ce&&n.ce._setProp(r,i)}a[0]&&(o&&!e?i=!1:!a[1]||""!==i&&i!==ee(r)||(i=!0))}return i}const Gi=new WeakMap;function Ji(e,t,r=!1){const i=r?Gi:t.propsCache,n=i.get(e);if(n)return n;const o=e.props,a={},s=[];let l=!1;if(!F(e)){const i=e=>{l=!0;const[r,i]=Ji(e,t,!0);O(a,r),i&&s.push(...i)};!r&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!o&&!l)return q(e)&&i.set(e,P),P;if(j(o))for(let d=0;d<o.length;d++){const e=Y(o[d]);Ki(e)&&(a[e]=I)}else if(o)for(const d in o){const e=Y(d);if(Ki(e)){const t=o[d],r=a[e]=j(t)||F(t)?{type:t}:O({},t),i=r.type;let n=!1,l=!0;if(j(i))for(let e=0;e<i.length;++e){const t=i[e],r=F(t)&&t.name;if("Boolean"===r){n=!0;break}"String"===r&&(l=!1)}else n=F(i)&&"Boolean"===i.name;r[0]=n,r[1]=l,(n||N(r,"default"))&&s.push(e)}}const c=[a,s];return q(e)&&i.set(e,c),c}function Ki(e){return"$"!==e[0]&&!K(e)}const Qi=e=>"_"===e||"_ctx"===e||"$stable"===e,Zi=e=>j(e)?e.map(Jn):[Jn(e)],Yi=(e,t,r)=>{if(t._n)return t;const i=fr((...e)=>Zi(t(...e)),r);return i._c=!1,i},Xi=(e,t,r)=>{const i=e._ctx;for(const n in e){if(Qi(n))continue;const r=e[n];if(F(r))t[n]=Yi(0,r,i);else if(null!=r){const e=Zi(r);t[n]=()=>e}}},en=(e,t)=>{const r=Zi(t);e.slots.default=()=>r},tn=(e,t,r)=>{for(const i in t)!r&&Qi(i)||(e[i]=t[i])},rn=function(e,t){var r;t&&t.pendingBranch?j(e)?t.effects.push(...e):t.effects.push(e):(j(r=e)?rr.push(...r):ir&&-1===r.id?ir.splice(nr+1,0,r):1&r.flags||(rr.push(r),r.flags|=1),cr())};function nn(e){return function(e){le().__VUE__=!0;const{insert:t,remove:r,patchProp:i,createElement:n,createText:o,createComment:a,setText:s,setElementText:l,parentNode:c,nextSibling:d,setScopeId:h=_,insertStaticContent:u}=e,p=(e,t,r,i=null,n=null,o=null,a=void 0,s=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!zn(e,t)&&(i=q(e),U(e,n,o,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:d,shapeFlag:h}=t;switch(c){case In:g(e,t,r,i);break;case Pn:m(e,t,r,i);break;case _n:null==e&&v(t,r,i,a);break;case En:S(e,t,r,i,n,o,a,s,l);break;default:1&h?f(e,t,r,i,n,o,a,s,l):6&h?T(e,t,r,i,n,o,a,s,l):(64&h||128&h)&&c.process(e,t,r,i,n,o,a,s,l,G)}null!=d&&n?Kr(d,e&&e.ref,o,t||e,!t):null==d&&e&&null!=e.ref&&Kr(e.ref,null,o,e,!0)},g=(e,r,i,n)=>{if(null==e)t(r.el=o(r.children),i,n);else{const t=r.el=e.el;r.children!==e.children&&s(t,r.children)}},m=(e,r,i,n)=>{null==e?t(r.el=a(r.children||""),i,n):r.el=e.el},v=(e,t,r,i)=>{[e.el,e.anchor]=u(e.children,t,r,i,e.el,e.anchor)},f=(e,t,r,i,n,o,a,s,l)=>{"svg"===t.type?a="svg":"math"===t.type&&(a="mathml"),null==e?b(t,r,i,n,o,a,s,l):y(e,t,n,o,a,s,l)},b=(e,r,o,a,s,c,d,h)=>{let u,p;const{props:g,shapeFlag:m,transition:v,dirs:f}=e;if(u=e.el=n(e.type,c,g&&g.is,g),8&m?l(u,e.children):16&m&&w(e.children,u,null,a,s,on(e,c),d,h),f&&kr(e,null,a,"created"),k(u,e,e.scopeId,d,a),g){for(const e in g)"value"===e||K(e)||i(u,e,null,g[e],c,a);"value"in g&&i(u,"value",null,g.value,c),(p=g.onVnodeBeforeMount)&&Yn(p,a,e)}f&&kr(e,null,a,"beforeMount");const b=function(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}(s,v);b&&v.beforeEnter(u),t(u,r,o),((p=g&&g.onVnodeMounted)||b||f)&&rn(()=>{p&&Yn(p,a,e),b&&v.enter(u),f&&kr(e,null,a,"mounted")},s)},k=(e,t,r,i,n)=>{if(r&&h(e,r),i)for(let o=0;o<i.length;o++)h(e,i[o]);if(n){let r=n.subTree;if(t===r||Tn(r.type)&&(r.ssContent===t||r.ssFallback===t)){const t=n.vnode;k(e,t,t.scopeId,t.slotScopeIds,n.parent)}}},w=(e,t,r,i,n,o,a,s,l=0)=>{for(let c=l;c<e.length;c++){const l=e[c]=s?Kn(e[c]):Jn(e[c]);p(null,l,t,r,i,n,o,a,s)}},y=(e,t,r,n,o,a,s)=>{const c=t.el=e.el;let{patchFlag:d,dynamicChildren:h,dirs:u}=t;d|=16&e.patchFlag;const p=e.props||I,g=t.props||I;let m;if(r&&an(r,!1),(m=g.onVnodeBeforeUpdate)&&Yn(m,r,t,e),u&&kr(t,e,r,"beforeUpdate"),r&&an(r,!0),(p.innerHTML&&null==g.innerHTML||p.textContent&&null==g.textContent)&&l(c,""),h?x(e.dynamicChildren,h,c,r,n,on(t,o),a):s||O(e,t,c,null,r,n,on(t,o),a,!1),d>0){if(16&d)C(c,p,g,r,o);else if(2&d&&p.class!==g.class&&i(c,"class",null,g.class,o),4&d&&i(c,"style",p.style,g.style,o),8&d){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const n=e[t],a=p[n],s=g[n];s===a&&"value"!==n||i(c,n,a,s,o,r)}}1&d&&e.children!==t.children&&l(c,t.children)}else s||null!=h||C(c,p,g,r,o);((m=g.onVnodeUpdated)||u)&&rn(()=>{m&&Yn(m,r,t,e),u&&kr(t,e,r,"updated")},n)},x=(e,t,r,i,n,o,a)=>{for(let s=0;s<t.length;s++){const l=e[s],d=t[s],h=l.el&&(l.type===En||!zn(l,d)||198&l.shapeFlag)?c(l.el):r;p(l,d,h,null,i,n,o,a,!0)}},C=(e,t,r,n,o)=>{if(t!==r){if(t!==I)for(const a in t)K(a)||a in r||i(e,a,t[a],null,o,n);for(const a in r){if(K(a))continue;const s=r[a],l=t[a];s!==l&&"value"!==a&&i(e,a,l,s,o,n)}"value"in r&&i(e,"value",t.value,r.value,o)}},S=(e,r,i,n,a,s,l,c,d)=>{const h=r.el=e?e.el:o(""),u=r.anchor=e?e.anchor:o("");let{patchFlag:p,dynamicChildren:g,slotScopeIds:m}=r;m&&(c=c?c.concat(m):m),null==e?(t(h,i,n),t(u,i,n),w(r.children||[],i,u,a,s,l,c,d)):p>0&&64&p&&g&&e.dynamicChildren?(x(e.dynamicChildren,g,i,a,s,l,c),(null!=r.key||a&&r===a.subTree)&&sn(e,r,!0)):O(e,r,i,u,a,s,l,c,d)},T=(e,t,r,i,n,o,a,s,l)=>{t.slotScopeIds=s,null==e?512&t.shapeFlag?n.ctx.activate(t,r,i,a,l):E(t,r,i,n,o,a,l):M(e,t,l)},E=(e,t,r,i,n,o,a)=>{const s=e.component=function(e,t,r){const i=e.type,n=(t?t.appContext:e.appContext)||Xn,o={uid:eo++,vnode:e,type:i,parent:t,appContext:n,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Se(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(n.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ji(i,n),emitsOptions:kn(i,n),emit:null,emitted:null,propsDefaults:I,inheritAttrs:i.inheritAttrs,ctx:I,data:I,props:I,attrs:I,slots:I,refs:I,setupState:I,setupContext:null,suspense:r,suspenseId:r?r.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=fn.bind(null,o),e.ce&&e.ce(o),o}(e,i,n);if(Yr(e)&&(s.ctx.renderer=G),function(e,t=!1,r=!1){t&&no(t);const{props:i,children:n}=e.vnode,o=so(e);(function(e,t,r,i=!1){const n={},o=qi();e.propsDefaults=Object.create(null),Wi(e,t,n,o);for(const a in e.propsOptions[0])a in n||(n[a]=void 0);r?e.props=i?n:Rt(n,!1,ft,Ct,Et):e.type.props?e.props=n:e.props=o,e.attrs=o})(e,i,o,t),((e,t,r)=>{const i=e.slots=qi();if(32&e.vnode.shapeFlag){const e=t._;e?(tn(i,t,r),r&&oe(i,"_",e,!0)):Xi(t,i)}else t&&en(e,t)})(e,n,r||t);o&&function(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Si);const{setup:i}=r;if(i){Be();const r=e.setupContext=i.length>1?function(e){return{attrs:new Proxy(e.attrs,uo),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}(e):null,n=oo(e),o=Zt(i,e,0,[e.props,r]),a=H(o);if(Ve(),n(),!a&&!e.sp||Zr(e)||Gr(e),a){if(o.then(ao,ao),t)return o.then(t=>{co(e,t)}).catch(t=>{Xt(t,e,0)});e.asyncDep=o}else co(e,o)}else ho(e)}(e,t);t&&no(!1)}(s,!1,a),s.asyncDep){if(n&&n.registerDep(s,R,a),!e.el){const i=s.subTree=qn(Pn);m(null,i,t,r),e.placeholder=i.el}}else R(s,e,t,r,n,o,a)},M=(e,t,r)=>{const i=t.component=e.component;if(function(e,t,r){const{props:i,children:n,component:o}=e,{props:a,children:s,patchFlag:l}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(!(r&&l>=0))return!(!n&&!s||s&&s.$stable)||i!==a&&(i?!a||Sn(i,a,c):!!a);if(1024&l)return!0;if(16&l)return i?Sn(i,a,c):!!a;if(8&l){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const r=e[t];if(a[r]!==i[r]&&!wn(c,r))return!0}}return!1}(e,t,r)){if(i.asyncDep&&!i.asyncResolved)return void A(i,t,r);i.next=t,i.update()}else t.el=e.el,i.vnode=t},R=(e,t,r,i,n,o,a)=>{const s=()=>{if(e.isMounted){let{next:t,bu:r,u:i,parent:l,vnode:d}=e;{const r=ln(e);if(r)return t&&(t.el=d.el,A(e,t,a)),void r.asyncDep.then(()=>{e.isUnmounted||s()})}let h,u=t;an(e,!1),t?(t.el=d.el,A(e,t,a)):t=d,r&&ne(r),(h=t.props&&t.props.onVnodeBeforeUpdate)&&Yn(h,l,t,d),an(e,!0);const g=yn(e),m=e.subTree;e.subTree=g,p(m,g,c(m.el),q(m),e,n,o),t.el=g.el,null===u&&function({vnode:e,parent:t},r){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.el=e.el),i!==e)break;(e=t.vnode).el=r,t=t.parent}}(e,g.el),i&&rn(i,n),(h=t.props&&t.props.onVnodeUpdated)&&rn(()=>Yn(h,l,t,d),n)}else{let a;const{el:s,props:l}=t,{bm:c,m:d,parent:h,root:u,type:g}=e,m=Zr(t);an(e,!1),c&&ne(c),!m&&(a=l&&l.onVnodeBeforeMount)&&Yn(a,h,t),an(e,!0);{u.ce&&!1!==u.ce._def.shadowRoot&&u.ce._injectChildStyle(g);const a=e.subTree=yn(e);p(null,a,r,i,e,n,o),t.el=a.el}if(d&&rn(d,n),!m&&(a=l&&l.onVnodeMounted)){const e=t;rn(()=>Yn(a,h,e),n)}(256&t.shapeFlag||h&&Zr(h.vnode)&&256&h.vnode.shapeFlag)&&e.a&&rn(e.a,n),e.isMounted=!0,t=r=i=null}};e.scope.on();const l=e.effect=new Ee(s);e.scope.off();const d=e.update=l.run.bind(l),h=e.job=l.runIfDirty.bind(l);h.i=e,h.id=e.uid,l.scheduler=()=>lr(h),an(e,!0),d()},A=(e,t,r)=>{t.component=e;const i=e.vnode.props;e.vnode=t,e.next=null,function(e,t,r,i){const{props:n,attrs:o,vnode:{patchFlag:a}}=e,s=Nt(n),[l]=e.propsOptions;let c=!1;if(!(i||a>0)||16&a){let i;Wi(e,t,n,o)&&(c=!0);for(const o in s)t&&(N(t,o)||(i=ee(o))!==o&&N(t,i))||(l?!r||void 0===r[o]&&void 0===r[i]||(n[o]=$i(l,s,o,void 0,e,!0)):delete n[o]);if(o!==s)for(const e in o)t&&N(t,e)||(delete o[e],c=!0)}else if(8&a){const r=e.vnode.dynamicProps;for(let i=0;i<r.length;i++){let a=r[i];if(wn(e.emitsOptions,a))continue;const d=t[a];if(l)if(N(o,a))d!==o[a]&&(o[a]=d,c=!0);else{const t=Y(a);n[t]=$i(l,s,t,d,e,!1)}else d!==o[a]&&(o[a]=d,c=!0)}}c&&Xe(e.attrs,"set","")}(e,t.props,i,r),((e,t,r)=>{const{vnode:i,slots:n}=e;let o=!0,a=I;if(32&i.shapeFlag){const e=t._;e?r&&1===e?o=!1:tn(n,t,r):(o=!t.$stable,Xi(t,n)),a=t}else t&&(en(e,t),a={default:1});if(o)for(const s in n)Qi(s)||null!=a[s]||delete n[s]})(e,t.children,r),Be(),dr(e),Ve()},O=(e,t,r,i,n,o,a,s,c=!1)=>{const d=e&&e.children,h=e?e.shapeFlag:0,u=t.children,{patchFlag:p,shapeFlag:g}=t;if(p>0){if(128&p)return void L(d,u,r,i,n,o,a,s,c);if(256&p)return void D(d,u,r,i,n,o,a,s,c)}8&g?(16&h&&V(d,n,o),u!==d&&l(r,u)):16&h?16&g?L(d,u,r,i,n,o,a,s,c):V(d,n,o,!0):(8&h&&l(r,""),16&g&&w(u,r,i,n,o,a,s,c))},D=(e,t,r,i,n,o,a,s,l)=>{t=t||P;const c=(e=e||P).length,d=t.length,h=Math.min(c,d);let u;for(u=0;u<h;u++){const i=t[u]=l?Kn(t[u]):Jn(t[u]);p(e[u],i,r,null,n,o,a,s,l)}c>d?V(e,n,o,!0,!1,h):w(t,r,i,n,o,a,s,l,h)},L=(e,t,r,i,n,o,a,s,l)=>{let c=0;const d=t.length;let h=e.length-1,u=d-1;for(;c<=h&&c<=u;){const i=e[c],d=t[c]=l?Kn(t[c]):Jn(t[c]);if(!zn(i,d))break;p(i,d,r,null,n,o,a,s,l),c++}for(;c<=h&&c<=u;){const i=e[h],c=t[u]=l?Kn(t[u]):Jn(t[u]);if(!zn(i,c))break;p(i,c,r,null,n,o,a,s,l),h--,u--}if(c>h){if(c<=u){const e=u+1,h=e<d?t[e].el:i;for(;c<=u;)p(null,t[c]=l?Kn(t[c]):Jn(t[c]),r,h,n,o,a,s,l),c++}}else if(c>u)for(;c<=h;)U(e[c],n,o,!0),c++;else{const g=c,m=c,v=new Map;for(c=m;c<=u;c++){const e=t[c]=l?Kn(t[c]):Jn(t[c]);null!=e.key&&v.set(e.key,c)}let f,b=0;const k=u-m+1;let w=!1,y=0;const x=new Array(k);for(c=0;c<k;c++)x[c]=0;for(c=g;c<=h;c++){const i=e[c];if(b>=k){U(i,n,o,!0);continue}let d;if(null!=i.key)d=v.get(i.key);else for(f=m;f<=u;f++)if(0===x[f-m]&&zn(i,t[f])){d=f;break}void 0===d?U(i,n,o,!0):(x[d-m]=c+1,d>=y?y=d:w=!0,p(i,t[d],r,null,n,o,a,s,l),b++)}const C=w?function(e){const t=e.slice(),r=[0];let i,n,o,a,s;const l=e.length;for(i=0;i<l;i++){const l=e[i];if(0!==l){if(n=r[r.length-1],e[n]<l){t[i]=n,r.push(i);continue}for(o=0,a=r.length-1;o<a;)s=o+a>>1,e[r[s]]<l?o=s+1:a=s;l<e[r[o]]&&(o>0&&(t[i]=r[o-1]),r[o]=i)}}for(o=r.length,a=r[o-1];o-- >0;)r[o]=a,a=t[a];return r}(x):P;for(f=C.length-1,c=k-1;c>=0;c--){const e=m+c,h=t[e],u=t[e+1],g=e+1<d?u.el||u.placeholder:i;0===x[c]?p(null,h,r,g,n,o,a,s,l):w&&(f<0||c!==C[f]?j(h,r,g,2):f--)}}},j=(e,i,n,o,a=null)=>{const{el:s,type:l,transition:c,children:h,shapeFlag:u}=e;if(6&u)j(e.component.subTree,i,n,o);else if(128&u)e.suspense.move(i,n,o);else if(64&u)l.move(e,i,n,G);else if(l!==En)if(l!==_n)if(2!==o&&1&u&&c)if(0===o)c.beforeEnter(s),t(s,i,n),rn(()=>c.enter(s),a);else{const{leave:o,delayLeave:a,afterLeave:l}=c,d=()=>{e.ctx.isUnmounted?r(s):t(s,i,n)},h=()=>{s._isLeaving&&s[Ar](!0),o(s,()=>{d(),l&&l()})};a?a(s,d,h):h()}else t(s,i,n);else(({el:e,anchor:r},i,n)=>{let o;for(;e&&e!==r;)o=d(e),t(e,i,n),e=o;t(r,i,n)})(e,i,n);else{t(s,i,n);for(let e=0;e<h.length;e++)j(h[e],i,n,o);t(e.anchor,i,n)}},U=(e,t,r,i=!1,n=!1)=>{const{type:o,props:a,ref:s,children:l,dynamicChildren:c,shapeFlag:d,patchFlag:h,dirs:u,cacheIndex:p}=e;if(-2===h&&(n=!1),null!=s&&(Be(),Kr(s,null,r,e,!0),Ve()),null!=p&&(t.renderCache[p]=void 0),256&d)return void t.ctx.deactivate(e);const g=1&d&&u,m=!Zr(e);let v;if(m&&(v=a&&a.onVnodeBeforeUnmount)&&Yn(v,t,e),6&d)B(e.component,r,i);else{if(128&d)return void e.suspense.unmount(r,i);g&&kr(e,null,t,"beforeUnmount"),64&d?e.type.remove(e,t,r,G,i):c&&!c.hasOnce&&(o!==En||h>0&&64&h)?V(c,t,r,!1,!0):(o===En&&384&h||!n&&16&d)&&V(l,t,r),i&&z(e)}(m&&(v=a&&a.onVnodeUnmounted)||g)&&rn(()=>{v&&Yn(v,t,e),g&&kr(e,null,t,"unmounted")},r)},z=e=>{const{type:t,el:i,anchor:n,transition:o}=e;if(t===En)return void F(i,n);if(t===_n)return void(({el:e,anchor:t})=>{let i;for(;e&&e!==t;)i=d(e),r(e),e=i;r(t)})(e);const a=()=>{r(i),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:r}=o,n=()=>t(i,a);r?r(e.el,a,n):n()}else a()},F=(e,t)=>{let i;for(;e!==t;)i=d(e),r(e),e=i;r(t)},B=(e,t,r)=>{const{bum:i,scope:n,job:o,subTree:a,um:s,m:l,a:c}=e;cn(l),cn(c),i&&ne(i),n.stop(),o&&(o.flags|=8,U(a,e,t,r)),s&&rn(s,t),rn(()=>{e.isUnmounted=!0},t)},V=(e,t,r,i=!1,n=!1,o=0)=>{for(let a=o;a<e.length;a++)U(e[a],t,r,i,n)},q=e=>{if(6&e.shapeFlag)return q(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=d(e.anchor||e.el),r=t&&t[wr];return r?d(r):t};let W=!1;const $=(e,t,r)=>{null==e?t._vnode&&U(t._vnode,null,null,!0):p(t._vnode||null,e,t,null,null,null,r),t._vnode=e,W||(W=!0,dr(),hr(),W=!1)},G={p:p,um:U,m:j,r:z,mt:E,mc:w,pc:O,pbc:x,n:q,o:e};return{render:$,hydrate:undefined,createApp:zi($)}}(e)}function on({type:e,props:t},r){return"svg"===r&&"foreignObject"===e||"mathml"===r&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:r}function an({effect:e,job:t},r){r?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function sn(e,t,r=!1){const i=e.children,n=t.children;if(j(i)&&j(n))for(let o=0;o<i.length;o++){const e=i[o];let t=n[o];1&t.shapeFlag&&!t.dynamicChildren&&((t.patchFlag<=0||32===t.patchFlag)&&(t=n[o]=Kn(n[o]),t.el=e.el),r||-2===t.patchFlag||sn(e,t)),t.type===In&&-1!==t.patchFlag&&(t.el=e.el),t.type!==Pn||t.el||(t.el=e.el)}}function ln(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ln(t)}function cn(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}const dn=Symbol.for("v-scx"),hn=()=>Bi(dn);function un(e,t,r){return pn(e,t,r)}function pn(e,t,r=I){const{immediate:i,deep:n,flush:o,once:a}=r,s=O({},r),l=t&&i||!t&&"post"!==o;let c;if(lo)if("sync"===o){const e=hn();c=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{};return e.stop=_,e.resume=_,e.pause=_,e}const d=to;s.call=(e,t,r)=>Yt(e,d,t,r);let h=!1;"post"===o?s.scheduler=e=>{rn(e,d&&d.suspense)}:"sync"!==o&&(h=!0,s.scheduler=(e,t)=>{t?e():lr(e)}),s.augmentJob=e=>{t&&(e.flags|=4),h&&(e.flags|=2,d&&(e.id=d.uid,e.i=d))};const u=function(e,t,r=I){const{immediate:i,deep:n,once:o,scheduler:a,augmentJob:s,call:l}=r,c=e=>n?e:Dt(e)||!1===n||0===n?Qt(e,1):Qt(e);let d,h,u,p,g=!1,m=!1;if(zt(e)?(h=()=>e.value,g=Dt(e)):At(e)?(h=()=>c(e),g=!0):j(e)?(m=!0,g=e.some(e=>At(e)||Dt(e)),h=()=>e.map(e=>zt(e)?e.value:At(e)?c(e):F(e)?l?l(e,2):e():void 0)):h=F(e)?t?l?()=>l(e,2):e:()=>{if(u){Be();try{u()}finally{Ve()}}const t=Kt;Kt=d;try{return l?l(e,3,[p]):e(p)}finally{Kt=t}}:_,t&&n){const e=h,t=!0===n?1/0:n;h=()=>Qt(e(),t)}const v=xe,f=()=>{d.stop(),v&&v.active&&D(v.effects,d)};if(o&&t){const e=t;t=(...t)=>{e(...t),f()}}let b=m?new Array(e.length).fill(Gt):Gt;const k=e=>{if(1&d.flags&&(d.dirty||e))if(t){const e=d.run();if(n||g||(m?e.some((e,t)=>ie(e,b[t])):ie(e,b))){u&&u();const r=Kt;Kt=d;try{const r=[e,b===Gt?void 0:m&&b[0]===Gt?[]:b,p];b=e,l?l(t,3,r):t(...r)}finally{Kt=r}}}else d.run()};return s&&s(k),d=new Ee(h),d.scheduler=a?()=>a(k,!1):k,p=e=>function(e,t=!1,r=Kt){if(r){let t=Jt.get(r);t||Jt.set(r,t=[]),t.push(e)}}(e,!1,d),u=d.onStop=()=>{const e=Jt.get(d);if(e){if(l)l(e,4);else for(const t of e)t();Jt.delete(d)}},t?i?k(!0):b=d.run():a?a(k.bind(null,!0),!0):d.run(),f.pause=d.pause.bind(d),f.resume=d.resume.bind(d),f.stop=f,f}(e,t,s);return lo&&(c?c.push(u):l&&u()),u}function gn(e,t,r){const i=this.proxy,n=B(e)?e.includes(".")?mn(i,e):()=>i[e]:e.bind(i,i);let o;F(t)?o=t:(o=t.handler,r=t);const a=oo(this),s=pn(n,o.bind(i),r);return a(),s}function mn(e,t){const r=t.split(".");return()=>{let t=e;for(let e=0;e<r.length&&t;e++)t=t[r[e]];return t}}const vn=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${Y(t)}Modifiers`]||e[`${ee(t)}Modifiers`];function fn(e,t,...r){if(e.isUnmounted)return;const i=e.vnode.props||I;let n=r;const o=t.startsWith("update:"),a=o&&vn(i,t.slice(7));let s;a&&(a.trim&&(n=r.map(e=>B(e)?e.trim():e)),a.number&&(n=r.map(ae)));let l=i[s=re(t)]||i[s=re(Y(t))];!l&&o&&(l=i[s=re(ee(t))]),l&&Yt(l,e,6,n);const c=i[s+"Once"];if(c){if(e.emitted){if(e.emitted[s])return}else e.emitted={};e.emitted[s]=!0,Yt(c,e,6,n)}}const bn=new WeakMap;function kn(e,t,r=!1){const i=r?bn:t.emitsCache,n=i.get(e);if(void 0!==n)return n;const o=e.emits;let a={},s=!1;if(!F(e)){const i=e=>{const r=kn(e,t,!0);r&&(s=!0,O(a,r))};!r&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return o||s?(j(o)?o.forEach(e=>a[e]=null):O(a,o),q(e)&&i.set(e,a),a):(q(e)&&i.set(e,null),null)}function wn(e,t){return!(!e||!R(t))&&(t=t.slice(2).replace(/Once$/,""),N(e,t[0].toLowerCase()+t.slice(1))||N(e,ee(t))||N(e,t))}function yn(e){const{type:t,vnode:r,proxy:i,withProxy:n,propsOptions:[o],slots:a,attrs:s,emit:l,render:c,renderCache:d,props:h,data:u,setupState:p,ctx:g,inheritAttrs:m}=e,v=vr(e);let f,b;try{if(4&r.shapeFlag){const e=n||i,t=e;f=Jn(c.call(t,e,d,h,p,u,g)),b=s}else{const e=t;f=Jn(e.length>1?e(h,{attrs:s,slots:a,emit:l}):e(h,null)),b=t.props?s:xn(s)}}catch(w){Mn.length=0,Xt(w,e,1),f=qn(Pn)}let k=f;if(b&&!1!==m){const e=Object.keys(b),{shapeFlag:t}=k;e.length&&7&t&&(o&&e.some(A)&&(b=Cn(b,o)),k=Wn(k,b,!1,!0))}return r.dirs&&(k=Wn(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(r.dirs):r.dirs),r.transition&&Hr(k,r.transition),f=k,vr(v),f}const xn=e=>{let t;for(const r in e)("class"===r||"style"===r||R(r))&&((t||(t={}))[r]=e[r]);return t},Cn=(e,t)=>{const r={};for(const i in e)A(i)&&i.slice(9)in t||(r[i]=e[i]);return r};function Sn(e,t,r){const i=Object.keys(t);if(i.length!==Object.keys(e).length)return!0;for(let n=0;n<i.length;n++){const o=i[n];if(t[o]!==e[o]&&!wn(r,o))return!0}return!1}const Tn=e=>e.__isSuspense,En=Symbol.for("v-fgt"),In=Symbol.for("v-txt"),Pn=Symbol.for("v-cmt"),_n=Symbol.for("v-stc"),Mn=[];let Rn=null;function An(e=!1){Mn.push(Rn=e?null:[])}let On=1;function Dn(e,t=!1){On+=e,e<0&&Rn&&t&&(Rn.hasOnce=!0)}function Ln(e){return e.dynamicChildren=On>0?Rn||P:null,Mn.pop(),Rn=Mn[Mn.length-1]||null,On>0&&Rn&&Rn.push(e),e}function Nn(e,t,r,i,n,o){return Ln(Vn(e,t,r,i,n,o,!0))}function jn(e,t,r,i,n){return Ln(qn(e,t,r,i,n,!0))}function Un(e){return!!e&&!0===e.__v_isVNode}function zn(e,t){return e.type===t.type&&e.key===t.key}const Fn=({key:e})=>null!=e?e:null,Bn=({ref:e,ref_key:t,ref_for:r})=>("number"==typeof e&&(e=""+e),null!=e?B(e)||zt(e)||F(e)?{i:gr,r:e,k:t,f:!!r}:e:null);function Vn(e,t=null,r=null,i=0,n=null,o=(e===En?0:1),a=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Fn(t),ref:t&&Bn(t),scopeId:mr,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:i,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:gr};return s?(Qn(l,r),128&o&&e.normalize(l)):r&&(l.shapeFlag|=B(r)?8:16),On>0&&!a&&Rn&&(l.patchFlag>0||6&o)&&32!==l.patchFlag&&Rn.push(l),l}const qn=function(e,t=null,r=null,i=0,n=null,o=!1){if(e&&e!==mi||(e=Pn),Un(e)){const i=Wn(e,t,!0);return r&&Qn(i,r),On>0&&!o&&Rn&&(6&i.shapeFlag?Rn[Rn.indexOf(e)]=i:Rn.push(i)),i.patchFlag=-2,i}var a;if(F(a=e)&&"__vccOpts"in a&&(e=e.__vccOpts),t){t=Hn(t);let{class:e,style:r}=t;e&&!B(e)&&(t.class=ge(e)),q(r)&&(Lt(r)&&!j(r)&&(r=O({},r)),t.style=ce(r))}return Vn(e,t,r,i,n,B(e)?1:Tn(e)?128:yr(e)?64:q(e)?4:F(e)?2:0,o,!0)};function Hn(e){return e?Lt(e)||Hi(e)?O({},e):e:null}function Wn(e,t,r=!1,i=!1){const{props:n,ref:o,patchFlag:a,children:s,transition:l}=e,c=t?Zn(n||{},t):n,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Fn(c),ref:t&&t.ref?r&&o?j(o)?o.concat(Bn(t)):[o,Bn(t)]:Bn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==En?-1===a?16:16|a:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Wn(e.ssContent),ssFallback:e.ssFallback&&Wn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&i&&Hr(d,l.clone(d)),d}function $n(e=" ",t=0){return qn(In,null,e,t)}function Gn(e="",t=!1){return t?(An(),jn(Pn,null,e)):qn(Pn,null,e)}function Jn(e){return null==e||"boolean"==typeof e?qn(Pn):j(e)?qn(En,null,e.slice()):Un(e)?Kn(e):qn(In,null,String(e))}function Kn(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:Wn(e)}function Qn(e,t){let r=0;const{shapeFlag:i}=e;if(null==t)t=null;else if(j(t))r=16;else if("object"==typeof t){if(65&i){const r=t.default;return void(r&&(r._c&&(r._d=!1),Qn(e,r()),r._c&&(r._d=!0)))}{r=32;const i=t._;i||Hi(t)?3===i&&gr&&(1===gr.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=gr}}else F(t)?(t={default:t,_ctx:gr},r=32):(t=String(t),64&i?(r=16,t=[$n(t)]):r=8);e.children=t,e.shapeFlag|=r}function Zn(...e){const t={};for(let r=0;r<e.length;r++){const i=e[r];for(const e in i)if("class"===e)t.class!==i.class&&(t.class=ge([t.class,i.class]));else if("style"===e)t.style=ce([t.style,i.style]);else if(R(e)){const r=t[e],n=i[e];!n||r===n||j(r)&&r.includes(n)||(t[e]=r?[].concat(r,n):n)}else""!==e&&(t[e]=i[e])}return t}function Yn(e,t,r,i=null){Yt(e,t,7,[r,i])}const Xn=ji();let eo=0,to=null;const ro=()=>to||gr;let io,no;{const e=le(),t=(t,r)=>{let i;return(i=e[t])||(i=e[t]=[]),i.push(r),e=>{i.length>1?i.forEach(t=>t(e)):i[0](e)}};io=t("__VUE_INSTANCE_SETTERS__",e=>to=e),no=t("__VUE_SSR_SETTERS__",e=>lo=e)}const oo=e=>{const t=to;return io(e),e.scope.on(),()=>{e.scope.off(),io(t)}},ao=()=>{to&&to.scope.off(),io(null)};function so(e){return 4&e.vnode.shapeFlag}let lo=!1;function co(e,t,r){F(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:q(t)&&(e.setupState=Wt(t)),ho(e)}function ho(e,t,r){const i=e.type;e.render||(e.render=i.render||_);{const t=oo(e);Be();try{!function(e){const t=_i(e),r=e.proxy,i=e.ctx;Ei=!1,t.beforeCreate&&Ii(t.beforeCreate,e,"bc");const{data:n,computed:o,methods:a,watch:s,provide:l,inject:c,created:d,beforeMount:h,mounted:u,beforeUpdate:p,updated:g,activated:m,deactivated:v,beforeDestroy:f,beforeUnmount:b,destroyed:k,unmounted:w,render:y,renderTracked:x,renderTriggered:C,errorCaptured:S,serverPrefetch:T,expose:E,inheritAttrs:I,components:P,directives:M,filters:R}=t;if(c&&function(e,t){j(e)&&(e=Oi(e));for(const r in e){const i=e[r];let n;n=q(i)?"default"in i?Bi(i.from||r,i.default,!0):Bi(i.from||r):Bi(i),zt(n)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>n.value,set:e=>n.value=e}):t[r]=n}}(c,i),a)for(const _ in a){const e=a[_];F(e)&&(i[_]=e.bind(r))}if(n){const t=n.call(r,r);q(t)&&(e.data=_t(t))}if(Ei=!0,o)for(const O in o){const e=o[O],t=F(e)?e.bind(r,r):F(e.get)?e.get.bind(r,r):_,n=!F(e)&&F(e.set)?e.set.bind(r):_,a=go({get:t,set:n});Object.defineProperty(i,O,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(s)for(const _ in s)Pi(s[_],i,r,_);if(l){const e=F(l)?l.call(r):l;Reflect.ownKeys(e).forEach(t=>{!function(e,t){if(to){let r=to.provides;const i=to.parent&&to.parent.provides;i===r&&(r=to.provides=Object.create(i)),r[e]=t}}(t,e[t])})}function A(e,t){j(t)?t.forEach(t=>e(t.bind(r))):t&&e(t.bind(r))}if(d&&Ii(d,e,"c"),A(oi,h),A(ai,u),A(si,p),A(li,g),A(Xr,m),A(ei,v),A(gi,S),A(pi,x),A(ui,C),A(ci,b),A(di,w),A(hi,T),j(E))if(E.length){const t=e.exposed||(e.exposed={});E.forEach(e=>{Object.defineProperty(t,e,{get:()=>r[e],set:t=>r[e]=t,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===_&&(e.render=y),null!=I&&(e.inheritAttrs=I),P&&(e.components=P),M&&(e.directives=M),T&&Gr(e)}(e)}finally{Ve(),t()}}}const uo={get:(e,t)=>(Ye(e,0,""),e[t])};function po(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Wt((t=e.exposed,!N(t,"__v_skip")&&Object.isExtensible(t)&&oe(t,"__v_skip",!0),t)),{get:(t,r)=>r in t?t[r]:r in xi?xi[r](e):void 0,has:(e,t)=>t in e||t in xi})):e.proxy;var t}const go=(e,t)=>{const r=function(e,t,r=!1){let i,n;return F(e)?i=e:(i=e.get,n=e.set),new $t(i,n,r)}(e,0,lo);return r},mo="3.5.22";let vo;const fo="undefined"!=typeof window&&window.trustedTypes;if(fo)try{vo=fo.createPolicy("vue",{createHTML:e=>e})}catch(Py){}const bo=vo?e=>vo.createHTML(e):e=>e,ko="undefined"!=typeof document?document:null,wo=ko&&ko.createElement("template"),yo={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,i)=>{const n="svg"===t?ko.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?ko.createElementNS("http://www.w3.org/1998/Math/MathML",e):r?ko.createElement(e,{is:r}):ko.createElement(e);return"select"===e&&i&&null!=i.multiple&&n.setAttribute("multiple",i.multiple),n},createText:e=>ko.createTextNode(e),createComment:e=>ko.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ko.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,i,n,o){const a=r?r.previousSibling:t.lastChild;if(n&&(n===o||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),r),n!==o&&(n=n.nextSibling););else{wo.innerHTML=bo("svg"===i?`<svg>${e}</svg>`:"mathml"===i?`<math>${e}</math>`:e);const n=wo.content;if("svg"===i||"mathml"===i){const e=n.firstChild;for(;e.firstChild;)n.appendChild(e.firstChild);n.removeChild(e)}t.insertBefore(n,r)}return[a?a.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},xo="transition",Co="animation",So=Symbol("_vtc"),To={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Eo=O({},Nr,To),Io=(e=>(e.displayName="Transition",e.props=Eo,e))((e,{slots:t})=>function(e,t,r){try{Dn(-1);const i=arguments.length;return 2===i?q(t)&&!j(t)?Un(t)?qn(e,null,[t]):qn(e,t):qn(e,null,t):(i>3?r=Array.prototype.slice.call(arguments,2):3===i&&Un(r)&&(r=[r]),qn(e,t,r))}finally{Dn(1)}}(zr,Mo(e),t)),Po=(e,t=[])=>{j(e)?e.forEach(e=>e(...t)):e&&e(...t)},_o=e=>!!e&&(j(e)?e.some(e=>e.length>1):e.length>1);function Mo(e){const t={};for(const P in e)P in To||(t[P]=e[P]);if(!1===e.css)return t;const{name:r="v",type:i,duration:n,enterFromClass:o=`${r}-enter-from`,enterActiveClass:a=`${r}-enter-active`,enterToClass:s=`${r}-enter-to`,appearFromClass:l=o,appearActiveClass:c=a,appearToClass:d=s,leaveFromClass:h=`${r}-leave-from`,leaveActiveClass:u=`${r}-leave-active`,leaveToClass:p=`${r}-leave-to`}=e,g=function(e){if(null==e)return null;if(q(e))return[Ro(e.enter),Ro(e.leave)];{const t=Ro(e);return[t,t]}}(n),m=g&&g[0],v=g&&g[1],{onBeforeEnter:f,onEnter:b,onEnterCancelled:k,onLeave:w,onLeaveCancelled:y,onBeforeAppear:x=f,onAppear:C=b,onAppearCancelled:S=k}=t,T=(e,t,r,i)=>{e._enterCancelled=i,Oo(e,t?d:s),Oo(e,t?c:a),r&&r()},E=(e,t)=>{e._isLeaving=!1,Oo(e,h),Oo(e,p),Oo(e,u),t&&t()},I=e=>(t,r)=>{const n=e?C:b,a=()=>T(t,e,r);Po(n,[t,a]),Do(()=>{Oo(t,e?l:o),Ao(t,e?d:s),_o(n)||No(t,i,m,a)})};return O(t,{onBeforeEnter(e){Po(f,[e]),Ao(e,o),Ao(e,a)},onBeforeAppear(e){Po(x,[e]),Ao(e,l),Ao(e,c)},onEnter:I(!1),onAppear:I(!0),onLeave(e,t){e._isLeaving=!0;const r=()=>E(e,t);Ao(e,h),e._enterCancelled?(Ao(e,u),Fo(e)):(Fo(e),Ao(e,u)),Do(()=>{e._isLeaving&&(Oo(e,h),Ao(e,p),_o(w)||No(e,i,v,r))}),Po(w,[e,r])},onEnterCancelled(e){T(e,!1,void 0,!0),Po(k,[e])},onAppearCancelled(e){T(e,!0,void 0,!0),Po(S,[e])},onLeaveCancelled(e){E(e),Po(y,[e])}})}function Ro(e){const t=(e=>{const t=B(e)?Number(e):NaN;return isNaN(t)?e:t})(e);return t}function Ao(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[So]||(e[So]=new Set)).add(t)}function Oo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const r=e[So];r&&(r.delete(t),r.size||(e[So]=void 0))}function Do(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Lo=0;function No(e,t,r,i){const n=e._endId=++Lo,o=()=>{n===e._endId&&i()};if(null!=r)return setTimeout(o,r);const{type:a,timeout:s,propCount:l}=jo(e,t);if(!a)return i();const c=a+"end";let d=0;const h=()=>{e.removeEventListener(c,u),o()},u=t=>{t.target===e&&++d>=l&&h()};setTimeout(()=>{d<l&&h()},s+1),e.addEventListener(c,u)}function jo(e,t){const r=window.getComputedStyle(e),i=e=>(r[e]||"").split(", "),n=i(`${xo}Delay`),o=i(`${xo}Duration`),a=Uo(n,o),s=i(`${Co}Delay`),l=i(`${Co}Duration`),c=Uo(s,l);let d=null,h=0,u=0;return t===xo?a>0&&(d=xo,h=a,u=o.length):t===Co?c>0&&(d=Co,h=c,u=l.length):(h=Math.max(a,c),d=h>0?a>c?xo:Co:null,u=d?d===xo?o.length:l.length:0),{type:d,timeout:h,propCount:u,hasTransform:d===xo&&/\b(?:transform|all)(?:,|$)/.test(i(`${xo}Property`).toString())}}function Uo(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,r)=>zo(t)+zo(e[r])))}function zo(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Fo(e){return(e?e.ownerDocument:document).body.offsetHeight}const Bo=Symbol("_vod"),Vo=Symbol("_vsh"),qo=Symbol(""),Ho=/(?:^|;)\s*display\s*:/,Wo=/\s*!important$/;function $o(e,t,r){if(j(r))r.forEach(r=>$o(e,t,r));else if(null==r&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const i=function(e,t){const r=Jo[t];if(r)return r;let i=Y(t);if("filter"!==i&&i in e)return Jo[t]=i;i=te(i);for(let n=0;n<Go.length;n++){const r=Go[n]+i;if(r in e)return Jo[t]=r}return t}(e,t);Wo.test(r)?e.setProperty(ee(i),r.replace(Wo,""),"important"):e[i]=r}}const Go=["Webkit","Moz","ms"],Jo={},Ko="http://www.w3.org/1999/xlink";function Qo(e,t,r,i,n,o=ve(t)){i&&t.startsWith("xlink:")?null==r?e.removeAttributeNS(Ko,t.slice(6,t.length)):e.setAttributeNS(Ko,t,r):null==r||o&&!fe(r)?e.removeAttribute(t):e.setAttribute(t,o?"":V(r)?String(r):r)}function Zo(e,t,r,i,n){if("innerHTML"===t||"textContent"===t)return void(null!=r&&(e[t]="innerHTML"===t?bo(r):r));const o=e.tagName;if("value"===t&&"PROGRESS"!==o&&!o.includes("-")){const i="OPTION"===o?e.getAttribute("value")||"":e.value,n=null==r?"checkbox"===e.type?"on":"":String(r);return i===n&&"_value"in e||(e.value=n),null==r&&e.removeAttribute(t),void(e._value=r)}let a=!1;if(""===r||null==r){const i=typeof e[t];"boolean"===i?r=fe(r):null==r&&"string"===i?(r="",a=!0):"number"===i&&(r=0,a=!0)}try{e[t]=r}catch(Py){}a&&e.removeAttribute(n||t)}function Yo(e,t,r,i){e.addEventListener(t,r,i)}const Xo=Symbol("_vei");const ea=/(?:Once|Passive|Capture)$/;let ta=0;const ra=Promise.resolve(),ia=()=>ta||(ra.then(()=>ta=0),ta=Date.now()),na=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,oa=new WeakMap,aa=new WeakMap,sa=Symbol("_moveCb"),la=Symbol("_enterCb"),ca=(e=>(delete e.props.mode,e))({name:"TransitionGroup",props:O({},Eo,{tag:String,moveClass:String}),setup(e,{slots:t}){const r=ro(),i=Dr();let n,o;return li(()=>{if(!n.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,r){const i=e.cloneNode(),n=e[So];n&&n.forEach(e=>{e.split(/\s+/).forEach(e=>e&&i.classList.remove(e))}),r.split(/\s+/).forEach(e=>e&&i.classList.add(e)),i.style.display="none";const o=1===t.nodeType?t:t.parentNode;o.appendChild(i);const{hasTransform:a}=jo(i);return o.removeChild(i),a}(n[0].el,r.vnode.el,t))return void(n=[]);n.forEach(da),n.forEach(ha);const i=n.filter(ua);Fo(r.vnode.el),i.forEach(e=>{const r=e.el,i=r.style;Ao(r,t),i.transform=i.webkitTransform=i.transitionDuration="";const n=r[sa]=e=>{e&&e.target!==r||e&&!e.propertyName.endsWith("transform")||(r.removeEventListener("transitionend",n),r[sa]=null,Oo(r,t))};r.addEventListener("transitionend",n)}),n=[]}),()=>{const a=Nt(e),s=Mo(a);let l=a.tag||En;if(n=[],o)for(let e=0;e<o.length;e++){const t=o[e];t.el&&t.el instanceof Element&&(n.push(t),Hr(t,Br(t,s,i,r)),oa.set(t,t.el.getBoundingClientRect()))}o=t.default?Wr(t.default()):[];for(let e=0;e<o.length;e++){const t=o[e];null!=t.key&&Hr(t,Br(t,s,i,r))}return qn(l,null,o)}}});function da(e){const t=e.el;t[sa]&&t[sa](),t[la]&&t[la]()}function ha(e){aa.set(e,e.el.getBoundingClientRect())}function ua(e){const t=oa.get(e),r=aa.get(e),i=t.left-r.left,n=t.top-r.top;if(i||n){const t=e.el.style;return t.transform=t.webkitTransform=`translate(${i}px,${n}px)`,t.transitionDuration="0s",e}}const pa=e=>{const t=e.props["onUpdate:modelValue"]||!1;return j(t)?e=>ne(t,e):t};function ga(e){e.target.composing=!0}function ma(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const va=Symbol("_assign"),fa={created(e,{modifiers:{lazy:t,trim:r,number:i}},n){e[va]=pa(n);const o=i||n.props&&"number"===n.props.type;Yo(e,t?"change":"input",t=>{if(t.target.composing)return;let i=e.value;r&&(i=i.trim()),o&&(i=ae(i)),e[va](i)}),r&&Yo(e,"change",()=>{e.value=e.value.trim()}),t||(Yo(e,"compositionstart",ga),Yo(e,"compositionend",ma),Yo(e,"change",ma))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:r,modifiers:{lazy:i,trim:n,number:o}},a){if(e[va]=pa(a),e.composing)return;const s=null==t?"":t;if((!o&&"number"!==e.type||/^0\d/.test(e.value)?e.value:ae(e.value))!==s){if(document.activeElement===e&&"range"!==e.type){if(i&&t===r)return;if(n&&e.value.trim()===s)return}e.value=s}}},ba=["ctrl","shift","alt","meta"],ka={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>ba.some(r=>e[`${r}Key`]&&!t.includes(r))},wa=(e,t)=>{const r=e._withMods||(e._withMods={}),i=t.join(".");return r[i]||(r[i]=(r,...i)=>{for(let e=0;e<t.length;e++){const i=ka[t[e]];if(i&&i(r,t))return}return e(r,...i)})},ya={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},xa=(e,t)=>{const r=e._withKeys||(e._withKeys={}),i=t.join(".");return r[i]||(r[i]=r=>{if(!("key"in r))return;const i=ee(r.key);return t.some(e=>e===i||ya[e]===i)?e(r):void 0})},Ca=O({patchProp:(e,t,r,i,n,o)=>{const a="svg"===n;"class"===t?function(e,t,r){const i=e[So];i&&(t=(t?[t,...i]:[...i]).join(" ")),null==t?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}(e,i,a):"style"===t?function(e,t,r){const i=e.style,n=B(r);let o=!1;if(r&&!n){if(t)if(B(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==r[t]&&$o(i,t,"")}else for(const e in t)null==r[e]&&$o(i,e,"");for(const e in r)"display"===e&&(o=!0),$o(i,e,r[e])}else if(n){if(t!==r){const e=i[qo];e&&(r+=";"+e),i.cssText=r,o=Ho.test(r)}}else t&&e.removeAttribute("style");Bo in e&&(e[Bo]=o?i.display:"",e[Vo]&&(i.display="none"))}(e,r,i):R(t)?A(t)||function(e,t,r,i,n=null){const o=e[Xo]||(e[Xo]={}),a=o[t];if(i&&a)a.value=i;else{const[r,s]=function(e){let t;if(ea.test(e)){let r;for(t={};r=e.match(ea);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):ee(e.slice(2)),t]}(t);if(i){const a=o[t]=function(e,t){const r=e=>{if(e._vts){if(e._vts<=r.attached)return}else e._vts=Date.now();Yt(function(e,t){if(j(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,r.value),t,5,[e])};return r.value=e,r.attached=ia(),r}(i,n);Yo(e,r,a,s)}else a&&(function(e,t,r,i){e.removeEventListener(t,r,i)}(e,r,a,s),o[t]=void 0)}}(e,t,0,i,o):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,r,i){if(i)return"innerHTML"===t||"textContent"===t||!!(t in e&&na(t)&&F(r));if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}return(!na(t)||!B(r))&&t in e}(e,t,i,a))?(Zo(e,t,i),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||Qo(e,t,i,a,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&B(i)?("true-value"===t?e._trueValue=i:"false-value"===t&&(e._falseValue=i),Qo(e,t,i,a)):Zo(e,Y(t),i,0,t)}},yo);let Sa;const Ta=(...e)=>{const t=(Sa||(Sa=nn(Ca))).createApp(...e),{mount:r}=t;return t.mount=e=>{const i=function(e){return B(e)?document.querySelector(e):e}(e);if(!i)return;const n=t._component;F(n)||n.render||n.template||(n.template=i.innerHTML),1===i.nodeType&&(i.textContent="");const o=r(i,!1,function(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t};var Ea=(e,t,r)=>((e,t,r={})=>{let i=`${e}=${t}`;if(e.startsWith("__Secure-")&&!r.secure)throw new Error("__Secure- Cookie must have Secure attributes");if(e.startsWith("__Host-")){if(!r.secure)throw new Error("__Host- Cookie must have Secure attributes");if("/"!==r.path)throw new Error('__Host- Cookie must have Path attributes with "/"');if(r.domain)throw new Error("__Host- Cookie must not have Domain attributes")}if(r&&"number"==typeof r.maxAge&&r.maxAge>=0){if(r.maxAge>3456e4)throw new Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");i+="; Max-Age="+(0|r.maxAge)}if(r.domain&&"host"!==r.prefix&&(i+=`; Domain=${r.domain}`),r.path&&(i+=`; Path=${r.path}`),r.expires){if(r.expires.getTime()-Date.now()>3456e7)throw new Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");i+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.sameSite&&(i+=`; SameSite=${r.sameSite.charAt(0).toUpperCase()+r.sameSite.slice(1)}`),r.priority&&(i+=`; Priority=${r.priority.charAt(0).toUpperCase()+r.priority.slice(1)}`),r.partitioned){if(!r.secure)throw new Error("Partitioned Cookie must have Secure attributes");i+="; Partitioned"}return i})(e,t=encodeURIComponent(t),r),Ia=(e,t)=>{for(const[r,i]of Object.entries(t)){const t=new RegExp("/:"+r+"(?:{[^/]+})?\\??");e=e.replace(t,i?`/${i}`:"")}return e},Pa=e=>{const t=new URLSearchParams;for(const[r,i]of Object.entries(e))if(void 0!==i)if(Array.isArray(i))for(const e of i)t.append(r,e);else t.set(r,i);return t},_a=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,"/"):e.replace(/\/index(?=\?|$)/,"");function Ma(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Ra(e,t){if(!Ma(e)&&!Ma(t))return t;const r={...e};for(const i in t){const e=t[i];Ma(r[i])&&Ma(e)?r[i]=Ra(r[i],e):r[i]=e}return r}var Aa=(e,t)=>new Proxy(()=>{},{get(r,i){if("string"==typeof i&&"then"!==i)return Aa(e,[...t,i])},apply:(r,i,n)=>e({path:t,args:n})}),Oa=class{constructor(e,t){r(this,"url"),r(this,"method"),r(this,"queryParams"),r(this,"pathParams",{}),r(this,"rBody"),r(this,"cType"),r(this,"fetch",async(e,t)=>{if(e){if(e.query&&(this.queryParams=Pa(e.query)),e.form){const t=new FormData;for(const[r,i]of Object.entries(e.form))if(Array.isArray(i))for(const e of i)t.append(r,e);else t.append(r,i);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType="application/json"),e.param&&(this.pathParams=e.param)}let r=this.method.toUpperCase();const i={...e?.header,..."function"==typeof t?.headers?await t.headers():t?.headers};if(e?.cookie){const t=[];for(const[r,i]of Object.entries(e.cookie))t.push(Ea(r,i,{path:"/"}));i.Cookie=t.join(",")}this.cType&&(i["Content-Type"]=this.cType);const n=new Headers(i??void 0);let o=this.url;o=_a(o),o=Ia(o,this.pathParams),this.queryParams&&(o=o+"?"+this.queryParams.toString()),r=this.method.toUpperCase();const a=!("GET"===r||"HEAD"===r);return(t?.fetch||fetch)(o,{body:a?this.rBody:void 0,method:r,headers:n,...t?.init})}),this.url=e,this.method=t}},Da=(e,t)=>Aa(function r(i){const n=[...i.path],o=n.slice(-3).reverse();if("toString"===o[0])return"name"===o[1]?o[2]||"":r.toString();if("valueOf"===o[0])return"name"===o[1]?o[2]||"":r;let a="";if(/^\$/.test(o[0])){const e=n.pop();e&&(a=e.replace(/^\$/,""))}const s=n.join("/"),l=((e,t)=>(e=e.replace(/\/+$/,""),(e+="/")+t.replace(/^\/+/,"")))(e,s);if("url"===a){let e=l;return i.args[0]&&(i.args[0].param&&(e=Ia(l,i.args[0].param)),i.args[0].query&&(e=e+"?"+Pa(i.args[0].query).toString())),e=_a(e),new URL(e)}if("ws"===a){const e=(i.args[0]&&i.args[0].param?Ia(l,i.args[0].param):l).replace(/^http/,"ws"),r=new URL(e),n=i.args[0]?.query;return n&&Object.entries(n).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>r.searchParams.append(e,t)):r.searchParams.set(e,t)}),((...e)=>void 0!==t?.webSocket&&"function"==typeof t.webSocket?t.webSocket(...e):new WebSocket(...e))(r.toString())}const c=new Oa(l,a);if(a){t??(t={});const e=Ra(t,{...i.args[1]});return c.fetch(i.args[0],e)}return c},[]),La=Object.defineProperty,Na=(e,t)=>La(e,"name",{value:t,configurable:!0}),ja=(e,t,r)=>((e,t,r)=>t in e?La(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);const Ua=globalThis.process,za=typeof window<"u",Fa=typeof Ua<"u"&&!za,Ba=za?typeof window<"u"&&window.location&&!window.location.hostname.includes("localhost"):Fa&&typeof Ua<"u"&&"production"===Ua.env?.NODE_ENV,Va=!Ba,qa={error:{priority:50,color:"#FF0000",nodeColor:"\x1b[31m"},warn:{priority:40,color:"#FFA500",nodeColor:"\x1b[33m"},info:{priority:30,color:"#00ABFF",nodeColor:"\x1b[36m"},debug:{priority:20,color:"#00BD0C",nodeColor:"\x1b[32m"},trace:{priority:10,color:"#5233FF",nodeColor:"\x1b[35m"}},Ha=["password","token","secret","apikey","api_key","authorization","cookie"],Wa=class e{constructor(e={},t){ja(this,"settings"),ja(this,"enabledInBrowser",!1),ja(this,"context"),this.context=t,this.settings={enabled:e.enabled??!0,minLevel:e.minLevel??this.getDefaultLevel(),timestamps:e.timestamps??!0},za&&this.initBrowserLogging()}getDefaultLevel(){if(Fa&&typeof Ua<"u"&&Ua.env?.LOG_LEVEL)return Ua.env.LOG_LEVEL;if(za&&typeof localStorage<"u"){const e=localStorage.getItem("FICTION_LOG_LEVEL");if(e)return e}return Ba?"info":"debug"}initBrowserLogging(){if(!za)return;const t="true"===localStorage.getItem("FICTION_LOG"),r=window.location?.hostname||"";this.enabledInBrowser=Va||t||"localhost"===r||r.includes("127.0.0.1"),Ba&&!t&&!e.hasShownHelp&&(e.hasShownHelp=!0)}shouldLog(e){return!(!this.settings.enabled||za&&!this.enabledInBrowser)&&qa[e].priority>=qa[this.settings.minLevel].priority}formatTimestamp(){return(new Date).toLocaleTimeString("en-GB",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}formatISOTimestamp(){return(new Date).toISOString()}redactSensitive(e){if("object"!=typeof e||null===e)return e;if(Array.isArray(e))return e.map(e=>this.redactSensitive(e));const t={};for(const[r,i]of Object.entries(e)){const e=r.toLowerCase();Ha.some(t=>e.includes(t))?t[r]="[REDACTED]":t[r]="object"==typeof i&&null!==i?this.redactSensitive(i):i}return t}formatData(e,t=3,r=0){if(r>=t)return"[Max Depth]";if(null==e)return e;if(e instanceof Error)return{name:e.name,message:e.message,stack:Ba?e.stack?.split("\n").slice(0,3).join("\n"):e.stack,...e};if(e instanceof Date)return e.toISOString();if("object"!=typeof e)return e;if(Array.isArray(e))return e.length>20&&Ba?`Array(${e.length}) [${e.slice(0,3).map(e=>this.formatData(e,t,r+1)).join(", ")}, ...]`:e.map(e=>this.formatData(e,t,r+1));try{const i={},n=Object.entries(e),o=Ba?50:200;for(const[e,a]of n.slice(0,o))i[e]=this.formatData(a,t,r+1);return n.length>o&&(i["..."]=n.length-o+" more properties"),this.redactSensitive(i)}catch{return"[Unserializable]"}}logToBrowser(e){if(!za||!this.shouldLog(e.level))return;const{level:t,description:r,context:i,data:n,error:o}=e,a=qa[t];i||this.context,t.toUpperCase(),a.color,o&&Error}async logToNode(e){if(!Fa||!this.shouldLog(e.level))return;const{level:t,description:r,context:i,data:n,error:o}=e,a=i||this.context||"www";if(Ba){const e={timestamp:this.formatISOTimestamp(),level:t.toUpperCase()};n&&(e.data=this.formatData(n)),o&&(e.error=this.formatData(o))}else try{const e=(await Promise.resolve().then(()=>Xs).catch(()=>null))?.default,r=qa[t],i=this.formatTimestamp();if(e){const n=e.dim,s=e.hex(r.color);n(`${i} `),s(`${t.toUpperCase()} `);s(`(${a}): `),o&&o instanceof Error&&e&&o.stack}}catch{}}log(e){za?this.logToBrowser(e):Fa&&this.logToNode(e).catch(console.error)}error(e,t){this.log({level:"error",description:e,data:t,context:this.context})}warn(e,t){this.log({level:"warn",description:e,data:t,context:this.context})}info(e,t){this.log({level:"info",description:e,data:t,context:this.context})}debug(e,t){this.log({level:"debug",description:e,data:t,context:this.context})}trace(e,t){this.log({level:"trace",description:e,data:t,context:this.context})}isEnabled(){return!za||this.enabledInBrowser}setLevel(e){this.settings.minLevel=e}createContextLogger(t){const r=new e(this.settings,t);return{error:Na((e,t)=>r.error(e,t),"error"),warn:Na((e,t)=>r.warn(e,t),"warn"),info:Na((e,t)=>r.info(e,t),"info"),debug:Na((e,t)=>r.debug(e,t),"debug"),trace:Na((e,t)=>r.trace(e,t),"trace"),isEnabled:Na(()=>r.isEnabled(),"isEnabled"),setLevel:Na(e=>r.setLevel(e),"setLevel")}}};Na(Wa,"Logger"),ja(Wa,"hasShownHelp",!1);let $a=Wa;function Ga(e){return new $a({},e).createContextLogger(e)}Na(Ga,"createLogger");const Ja=new $a;Ja.error.bind(Ja),Ja.warn.bind(Ja),Ja.info.bind(Ja),Ja.debug.bind(Ja),Ja.trace.bind(Ja);const Ka=class{constructor(e,t){ja(this,"name"),ja(this,"settings"),ja(this,"logger"),this.name=e,this.settings=t,this.logger=Ga(e)}};Na(Ka,"SettingsObject");let Qa=Ka;const Za=class{constructor(){ja(this,"tokenName","auth-token"),ja(this,"tokenMaxAge",604800),ja(this,"fallbackStorageKey","token"),ja(this,"productionDomain",".fiction.com")}getCookie(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(const r of t){const[t,i]=r.trim().split("=");if(t===e)return decodeURIComponent(i||"")}return null}setCookie(e,t,r={}){if(typeof document>"u")return;const{secure:i=!0,sameSite:n="lax",maxAge:o=604800,domain:a,path:s="/"}=r;let l=`${e}=${encodeURIComponent(t)}`;l+=`; Path=${s}`,l+=`; Max-Age=${o}`,l+=`; SameSite=${n}`,i&&(l+="; Secure"),a&&(l+=`; Domain=${a}`),document.cookie=l}removeCookie(e,t={}){this.setCookie(e,"",{...t,maxAge:0})}getAuthToken(){const e=this.getCookie(this.tokenName);if(e)return e;if(typeof localStorage<"u"){const e=localStorage.getItem(this.fallbackStorageKey);if(e)return this.setAuthToken(e),localStorage.removeItem(this.fallbackStorageKey),e}return null}setAuthToken(e){const t=typeof window<"u"&&"localhost"!==window.location.hostname;this.setCookie(this.tokenName,e,{secure:t,sameSite:"lax",maxAge:this.tokenMaxAge,domain:t?this.productionDomain:void 0,path:"/"})}removeAuthToken(){const e=typeof window<"u"&&"localhost"!==window.location.hostname;this.removeCookie(this.tokenName,{domain:e?this.productionDomain:void 0,path:"/"}),typeof localStorage<"u"&&localStorage.removeItem(this.fallbackStorageKey)}};Na(Za,"CookieUtil");const Ya=new Za;function Xa(e,t){const r=e.apiBase||(e.isDev?"http://localhost:5555":"https://app.fiction.com");return Da(r,{fetch:Na(async(e,r)=>{const i=Ya.getAuthToken(),n=await fetch(e,{...r,headers:{...r?.headers,"Content-Type":"application/json",...i&&{Authorization:`Bearer ${i}`}},credentials:"omit"});if(t){const e=n.json.bind(n),r=n.clone();return Object.defineProperty(r,"json",{value:Na(async()=>{const r=await e();return"object"==typeof r&&null!==r&&"ok"in r&&("user"in r||"token"in r)&&t(r),r},"value")}),r}return n},"fetch")})}Na(Xa,"createApiClient");let es=[],ts=0,rs=Na(e=>{let t=[],r={get:()=>(r.lc||r.listen(()=>{})(),r.value),lc:0,listen:e=>(r.lc=t.push(e),()=>{for(let t=ts+4;t<es.length;)es[t]===e?es.splice(t,4):t+=4;let i=t.indexOf(e);~i&&(t.splice(i,1),--r.lc||r.off())}),notify(e,i){let n=!es.length;for(let o of t)es.push(o,r.value,e,i);if(n){for(ts=0;ts<es.length;ts+=4)es[ts](es[ts+1],es[ts+2],es[ts+3]);es.length=0}},off(){},set(e){let t=r.value;t!==e&&(r.value=e,r.notify(t))},subscribe(e){let t=r.listen(e);return e(r.value),t},value:e};return r},"atom");const is=rs(void 0),ns=rs(null),os=class{constructor(){ja(this,"logger",Ga("SDKStorage"))}syncWithGlobalStores(e,t){const r=is.get(),i=ns.get();r&&(e.value=r),i&&(t.value=i),un(e,e=>{is.set(e)},{immediate:!0}),un(t,e=>{ns.set(e)},{immediate:!0}),is.subscribe(t=>{t!==e.value&&(e.value=t)}),ns.subscribe(e=>{e!==t.value&&(t.value=e)})}loadFromStorage(e,t){if(typeof window>"u")return;const r=Ya.getAuthToken();r&&(t.value=r);try{const t=localStorage.getItem("fiction-user");t&&(e.value=JSON.parse(t))}catch(i){this.logger.error("Failed to load user from localStorage",{data:i})}}saveToStorage(e,t){if(!(typeof window>"u")){t.value?Ya.setAuthToken(t.value):Ya.removeAuthToken();try{e.value?localStorage.setItem("fiction-user",JSON.stringify(e.value)):localStorage.removeItem("fiction-user")}catch(r){this.logger.error("Failed to save user to localStorage",{data:r})}}}clearStorage(){if(!(typeof window>"u")){Ya.removeAuthToken();try{localStorage.removeItem("fiction-user")}catch(e){this.logger.error("Failed to clear user from localStorage",{data:e})}is.set(void 0),ns.set(null)}}getItem(e){if(typeof window>"u")return null;try{return localStorage.getItem(e)}catch(Py){return this.logger.error("Failed to get item from localStorage",{key:e,error:Py}),null}}setItem(e,t){if(!(typeof window>"u"))try{localStorage.setItem(e,t)}catch(r){this.logger.error("Failed to set item in localStorage",{key:e,error:r})}}};Na(os,"SDKStorage");let as=os;const ss=class extends Qa{constructor(e={}){super("FictionSDK",e),ja(this,"activeUser",Ft()),ja(this,"token",Ft(null)),ja(this,"loading",Ft(!1)),ja(this,"error",Ft(null)),ja(this,"apiBase",this.settings.apiBase||void 0),ja(this,"storage",new as),ja(this,"sessionId",l({prefix:"ses"})),ja(this,"apiClient"),ja(this,"currentSelf",go(()=>{const e=this.activeUser.value;if(!e?.selves)return;const t=e.primarySelfId||e.selves[0]?.selfId;return t?e.selves.find(e=>e.selfId===t):void 0})),ja(this,"currentOrg",go(()=>{const e=this.currentSelf.value;if(!e?.orgId)return;const t=this.activeUser.value;return t?.orgs?t.orgs.find(t=>t.orgId===e.orgId):void 0})),ja(this,"initialized"),ja(this,"resolveUser"),this.apiClient=Xa({isDev:this.isDev,apiBase:this.apiBase},this.processApiResponse.bind(this)),this.logger.info("FictionSDK initialized"),this.storage.loadFromStorage(this.activeUser,this.token),this.storage.syncWithGlobalStores(this.activeUser,this.token),this.initialized=new Promise(e=>{this.resolveUser=e}),this.token.value&&!this.activeUser.value?this.getCurrentUser().then(e=>{this.resolveUser&&(this.resolveUser(e),this.resolveUser=void 0)}).catch(e=>{this.logger.error("Auto user fetch failed",{data:e}),this.resolveUser&&(this.resolveUser(void 0),this.resolveUser=void 0)}):this.activeUser.value?this.resolveUser?.(this.activeUser.value):this.resolveUser?.(void 0)}get isDev(){return this.settings.isDev??(typeof window<"u"&&("localhost"===window.location.hostname||window.location.hostname.includes("127.0.0.1")))}get api(){return this.apiClient.api}processApiResponse(e){e.ok&&e.user&&(this.activeUser.value=e.user,this.logger.info("User updated from API response",{data:e.user})),e.ok&&e.token&&(this.token.value=e.token,this.storage.saveToStorage(this.activeUser,this.token),this.logger.info("Token updated from API response")),this.resolveUser&&e.ok&&(this.resolveUser(e.user),this.resolveUser=void 0)}clearSession(){this.logger.info("Clearing session"),this.activeUser.value=void 0,this.token.value=null,this.error.value=null,this.storage.clearStorage()}async sendCode(e){this.loading.value=!0,this.error.value=null;try{const t=await(await this.api.auth["check-email"].$post({json:{email:e}})).json();if(!t.ok)throw this.error.value=t.error,new Error(t.error)}catch(t){this.logger.error("Send code error",{data:t});const e=t instanceof Error?t.message:"Failed to send verification code";throw this.error.value=e,t}finally{this.loading.value=!1}}async verifyCode(e,t){this.loading.value=!0,this.error.value=null;try{const r=await(await this.api.auth["verify-code"].$post({json:{email:e,code:t}})).json();if(!r.ok)throw this.error.value=r.error,new Error(r.error)}catch(r){this.logger.error("Verify code error",{data:r});const e=r instanceof Error?r.message:"Failed to verify code";throw this.error.value=e,r}finally{this.loading.value=!1}}async login(e,t){this.loading.value=!0,this.error.value=null;try{const r=await(await this.api.auth.login.$post({json:{email:e,password:t}})).json();if(!r.ok)throw this.error.value=r.error,new Error(r.error)}catch(r){this.logger.error("Login error",{data:r});const e=r instanceof Error?r.message:"Login failed";throw this.error.value=e,r}finally{this.loading.value=!1}}async logout(){this.loading.value=!0,this.error.value=null;try{await this.api.auth.logout.$post(),this.activeUser.value=void 0,this.token.value=null,this.storage.clearStorage()}catch(Py){this.logger.error("Logout error (user still logged out locally)",{data:Py}),this.activeUser.value=void 0,this.token.value=null,this.storage.clearStorage()}finally{this.loading.value=!1}}async getCurrentUser(){if(this.token.value){this.loading.value=!0;try{const e=await(await this.api.auth.me.$get()).json();return e.ok?e.user:(this.error.value=e.error,void(e.error.includes("Authentication")&&(this.activeUser.value=void 0,this.token.value=null,this.storage.clearStorage())))}catch(Py){return this.logger.error("Get current user error",{data:Py}),void(this.error.value=Py instanceof Error?Py.message:"Failed to get user info")}finally{this.loading.value=!1}}}async getPublicSelf(e){this.loading.value=!0,this.error.value=null;try{const t=await(await this.api.self.public[":handle"].$get({param:{handle:e.handle}})).json();return t.ok?t.data:(this.error.value=t.error,void this.logger.error("Failed to fetch public self",{handle:e.handle,error:t.error}))}catch(t){return this.logger.error("Get public self error",{handle:e.handle,error:t}),void(this.error.value=t instanceof Error?t.message:"Failed to fetch self")}finally{this.loading.value=!1}}async requestAuthCode(e){this.loading.value=!0,this.error.value=null;try{const t=await(await this.api.auth["check-email"].$post({json:{email:e.email}})).json();return t.ok?(this.logger.info("Auth code requested successfully",{email:e.email}),!0):(this.error.value=t.error,this.logger.error("Failed to request auth code",{email:e.email,error:t.error}),!1)}catch(t){return this.logger.error("Request auth code error",{email:e.email,error:t}),this.error.value=t instanceof Error?t.message:"Failed to request auth code",!1}finally{this.loading.value=!1}}async loginWithCode(e){this.loading.value=!0,this.error.value=null;try{const t=await(await this.api.auth["verify-code"].$post({json:{email:e.email,code:e.code}})).json();return t.ok?(this.logger.info("Login successful",{email:e.email}),e.orgId&&!1!==e.autoCreateContact&&this.activeUser.value?.userId&&await this.autoCreateContact({userId:this.activeUser.value.userId,orgId:e.orgId}),!0):(this.error.value=t.error,this.logger.error("Login failed",{email:e.email,error:t.error}),!1)}catch(t){return this.logger.error("Login with code error",{email:e.email,error:t}),this.error.value=t instanceof Error?t.message:"Login failed",!1}finally{this.loading.value=!1}}async trackUsage(e){try{const t=this.currentSelf.value;if(!t?.orgId)return this.logger.error("Cannot track usage: no current self with orgId",{args:e}),!1;const r=await(await this.api.usage.record.$post({json:{orgId:t.orgId,selfId:e.selfId,sessionId:this.sessionId,type:e.type,quantity:e.quantity,userId:e.participantId||this.activeUser.value?.userId||"anonymous"}})).json();return!!r.ok||(this.logger.error("Failed to track usage",{error:r.error,args:e}),!1)}catch(t){return this.logger.error("Track usage error",{error:t,args:e}),!1}}async autoCreateContact(e){try{const t=await(await this.api.contact.resolve.$post({json:{userId:e.userId,orgId:e.orgId}})).json();return t.ok?(this.logger.info("Contact resolved",{userId:e.userId,orgId:e.orgId}),!0):(this.logger.error("Failed to auto-create contact",{error:t.error,args:e}),!1)}catch(t){return this.logger.error("Auto-create contact error",{error:t,args:e}),!1}}async startConversation(e){try{const t=this.currentSelf.value;if(!t?.orgId)return void this.logger.error("Cannot start conversation: no current self with orgId",{args:e});const r=await(await this.api.conversation.start.$post({json:{orgId:t.orgId,selfId:e.selfId,userId:e.userId||this.activeUser.value?.userId,anonId:e.anonId}})).json();if(!r.ok||!r.data){const t=r.ok?"No conversation data returned":"error"in r?r.error:"Unknown error";return void this.logger.error("Failed to start conversation",{error:t,args:e})}return this.logger.info("Conversation started",{conversationId:r.data.conversationId}),r.data}catch(t){return void this.logger.error("Start conversation error",{error:t,args:e})}}generateAnonId(){const e="fictionAnonId";let t=this.storage.getItem(e);return t||(t=l({prefix:"anon"}),this.storage.setItem(e,t)),t}async saveMessage(e){try{const t=await(await this.api.conversation.messages.$post({json:{sessionId:e.conversationId,participantId:e.participantId,content:e.content,role:e.role}})).json();return!!t.ok||(this.logger.error("Failed to save message",{error:"error"in t?t.error:"Unknown error",args:e}),!1)}catch(t){return this.logger.error("Save message error",{error:t,args:e}),!1}}track(e){try{typeof window<"u"&&window.parent!==window&&window.parent.postMessage({type:"fiction_track",event:e.event,selfId:e.selfId,properties:e.properties||{}},"*"),this.logger.info("SDK event tracked",{event:e.event,selfId:e.selfId})}catch(t){this.logger.error("Track event error",{error:t,args:e})}}};Na(ss,"FictionSDK");let ls=ss;var cs=Object.defineProperty,ds=(e,t)=>cs(e,"name",{value:t,configurable:!0}),hs=(e,t,r)=>((e,t,r)=>t in e?cs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);const us={info:ds(e=>{},"info"),error:ds(e=>{},"error"),warn:ds(e=>{},"warn")},ps=class e{constructor(t){if(hs(this,"app",null),hs(this,"shadowRoot",null),hs(this,"widgetInstance",null),hs(this,"config"),hs(this,"sdk"),hs(this,"container",null),this.config=t,!t.mode)throw new Error("FictionWidget: mode is required");if(!t.handle&&!t.self)throw new Error("FictionWidget: either handle or self is required");if("modal"!==t.mode&&!t.el)throw new Error(`FictionWidget: el (HTMLElement) is required for ${t.mode} mode`);if("modal"===t.mode){const r=t.handle||t.self?.selfId||"default",i=e.modalInstances.get(r);i&&(us.warn(`Destroying existing modal widget for: ${r}`),i.destroy()),e.modalInstances.set(r,this)}const r=typeof window<"u"&&("localhost"===window.location.hostname||window.location.hostname.includes("127.0.0.1"));this.sdk=new ls({isDev:r,apiBase:t.apiBase}),us.info(`Initializing ${t.mode} mode for @${t.handle||t.self?.handle} (isDev: ${r})`),this.init()}async init(){"modal"===this.config.mode?(this.container=document.createElement("div"),this.container.id=`fiction-modal-${this.config.handle||this.config.self?.selfId||"widget"}`,document.body.appendChild(this.container),this.shadowRoot=this.container.attachShadow({mode:"open"})):this.shadowRoot=this.config.el.attachShadow({mode:"open"});const e=document.createElement("style");e.textContent="/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,sans-serif;--font-serif:\"New York\",Georgia,Cambria,\"Times New Roman\",Times,serif;--font-mono:\"DM Mono\",\"SF Mono\",SFMono-Regular,Consolas,\"Liberation Mono\",Menlo,Courier,monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-pink-50:oklch(97.1% .014 343.198);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-400:oklch(71.2% .194 13.428);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-800:oklch(45.5% .188 13.697);--color-rose-900:oklch(41% .159 10.272);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-md:48rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-lg:16px;--blur-xl:24px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-theme-0:var(--theme-0,#fff);--color-theme-25:var(--theme-25,#f8fafc);--color-theme-50:var(--theme-50,#f3f4f6);--color-theme-100:var(--theme-100,#e5e7eb);--color-theme-200:var(--theme-200,#d1d5db);--color-theme-300:var(--theme-300,#9ca3af);--color-theme-400:var(--theme-400,#6b7280);--color-theme-500:var(--theme-500,#4b5563);--color-theme-600:var(--theme-600,#374151);--color-theme-700:var(--theme-700,#1f2a44);--color-theme-800:var(--theme-800,#111827);--color-theme-900:var(--theme-900,#0c0a13);--color-theme-950:var(--theme-950,#030712);--color-primary-0:var(--primary-0,#fff);--color-primary-25:var(--primary-25,#eff6ff);--color-primary-50:var(--primary-50,#dbeafe);--color-primary-100:var(--primary-100,#bfdbfe);--color-primary-200:var(--primary-200,#93c5fd);--color-primary-300:var(--primary-300,#60a5fa);--color-primary-400:var(--primary-400,#3b82f6);--color-primary-500:var(--primary-500,#2563eb);--color-primary-600:var(--primary-600,#1d4ed8);--color-primary-700:var(--primary-700,#1e40af);--color-primary-800:var(--primary-800,#1e3a8a);--color-primary-900:var(--primary-900,#172554);--color-primary-950:var(--primary-950,#0c1838);--color-primary:var(--primary)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);font-family:var(--font-sans);color:var(--foreground)}.x-font-title{font-family:Cal Sans,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:700}}@layer components;@layer utilities{.\\@container\\/agent{container:agent/inline-size}.\\@container\\/input{container:input/inline-size}.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.-top-3{top:calc(var(--spacing)*-3)}.top-0{top:calc(var(--spacing)*0)}.top-0\\.5{top:calc(var(--spacing)*.5)}.top-1{top:calc(var(--spacing)*1)}.top-1\\.5{top:calc(var(--spacing)*1.5)}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-6{top:calc(var(--spacing)*6)}.top-full{top:100%}.-right-16{right:calc(var(--spacing)*-16)}.right-0{right:calc(var(--spacing)*0)}.right-0\\.5{right:calc(var(--spacing)*.5)}.right-1{right:calc(var(--spacing)*1)}.right-1\\.5{right:calc(var(--spacing)*1.5)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-\\[-4px\\]{right:-4px}.right-full{right:100%}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.bottom-full{bottom:100%}.-left-4{left:calc(var(--spacing)*-4)}.-left-16{left:calc(var(--spacing)*-16)}.-left-full{left:-100%}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.left-6{left:calc(var(--spacing)*6)}.left-\\[-4px\\]{left:-4px}.left-\\[13px\\]{left:13px}.left-full{left:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[100\\]{z-index:100}.z-\\[999999\\]{z-index:999999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-0\\.5{margin-block:calc(var(--spacing)*.5)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-4{margin-block:calc(var(--spacing)*4)}.my-6{margin-block:calc(var(--spacing)*6)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-\\[-\\.07em\\]{margin-top:-.07em}.mt-\\[0\\.5em\\]{margin-top:.5em}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-\\[1px\\]{margin-bottom:1px}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.i-heroicons-arrow-path{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-arrow-right{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-arrow-up-tray{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-check-20-solid{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20'%3E%3Cpath fill='black' fill-rule='evenodd' d='M16.705 4.153a.75.75 0 0 1 .142 1.052l-8 10.5a.75.75 0 0 1-1.127.075l-4.5-4.5a.75.75 0 0 1 1.06-1.06l3.894 3.893l7.48-9.817a.75.75 0 0 1 1.05-.143' clip-rule='evenodd'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-envelope{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-exclamation-triangle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0zM12 15.75h.007v.008H12z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-globe-alt{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a9 9 0 0 1 7.843 4.582M12 3a9 9 0 0 0-7.843 4.582m15.686 0A11.95 11.95 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.96 8.96 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.9 17.9 0 0 1 12 16.5a17.9 17.9 0 0 1-8.716-2.247m0 0A9 9 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-home{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m2.25 12l8.955-8.955a1.124 1.124 0 0 1 1.59 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-information-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-phone{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.04 12.04 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-phone-x-mark{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M15.75 3.75L18 6m0 0l2.25 2.25M18 6l2.25-2.25M18 6l-2.25 2.25m1.5 13.5c-8.284 0-15-6.716-15-15V4.5A2.25 2.25 0 0 1 4.5 2.25h1.372c.516 0 .966.351 1.091.852l1.106 4.423c.11.44-.054.902-.417 1.173l-1.293.97a1.06 1.06 0 0 0-.38 1.21a12.04 12.04 0 0 0 7.143 7.143c.441.162.928-.004 1.21-.38l.97-1.293a1.13 1.13 0 0 1 1.173-.417l4.423 1.106c.5.125.852.575.852 1.091V19.5a2.25 2.25 0 0 1-2.25 2.25z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-photo{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m2.25 15.75l5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5m10.5-11.25h.008v.008h-.008zm.375 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-heroicons-trash{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21q.512.078 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48 48 0 0 0-3.478-.397m-12 .562q.51-.088 1.022-.165m0 0a48 48 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a52 52 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a49 49 0 0 0-7.5 0'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-lucide-audio-waveform{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 13a2 2 0 0 0 2-2V7a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0V4a2 2 0 0 1 4 0v13a2 2 0 0 0 4 0v-4a2 2 0 0 1 2-2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-lucide-rocket{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09M12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0m1 7v5s3.03-.55 4-2c1.08-1.62 0-5 0-5'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-github{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-linkedin{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-simple-icons-x{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M14.234 10.162L22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299l-.929-1.329L3.076 1.56h3.182l5.965 8.532l.929 1.329l7.754 11.09h-3.182z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-svg-spinners-3-dots-fade{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Ccircle cx='4' cy='12' r='3' fill='black'%3E%3Canimate id='SVG7x14Dcom' fill='freeze' attributeName='opacity' begin='0;SVGqSjG0dUp.end-0.25s' dur='0.75s' values='1;.2'/%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='3' fill='black' opacity='.4'%3E%3Canimate fill='freeze' attributeName='opacity' begin='SVG7x14Dcom.begin+0.15s' dur='0.75s' values='1;.2'/%3E%3C/circle%3E%3Ccircle cx='20' cy='12' r='3' fill='black' opacity='.3'%3E%3Canimate id='SVGqSjG0dUp' fill='freeze' attributeName='opacity' begin='SVG7x14Dcom.begin+0.3s' dur='0.75s' values='1;.2'/%3E%3C/circle%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-svg-spinners-90-ring-with-bg{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z' opacity='.25'/%3E%3Cpath fill='black' d='M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z'%3E%3CanimateTransform attributeName='transform' dur='0.75s' repeatCount='indefinite' type='rotate' values='0 12 12;360 12 12'/%3E%3C/path%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-alert-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m9-4v4m0 4h.01'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-alert-triangle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 9v4m-1.637-9.409L2.257 17.125a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636-2.87L13.637 3.59a1.914 1.914 0 0 0-3.274 0zM12 16h.01'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-apps{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm0 10a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm10 0a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zm0-8h6m-3-3v6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-down-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 7v14m-3-3l3 3l3-3M12 7a2 2 0 1 0 0-4a2 2 0 0 0 0 4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-left{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14M5 12l6 6m-6-6l6-6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-right{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14m-6 6l6-6m-6-6l6 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-up{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 5v14m6-8l-6-6m-6 6l6-6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-up-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 17V3m3 3l-3-3l-3 3m3 11a2 2 0 1 0 0 4a2 2 0 0 0 0-4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-arrow-up-right{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 7L7 17M8 7h9v9'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-article{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zm4 2h10M7 12h10M7 16h10'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-bold{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 5h6a3.5 3.5 0 0 1 0 7H7zm6 7h1a3.5 3.5 0 0 1 0 7H7v-7'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-bolt{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13 3v7h6l-8 11v-7H5z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-brand-discord{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 12a1 1 0 1 0 2 0a1 1 0 0 0-2 0m6 0a1 1 0 1 0 2 0a1 1 0 0 0-2 0'/%3E%3Cpath d='M15.5 17c0 1 1.5 3 2 3c1.5 0 2.833-1.667 3.5-3c.667-1.667.5-5.833-1.5-11.5c-1.457-1.015-3-1.34-4.5-1.5l-.972 1.923a11.9 11.9 0 0 0-4.053 0L9 4c-1.5.16-3.043.485-4.5 1.5c-2 5.667-2.167 9.833-1.5 11.5c.667 1.333 2 3 3.5 3c.5 0 2-2 2-3'/%3E%3Cpath d='M7 16.5c3.5 1 6.5 1 10 0'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-bubble-text{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 10h10m-8 4h5M12.4 3a5.34 5.34 0 0 1 4.906 3.239a5.333 5.333 0 0 1-1.195 10.6a4.26 4.26 0 0 1-5.28 1.863L7 21v-3.134a2.668 2.668 0 0 1-1.795-3.773A4.8 4.8 0 0 1 8.113 5.16A5.33 5.33 0 0 1 12.4 3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-bug{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 9V8a3 3 0 0 1 6 0v1M8 9h8a6 6 0 0 1 1 3v3a5 5 0 0 1-10 0v-3a6 6 0 0 1 1-3m-5 4h4m10 0h4m-9 7v-6m-8 5l3.35-2M20 19l-3.35-2M4 7l3.75 2.4M20 7l-3.75 2.4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-building{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 21h18M9 8h1m-1 4h1m-1 4h1m4-8h1m-1 4h1m-1 4h1M5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-bulb{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12h1m8-9v1m8 8h1M5.6 5.6l.7.7m12.1-.7l-.7.7M9 16a5 5 0 1 1 6 0a3.5 3.5 0 0 0-1 3a2 2 0 0 1-4 0a3.5 3.5 0 0 0-1-3m.7 1h4.6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-calendar{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm12-4v4M8 3v4m-4 4h16m-9 4h1m0 0v3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-chart-line{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 19h16M4 15l4-6l4 2l4-5l4 4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-check{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m5 12l5 5L20 7'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-checklist{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9.615 20H7a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8m-3 5l2 2l4-4M9 8h4m-4 4h2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-chevron-down{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9l6 6l6-6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-chevron-right{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 6l6 6l-6 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-chevron-up{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 15l6-6l6 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-clear-formatting{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m17 15l4 4m0-4l-4 4M7 6V5h11v1M7 19h4m2-14L9 19'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-clock{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-cloud-upload{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M7 18a4.6 4.4 0 0 1 0-9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-1'/%3E%3Cpath d='m9 15l3-3l3 3m-3-3v9'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-code{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m7 8l-4 4l4 4m10-8l4 4l-4 4M14 4l-4 16'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-coin{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3Cpath d='M14.8 9A2 2 0 0 0 13 8h-2a2 2 0 1 0 0 4h2a2 2 0 1 1 0 4h-2a2 2 0 0 1-1.8-1M12 7v10'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-copy{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M7 9.667A2.667 2.667 0 0 1 9.667 7h8.666A2.667 2.667 0 0 1 21 9.667v8.666A2.667 2.667 0 0 1 18.333 21H9.667A2.667 2.667 0 0 1 7 18.333z'/%3E%3Cpath d='M4.012 16.737A2 2 0 0 1 3 15V5c0-1.1.9-2 2-2h10c.75 0 1.158.385 1.5 1'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-credit-card{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 8a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3zm0 2h18M7 15h.01M11 15h2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-crown{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m12 6l4 6l5-4l-2 10H5L3 8l5 4z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-dashboard{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 13a2 2 0 1 0 4 0a2 2 0 1 0-4 0m3.45-1.45L15.5 9.5'/%3E%3Cpath d='M6.4 20a9 9 0 1 1 11.2 0z'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-device-floppy{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M6 4h10l4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2'/%3E%3Cpath d='M10 14a2 2 0 1 0 4 0a2 2 0 1 0-4 0m4-10v4H8V4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-discount-check{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 7.2A2.2 2.2 0 0 1 7.2 5h1a2.2 2.2 0 0 0 1.55-.64l.7-.7a2.2 2.2 0 0 1 3.12 0l.7.7c.412.41.97.64 1.55.64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58.23 1.138.64 1.55l.7.7a2.2 2.2 0 0 1 0 3.12l-.7.7a2.2 2.2 0 0 0-.64 1.55v1a2.2 2.2 0 0 1-2.2 2.2h-1a2.2 2.2 0 0 0-1.55.64l-.7.7a2.2 2.2 0 0 1-3.12 0l-.7-.7a2.2 2.2 0 0 0-1.55-.64h-1a2.2 2.2 0 0 1-2.2-2.2v-1a2.2 2.2 0 0 0-.64-1.55l-.7-.7a2.2 2.2 0 0 1 0-3.12l.7-.7A2.2 2.2 0 0 0 5 8.2z'/%3E%3Cpath d='m9 12l2 2l4-4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-download{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5l5-5m-5-7v12'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-exclamation-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0m9-3v4m0 3v.01'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-external-link{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6m-7 1l9-9m-5 0h5v5'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-eye{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10 12a2 2 0 1 0 4 0a2 2 0 0 0-4 0'/%3E%3Cpath d='M21 12q-3.6 6-9 6t-9-6q3.6-6 9-6t9 6'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-file-music{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M14 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2'/%3E%3Cpath d='M10 16a1 1 0 1 0 2 0a1 1 0 1 0-2 0m2 0v-5l2 1'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-fingerprint{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18.9 7a8 8 0 0 1 1.1 5v1a6 6 0 0 0 .8 3M8 11a4 4 0 0 1 8 0v1a10 10 0 0 0 2 6'/%3E%3Cpath d='M12 11v2a14 14 0 0 0 2.5 8M8 15a18 18 0 0 0 1.8 6m-4.9-2a22 22 0 0 1-.9-7v-1a8 8 0 0 1 12-6.95'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-flask{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 3h6m-5 6h4m-4-6v6L6 20a.7.7 0 0 0 .5 1h11a.7.7 0 0 0 .5-1L14 9V3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-gift{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 9a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm9-1v13'/%3E%3Cpath d='M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7m2.5-4a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5a2.5 2.5 0 0 1 0 5'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-grip-vertical{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 5a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m6-14a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-headphones{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4 15a2 2 0 0 1 2-2h1a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm11 0a2 2 0 0 1 2-2h1a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2z'/%3E%3Cpath d='M4 15v-3a8 8 0 0 1 16 0v3'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-help{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0m9 5v.01'/%3E%3Cpath d='M12 13.5a1.5 1.5 0 0 1 1-1.5a2.6 2.6 0 1 0-3-4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-home{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 12H3l9-9l9 9h-2M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M9 21v-6a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v6'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-info-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0m9-3h.01'/%3E%3Cpath d='M11 12h1v4h1'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-italic{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M11 5h6M7 19h6m1-14l-4 14'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-key{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1-4.069 0l-.301-.301l-6.558 6.558a2 2 0 0 1-1.239.578L5.172 21H4a1 1 0 0 1-.993-.883L3 20v-1.172a2 2 0 0 1 .467-1.284l.119-.13L4 17h2v-2h2v-2l2.144-2.144l-.301-.301a2.877 2.877 0 0 1 0-4.069l2.643-2.643a2.877 2.877 0 0 1 4.069 0M15 9h.01'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-link{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 15l6-6m-4-3l.463-.536a5 5 0 0 1 7.071 7.072L18 13m-5 5l-.397.534a5.07 5.07 0 0 1-7.127 0a4.97 4.97 0 0 1 0-7.071L6 11'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-list{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 6h11M9 12h11M9 18h11M5 6v.01M5 12v.01M5 18v.01'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-list-numbers{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M11 6h9m-9 6h9m-8 6h8M4 16a2 2 0 1 1 4 0c0 .591-.5 1-1 1.5L4 20h4M6 10V4L4 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-loader{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6V3m4.25 4.75L18.4 5.6M18 12h3m-4.75 4.25l2.15 2.15M12 18v3m-4.25-4.75L5.6 18.4M6 12H3m4.75-4.25L5.6 5.6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-loader-2{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 3a9 9 0 1 0 9 9'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-lock{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 13a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z'/%3E%3Cpath d='M11 16a1 1 0 1 0 2 0a1 1 0 0 0-2 0m-3-5V7a4 4 0 1 1 8 0v4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-lock-open{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 13a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z'/%3E%3Cpath d='M11 16a1 1 0 1 0 2 0a1 1 0 1 0-2 0m-3-5V6a4 4 0 0 1 8 0'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-logout{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M14 8V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2v-2'/%3E%3Cpath d='M9 12h12l-3-3m0 6l3-3'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-mail-check{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M11 19H5a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6'/%3E%3Cpath d='m3 7l9 6l9-6m-6 12l2 2l4-4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-menu{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h16M4 16h16'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-message-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3 20l1.3-3.9C1.976 12.663 2.874 8.228 6.4 5.726c3.526-2.501 8.59-2.296 11.845.48c3.255 2.777 3.695 7.266 1.029 10.501S11.659 20.922 7.7 19z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-messages{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21 14l-3-3h-7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1zm-7 1v2a1 1 0 0 1-1 1H6l-3 3V11a1 1 0 0 1 1-1h2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-microphone{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M9 5a3 3 0 0 1 3-3h0a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3h0a3 3 0 0 1-3-3z'/%3E%3Cpath d='M5 10a7 7 0 0 0 14 0M8 21h8m-4-4v4'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-north-star{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12h18m-9 9V3M7.5 7.5l9 9m-9 0l9-9'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-percentage{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 17a1 1 0 1 0 2 0a1 1 0 1 0-2 0M6 7a1 1 0 1 0 2 0a1 1 0 1 0-2 0m0 11L18 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-phone{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-player-pause{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm8 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-player-play{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 4v16l13-8z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-plug{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9.785 6L18 14.215l-2.054 2.054a5.81 5.81 0 1 1-8.215-8.215zM4 20l3.5-3.5M15 4l-3.5 3.5M20 9l-3.5 3.5'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-plug-off{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m16.123 16.092l-.177.177a5.81 5.81 0 1 1-8.215-8.215l.159-.159M4 20l3.5-3.5M15 4l-3.5 3.5M20 9l-3.5 3.5M3 3l18 18'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-plus{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 5v14m-7-7h14'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-qrcode{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm3 12v.01M14 5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1zM7 7v.01M4 15a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm13-8v.01M14 14h3m3 0v.01M14 14v3m0 3h3m0-3h3m0 0v3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-quotes{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 12c-1.333-1.854-1.333-4.146 0-6m4 6c-1.333-1.854-1.333-4.146 0-6m8 12c1.333-1.854 1.333-4.146 0-6m4 6c1.333-1.854 1.333-4.146 0-6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-refresh{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4m-4 4a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-rocket{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3-5a9 9 0 0 0 6-8a3 3 0 0 0-3-3a9 9 0 0 0-8 6a6 6 0 0 0-5 3'/%3E%3Cpath d='M7 14a6 6 0 0 0-3 6a6 6 0 0 0 6-3m4-8a1 1 0 1 0 2 0a1 1 0 1 0-2 0'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-search{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 10a7 7 0 1 0 14 0a7 7 0 1 0-14 0m18 11l-6-6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-settings{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 0 0-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 0 0-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 0 0-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 0 0-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 0 0 1.066-2.573c-.94-1.543.826-3.31 2.37-2.37c1 .608 2.296.07 2.572-1.065'/%3E%3Cpath d='M9 12a3 3 0 1 0 6 0a3 3 0 0 0-6 0'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-share{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 12a3 3 0 1 0 6 0a3 3 0 1 0-6 0m12-6a3 3 0 1 0 6 0a3 3 0 1 0-6 0m0 12a3 3 0 1 0 6 0a3 3 0 1 0-6 0m-6.3-7.3l6.6-3.4m-6.6 6l6.6 3.4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-shield-lock{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 3a12 12 0 0 0 8.5 3A12 12 0 0 1 12 21A12 12 0 0 1 3.5 6A12 12 0 0 0 12 3'/%3E%3Cpath d='M11 11a1 1 0 1 0 2 0a1 1 0 1 0-2 0m1 1v2.5'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-sparkles{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2-2a2 2 0 0 1-2-2a2 2 0 0 1-2 2m0-12a2 2 0 0 1 2 2a2 2 0 0 1 2-2a2 2 0 0 1-2-2a2 2 0 0 1-2 2M9 18a6 6 0 0 1 6-6a6 6 0 0 1-6-6a6 6 0 0 1-6 6a6 6 0 0 1 6 6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-square{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-star{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m12 17.75l-6.172 3.245l1.179-6.873l-5-4.867l6.9-1l3.086-6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-switch{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 4h4v4m-4.25 1.25L19 4M5 19l4-4m6 4h4v-4M5 5l14 14'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-target{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M11 12a1 1 0 1 0 2 0a1 1 0 1 0-2 0'/%3E%3Cpath d='M7 12a5 5 0 1 0 10 0a5 5 0 1 0-10 0'/%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-tool{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 10h3V7L6.5 3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1-3 3l-6-6a6 6 0 0 1-8-8z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-trash{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 7h16m-10 4v6m4-6v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-trending-up{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m3 17l6-6l4 4l8-8'/%3E%3Cpath d='M14 7h7v7'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-check{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h4m1 4l2 2l4-4'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-circle{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0'/%3E%3Cpath d='M9 10a3 3 0 1 0 6 0a3 3 0 1 0-6 0m-2.832 8.849A4 4 0 0 1 10 16h4a4 4 0 0 1 3.834 2.855'/%3E%3C/g%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-cog{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h2.5m4.501 4a2 2 0 1 0 4 0a2 2 0 1 0-4 0m2-3.5V17m0 4v1.5m3.031-5.25l-1.299.75m-3.463 2l-1.3.75m0-3.5l1.3.75m3.463 2l1.3.75'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-edit{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h3.5m4.92.61a2.1 2.1 0 0 1 2.97 2.97L18 22h-3v-3z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-user-share{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0M6 21v-2a4 4 0 0 1 4-4h3m3 7l5-5m0 4.5V17h-4.5'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-users{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 7a4 4 0 1 0 8 0a4 4 0 1 0-8 0M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2m1-17.87a4 4 0 0 1 0 7.75M21 21v-2a4 4 0 0 0-3-3.85'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-volume{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M15 8a5 5 0 0 1 0 8m2.7-11a9 9 0 0 1 0 14M6 15H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h2l3.5-4.5A.8.8 0 0 1 11 5v14a.8.8 0 0 1-1.5.5z'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-wave-sine{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 12h-2c-.894 0-1.662-.857-1.761-2c-.296-3.45-.749-6-2.749-6s-2.5 3.582-2.5 8s-.5 8-2.5 8s-2.452-2.547-2.749-6c-.1-1.147-.867-2-1.763-2h-2'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-wifi-off{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 18h.01m-2.838-2.828a4 4 0 0 1 5.656 0m-8.485-2.829a7.96 7.96 0 0 1 3.864-2.14m4.163.155a8 8 0 0 1 3.287 2M3.515 9.515A12 12 0 0 1 7.059 7.06m3.101-.92a12 12 0 0 1 10.325 3.374M3 3l18 18'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-writing{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 17V5c0-1.121-.879-2-2-2s-2 .879-2 2v12l2 2zM16 7h4m-2 12H5a2 2 0 1 1 0-4h4a2 2 0 1 0 0-4H6'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.i-tabler-x{--svg:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E\");width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);background-color:currentColor;display:inline-block;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\\[3\\/1\\]{aspect-ratio:3}.aspect-\\[3\\/4\\]{aspect-ratio:3/4}.aspect-\\[9\\/16\\]{aspect-ratio:9/16}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-1\\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-11{width:calc(var(--spacing)*11);height:calc(var(--spacing)*11)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.size-\\[1\\.1em\\]{width:1.1em;height:1.1em}.size-full{width:100%;height:100%}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-40{height:calc(var(--spacing)*40)}.h-64{height:calc(var(--spacing)*64)}.h-\\[28px\\]{height:28px}.h-\\[34px\\]{height:34px}.h-\\[42px\\]{height:42px}.h-\\[60px\\]{height:60px}.h-\\[80px\\]{height:80px}.h-\\[80vh\\]{height:80vh}.h-\\[85vh\\]{height:85vh}.h-\\[100dvh\\]{height:100dvh}.h-\\[600px\\]{height:600px}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-0{max-height:calc(var(--spacing)*0)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[300px\\]{max-height:300px}.max-h-\\[600px\\]{max-height:600px}.max-h-\\[calc\\(100vh-48px\\)\\]{max-height:calc(100vh - 48px)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-32{min-height:calc(var(--spacing)*32)}.min-h-\\[30px\\]{min-height:30px}.min-h-\\[44px\\]{min-height:44px}.min-h-\\[70vh\\]{min-height:70vh}.min-h-\\[280px\\]{min-height:280px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-1\\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-5\\/6{width:83.3333%}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-22{width:calc(var(--spacing)*22)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-30{width:calc(var(--spacing)*30)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\\[3px\\]{width:3px}.w-\\[28px\\]{width:28px}.w-\\[29\\%\\]{width:29%}.w-\\[60px\\]{width:60px}.w-\\[80\\%\\]{width:80%}.w-\\[80px\\]{width:80px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\\[70\\%\\]{max-width:70%}.max-w-\\[255px\\]{max-width:255px}.max-w-\\[300px\\]{max-width:300px}.max-w-\\[380px\\]{max-width:380px}.max-w-\\[calc\\(100vw-48px\\)\\]{max-width:calc(100vw - 48px)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-screen-md{max-width:var(--breakpoint-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[80px\\]{min-width:80px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.basis-0{flex-basis:calc(var(--spacing)*0)}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.origin-top-right{transform-origin:100% 0}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-4{--tw-translate-x:calc(var(--spacing)*-4);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-\\[30px\\]{--tw-translate-x: -30px ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-3{--tw-translate-x:calc(var(--spacing)*3);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing)*5);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-6{--tw-translate-x:calc(var(--spacing)*6);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-7{--tw-translate-x:calc(var(--spacing)*7);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-8{--tw-translate-x:calc(var(--spacing)*8);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-\\[30px\\]{--tw-translate-y: -30px ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[30px\\]{--tw-translate-y:30px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-full{--tw-translate-y:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-150{--tw-scale-x:150%;--tw-scale-y:150%;--tw-scale-z:150%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-0{rotate:none}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*16)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*16)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{-moz-column-gap:calc(var(--spacing)*4);column-gap:calc(var(--spacing)*4)}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-12>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*12)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-theme-100>:not(:last-child)){border-color:var(--color-theme-100)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[5px\\]{border-radius:5px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-t-md{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-amber-300{border-color:var(--color-amber-300)}.border-black{border-color:var(--color-black)}.border-blue-200{border-color:var(--color-blue-200)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-300\\/80{border-color:#d1d5dccc}@supports (color:color-mix(in lab,red,red)){.border-gray-300\\/80{border-color:color-mix(in oklab,var(--color-gray-300)80%,transparent)}}.border-gray-500{border-color:var(--color-gray-500)}.border-green-100{border-color:var(--color-green-100)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-400{border-color:var(--color-green-400)}.border-green-500{border-color:var(--color-green-500)}.border-green-600{border-color:var(--color-green-600)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-indigo-600\\/80{border-color:#4f39f6cc}@supports (color:color-mix(in lab,red,red)){.border-indigo-600\\/80{border-color:color-mix(in oklab,var(--color-indigo-600)80%,transparent)}}.border-neutral-200{border-color:var(--color-neutral-200)}.border-orange-100{border-color:var(--color-orange-100)}.border-orange-500{border-color:var(--color-orange-500)}.border-orange-700{border-color:var(--color-orange-700)}.border-primary-100{border-color:var(--color-primary-100)}.border-primary-200,.border-primary-200\\/50{border-color:var(--color-primary-200)}@supports (color:color-mix(in lab,red,red)){.border-primary-200\\/50{border-color:color-mix(in oklab,var(--color-primary-200)50%,transparent)}}.border-primary-200\\/70{border-color:var(--color-primary-200)}@supports (color:color-mix(in lab,red,red)){.border-primary-200\\/70{border-color:color-mix(in oklab,var(--color-primary-200)70%,transparent)}}.border-primary-300,.border-primary-300\\/60{border-color:var(--color-primary-300)}@supports (color:color-mix(in lab,red,red)){.border-primary-300\\/60{border-color:color-mix(in oklab,var(--color-primary-300)60%,transparent)}}.border-primary-400{border-color:var(--color-primary-400)}.border-primary-500,.border-primary-500\\/40{border-color:var(--color-primary-500)}@supports (color:color-mix(in lab,red,red)){.border-primary-500\\/40{border-color:color-mix(in oklab,var(--color-primary-500)40%,transparent)}}.border-primary-600\\/80{border-color:var(--color-primary-600)}@supports (color:color-mix(in lab,red,red)){.border-primary-600\\/80{border-color:color-mix(in oklab,var(--color-primary-600)80%,transparent)}}.border-purple-200{border-color:var(--color-purple-200)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-400{border-color:var(--color-red-400)}.border-red-500{border-color:var(--color-red-500)}.border-red-600\\/80{border-color:#e40014cc}@supports (color:color-mix(in lab,red,red)){.border-red-600\\/80{border-color:color-mix(in oklab,var(--color-red-600)80%,transparent)}}.border-rose-100{border-color:var(--color-rose-100)}.border-rose-500{border-color:var(--color-rose-500)}.border-rose-600\\/80{border-color:#e70044cc}@supports (color:color-mix(in lab,red,red)){.border-rose-600\\/80{border-color:color-mix(in oklab,var(--color-rose-600)80%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-theme-100{border-color:var(--color-theme-100)}.border-theme-200,.border-theme-200\\/50{border-color:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.border-theme-200\\/50{border-color:color-mix(in oklab,var(--color-theme-200)50%,transparent)}}.border-theme-200\\/60{border-color:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.border-theme-200\\/60{border-color:color-mix(in oklab,var(--color-theme-200)60%,transparent)}}.border-theme-200\\/70{border-color:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.border-theme-200\\/70{border-color:color-mix(in oklab,var(--color-theme-200)70%,transparent)}}.border-theme-300,.border-theme-300\\/50{border-color:var(--color-theme-300)}@supports (color:color-mix(in lab,red,red)){.border-theme-300\\/50{border-color:color-mix(in oklab,var(--color-theme-300)50%,transparent)}}.border-theme-300\\/80{border-color:var(--color-theme-300)}@supports (color:color-mix(in lab,red,red)){.border-theme-300\\/80{border-color:color-mix(in oklab,var(--color-theme-300)80%,transparent)}}.border-theme-500{border-color:var(--color-theme-500)}.border-theme-600\\/80{border-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.border-theme-600\\/80{border-color:color-mix(in oklab,var(--color-theme-600)80%,transparent)}}.border-theme-900{border-color:var(--color-theme-900)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-white\\/100{border-color:var(--color-white)}.border-t-primary-500{border-top-color:var(--color-primary-500)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-background{background-color:var(--background)}.bg-black{background-color:var(--color-black)}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-primary{background-color:var(--primary)}.bg-primary-25{background-color:var(--color-primary-25)}.bg-primary-50,.bg-primary-50\\/20{background-color:var(--color-primary-50)}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\\/20{background-color:color-mix(in oklab,var(--color-primary-50)20%,transparent)}}.bg-primary-50\\/30{background-color:var(--color-primary-50)}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\\/30{background-color:color-mix(in oklab,var(--color-primary-50)30%,transparent)}}.bg-primary-500,.bg-primary-500\\/20{background-color:var(--color-primary-500)}@supports (color:color-mix(in lab,red,red)){.bg-primary-500\\/20{background-color:color-mix(in oklab,var(--color-primary-500)20%,transparent)}}.bg-primary-500\\/80{background-color:var(--color-primary-500)}@supports (color:color-mix(in lab,red,red)){.bg-primary-500\\/80{background-color:color-mix(in oklab,var(--color-primary-500)80%,transparent)}}.bg-primary-600{background-color:var(--color-primary-600)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-theme-0{background-color:var(--color-theme-0)}.bg-theme-25,.bg-theme-25\\/70{background-color:var(--color-theme-25)}@supports (color:color-mix(in lab,red,red)){.bg-theme-25\\/70{background-color:color-mix(in oklab,var(--color-theme-25)70%,transparent)}}.bg-theme-50,.bg-theme-50\\/20{background-color:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.bg-theme-50\\/20{background-color:color-mix(in oklab,var(--color-theme-50)20%,transparent)}}.bg-theme-100,.bg-theme-100\\/70{background-color:var(--color-theme-100)}@supports (color:color-mix(in lab,red,red)){.bg-theme-100\\/70{background-color:color-mix(in oklab,var(--color-theme-100)70%,transparent)}}.bg-theme-200{background-color:var(--color-theme-200)}.bg-theme-300{background-color:var(--color-theme-300)}.bg-theme-500{background-color:var(--color-theme-500)}.bg-theme-600{background-color:var(--color-theme-600)}.bg-theme-700\\/50{background-color:var(--color-theme-700)}@supports (color:color-mix(in lab,red,red)){.bg-theme-700\\/50{background-color:color-mix(in oklab,var(--color-theme-700)50%,transparent)}}.bg-theme-800,.bg-theme-800\\/60{background-color:var(--color-theme-800)}@supports (color:color-mix(in lab,red,red)){.bg-theme-800\\/60{background-color:color-mix(in oklab,var(--color-theme-800)60%,transparent)}}.bg-theme-900{background-color:var(--color-theme-900)}.bg-theme-950\\/20{background-color:var(--color-theme-950)}@supports (color:color-mix(in lab,red,red)){.bg-theme-950\\/20{background-color:color-mix(in oklab,var(--color-theme-950)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.bg-white\\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.bg-white\\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/70{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}.bg-white\\/100{background-color:var(--color-white)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\\/70{--tw-gradient-from:#000000b3}@supports (color:color-mix(in lab,red,red)){.from-black\\/70{--tw-gradient-from:color-mix(in oklab,var(--color-black)70%,transparent)}}.from-black\\/70{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-black\\/90{--tw-gradient-from:#000000e6}@supports (color:color-mix(in lab,red,red)){.from-black\\/90{--tw-gradient-from:color-mix(in oklab,var(--color-black)90%,transparent)}}.from-black\\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-50{--tw-gradient-from:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-theme-50\\/40{--tw-gradient-from:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.from-theme-50\\/40{--tw-gradient-from:color-mix(in oklab,var(--color-theme-50)40%,transparent)}}.from-theme-50\\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-theme-100{--tw-gradient-from:var(--color-theme-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-theme-200\\/60{--tw-gradient-from:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.from-theme-200\\/60{--tw-gradient-from:color-mix(in oklab,var(--color-theme-200)60%,transparent)}}.from-theme-200\\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-theme-800{--tw-gradient-from:var(--color-theme-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-black\\/10{--tw-gradient-via:#0000001a}@supports (color:color-mix(in lab,red,red)){.via-black\\/10{--tw-gradient-via:color-mix(in oklab,var(--color-black)10%,transparent)}}.via-black\\/10{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\\/50{--tw-gradient-via:#00000080}@supports (color:color-mix(in lab,red,red)){.via-black\\/50{--tw-gradient-via:color-mix(in oklab,var(--color-black)50%,transparent)}}.via-black\\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-black\\/90{--tw-gradient-via:#000000e6}@supports (color:color-mix(in lab,red,red)){.via-black\\/90{--tw-gradient-via:color-mix(in oklab,var(--color-black)90%,transparent)}}.via-black\\/90{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-theme-100\\/60{--tw-gradient-via:var(--color-theme-100)}@supports (color:color-mix(in lab,red,red)){.via-theme-100\\/60{--tw-gradient-via:color-mix(in oklab,var(--color-theme-100)60%,transparent)}}.via-theme-100\\/60{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-theme-200{--tw-gradient-via:var(--color-theme-200);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-black\\/40{--tw-gradient-to:#0006}@supports (color:color-mix(in lab,red,red)){.to-black\\/40{--tw-gradient-to:color-mix(in oklab,var(--color-black)40%,transparent)}}.to-black\\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-black\\/80{--tw-gradient-to:#000c}@supports (color:color-mix(in lab,red,red)){.to-black\\/80{--tw-gradient-to:color-mix(in oklab,var(--color-black)80%,transparent)}}.to-black\\/80{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-black\\/100{--tw-gradient-to:var(--color-black);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-50{--tw-gradient-to:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-50{--tw-gradient-to:var(--color-pink-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-theme-50\\/20{--tw-gradient-to:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.to-theme-50\\/20{--tw-gradient-to:color-mix(in oklab,var(--color-theme-50)20%,transparent)}}.to-theme-50\\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-theme-100{--tw-gradient-to:var(--color-theme-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-theme-200{--tw-gradient-to:var(--color-theme-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-theme-200\\/60{--tw-gradient-to:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.to-theme-200\\/60{--tw-gradient-to:color-mix(in oklab,var(--color-theme-200)60%,transparent)}}.to-theme-200\\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-theme-950{--tw-gradient-to:var(--color-theme-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.fill-orange-500{fill:var(--color-orange-500)}.fill-primary-500{fill:var(--color-primary-500)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.p-24{padding:calc(var(--spacing)*24)}.\\!px-1{padding-inline:calc(var(--spacing)*1)!important}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-9{padding-inline:calc(var(--spacing)*9)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-10{padding-top:calc(var(--spacing)*10)}.pt-12{padding-top:calc(var(--spacing)*12)}.pt-32{padding-top:calc(var(--spacing)*32)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[\\.9em\\]{font-size:.9em}.text-\\[0\\.8em\\]{font-size:.8em}.text-\\[1\\.2em\\]{font-size:1.2em}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-foreground{color:var(--foreground)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-50{color:var(--color-green-50)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-900{color:var(--color-green-900)}.text-indigo-50{color:var(--color-indigo-50)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-900{color:var(--color-indigo-900)}.text-inherit{color:inherit}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-600{color:var(--color-neutral-600)}.text-orange-50{color:var(--color-orange-50)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-900{color:var(--color-orange-900)}.text-primary-0{color:var(--color-primary-0)}.text-primary-300{color:var(--color-primary-300)}.text-primary-400{color:var(--color-primary-400)}.text-primary-500{color:var(--color-primary-500)}.text-primary-600{color:var(--color-primary-600)}.text-primary-700{color:var(--color-primary-700)}.text-primary-800{color:var(--color-primary-800)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-red-50{color:var(--color-red-50)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-rose-50{color:var(--color-rose-50)}.text-rose-500{color:var(--color-rose-500)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-rose-900{color:var(--color-rose-900)}.text-theme-0{color:var(--color-theme-0)}.text-theme-50{color:var(--color-theme-50)}.text-theme-200{color:var(--color-theme-200)}.text-theme-300{color:var(--color-theme-300)}.text-theme-400{color:var(--color-theme-400)}.text-theme-500{color:var(--color-theme-500)}.text-theme-600,.text-theme-600\\/90{color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.text-theme-600\\/90{color:color-mix(in oklab,var(--color-theme-600)90%,transparent)}}.text-theme-700{color:var(--color-theme-700)}.text-theme-800{color:var(--color-theme-800)}.text-theme-900{color:var(--color-theme-900)}.text-white{color:var(--color-white)}.text-white\\/20{color:#fff3}@supports (color:color-mix(in lab,red,red)){.text-white\\/20{color:color-mix(in oklab,var(--color-white)20%,transparent)}}.text-white\\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.text-white\\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-theme-500::-moz-placeholder{color:var(--color-theme-500)}.placeholder-theme-500::placeholder{color:var(--color-theme-500)}.placeholder-white\\/50::-moz-placeholder{color:#ffffff80}.placeholder-white\\/50::placeholder{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.placeholder-white\\/50::-moz-placeholder{color:color-mix(in oklab,var(--color-white)50%,transparent)}.placeholder-white\\/50::placeholder{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.caret-primary-500{caret-color:var(--color-primary-500)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.mix-blend-overlay{mix-blend-mode:overlay}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-black\\/10{--tw-ring-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.ring-black\\/10{--tw-ring-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.ring-gray-200{--tw-ring-color:var(--color-gray-200)}.ring-primary-500{--tw-ring-color:var(--color-primary-500)}.ring-theme-200{--tw-ring-color:var(--color-theme-200)}.ring-theme-300\\/70{--tw-ring-color:var(--color-theme-300)}@supports (color:color-mix(in lab,red,red)){.ring-theme-300\\/70{--tw-ring-color:color-mix(in oklab,var(--color-theme-300)70%,transparent)}}.ring-theme-500{--tw-ring-color:var(--color-theme-500)}.ring-white{--tw-ring-color:var(--color-white)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-1000{--tw-duration:1s;transition-duration:1s}.duration-\\[400ms\\]{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\.25\\,1\\,0\\.33\\,1\\)\\]{--tw-ease:cubic-bezier(.25,1,.33,1);transition-timing-function:cubic-bezier(.25,1,.33,1)}.ease-\\[cubic-bezier\\(0\\.52\\,0\\.01\\,0\\.16\\,1\\)\\]{--tw-ease:cubic-bezier(.52,.01,.16,1);transition-timing-function:cubic-bezier(.52,.01,.16,1)}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-auto{will-change:auto}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\\[-ms-overflow-style\\:none\\]{-ms-overflow-style:none}.\\[image-rendering\\:-webkit-optimize-contrast\\]{image-rendering:-webkit-optimize-contrast}.\\[scrollbar-width\\:none\\]{scrollbar-width:none}.\\[text-shadow\\:_0_0\\.5px_0_rgb\\(0_0_0_\\/_40\\%\\)\\]{text-shadow:0 .5px #0006}.\\[text-shadow\\:_0_1px_1px_rgb\\(255_255_255_\\/_100\\%\\)\\]{text-shadow:0 1px 1px #fff}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}@media(hover:hover){.group-hover\\:max-h-\\[300px\\]:is(:where(.group):hover *){max-height:300px}.group-hover\\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\\:text-theme-400:is(:where(.group):hover *){color:var(--color-theme-400)}.group-hover\\:text-theme-600:is(:where(.group):hover *){color:var(--color-theme-600)}.group-hover\\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\\:opacity-40:is(:where(.group):hover *){opacity:.4}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder\\:text-gray-400::placeholder{color:var(--color-gray-400)}.placeholder\\:text-primary-300::-moz-placeholder{color:var(--color-primary-300)}.placeholder\\:text-primary-300::placeholder{color:var(--color-primary-300)}.placeholder\\:text-theme-400::-moz-placeholder{color:var(--color-theme-400)}.placeholder\\:text-theme-400::placeholder{color:var(--color-theme-400)}.placeholder\\:text-white\\/60::-moz-placeholder{color:#fff9}.placeholder\\:text-white\\/60::placeholder{color:#fff9}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-white\\/60::-moz-placeholder{color:color-mix(in oklab,var(--color-white)60%,transparent)}.placeholder\\:text-white\\/60::placeholder{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.checked\\:border-primary-500:checked{border-color:var(--color-primary-500)}.checked\\:bg-primary-500:checked{background-color:var(--color-primary-500)}.focus-within\\:ring-gray-600:focus-within{--tw-ring-color:var(--color-gray-600)}.focus-within\\:ring-theme-600:focus-within{--tw-ring-color:var(--color-theme-600)}.focus-within\\:outline-none:focus-within{--tw-outline-style:none;outline-style:none}@media(hover:hover){.hover\\:translate-y-\\[-1px\\]:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:rotate-90:hover{rotate:90deg}.hover\\:border-gray-200:hover{border-color:var(--color-gray-200)}.hover\\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\\:border-green-200:hover{border-color:var(--color-green-200)}.hover\\:border-green-300:hover{border-color:var(--color-green-300)}.hover\\:border-indigo-200:hover{border-color:var(--color-indigo-200)}.hover\\:border-orange-200:hover{border-color:var(--color-orange-200)}.hover\\:border-primary-200:hover{border-color:var(--color-primary-200)}.hover\\:border-primary-300:hover{border-color:var(--color-primary-300)}.hover\\:border-primary-400:hover{border-color:var(--color-primary-400)}.hover\\:border-red-200:hover{border-color:var(--color-red-200)}.hover\\:border-red-300:hover{border-color:var(--color-red-300)}.hover\\:border-rose-200:hover{border-color:var(--color-rose-200)}.hover\\:border-theme-200:hover{border-color:var(--color-theme-200)}.hover\\:border-theme-300:hover,.hover\\:border-theme-300\\/80:hover{border-color:var(--color-theme-300)}@supports (color:color-mix(in lab,red,red)){.hover\\:border-theme-300\\/80:hover{border-color:color-mix(in oklab,var(--color-theme-300)80%,transparent)}}.hover\\:border-theme-400:hover{border-color:var(--color-theme-400)}.hover\\:border-white\\/40:hover{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.hover\\:border-white\\/40:hover{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.hover\\:border-white\\/80:hover{border-color:#fffc}@supports (color:color-mix(in lab,red,red)){.hover\\:border-white\\/80:hover{border-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.hover\\:border-white\\/90:hover{border-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\\:border-white\\/90:hover{border-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.hover\\:bg-amber-50:hover{background-color:var(--color-amber-50)}.hover\\:bg-black\\/60:hover{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-black\\/60:hover{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.hover\\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\\:bg-green-200:hover{background-color:var(--color-green-200)}.hover\\:bg-green-500:hover{background-color:var(--color-green-500)}.hover\\:bg-green-500\\/10:hover{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-green-500\\/10:hover{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.hover\\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\\:bg-indigo-200:hover{background-color:var(--color-indigo-200)}.hover\\:bg-indigo-500\\/10:hover{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-indigo-500\\/10:hover{background-color:color-mix(in oklab,var(--color-indigo-500)10%,transparent)}}.hover\\:bg-indigo-600:hover{background-color:var(--color-indigo-600)}.hover\\:bg-orange-200:hover{background-color:var(--color-orange-200)}.hover\\:bg-orange-500\\/10:hover{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-orange-500\\/10:hover{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.hover\\:bg-orange-700:hover{background-color:var(--color-orange-700)}.hover\\:bg-primary-100:hover{background-color:var(--color-primary-100)}.hover\\:bg-primary-500:hover,.hover\\:bg-primary-500\\/10:hover{background-color:var(--color-primary-500)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary-500\\/10:hover{background-color:color-mix(in oklab,var(--color-primary-500)10%,transparent)}}.hover\\:bg-primary-600:hover{background-color:var(--color-primary-600)}.hover\\:bg-primary-700:hover{background-color:var(--color-primary-700)}.hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\\:bg-red-200:hover{background-color:var(--color-red-200)}.hover\\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\\:bg-red-500\\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-red-500\\/10:hover{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\\:bg-rose-200:hover{background-color:var(--color-rose-200)}.hover\\:bg-rose-500\\/10:hover{background-color:#ff23571a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-rose-500\\/10:hover{background-color:color-mix(in oklab,var(--color-rose-500)10%,transparent)}}.hover\\:bg-rose-600:hover{background-color:var(--color-rose-600)}.hover\\:bg-theme-25:hover,.hover\\:bg-theme-25\\/50:hover{background-color:var(--color-theme-25)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-theme-25\\/50:hover{background-color:color-mix(in oklab,var(--color-theme-25)50%,transparent)}}.hover\\:bg-theme-50:hover,.hover\\:bg-theme-50\\/60:hover{background-color:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-theme-50\\/60:hover{background-color:color-mix(in oklab,var(--color-theme-50)60%,transparent)}}.hover\\:bg-theme-100:hover{background-color:var(--color-theme-100)}.hover\\:bg-theme-200:hover{background-color:var(--color-theme-200)}.hover\\:bg-theme-500\\/10:hover{background-color:var(--color-theme-500)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-theme-500\\/10:hover{background-color:color-mix(in oklab,var(--color-theme-500)10%,transparent)}}.hover\\:bg-theme-600:hover{background-color:var(--color-theme-600)}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:bg-white\\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\\:bg-white\\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\\:bg-white\\/70:hover{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/70:hover{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}.hover\\:from-theme-50\\/60:hover{--tw-gradient-from:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.hover\\:from-theme-50\\/60:hover{--tw-gradient-from:color-mix(in oklab,var(--color-theme-50)60%,transparent)}}.hover\\:from-theme-50\\/60:hover{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\\:to-theme-50\\/40:hover{--tw-gradient-to:var(--color-theme-50)}@supports (color:color-mix(in lab,red,red)){.hover\\:to-theme-50\\/40:hover{--tw-gradient-to:color-mix(in oklab,var(--color-theme-50)40%,transparent)}}.hover\\:to-theme-50\\/40:hover{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\\:text-neutral-600:hover{color:var(--color-neutral-600)}.hover\\:text-primary-600:hover{color:var(--color-primary-600)}.hover\\:text-red-500:hover{color:var(--color-red-500)}.hover\\:text-theme-0:hover{color:var(--color-theme-0)}.hover\\:text-theme-400:hover{color:var(--color-theme-400)}.hover\\:text-theme-500:hover{color:var(--color-theme-500)}.hover\\:text-theme-600:hover{color:var(--color-theme-600)}.hover\\:text-theme-700:hover{color:var(--color-theme-700)}.hover\\:text-theme-800:hover{color:var(--color-theme-800)}.hover\\:text-theme-900:hover{color:var(--color-theme-900)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:text-white\\/70:hover{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.hover\\:text-white\\/70:hover{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.hover\\:text-white\\/80:hover{color:#fffc}@supports (color:color-mix(in lab,red,red)){.hover\\:text-white\\/80:hover{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.hover\\:opacity-70:hover{opacity:.7}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-2:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:ring-theme-100\\/30:hover{--tw-ring-color:var(--color-theme-100)}@supports (color:color-mix(in lab,red,red)){.hover\\:ring-theme-100\\/30:hover{--tw-ring-color:color-mix(in oklab,var(--color-theme-100)30%,transparent)}}.hover\\:ring-theme-200\\/50:hover{--tw-ring-color:var(--color-theme-200)}@supports (color:color-mix(in lab,red,red)){.hover\\:ring-theme-200\\/50:hover{--tw-ring-color:color-mix(in oklab,var(--color-theme-200)50%,transparent)}}.hover\\:ring-theme-400\\/70:hover{--tw-ring-color:var(--color-theme-400)}@supports (color:color-mix(in lab,red,red)){.hover\\:ring-theme-400\\/70:hover{--tw-ring-color:color-mix(in oklab,var(--color-theme-400)70%,transparent)}}.hover\\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:border-0:focus{border-style:var(--tw-border-style);border-width:0}.focus\\:border-primary-500:focus{border-color:var(--color-primary-500)}.focus\\:border-transparent:focus{border-color:#0000}.focus\\:border-white\\/40:focus{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.focus\\:border-white\\/40:focus{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.focus\\:bg-primary-50\\/50:focus{background-color:var(--color-primary-50)}@supports (color:color-mix(in lab,red,red)){.focus\\:bg-primary-50\\/50:focus{background-color:color-mix(in oklab,var(--color-primary-50)50%,transparent)}}.focus\\:bg-theme-200:focus{background-color:var(--color-theme-200)}.focus\\:bg-white:focus{background-color:var(--color-white)}.focus\\:bg-white\\/20:focus{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.focus\\:bg-white\\/20:focus{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.focus\\:caret-primary-500:focus{caret-color:var(--color-primary-500)}.focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-gray-600:focus{--tw-ring-color:var(--color-gray-600)}.focus\\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}.focus\\:ring-primary-600:focus{--tw-ring-color:var(--color-primary-600)}.focus\\:ring-primary-700:focus{--tw-ring-color:var(--color-primary-700)}.focus\\:ring-theme-600:focus{--tw-ring-color:var(--color-theme-600)}.focus\\:ring-white\\/90:focus{--tw-ring-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-white\\/90:focus{--tw-ring-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus\\:ring-inset:focus{--tw-ring-inset:inset}.focus-visible\\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-primary-600:focus-visible{outline-color:var(--color-primary-600)}.active\\:-translate-y-0\\.5:active{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.active\\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\\:scale-\\[1\\.06\\]:active{scale:1.06}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-primary-500:active{background-color:var(--color-primary-500)}.active\\:bg-theme-800\\/80:active{background-color:var(--color-theme-800)}@supports (color:color-mix(in lab,red,red)){.active\\:bg-theme-800\\/80:active{background-color:color-mix(in oklab,var(--color-theme-800)80%,transparent)}}.active\\:opacity-80:active{opacity:.8}.active\\:duration-100:active{--tw-duration:.1s;transition-duration:.1s}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:opacity-60:disabled{opacity:.6}@media(min-width:40rem){.sm\\:block{display:block}.sm\\:size-16{width:calc(var(--spacing)*16);height:calc(var(--spacing)*16)}.sm\\:h-24{height:calc(var(--spacing)*24)}.sm\\:w-24{width:calc(var(--spacing)*24)}.sm\\:translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\\:translate-x-2{--tw-translate-x:calc(var(--spacing)*2);translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\\:translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.sm\\:flex-row{flex-direction:row}.sm\\:items-center{align-items:center}.sm\\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\\:py-32{padding-block:calc(var(--spacing)*32)}.sm\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media(min-width:48rem){.md\\:static{position:static}.md\\:left-0{left:calc(var(--spacing)*0)}.md\\:block{display:block}.md\\:hidden{display:none}.md\\:aspect-\\[1\\/1\\]{aspect-ratio:1}.md\\:h-\\[600px\\]{height:600px}.md\\:w-\\[calc\\(10rem\\+12vw\\)\\]{width:calc(10rem + 12vw)}.md\\:max-w-none{max-width:none}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:items-center{align-items:center}.md\\:justify-end{justify-content:flex-end}.md\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.md\\:p-6{padding:calc(var(--spacing)*6)}.md\\:px-6{padding-inline:calc(var(--spacing)*6)}.md\\:px-12{padding-inline:calc(var(--spacing)*12)}.md\\:px-16{padding-inline:calc(var(--spacing)*16)}.md\\:py-8{padding-block:calc(var(--spacing)*8)}.md\\:pr-4{padding-right:calc(var(--spacing)*4)}.md\\:opacity-100{opacity:1}.md\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\\:ring-white\\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.md\\:ring-white\\/10{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}}@media(min-width:64rem){.lg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\\:flex-row{flex-direction:row}.lg\\:p-8{padding:calc(var(--spacing)*8)}.lg\\:px-8{padding-inline:calc(var(--spacing)*8)}.lg\\:px-12{padding-inline:calc(var(--spacing)*12)}.lg\\:py-6{padding-block:calc(var(--spacing)*6)}}@media(min-width:80rem){.xl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\\:pl-8{padding-left:calc(var(--spacing)*8)}.xl\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@container input (min-width:220px){.\\@\\[220px\\]\\/input\\:block{display:block}.\\@\\[220px\\]\\/input\\:size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.\\@\\[220px\\]\\/input\\:size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.\\@\\[220px\\]\\/input\\:size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.\\@\\[220px\\]\\/input\\:size-16{width:calc(var(--spacing)*16);height:calc(var(--spacing)*16)}.\\@\\[220px\\]\\/input\\:gap-2\\.5{gap:calc(var(--spacing)*2.5)}.\\@\\[220px\\]\\/input\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.\\@\\[220px\\]\\/input\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.\\@\\[220px\\]\\/input\\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.\\@\\[220px\\]\\/input\\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@container (min-width:400px){.\\@\\[400px\\]\\:flex-row{flex-direction:row}.\\@\\[400px\\]\\:gap-6{gap:calc(var(--spacing)*6)}}@container agent (min-width:480px){.\\@\\[480px\\]\\/agent\\:px-6{padding-inline:calc(var(--spacing)*6)}}@container (min-width:20rem){.\\@xs\\:flex{display:flex}.\\@xs\\:items-center{align-items:center}.\\@xs\\:justify-between{justify-content:space-between}:where(.\\@xs\\:space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}}@container (min-width:36rem){.\\@xl\\:size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.\\@xl\\:size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}}.dark\\:border-gray-400:where(.dark,.dark *){border-color:var(--color-gray-400)}.dark\\:border-gray-600:where(.dark,.dark *){border-color:var(--color-gray-600)}.dark\\:border-gray-800\\/20:where(.dark,.dark *){border-color:#1e293933}@supports (color:color-mix(in lab,red,red)){.dark\\:border-gray-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-gray-800)20%,transparent)}}.dark\\:border-green-600:where(.dark,.dark *){border-color:var(--color-green-600)}.dark\\:border-green-800\\/20:where(.dark,.dark *){border-color:#01663033}@supports (color:color-mix(in lab,red,red)){.dark\\:border-green-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-green-800)20%,transparent)}}.dark\\:border-indigo-600:where(.dark,.dark *){border-color:var(--color-indigo-600)}.dark\\:border-indigo-800\\/20:where(.dark,.dark *){border-color:#372aac33}@supports (color:color-mix(in lab,red,red)){.dark\\:border-indigo-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-indigo-800)20%,transparent)}}.dark\\:border-orange-600:where(.dark,.dark *){border-color:var(--color-orange-600)}.dark\\:border-orange-800\\/20:where(.dark,.dark *){border-color:#9f2d0033}@supports (color:color-mix(in lab,red,red)){.dark\\:border-orange-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-orange-800)20%,transparent)}}.dark\\:border-primary-500:where(.dark,.dark *){border-color:var(--color-primary-500)}.dark\\:border-primary-600:where(.dark,.dark *){border-color:var(--color-primary-600)}.dark\\:border-primary-800\\/20:where(.dark,.dark *){border-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-primary-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-primary-800)20%,transparent)}}.dark\\:border-primary-800\\/50:where(.dark,.dark *){border-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-primary-800\\/50:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-primary-800)50%,transparent)}}.dark\\:border-red-600:where(.dark,.dark *){border-color:var(--color-red-600)}.dark\\:border-red-800:where(.dark,.dark *){border-color:var(--color-red-800)}.dark\\:border-red-800\\/20:where(.dark,.dark *){border-color:#9f071233}@supports (color:color-mix(in lab,red,red)){.dark\\:border-red-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-red-800)20%,transparent)}}.dark\\:border-rose-600:where(.dark,.dark *){border-color:var(--color-rose-600)}.dark\\:border-rose-800\\/20:where(.dark,.dark *){border-color:#a3003733}@supports (color:color-mix(in lab,red,red)){.dark\\:border-rose-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-rose-800)20%,transparent)}}.dark\\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\\:border-theme-400:where(.dark,.dark *){border-color:var(--color-theme-400)}.dark\\:border-theme-500:where(.dark,.dark *){border-color:var(--color-theme-500)}.dark\\:border-theme-600:where(.dark,.dark *),.dark\\:border-theme-600\\/50:where(.dark,.dark *){border-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-theme-600\\/50:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-theme-600)50%,transparent)}}.dark\\:border-theme-600\\/70:where(.dark,.dark *){border-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-theme-600\\/70:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-theme-600)70%,transparent)}}.dark\\:border-theme-700:where(.dark,.dark *),.dark\\:border-theme-700\\/70:where(.dark,.dark *){border-color:var(--color-theme-700)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-theme-700\\/70:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-theme-700)70%,transparent)}}.dark\\:border-theme-800\\/20:where(.dark,.dark *){border-color:var(--color-theme-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:border-theme-800\\/20:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-theme-800)20%,transparent)}}.dark\\:bg-gray-600\\/30:where(.dark,.dark *){background-color:#4a55654d}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-600\\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-600)30%,transparent)}}.dark\\:bg-gray-700\\/40:where(.dark,.dark *){background-color:#36415366}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-700\\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-700)40%,transparent)}}.dark\\:bg-gray-800\\/50:where(.dark,.dark *){background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-800\\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.dark\\:bg-green-700\\/70:where(.dark,.dark *){background-color:#008138b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-700)70%,transparent)}}.dark\\:bg-green-800\\/20:where(.dark,.dark *){background-color:#01663033}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-green-800)20%,transparent)}}.dark\\:bg-indigo-700\\/70:where(.dark,.dark *){background-color:#432dd7b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-indigo-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-indigo-700)70%,transparent)}}.dark\\:bg-indigo-800\\/20:where(.dark,.dark *){background-color:#372aac33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-indigo-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-indigo-800)20%,transparent)}}.dark\\:bg-orange-700\\/70:where(.dark,.dark *){background-color:#c53c00b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-orange-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-orange-700)70%,transparent)}}.dark\\:bg-orange-800\\/20:where(.dark,.dark *){background-color:#9f2d0033}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-orange-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-orange-800)20%,transparent)}}.dark\\:bg-primary-500:where(.dark,.dark *){background-color:var(--color-primary-500)}.dark\\:bg-primary-700\\/50:where(.dark,.dark *){background-color:var(--color-primary-700)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-700\\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-700)50%,transparent)}}.dark\\:bg-primary-700\\/70:where(.dark,.dark *){background-color:var(--color-primary-700)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-700)70%,transparent)}}.dark\\:bg-primary-800\\/20:where(.dark,.dark *){background-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-800)20%,transparent)}}.dark\\:bg-primary-800\\/40:where(.dark,.dark *){background-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-800\\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-800)40%,transparent)}}.dark\\:bg-primary-950\\/20:where(.dark,.dark *){background-color:var(--color-primary-950)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-950\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-950)20%,transparent)}}.dark\\:bg-primary-950\\/50:where(.dark,.dark *){background-color:var(--color-primary-950)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-primary-950\\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-primary-950)50%,transparent)}}.dark\\:bg-red-700\\/70:where(.dark,.dark *){background-color:#bf000fb3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-700)70%,transparent)}}.dark\\:bg-red-800\\/20:where(.dark,.dark *){background-color:#9f071233}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-800)20%,transparent)}}.dark\\:bg-red-900\\/20:where(.dark,.dark *){background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-900\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\\:bg-rose-700\\/70:where(.dark,.dark *){background-color:#c20039b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-700\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-rose-700)70%,transparent)}}.dark\\:bg-rose-800\\/20:where(.dark,.dark *){background-color:#a3003733}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-800\\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-rose-800)20%,transparent)}}.dark\\:bg-rose-900\\/30:where(.dark,.dark *){background-color:#8b08364d}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-900\\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-rose-900)30%,transparent)}}.dark\\:bg-slate-800:where(.dark,.dark *){background-color:var(--color-slate-800)}.dark\\:bg-theme-600:where(.dark,.dark *),.dark\\:bg-theme-600\\/30:where(.dark,.dark *){background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-600\\/30:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-600)30%,transparent)}}.dark\\:bg-theme-600\\/50:where(.dark,.dark *){background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-600\\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-600)50%,transparent)}}.dark\\:bg-theme-600\\/70:where(.dark,.dark *){background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-600\\/70:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-600)70%,transparent)}}.dark\\:bg-theme-600\\/90:where(.dark,.dark *){background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-600\\/90:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-600)90%,transparent)}}.dark\\:bg-theme-700:where(.dark,.dark *),.dark\\:bg-theme-700\\/40:where(.dark,.dark *){background-color:var(--color-theme-700)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-700\\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-700)40%,transparent)}}.dark\\:bg-theme-800:where(.dark,.dark *),.dark\\:bg-theme-800\\/50:where(.dark,.dark *){background-color:var(--color-theme-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-800\\/50:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-800)50%,transparent)}}.dark\\:bg-theme-800\\/90:where(.dark,.dark *){background-color:var(--color-theme-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-800\\/90:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-800)90%,transparent)}}.dark\\:bg-theme-900:where(.dark,.dark *),.dark\\:bg-theme-900\\/40:where(.dark,.dark *){background-color:var(--color-theme-900)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-theme-900\\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-theme-900)40%,transparent)}}.dark\\:text-gray-50:where(.dark,.dark *){color:var(--color-gray-50)}.dark\\:text-gray-100:where(.dark,.dark *){color:var(--color-gray-100)}.dark\\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\\:text-gray-500:where(.dark,.dark *){color:var(--color-gray-500)}.dark\\:text-green-50:where(.dark,.dark *){color:var(--color-green-50)}.dark\\:text-green-100:where(.dark,.dark *){color:var(--color-green-100)}.dark\\:text-green-400:where(.dark,.dark *){color:var(--color-green-400)}.dark\\:text-green-500:where(.dark,.dark *){color:var(--color-green-500)}.dark\\:text-indigo-50:where(.dark,.dark *){color:var(--color-indigo-50)}.dark\\:text-indigo-100:where(.dark,.dark *){color:var(--color-indigo-100)}.dark\\:text-indigo-400:where(.dark,.dark *){color:var(--color-indigo-400)}.dark\\:text-indigo-500:where(.dark,.dark *){color:var(--color-indigo-500)}.dark\\:text-orange-50:where(.dark,.dark *){color:var(--color-orange-50)}.dark\\:text-orange-100:where(.dark,.dark *){color:var(--color-orange-100)}.dark\\:text-orange-400:where(.dark,.dark *){color:var(--color-orange-400)}.dark\\:text-orange-500:where(.dark,.dark *){color:var(--color-orange-500)}.dark\\:text-primary-0:where(.dark,.dark *){color:var(--color-primary-0)}.dark\\:text-primary-50:where(.dark,.dark *){color:var(--color-primary-50)}.dark\\:text-primary-100:where(.dark,.dark *){color:var(--color-primary-100)}.dark\\:text-primary-200:where(.dark,.dark *){color:var(--color-primary-200)}.dark\\:text-primary-400:where(.dark,.dark *){color:var(--color-primary-400)}.dark\\:text-primary-500:where(.dark,.dark *){color:var(--color-primary-500)}.dark\\:text-red-50:where(.dark,.dark *){color:var(--color-red-50)}.dark\\:text-red-100:where(.dark,.dark *){color:var(--color-red-100)}.dark\\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\\:text-red-500:where(.dark,.dark *){color:var(--color-red-500)}.dark\\:text-rose-50:where(.dark,.dark *){color:var(--color-rose-50)}.dark\\:text-rose-100:where(.dark,.dark *){color:var(--color-rose-100)}.dark\\:text-rose-400:where(.dark,.dark *){color:var(--color-rose-400)}.dark\\:text-rose-500:where(.dark,.dark *){color:var(--color-rose-500)}.dark\\:text-theme-0:where(.dark,.dark *){color:var(--color-theme-0)}.dark\\:text-theme-50:where(.dark,.dark *){color:var(--color-theme-50)}.dark\\:text-theme-100:where(.dark,.dark *){color:var(--color-theme-100)}.dark\\:text-theme-200:where(.dark,.dark *){color:var(--color-theme-200)}.dark\\:text-theme-300:where(.dark,.dark *){color:var(--color-theme-300)}.dark\\:text-theme-400:where(.dark,.dark *){color:var(--color-theme-400)}.dark\\:text-theme-500:where(.dark,.dark *){color:var(--color-theme-500)}.dark\\:text-theme-600:where(.dark,.dark *){color:var(--color-theme-600)}.dark\\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\\:ring-gray-600\\/70:where(.dark,.dark *){--tw-ring-color:#4a5565b3}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-gray-600\\/70:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-gray-600)70%,transparent)}}.dark\\:ring-primary-600\\/70:where(.dark,.dark *){--tw-ring-color:var(--color-primary-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-primary-600\\/70:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-primary-600)70%,transparent)}}.dark\\:ring-theme-500\\/70:where(.dark,.dark *){--tw-ring-color:var(--color-theme-500)}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-theme-500\\/70:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-theme-500)70%,transparent)}}.dark\\:ring-theme-600:where(.dark,.dark *),.dark\\:ring-theme-600\\/70:where(.dark,.dark *){--tw-ring-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-theme-600\\/70:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-theme-600)70%,transparent)}}@media(hover:hover){.dark\\:group-hover\\:text-theme-50:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-theme-50)}}.dark\\:placeholder\\:text-gray-500:where(.dark,.dark *)::-moz-placeholder{color:var(--color-gray-500)}.dark\\:placeholder\\:text-gray-500:where(.dark,.dark *)::placeholder{color:var(--color-gray-500)}.dark\\:placeholder\\:text-primary-600:where(.dark,.dark *)::-moz-placeholder{color:var(--color-primary-600)}.dark\\:placeholder\\:text-primary-600:where(.dark,.dark *)::placeholder{color:var(--color-primary-600)}.dark\\:placeholder\\:text-theme-500:where(.dark,.dark *)::-moz-placeholder{color:var(--color-theme-500)}.dark\\:placeholder\\:text-theme-500:where(.dark,.dark *)::placeholder{color:var(--color-theme-500)}.dark\\:checked\\:border-primary-600:where(.dark,.dark *):checked{border-color:var(--color-primary-600)}.dark\\:checked\\:bg-primary-700:where(.dark,.dark *):checked{background-color:var(--color-primary-700)}.dark\\:focus-within\\:ring-gray-500:where(.dark,.dark *):focus-within{--tw-ring-color:var(--color-gray-500)}.dark\\:focus-within\\:ring-theme-500:where(.dark,.dark *):focus-within{--tw-ring-color:var(--color-theme-500)}@media(hover:hover){.dark\\:hover\\:border-gray-500:where(.dark,.dark *):hover{border-color:var(--color-gray-500)}.dark\\:hover\\:border-gray-600:where(.dark,.dark *):hover{border-color:var(--color-gray-600)}.dark\\:hover\\:border-green-700:where(.dark,.dark *):hover{border-color:var(--color-green-700)}.dark\\:hover\\:border-indigo-700:where(.dark,.dark *):hover{border-color:var(--color-indigo-700)}.dark\\:hover\\:border-orange-700:where(.dark,.dark *):hover{border-color:var(--color-orange-700)}.dark\\:hover\\:border-primary-700:where(.dark,.dark *):hover{border-color:var(--color-primary-700)}.dark\\:hover\\:border-red-700:where(.dark,.dark *):hover{border-color:var(--color-red-700)}.dark\\:hover\\:border-rose-700:where(.dark,.dark *):hover{border-color:var(--color-rose-700)}.dark\\:hover\\:border-theme-500:where(.dark,.dark *):hover{border-color:var(--color-theme-500)}.dark\\:hover\\:border-theme-600:where(.dark,.dark *):hover{border-color:var(--color-theme-600)}.dark\\:hover\\:bg-gray-600\\/50:where(.dark,.dark *):hover{background-color:#4a556580}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-gray-600\\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-gray-600)50%,transparent)}}.dark\\:hover\\:bg-green-400\\/10:where(.dark,.dark *):hover{background-color:#05df721a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-green-400\\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-green-400)10%,transparent)}}.dark\\:hover\\:bg-green-800:where(.dark,.dark *):hover{background-color:var(--color-green-800)}.dark\\:hover\\:bg-green-800\\/40:where(.dark,.dark *):hover{background-color:#01663066}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-green-800\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-green-800)40%,transparent)}}.dark\\:hover\\:bg-indigo-400\\/10:where(.dark,.dark *):hover{background-color:#7d87ff1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-indigo-400\\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-indigo-400)10%,transparent)}}.dark\\:hover\\:bg-indigo-800:where(.dark,.dark *):hover{background-color:var(--color-indigo-800)}.dark\\:hover\\:bg-indigo-800\\/40:where(.dark,.dark *):hover{background-color:#372aac66}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-indigo-800\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-indigo-800)40%,transparent)}}.dark\\:hover\\:bg-orange-400\\/10:where(.dark,.dark *):hover{background-color:#ff8b1a1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-orange-400\\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-orange-400)10%,transparent)}}.dark\\:hover\\:bg-orange-800:where(.dark,.dark *):hover{background-color:var(--color-orange-800)}.dark\\:hover\\:bg-orange-800\\/40:where(.dark,.dark *):hover{background-color:#9f2d0066}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-orange-800\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-orange-800)40%,transparent)}}.dark\\:hover\\:bg-primary-500\\/20:where(.dark,.dark *):hover{background-color:var(--color-primary-500)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-primary-500\\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-primary-500)20%,transparent)}}.dark\\:hover\\:bg-primary-800:where(.dark,.dark *):hover,.dark\\:hover\\:bg-primary-800\\/60:where(.dark,.dark *):hover{background-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-primary-800\\/60:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-primary-800)60%,transparent)}}.dark\\:hover\\:bg-primary-900\\/50:where(.dark,.dark *):hover{background-color:var(--color-primary-900)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-primary-900\\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-primary-900)50%,transparent)}}.dark\\:hover\\:bg-red-400\\/10:where(.dark,.dark *):hover{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-400\\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.dark\\:hover\\:bg-red-800:where(.dark,.dark *):hover{background-color:var(--color-red-800)}.dark\\:hover\\:bg-red-800\\/40:where(.dark,.dark *):hover{background-color:#9f071266}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-800\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-red-800)40%,transparent)}}.dark\\:hover\\:bg-rose-400\\/10:where(.dark,.dark *):hover{background-color:#ff667f1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-rose-400\\/10:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-rose-400)10%,transparent)}}.dark\\:hover\\:bg-rose-800:where(.dark,.dark *):hover{background-color:var(--color-rose-800)}.dark\\:hover\\:bg-rose-800\\/40:where(.dark,.dark *):hover{background-color:#a3003766}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-rose-800\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-rose-800)40%,transparent)}}.dark\\:hover\\:bg-theme-400\\/20:where(.dark,.dark *):hover{background-color:var(--color-theme-400)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-theme-400\\/20:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-theme-400)20%,transparent)}}.dark\\:hover\\:bg-theme-600:where(.dark,.dark *):hover,.dark\\:hover\\:bg-theme-600\\/40:where(.dark,.dark *):hover{background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-theme-600\\/40:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-theme-600)40%,transparent)}}.dark\\:hover\\:bg-theme-600\\/50:where(.dark,.dark *):hover{background-color:var(--color-theme-600)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-theme-600\\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab,var(--color-theme-600)50%,transparent)}}.dark\\:hover\\:bg-theme-700:where(.dark,.dark *):hover{background-color:var(--color-theme-700)}.dark\\:hover\\:bg-theme-800:where(.dark,.dark *):hover{background-color:var(--color-theme-800)}.dark\\:hover\\:text-theme-0:where(.dark,.dark *):hover{color:var(--color-theme-0)}.dark\\:hover\\:text-theme-50:where(.dark,.dark *):hover{color:var(--color-theme-50)}.dark\\:hover\\:text-theme-300:where(.dark,.dark *):hover{color:var(--color-theme-300)}.dark\\:hover\\:ring-theme-400\\/70:where(.dark,.dark *):hover{--tw-ring-color:var(--color-theme-400)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:ring-theme-400\\/70:where(.dark,.dark *):hover{--tw-ring-color:color-mix(in oklab,var(--color-theme-400)70%,transparent)}}.dark\\:hover\\:ring-theme-500:where(.dark,.dark *):hover{--tw-ring-color:var(--color-theme-500)}.dark\\:hover\\:ring-theme-600:where(.dark,.dark *):hover{--tw-ring-color:var(--color-theme-600)}}.dark\\:focus\\:bg-gray-800:where(.dark,.dark *):focus{background-color:var(--color-gray-800)}.dark\\:focus\\:bg-primary-800\\/40:where(.dark,.dark *):focus{background-color:var(--color-primary-800)}@supports (color:color-mix(in lab,red,red)){.dark\\:focus\\:bg-primary-800\\/40:where(.dark,.dark *):focus{background-color:color-mix(in oklab,var(--color-primary-800)40%,transparent)}}.dark\\:focus\\:bg-theme-800:where(.dark,.dark *):focus{background-color:var(--color-theme-800)}.dark\\:focus\\:bg-theme-900\\/50:where(.dark,.dark *):focus{background-color:var(--color-theme-900)}@supports (color:color-mix(in lab,red,red)){.dark\\:focus\\:bg-theme-900\\/50:where(.dark,.dark *):focus{background-color:color-mix(in oklab,var(--color-theme-900)50%,transparent)}}.dark\\:focus\\:ring-gray-500:where(.dark,.dark *):focus{--tw-ring-color:var(--color-gray-500)}.dark\\:focus\\:ring-primary-400:where(.dark,.dark *):focus{--tw-ring-color:var(--color-primary-400)}.dark\\:focus\\:ring-primary-600:where(.dark,.dark *):focus{--tw-ring-color:var(--color-primary-600)}.dark\\:focus\\:ring-theme-500:where(.dark,.dark *):focus{--tw-ring-color:var(--color-theme-500)}.dark\\:focus\\:ring-white\\/70:where(.dark,.dark *):focus{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.dark\\:focus\\:ring-white\\/70:where(.dark,.dark *):focus{--tw-ring-color:color-mix(in oklab,var(--color-white)70%,transparent)}}.dark\\:active\\:bg-primary-700:where(.dark,.dark *):active{background-color:var(--color-primary-700)}.\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}}@property --tw-animation-delay{syntax:\"*\";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:\"*\";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:\"*\";inherits:false}@property --tw-animation-fill-mode{syntax:\"*\";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:\"*\";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--muted:oklch(97% 0 0);--accent:oklch(97% 0 0);--border:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--primary:oklch(50% .17 260);--primary-foreground:oklch(100% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--accent:oklch(26.9% 0 0);--border:oklch(100% 0 0/.1);--ring:oklch(55.6% 0 0);--primary:oklch(60% .17 260);--primary-foreground:oklch(100% 0 0)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}:root{--shadow-color:220deg 60% 50%}.shadow-elevated{box-shadow:.5px 1px 1px hsl(var(--shadow-color)/.075),1px 2px 2px hsl(var(--shadow-color)/.075),2px 4px 4px hsl(var(--shadow-color)/.075),4px 8px 8px hsl(var(--shadow-color)/.075)}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:\"*\";inherits:false}@property --tw-gradient-from{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:\"*\";inherits:false}@property --tw-gradient-via-stops{syntax:\"*\";inherits:false}@property --tw-gradient-from-position{syntax:\"<length-percentage>\";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:\"<length-percentage>\";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:\"<length-percentage>\";inherits:false;initial-value:100%}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}",this.shadowRoot.appendChild(e);const t=document.createElement("div");t.id="fiction-widget-root",t.style.cssText="width: 100%; height: 100%;",this.shadowRoot.appendChild(t),await this.mountMode(t)}async mountMode(e){const{mode:t}=this.config;if("inline"===t){const{default:t}=await Promise.resolve().then(()=>hy);this.app=Ta(t,{sdk:this.sdk,handle:this.config.handle,self:this.config.self,context:this.config.context,firstMessage:this.config.firstMessage}),this.widgetInstance=this.app.mount(e)}else if("popup"===t){const{default:t}=await Promise.resolve().then(()=>by);this.app=Ta(t,{sdk:this.sdk,handle:this.config.handle,self:this.config.self,context:this.config.context,firstMessage:this.config.firstMessage,position:"bottom-right"}),this.widgetInstance=this.app.mount(e)}else{if("modal"!==t)throw new Error(`FictionWidget: unsupported mode "${t}"`);{const{default:t}=await Promise.resolve().then(()=>Iy);this.app=Ta(t,{sdk:this.sdk,handle:this.config.handle,self:this.config.self,context:this.config.context,firstMessage:this.config.firstMessage,onClose:ds(()=>{this.config.onClose&&this.config.onClose(),this.destroy()},"onClose")}),this.widgetInstance=this.app.mount(e)}}}update(e){this.widgetInstance?.update?(this.widgetInstance.update(e),us.info(`Widget updated: ${Object.keys(e).join(", ")}`)):us.warn("Widget instance does not support update()")}toggle(){this.widgetInstance?.toggle?this.widgetInstance.toggle():us.warn("Widget mode does not support toggle()")}open(){this.widgetInstance?.open?this.widgetInstance.open():us.warn("Widget mode does not support open()")}close(){this.widgetInstance?.close?this.widgetInstance.close():us.warn("Widget mode does not support close()")}destroy(){if(this.app&&(this.app.unmount(),this.app=null),this.shadowRoot&&(this.shadowRoot.innerHTML="",this.shadowRoot=null),"modal"===this.config.mode){this.container&&(this.container.remove(),this.container=null);const t=this.config.handle||this.config.self?.selfId||"default";e.modalInstances.delete(t)}this.widgetInstance=null,us.info(`Widget destroyed for handle: ${this.config.handle||this.config.self?.handle}`)}};ds(ps,"FictionWidget"),hs(ps,"modalInstances",new Map);let gs=ps;ds(function(e){const t=Ft(null),r=Ft(null),i=Ft(!0),n=Ft(null),o=Ft(!1),a=go(()=>qt(e.handle)),s=go(()=>qt(e.self)),l=go(()=>qt(e.context)),c=go(()=>qt(e.firstMessage)),d=go(()=>"modal"===e.mode?!(!a.value&&!s.value):!(!t.value||!a.value&&!s.value));return un([t,s,a],async()=>{if(!o.value&&d.value){i.value=!0,n.value=null;try{await new Promise(e=>setTimeout(e,0));const i={mode:e.mode,handle:a.value,self:s.value||void 0,context:l.value,firstMessage:c.value,apiBase:e.apiBase,onClose:e.onClose};"modal"!==e.mode&&(i.el=t.value),r.value=new gs(i),o.value=!0}catch(h){n.value=h instanceof Error?h.message:"Failed to initialize widget"}finally{i.value=!1}}},{immediate:!0}),un([s,l,c],()=>{if(!r.value||!o.value)return;const e={};void 0!==s.value&&(e.self=s.value||void 0),void 0!==l.value&&(e.context=l.value),void 0!==c.value&&(e.firstMessage=c.value),Object.keys(e).length>0&&r.value.update(e)}),di(()=>{r.value&&(r.value.destroy(),r.value=null),o.value=!1}),{containerRef:t,widget:r,loading:i,error:n}},"useFictionWidget");class ms extends HTMLElement{constructor(){super(...arguments),r(this,"widget",null)}connectedCallback(){const e=this.getAttribute("handle"),t=this.getAttribute("context"),r=this.getAttribute("first-message"),i=this.getAttribute("api-base");if(e)try{this.widget=new gs({el:this,mode:"popup",handle:e,context:t||void 0,firstMessage:r||void 0,apiBase:i||void 0}),window[`openFictionSelf_${e}`]=()=>{this.widget?.open()}}catch(n){n instanceof Error?n.message:String(n)}}disconnectedCallback(){this.widget?.destroy(),this.widget=null}}if("undefined"==typeof window||customElements.get("fiction-self")||customElements.define("fiction-self",ms),"undefined"!=typeof window){window.FictionWidget=gs;const e=()=>{const e=document.querySelectorAll("fiction-self");e.length>0&&(e.length,e.forEach(e=>{e.getAttribute("handle")}))};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}var vs=Object.defineProperty,fs=(e,t)=>vs(e,"name",{value:t,configurable:!0});const bs=fs((e=0)=>t=>`\x1b[${t+e}m`,"wrapAnsi16"),ks=fs((e=0)=>t=>`\x1b[${38+e};5;${t}m`,"wrapAnsi256"),ws=fs((e=0)=>(t,r,i)=>`\x1b[${38+e};2;${t};${r};${i}m`,"wrapAnsi16m"),ys={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},xs=Object.keys(ys.modifier),Cs=Object.keys(ys.color),Ss=Object.keys(ys.bgColor),Ts=[...Cs,...Ss];function Es(){const e=new Map;for(const[t,r]of Object.entries(ys)){for(const[t,i]of Object.entries(r))ys[t]={open:`\x1b[${i[0]}m`,close:`\x1b[${i[1]}m`},r[t]=ys[t],e.set(i[0],i[1]);Object.defineProperty(ys,t,{value:r,enumerable:!1})}return Object.defineProperty(ys,"codes",{value:e,enumerable:!1}),ys.color.close="\x1b[39m",ys.bgColor.close="\x1b[49m",ys.color.ansi=bs(),ys.color.ansi256=ks(),ys.color.ansi16m=ws(),ys.bgColor.ansi=bs(10),ys.bgColor.ansi256=ks(10),ys.bgColor.ansi16m=ws(10),Object.defineProperties(ys,{rgbToAnsi256:{value:(e,t,r)=>e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value(e){const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[r]=t;3===r.length&&(r=[...r].map(e=>e+e).join(""));const i=Number.parseInt(r,16);return[i>>16&255,i>>8&255,255&i]},enumerable:!1},hexToAnsi256:{value:fs(e=>ys.rgbToAnsi256(...ys.hexToRgb(e)),"value"),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return e-8+90;let t,r,i;if(e>=232)t=(10*(e-232)+8)/255,r=t,i=t;else{const n=(e-=16)%36;t=Math.floor(e/36)/5,r=Math.floor(n/6)/5,i=n%6/5}const n=2*Math.max(t,r,i);if(0===n)return 30;let o=30+(Math.round(i)<<2|Math.round(r)<<1|Math.round(t));return 2===n&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:fs((e,t,r)=>ys.ansi256ToAnsi(ys.rgbToAnsi256(e,t,r)),"value"),enumerable:!1},hexToAnsi:{value:fs(e=>ys.ansi256ToAnsi(ys.hexToAnsi256(e)),"value"),enumerable:!1}}),ys}fs(Es,"assembleStyles");const Is=Es(),Ps=(()=>{if(!("navigator"in globalThis))return 0;if(globalThis.navigator.userAgentData){const e=navigator.userAgentData.brands.find(({brand:e})=>"Chromium"===e);if(e&&e.version>93)return 3}return/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)?1:0})(),_s=0!==Ps&&{level:Ps,hasBasic:!0,has256:Ps>=2,has16m:Ps>=3},Ms={stdout:_s,stderr:_s};function Rs(e,t,r){let i=e.indexOf(t);if(-1===i)return e;const n=t.length;let o=0,a="";do{a+=e.slice(o,i)+t+r,o=i+n,i=e.indexOf(t,o)}while(-1!==i);return a+=e.slice(o),a}function As(e,t,r,i){let n=0,o="";do{const a="\r"===e[i-1];o+=e.slice(n,a?i-1:i)+t+(a?"\r\n":"\n")+r,n=i+1,i=e.indexOf("\n",n)}while(-1!==i);return o+=e.slice(n),o}fs(Rs,"stringReplaceAll"),fs(As,"stringEncaseCRLFWithFirstIndex");const{stdout:Os,stderr:Ds}=Ms,Ls=Symbol("GENERATOR"),Ns=Symbol("STYLER"),js=Symbol("IS_EMPTY"),Us=["ansi","ansi","ansi256","ansi16m"],zs=Object.create(null),Fs=fs((e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const r=Os?Os.level:0;e.level=void 0===t.level?r:t.level},"applyOptions"),Bs=class{constructor(e){return qs(e)}};fs(Bs,"Chalk");let Vs=Bs;const qs=fs(e=>{const t=fs((...e)=>e.join(" "),"chalk");return Fs(t,e),Object.setPrototypeOf(t,Hs.prototype),t},"chalkFactory");function Hs(e){return qs(e)}fs(Hs,"createChalk"),Object.setPrototypeOf(Hs.prototype,Function.prototype);for(const[_y,My]of Object.entries(Is))zs[_y]={get(){const e=Ks(this,Js(My.open,My.close,this[Ns]),this[js]);return Object.defineProperty(this,_y,{value:e}),e}};zs.visible={get(){const e=Ks(this,this[Ns],!0);return Object.defineProperty(this,"visible",{value:e}),e}};const Ws=fs((e,t,r,...i)=>"rgb"===e?"ansi16m"===t?Is[r].ansi16m(...i):"ansi256"===t?Is[r].ansi256(Is.rgbToAnsi256(...i)):Is[r].ansi(Is.rgbToAnsi(...i)):"hex"===e?Ws("rgb",t,r,...Is.hexToRgb(...i)):Is[r][e](...i),"getModelAnsi"),$s=["rgb","hex","ansi256"];for(const _y of $s)zs[_y]={get(){const{level:e}=this;return function(...t){const r=Js(Ws(_y,Us[e],"color",...t),Is.color.close,this[Ns]);return Ks(this,r,this[js])}}},zs["bg"+_y[0].toUpperCase()+_y.slice(1)]={get(){const{level:e}=this;return function(...t){const r=Js(Ws(_y,Us[e],"bgColor",...t),Is.bgColor.close,this[Ns]);return Ks(this,r,this[js])}}};const Gs=Object.defineProperties(()=>{},{...zs,level:{enumerable:!0,get(){return this[Ls].level},set(e){this[Ls].level=e}}}),Js=fs((e,t,r)=>{let i,n;return void 0===r?(i=e,n=t):(i=r.openAll+e,n=t+r.closeAll),{open:e,close:t,openAll:i,closeAll:n,parent:r}},"createStyler"),Ks=fs((e,t,r)=>{const i=fs((...e)=>Qs(i,1===e.length?""+e[0]:e.join(" ")),"builder");return Object.setPrototypeOf(i,Gs),i[Ls]=e,i[Ns]=t,i[js]=r,i},"createBuilder"),Qs=fs((e,t)=>{if(e.level<=0||!t)return e[js]?"":t;let r=e[Ns];if(void 0===r)return t;const{openAll:i,closeAll:n}=r;if(t.includes("\x1b"))for(;void 0!==r;)t=Rs(t,r.close,r.open),r=r.parent;const o=t.indexOf("\n");return-1!==o&&(t=As(t,n,i,o)),i+t+n},"applyStyle");Object.defineProperties(Hs.prototype,zs);const Zs=Hs(),Ys=Hs({level:Ds?Ds.level:0}),Xs=Object.freeze(Object.defineProperty({__proto__:null,Chalk:Vs,backgroundColorNames:Ss,backgroundColors:Ss,chalkStderr:Ys,colorNames:Ts,colors:Ts,default:Zs,foregroundColorNames:Cs,foregroundColors:Cs,modifierNames:xs,modifiers:xs,supportsColor:Os,supportsColorStderr:Ds},Symbol.toStringTag,{value:"Module"}));function el(e,t){return t.forEach(function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach(function(r){if("default"!==r&&!(r in e)){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}})}),Object.freeze(e)}var tl=Object.defineProperty,rl=(e,t,r)=>((e,t,r)=>t in e?tl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);let il=class{constructor(){rl(this,"_locking"),rl(this,"_locks"),this._locking=Promise.resolve(),this._locks=0}isLocked(){return this._locks>0}lock(){let e;this._locks+=1;const t=new Promise(t=>e=()=>{this._locks-=1,t()}),r=this._locking.then(()=>e);return this._locking=this._locking.then(()=>t),r}};function nl(e,t){if(!e)throw new Error(t)}function ol(e){if("number"!=typeof e)throw new Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>2147483647||e<-2147483648)throw new Error("invalid int 32: "+e)}function al(e){if("number"!=typeof e)throw new Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>4294967295||e<0)throw new Error("invalid uint 32: "+e)}function sl(e){if("number"!=typeof e)throw new Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>34028234663852886e22||e<-34028234663852886e22))throw new Error("invalid float 32: "+e)}const ll=Symbol("@bufbuild/protobuf/enum-type");function cl(e,t,r,i){e[ll]=dl(t,r.map(t=>({no:t.no,name:t.name,localName:e[t.no]})))}function dl(e,t,r){const i=Object.create(null),n=Object.create(null),o=[];for(const a of t){const e=hl(a);o.push(e),i[a.name]=e,n[a.no]=e}return{typeName:e,values:o,findName:e=>i[e],findNumber:e=>n[e]}}function hl(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}class ul{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){const r=this.getType().runtime.bin,i=r.makeReadOptions(t);return r.readMessage(this,i.readerFactory(e),e.byteLength,i),this}fromJson(e,t){const r=this.getType(),i=r.runtime.json,n=i.makeReadOptions(t);return i.readMessage(r,e,n,this),this}fromJsonString(e,t){let r;try{r=JSON.parse(e)}catch(Py){throw new Error("cannot decode ".concat(this.getType().typeName," from JSON: ").concat(Py instanceof Error?Py.message:String(Py)))}return this.fromJson(r,t)}toBinary(e){const t=this.getType().runtime.bin,r=t.makeWriteOptions(e),i=r.writerFactory();return t.writeMessage(this,i,r),i.finish()}toJson(e){const t=this.getType().runtime.json,r=t.makeWriteOptions(e);return t.writeMessage(this,r)}toJsonString(e){var t;const r=this.toJson(e);return JSON.stringify(r,null,null!==(t=null==e?void 0:e.prettySpaces)&&void 0!==t?t:0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}}function pl(){let e=0,t=0;for(let i=0;i<28;i+=7){let r=this.buf[this.pos++];if(e|=(127&r)<<i,!(128&r))return this.assertBounds(),[e,t]}let r=this.buf[this.pos++];if(e|=(15&r)<<28,t=(112&r)>>4,!(128&r))return this.assertBounds(),[e,t];for(let i=3;i<=31;i+=7){let r=this.buf[this.pos++];if(t|=(127&r)<<i,!(128&r))return this.assertBounds(),[e,t]}throw new Error("invalid varint")}function gl(e,t,r){for(let o=0;o<28;o+=7){const i=e>>>o,n=!(i>>>7==0&&0==t),a=255&(n?128|i:i);if(r.push(a),!n)return}const i=e>>>28&15|(7&t)<<4,n=!!(t>>3);if(r.push(255&(n?128|i:i)),n){for(let e=3;e<31;e+=7){const i=t>>>e,n=!(i>>>7==0),o=255&(n?128|i:i);if(r.push(o),!n)return}r.push(t>>>31&1)}}const ml=4294967296;function vl(e){const t="-"===e[0];t&&(e=e.slice(1));const r=1e6;let i=0,n=0;function o(t,o){const a=Number(e.slice(t,o));n*=r,i=i*r+a,i>=ml&&(n+=i/ml|0,i%=ml)}return o(-24,-18),o(-18,-12),o(-12,-6),o(-6),t?kl(i,n):bl(i,n)}function fl(e,t){if(({lo:e,hi:t}=function(e,t){return{lo:e>>>0,hi:t>>>0}}(e,t)),t<=2097151)return String(ml*t+e);const r=16777215&(e>>>24|t<<8),i=t>>16&65535;let n=(16777215&e)+6777216*r+6710656*i,o=r+8147497*i,a=2*i;const s=1e7;return n>=s&&(o+=Math.floor(n/s),n%=s),o>=s&&(a+=Math.floor(o/s),o%=s),a.toString()+wl(o)+wl(n)}function bl(e,t){return{lo:0|e,hi:0|t}}function kl(e,t){return t=~t,e?e=1+~e:t+=1,bl(e,t)}const wl=e=>{const t=String(e);return"0000000".slice(t.length)+t};function yl(e,t){if(e>=0){for(;e>127;)t.push(127&e|128),e>>>=7;t.push(e)}else{for(let r=0;r<9;r++)t.push(127&e|128),e>>=7;t.push(1)}}function xl(){let e=this.buf[this.pos++],t=127&e;if(!(128&e))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(127&e)<<7,!(128&e))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(127&e)<<14,!(128&e))return this.assertBounds(),t;if(e=this.buf[this.pos++],t|=(127&e)<<21,!(128&e))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(15&e)<<28;for(let r=5;128&e&&r<10;r++)e=this.buf[this.pos++];if(128&e)throw new Error("invalid varint");return this.assertBounds(),t>>>0}const Cl=function(){const e=new DataView(new ArrayBuffer(8));if("function"==typeof BigInt&&"function"==typeof e.getBigInt64&&"function"==typeof e.getBigUint64&&"function"==typeof e.setBigInt64&&"function"==typeof e.setBigUint64&&("object"!=typeof process||"object"!=typeof process.env||"1"!==process.env.BUF_BIGINT_DISABLE)){const t=BigInt("-9223372036854775808"),r=BigInt("9223372036854775807"),i=BigInt("0"),n=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(e){const i="bigint"==typeof e?e:BigInt(e);if(i>r||i<t)throw new Error("int64 invalid: ".concat(e));return i},uParse(e){const t="bigint"==typeof e?e:BigInt(e);if(t>n||t<i)throw new Error("uint64 invalid: ".concat(e));return t},enc(t){return e.setBigInt64(0,this.parse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(t){return e.setBigInt64(0,this.uParse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec:(t,r)=>(e.setInt32(0,t,!0),e.setInt32(4,r,!0),e.getBigInt64(0,!0)),uDec:(t,r)=>(e.setInt32(0,t,!0),e.setInt32(4,r,!0),e.getBigUint64(0,!0))}}const t=e=>nl(/^-?[0-9]+$/.test(e),"int64 invalid: ".concat(e)),r=e=>nl(/^[0-9]+$/.test(e),"uint64 invalid: ".concat(e));return{zero:"0",supported:!1,parse:e=>("string"!=typeof e&&(e=e.toString()),t(e),e),uParse:e=>("string"!=typeof e&&(e=e.toString()),r(e),e),enc:e=>("string"!=typeof e&&(e=e.toString()),t(e),vl(e)),uEnc:e=>("string"!=typeof e&&(e=e.toString()),r(e),vl(e)),dec:(e,t)=>function(e,t){let r=bl(e,t);const i=2147483648&r.hi;i&&(r=kl(r.lo,r.hi));const n=fl(r.lo,r.hi);return i?"-"+n:n}(e,t),uDec:(e,t)=>fl(e,t)}}();var Sl,Tl,El,Il,Pl,_l;function Ml(e,t,r){if(t===r)return!0;if(e==Sl.BYTES){if(!(t instanceof Uint8Array&&r instanceof Uint8Array))return!1;if(t.length!==r.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==r[e])return!1;return!0}switch(e){case Sl.UINT64:case Sl.FIXED64:case Sl.INT64:case Sl.SFIXED64:case Sl.SINT64:return t==r}return!1}function Rl(e,t){switch(e){case Sl.BOOL:return!1;case Sl.UINT64:case Sl.FIXED64:case Sl.INT64:case Sl.SFIXED64:case Sl.SINT64:return 0==t?Cl.zero:"0";case Sl.DOUBLE:case Sl.FLOAT:return 0;case Sl.BYTES:return new Uint8Array(0);case Sl.STRING:return"";default:return 0}}function Al(e,t){switch(e){case Sl.BOOL:return!1===t;case Sl.STRING:return""===t;case Sl.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return 0==t}}(Tl=Sl||(Sl={}))[Tl.DOUBLE=1]="DOUBLE",Tl[Tl.FLOAT=2]="FLOAT",Tl[Tl.INT64=3]="INT64",Tl[Tl.UINT64=4]="UINT64",Tl[Tl.INT32=5]="INT32",Tl[Tl.FIXED64=6]="FIXED64",Tl[Tl.FIXED32=7]="FIXED32",Tl[Tl.BOOL=8]="BOOL",Tl[Tl.STRING=9]="STRING",Tl[Tl.BYTES=12]="BYTES",Tl[Tl.UINT32=13]="UINT32",Tl[Tl.SFIXED32=15]="SFIXED32",Tl[Tl.SFIXED64=16]="SFIXED64",Tl[Tl.SINT32=17]="SINT32",Tl[Tl.SINT64=18]="SINT64",(Il=El||(El={}))[Il.BIGINT=0]="BIGINT",Il[Il.STRING=1]="STRING",(_l=Pl||(Pl={}))[_l.Varint=0]="Varint",_l[_l.Bit64=1]="Bit64",_l[_l.LengthDelimited=2]="LengthDelimited",_l[_l.StartGroup=3]="StartGroup",_l[_l.EndGroup=4]="EndGroup",_l[_l.Bit32=5]="Bit32";class Ol{constructor(e){this.stack=[],this.textEncoder=null!=e?e:new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let i=0;i<this.chunks.length;i++)e+=this.chunks[i].length;let t=new Uint8Array(e),r=0;for(let i=0;i<this.chunks.length;i++)t.set(this.chunks[i],r),r+=this.chunks[i].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw new Error("invalid state, fork stack empty");return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(al(e);e>127;)this.buf.push(127&e|128),e>>>=7;return this.buf.push(e),this}int32(e){return ol(e),yl(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){sl(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){al(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){ol(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return ol(e),yl(e=(e<<1^e>>31)>>>0,this.buf),this}sfixed64(e){let t=new Uint8Array(8),r=new DataView(t.buffer),i=Cl.enc(e);return r.setInt32(0,i.lo,!0),r.setInt32(4,i.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),r=new DataView(t.buffer),i=Cl.uEnc(e);return r.setInt32(0,i.lo,!0),r.setInt32(4,i.hi,!0),this.raw(t)}int64(e){let t=Cl.enc(e);return gl(t.lo,t.hi,this.buf),this}sint64(e){let t=Cl.enc(e),r=t.hi>>31;return gl(t.lo<<1^r,(t.hi<<1|t.lo>>>31)^r,this.buf),this}uint64(e){let t=Cl.uEnc(e);return gl(t.lo,t.hi,this.buf),this}}class Dl{constructor(e,t){this.varint64=pl,this.uint32=xl,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=null!=t?t:new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,r=7&e;if(t<=0||r<0||r>5)throw new Error("illegal tag: field no "+t+" wire type "+r);return[t,r]}skip(e,t){let r=this.pos;switch(e){case Pl.Varint:for(;128&this.buf[this.pos++];);break;case Pl.Bit64:this.pos+=4;case Pl.Bit32:this.pos+=4;break;case Pl.LengthDelimited:let r=this.uint32();this.pos+=r;break;case Pl.StartGroup:for(;;){const[e,r]=this.tag();if(r===Pl.EndGroup){if(void 0!==t&&e!==t)throw new Error("invalid end group tag");break}this.skip(r,e)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(r,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return 0|this.uint32()}sint32(){let e=this.uint32();return e>>>1^-(1&e)}int64(){return Cl.dec(...this.varint64())}uint64(){return Cl.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),r=-(1&e);return e=(e>>>1|(1&t)<<31)^r,t=t>>>1^r,Cl.dec(e,t)}bool(){let[e,t]=this.varint64();return 0!==e||0!==t}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return Cl.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return Cl.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}}function Ll(e){const t=e.field.localName,r=Object.create(null);return r[t]=function(e){const t=e.field;if(t.repeated)return[];if(void 0!==t.default)return t.default;switch(t.kind){case"enum":return t.T.values[0].no;case"scalar":return Rl(t.T,t.L);case"message":const e=t.T,r=new e;return e.fieldWrapper?e.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}(e),[r,()=>r[t]]}let Nl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),jl=[];for(let _y=0;_y<Nl.length;_y++)jl[Nl[_y].charCodeAt(0)]=_y;jl["-".charCodeAt(0)]=Nl.indexOf("+"),jl["_".charCodeAt(0)]=Nl.indexOf("/");const Ul={dec(e){let t=3*e.length/4;"="==e[e.length-2]?t-=2:"="==e[e.length-1]&&(t-=1);let r,i=new Uint8Array(t),n=0,o=0,a=0;for(let s=0;s<e.length;s++){if(r=jl[e.charCodeAt(s)],void 0===r)switch(e[s]){case"=":o=0;case"\n":case"\r":case"\t":case" ":continue;default:throw Error("invalid base64 string.")}switch(o){case 0:a=r,o=1;break;case 1:i[n++]=a<<2|(48&r)>>4,a=r,o=2;break;case 2:i[n++]=(15&a)<<4|(60&r)>>2,a=r,o=3;break;case 3:i[n++]=(3&a)<<6|r,o=0}}if(1==o)throw Error("invalid base64 string.");return i.subarray(0,n)},enc(e){let t,r="",i=0,n=0;for(let o=0;o<e.length;o++)switch(t=e[o],i){case 0:r+=Nl[t>>2],n=(3&t)<<4,i=1;break;case 1:r+=Nl[n|t>>4],n=(15&t)<<2,i=2;break;case 2:r+=Nl[n|t>>6],r+=Nl[63&t],i=0}return i&&(r+=Nl[n],r+="=",1==i&&(r+="=")),r}};function zl(e,t,r){Vl(t,e);const i=t.runtime.bin.makeReadOptions(r),n=function(e,t){if(!t.repeated&&("enum"==t.kind||"scalar"==t.kind)){for(let r=e.length-1;r>=0;--r)if(e[r].no==t.no)return[e[r]];return[]}return e.filter(e=>e.no===t.no)}(e.getType().runtime.bin.listUnknownFields(e),t.field),[o,a]=Ll(t);for(const s of n)t.runtime.bin.readField(o,i.readerFactory(s.data),t.field,s.wireType,i);return a()}function Fl(e,t,r,i){Vl(t,e);const n=t.runtime.bin.makeReadOptions(i),o=t.runtime.bin.makeWriteOptions(i);if(Bl(e,t)){const r=e.getType().runtime.bin.listUnknownFields(e).filter(e=>e.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(const t of r)e.getType().runtime.bin.onUnknownField(e,t.no,t.wireType,t.data)}const a=o.writerFactory();let s=t.field;s.opt||s.repeated||"enum"!=s.kind&&"scalar"!=s.kind||(s=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(s,r,a,o);const l=n.readerFactory(a.finish());for(;l.pos<l.len;){const[t,r]=l.tag(),i=l.skip(r,t);e.getType().runtime.bin.onUnknownField(e,t,r,i)}}function Bl(e,t){const r=e.getType();return t.extendee.typeName===r.typeName&&!!r.runtime.bin.listUnknownFields(e).find(e=>e.no==t.field.no)}function Vl(e,t){nl(e.extendee.typeName==t.getType().typeName,"extension ".concat(e.typeName," can only be applied to message ").concat(e.extendee.typeName))}function ql(e,t){const r=e.localName;if(e.repeated)return t[r].length>0;if(e.oneof)return t[e.oneof.localName].case===r;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?void 0!==t[r]:"enum"==e.kind?t[r]!==e.T.values[0].no:!Al(e.T,t[r]);case"message":return void 0!==t[r];case"map":return Object.keys(t[r]).length>0}}function Hl(e,t){const r=e.localName,i=!e.opt&&!e.req;if(e.repeated)t[r]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[r]={};break;case"enum":t[r]=i?e.T.values[0].no:void 0;break;case"scalar":t[r]=i?Rl(e.T,e.L):void 0;break;case"message":t[r]=void 0}}function Wl(e,t){if(null===e||"object"!=typeof e)return!1;if(!Object.getOwnPropertyNames(ul.prototype).every(t=>t in e&&"function"==typeof e[t]))return!1;const r=e.getType();return null!==r&&"function"==typeof r&&"typeName"in r&&"string"==typeof r.typeName&&(void 0===t||r.typeName==t.typeName)}function $l(e,t){return Wl(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}Sl.DOUBLE,Sl.FLOAT,Sl.INT64,Sl.UINT64,Sl.INT32,Sl.UINT32,Sl.BOOL,Sl.STRING,Sl.BYTES;const Gl={ignoreUnknownFields:!1},Jl={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};const Kl=Symbol(),Ql=Symbol();function Zl(e){if(null===e)return"null";switch(typeof e){case"object":return Array.isArray(e)?"array":"object";case"string":return e.length>100?"string":'"'.concat(e.split('"').join('\\"'),'"');default:return String(e)}}function Yl(e,t,r,i,n){let o=r.localName;if(r.repeated){if(nl("map"!=r.kind),null===t)return;if(!Array.isArray(t))throw new Error("cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(t)));const a=e[o];for(const e of t){if(null===e)throw new Error("cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(e)));switch(r.kind){case"message":a.push(r.T.fromJson(e,i));break;case"enum":const t=tc(r.T,e,i.ignoreUnknownFields,!0);t!==Ql&&a.push(t);break;case"scalar":try{a.push(ec(r.T,e,r.L,!0))}catch(Py){let i="cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(e));throw Py instanceof Error&&Py.message.length>0&&(i+=": ".concat(Py.message)),new Error(i)}}}}else if("map"==r.kind){if(null===t)return;if("object"!=typeof t||Array.isArray(t))throw new Error("cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(t)));const a=e[o];for(const[e,o]of Object.entries(t)){if(null===o)throw new Error("cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: map value null"));let s;try{s=Xl(r.K,e)}catch(Py){let i="cannot decode map key for field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(t));throw Py instanceof Error&&Py.message.length>0&&(i+=": ".concat(Py.message)),new Error(i)}switch(r.V.kind){case"message":a[s]=r.V.T.fromJson(o,i);break;case"enum":const e=tc(r.V.T,o,i.ignoreUnknownFields,!0);e!==Ql&&(a[s]=e);break;case"scalar":try{a[s]=ec(r.V.T,o,El.BIGINT,!0)}catch(Py){let i="cannot decode map value for field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(t));throw Py instanceof Error&&Py.message.length>0&&(i+=": ".concat(Py.message)),new Error(i)}}}}else switch(r.oneof&&(e=e[r.oneof.localName]={case:o},o="value"),r.kind){case"message":const a=r.T;if(null===t&&"google.protobuf.Value"!=a.typeName)return;let s=e[o];Wl(s)?s.fromJson(t,i):(e[o]=s=a.fromJson(t,i),a.fieldWrapper&&!r.oneof&&(e[o]=a.fieldWrapper.unwrapField(s)));break;case"enum":const l=tc(r.T,t,i.ignoreUnknownFields,!1);switch(l){case Kl:Hl(r,e);break;case Ql:break;default:e[o]=l}break;case"scalar":try{const i=ec(r.T,t,r.L,!1);i===Kl?Hl(r,e):e[o]=i}catch(Py){let i="cannot decode field ".concat(n.typeName,".").concat(r.name," from JSON: ").concat(Zl(t));throw Py instanceof Error&&Py.message.length>0&&(i+=": ".concat(Py.message)),new Error(i)}}}function Xl(e,t){if(e===Sl.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1}return ec(e,t,El.BIGINT,!0).toString()}function ec(e,t,r,i){if(null===t)return i?Rl(e,r):Kl;switch(e){case Sl.DOUBLE:case Sl.FLOAT:if("NaN"===t)return Number.NaN;if("Infinity"===t)return Number.POSITIVE_INFINITY;if("-Infinity"===t)return Number.NEGATIVE_INFINITY;if(""===t)break;if("string"==typeof t&&t.trim().length!==t.length)break;if("string"!=typeof t&&"number"!=typeof t)break;const i=Number(t);if(Number.isNaN(i))break;if(!Number.isFinite(i))break;return e==Sl.FLOAT&&sl(i),i;case Sl.INT32:case Sl.FIXED32:case Sl.SFIXED32:case Sl.SINT32:case Sl.UINT32:let n;if("number"==typeof t?n=t:"string"==typeof t&&t.length>0&&t.trim().length===t.length&&(n=Number(t)),void 0===n)break;return e==Sl.UINT32||e==Sl.FIXED32?al(n):ol(n),n;case Sl.INT64:case Sl.SFIXED64:case Sl.SINT64:if("number"!=typeof t&&"string"!=typeof t)break;const o=Cl.parse(t);return r?o.toString():o;case Sl.FIXED64:case Sl.UINT64:if("number"!=typeof t&&"string"!=typeof t)break;const a=Cl.uParse(t);return r?a.toString():a;case Sl.BOOL:if("boolean"!=typeof t)break;return t;case Sl.STRING:if("string"!=typeof t)break;try{encodeURIComponent(t)}catch(Py){throw new Error("invalid UTF8")}return t;case Sl.BYTES:if(""===t)return new Uint8Array(0);if("string"!=typeof t)break;return Ul.dec(t)}throw new Error}function tc(e,t,r,i){if(null===t)return"google.protobuf.NullValue"==e.typeName?0:i?e.values[0].no:Kl;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":const i=e.findName(t);if(void 0!==i)return i.no;if(r)return Ql}throw new Error("cannot decode enum ".concat(e.typeName," from JSON: ").concat(Zl(t)))}function rc(e){return!(!e.repeated&&"map"!=e.kind&&(e.oneof||"message"==e.kind||e.opt||e.req))}function ic(e,t,r){if("map"==e.kind){nl("object"==typeof t&&null!=t);const i={},n=Object.entries(t);switch(e.V.kind){case"scalar":for(const[r,o]of n)i[r.toString()]=oc(e.V.T,o);break;case"message":for(const[e,o]of n)i[e.toString()]=o.toJson(r);break;case"enum":const t=e.V.T;for(const[e,o]of n)i[e.toString()]=nc(t,o,r.enumAsInteger)}return r.emitDefaultValues||n.length>0?i:void 0}if(e.repeated){nl(Array.isArray(t));const i=[];switch(e.kind){case"scalar":for(let r=0;r<t.length;r++)i.push(oc(e.T,t[r]));break;case"enum":for(let n=0;n<t.length;n++)i.push(nc(e.T,t[n],r.enumAsInteger));break;case"message":for(let e=0;e<t.length;e++)i.push(t[e].toJson(r))}return r.emitDefaultValues||i.length>0?i:void 0}switch(e.kind){case"scalar":return oc(e.T,t);case"enum":return nc(e.T,t,r.enumAsInteger);case"message":return $l(e.T,t).toJson(r)}}function nc(e,t,r){var i;if(nl("number"==typeof t),"google.protobuf.NullValue"==e.typeName)return null;if(r)return t;const n=e.findNumber(t);return null!==(i=null==n?void 0:n.name)&&void 0!==i?i:t}function oc(e,t){switch(e){case Sl.INT32:case Sl.SFIXED32:case Sl.SINT32:case Sl.FIXED32:case Sl.UINT32:return nl("number"==typeof t),t;case Sl.FLOAT:case Sl.DOUBLE:return nl("number"==typeof t),Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t;case Sl.STRING:return nl("string"==typeof t),t;case Sl.BOOL:return nl("boolean"==typeof t),t;case Sl.UINT64:case Sl.FIXED64:case Sl.INT64:case Sl.SFIXED64:case Sl.SINT64:return nl("bigint"==typeof t||"string"==typeof t||"number"==typeof t),t.toString();case Sl.BYTES:return nl(t instanceof Uint8Array),Ul.enc(t)}}const ac=Symbol("@bufbuild/protobuf/unknown-fields"),sc={readUnknownFields:!0,readerFactory:e=>new Dl(e)},lc={writeUnknownFields:!0,writerFactory:()=>new Ol};function cc(e,t,r,i,n){let{repeated:o,localName:a}=r;switch(r.oneof&&((e=e[r.oneof.localName]).case!=a&&delete e.value,e.case=a,a="value"),r.kind){case"scalar":case"enum":const s="enum"==r.kind?Sl.INT32:r.T;let l=uc;if("scalar"==r.kind&&r.L>0&&(l=hc),o){let r=e[a];if(i==Pl.LengthDelimited&&s!=Sl.STRING&&s!=Sl.BYTES){let e=t.uint32()+t.pos;for(;t.pos<e;)r.push(l(t,s))}else r.push(l(t,s))}else e[a]=l(t,s);break;case"message":const c=r.T;o?e[a].push(dc(t,new c,n,r)):Wl(e[a])?dc(t,e[a],n,r):(e[a]=dc(t,new c,n,r),!c.fieldWrapper||r.oneof||r.repeated||(e[a]=c.fieldWrapper.unwrapField(e[a])));break;case"map":let[d,h]=function(e,t,r){const i=t.uint32(),n=t.pos+i;let o,a;for(;t.pos<n;){const[i]=t.tag();switch(i){case 1:o=uc(t,e.K);break;case 2:switch(e.V.kind){case"scalar":a=uc(t,e.V.T);break;case"enum":a=t.int32();break;case"message":a=dc(t,new e.V.T,r,void 0)}}}if(void 0===o&&(o=Rl(e.K,El.BIGINT)),"string"!=typeof o&&"number"!=typeof o&&(o=o.toString()),void 0===a)switch(e.V.kind){case"scalar":a=Rl(e.V.T,El.BIGINT);break;case"enum":a=e.V.T.values[0].no;break;case"message":a=new e.V.T}return[o,a]}(r,t,n);e[a][d]=h}}function dc(e,t,r,i){const n=t.getType().runtime.bin,o=null==i?void 0:i.delimited;return n.readMessage(t,e,o?i.no:e.uint32(),r,o),t}function hc(e,t){const r=uc(e,t);return"bigint"==typeof r?r.toString():r}function uc(e,t){switch(t){case Sl.STRING:return e.string();case Sl.BOOL:return e.bool();case Sl.DOUBLE:return e.double();case Sl.FLOAT:return e.float();case Sl.INT32:return e.int32();case Sl.INT64:return e.int64();case Sl.UINT64:return e.uint64();case Sl.FIXED64:return e.fixed64();case Sl.BYTES:return e.bytes();case Sl.FIXED32:return e.fixed32();case Sl.SFIXED32:return e.sfixed32();case Sl.SFIXED64:return e.sfixed64();case Sl.SINT64:return e.sint64();case Sl.UINT32:return e.uint32();case Sl.SINT32:return e.sint32()}}function pc(e,t,r,i){nl(void 0!==t);const n=e.repeated;switch(e.kind){case"scalar":case"enum":let o="enum"==e.kind?Sl.INT32:e.T;if(n)if(nl(Array.isArray(t)),e.packed)!function(e,t,r,i){if(!i.length)return;e.tag(r,Pl.LengthDelimited).fork();let[,n]=fc(t);for(let o=0;o<i.length;o++)e[n](i[o]);e.join()}(r,o,e.no,t);else for(const i of t)vc(r,o,e.no,i);else vc(r,o,e.no,t);break;case"message":if(n){nl(Array.isArray(t));for(const n of t)mc(r,i,e,n)}else mc(r,i,e,t);break;case"map":nl("object"==typeof t&&null!=t);for(const[n,a]of Object.entries(t))gc(r,i,e,n,a)}}function gc(e,t,r,i,n){e.tag(r.no,Pl.LengthDelimited),e.fork();let o=i;switch(r.K){case Sl.INT32:case Sl.FIXED32:case Sl.UINT32:case Sl.SFIXED32:case Sl.SINT32:o=Number.parseInt(i);break;case Sl.BOOL:nl("true"==i||"false"==i),o="true"==i}switch(vc(e,r.K,1,o),r.V.kind){case"scalar":vc(e,r.V.T,2,n);break;case"enum":vc(e,Sl.INT32,2,n);break;case"message":nl(void 0!==n),e.tag(2,Pl.LengthDelimited).bytes(n.toBinary(t))}e.join()}function mc(e,t,r,i){const n=$l(r.T,i);r.delimited?e.tag(r.no,Pl.StartGroup).raw(n.toBinary(t)).tag(r.no,Pl.EndGroup):e.tag(r.no,Pl.LengthDelimited).bytes(n.toBinary(t))}function vc(e,t,r,i){nl(void 0!==i);let[n,o]=fc(t);e.tag(r,n)[o](i)}function fc(e){let t=Pl.Varint;switch(e){case Sl.BYTES:case Sl.STRING:t=Pl.LengthDelimited;break;case Sl.DOUBLE:case Sl.FIXED64:case Sl.SFIXED64:t=Pl.Bit64;break;case Sl.FIXED32:case Sl.SFIXED32:case Sl.FLOAT:t=Pl.Bit32}return[t,Sl[e].toLowerCase()]}function bc(e){if(void 0===e)return e;if(Wl(e))return e.clone();if(e instanceof Uint8Array){const t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function kc(e){return e instanceof Uint8Array?e:new Uint8Array(e)}class wc{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){const e={};for(const t of this.list())e[t.jsonName]=e[t.name]=t;this.jsonNames=e}return this.jsonNames[e]}find(e){if(!this.numbers){const e={};for(const t of this.list())e[t.no]=t;this.numbers=e}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((e,t)=>e.no-t.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];const e=this.members;let t;for(const r of this.list())r.oneof?r.oneof!==t&&(t=r.oneof,e.push(t)):e.push(r)}return this.members}}function yc(e,t){const r=Cc(e);return t?r:Pc(Ic(r))}const xc=Cc;function Cc(e){let t=!1;const r=[];for(let i=0;i<e.length;i++){let n=e.charAt(i);switch(n){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r.push(n),t=!1;break;default:t&&(t=!1,n=n.toUpperCase()),r.push(n)}}return r.join("")}const Sc=new Set(["constructor","toString","toJSON","valueOf"]),Tc=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),Ec=e=>"".concat(e,"$"),Ic=e=>Tc.has(e)?Ec(e):e,Pc=e=>Sc.has(e)?Ec(e):e;class _c{constructor(e){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=yc(e,!1)}addField(e){nl(e.oneof===this,"field ".concat(e.name," not one of ").concat(this.name)),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let e=0;e<this.fields.length;e++)this._lookup[this.fields[e].localName]=this.fields[e]}return this._lookup[e]}}const Mc=(Rc=e=>new wc(e,e=>function(e){var t,r,i,n,o,a;const s=[];let l;for(const c of"function"==typeof e?e():e){const e=c;if(e.localName=yc(c.name,void 0!==c.oneof),e.jsonName=null!==(t=c.jsonName)&&void 0!==t?t:xc(c.name),e.repeated=null!==(r=c.repeated)&&void 0!==r&&r,"scalar"==c.kind&&(e.L=null!==(i=c.L)&&void 0!==i?i:El.BIGINT),e.delimited=null!==(n=c.delimited)&&void 0!==n&&n,e.req=null!==(o=c.req)&&void 0!==o&&o,e.opt=null!==(a=c.opt)&&void 0!==a&&a,void 0===c.packed&&(e.packed="enum"==c.kind||"scalar"==c.kind&&c.T!=Sl.BYTES&&c.T!=Sl.STRING),void 0!==c.oneof){const t="string"==typeof c.oneof?c.oneof:c.oneof.name;l&&l.name==t||(l=new _c(t)),e.oneof=l,l.addField(e)}s.push(e)}return s}(e)),Ac=e=>{for(const t of e.getType().fields.byMember()){if(t.opt)continue;const r=t.localName,i=e;if(t.repeated)i[r]=[];else switch(t.kind){case"oneof":i[r]={case:void 0};break;case"enum":i[r]=0;break;case"map":i[r]={};break;case"scalar":i[r]=Rl(t.T,t.L)}}},{syntax:"proto3",json:{makeReadOptions:function(e){return e?Object.assign(Object.assign({},Gl),e):Gl},makeWriteOptions:function(e){return e?Object.assign(Object.assign({},Jl),e):Jl},readMessage(e,t,r,i){if(null==t||Array.isArray(t)||"object"!=typeof t)throw new Error("cannot decode message ".concat(e.typeName," from JSON: ").concat(Zl(t)));i=null!=i?i:new e;const n=new Map,o=r.typeRegistry;for(const[a,s]of Object.entries(t)){const t=e.fields.findJsonName(a);if(t){if(t.oneof){if(null===s&&"scalar"==t.kind)continue;const r=n.get(t.oneof);if(void 0!==r)throw new Error("cannot decode message ".concat(e.typeName,' from JSON: multiple keys for oneof "').concat(t.oneof.name,'" present: "').concat(r,'", "').concat(a,'"'));n.set(t.oneof,a)}Yl(i,s,t,r,e)}else{let t=!1;if((null==o?void 0:o.findExtension)&&a.startsWith("[")&&a.endsWith("]")){const n=o.findExtension(a.substring(1,a.length-1));if(n&&n.extendee.typeName==e.typeName){t=!0;const[e,o]=Ll(n);Yl(e,s,n.field,r,n),Fl(i,n,o(),r)}}if(!t&&!r.ignoreUnknownFields)throw new Error("cannot decode message ".concat(e.typeName,' from JSON: key "').concat(a,'" is unknown'))}}return i},writeMessage(e,t){const r=e.getType(),i={};let n;try{for(n of r.fields.byNumber()){if(!ql(n,e)){if(n.req)throw"required field not set";if(!t.emitDefaultValues)continue;if(!rc(n))continue}const r=ic(n,n.oneof?e[n.oneof.localName].value:e[n.localName],t);void 0!==r&&(i[t.useProtoFieldName?n.name:n.jsonName]=r)}const o=t.typeRegistry;if(null==o?void 0:o.findExtensionFor)for(const n of r.runtime.bin.listUnknownFields(e)){const a=o.findExtensionFor(r.typeName,n.no);if(a&&Bl(e,a)){const r=zl(e,a,t),n=ic(a.field,r,t);void 0!==n&&(i[a.field.jsonName]=n)}}}catch(Py){const t=n?"cannot encode field ".concat(r.typeName,".").concat(n.name," to JSON"):"cannot encode message ".concat(r.typeName," to JSON"),i=Py instanceof Error?Py.message:String(Py);throw new Error(t+(i.length>0?": ".concat(i):""))}return i},readScalar:(e,t,r)=>ec(e,t,null!=r?r:El.BIGINT,!0),writeScalar(e,t,r){if(void 0!==t)return r||Al(e,t)?oc(e,t):void 0},debug:Zl},bin:{makeReadOptions:function(e){return e?Object.assign(Object.assign({},sc),e):sc},makeWriteOptions:function(e){return e?Object.assign(Object.assign({},lc),e):lc},listUnknownFields(e){var t;return null!==(t=e[ac])&&void 0!==t?t:[]},discardUnknownFields(e){delete e[ac]},writeUnknownFields(e,t){const r=e[ac];if(r)for(const i of r)t.tag(i.no,i.wireType).raw(i.data)},onUnknownField(e,t,r,i){const n=e;Array.isArray(n[ac])||(n[ac]=[]),n[ac].push({no:t,wireType:r,data:i})},readMessage(e,t,r,i,n){const o=e.getType(),a=n?t.len:t.pos+r;let s,l;for(;t.pos<a&&([s,l]=t.tag(),!0!==n||l!=Pl.EndGroup);){const r=o.fields.find(s);if(!r){const r=t.skip(l,s);i.readUnknownFields&&this.onUnknownField(e,s,l,r);continue}cc(e,t,r,l,i)}if(n&&(l!=Pl.EndGroup||s!==r))throw new Error("invalid end group tag")},readField:cc,writeMessage(e,t,r){const i=e.getType();for(const n of i.fields.byNumber())if(ql(n,e))pc(n,n.oneof?e[n.oneof.localName].value:e[n.localName],t,r);else if(n.req)throw new Error("cannot encode field ".concat(i.typeName,".").concat(n.name," to binary: required field not set"));return r.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,r,i){void 0!==t&&pc(e,t,r,i)}},util:Object.assign(Object.assign({},{setEnumType:cl,initPartial(e,t){if(void 0===e)return;const r=t.getType();for(const i of r.fields.byMember()){const r=i.localName,n=t,o=e;if(null!=o[r])switch(i.kind){case"oneof":const e=o[r].case;if(void 0===e)continue;const t=i.findField(e);let a=o[r].value;t&&"message"==t.kind&&!Wl(a,t.T)?a=new t.T(a):t&&"scalar"===t.kind&&t.T===Sl.BYTES&&(a=kc(a)),n[r]={case:e,value:a};break;case"scalar":case"enum":let s=o[r];i.T===Sl.BYTES&&(s=i.repeated?s.map(kc):kc(s)),n[r]=s;break;case"map":switch(i.V.kind){case"scalar":case"enum":if(i.V.T===Sl.BYTES)for(const[t,i]of Object.entries(o[r]))n[r][t]=kc(i);else Object.assign(n[r],o[r]);break;case"message":const e=i.V.T;for(const t of Object.keys(o[r])){let i=o[r][t];e.fieldWrapper||(i=new e(i)),n[r][t]=i}}break;case"message":const l=i.T;if(i.repeated)n[r]=o[r].map(e=>Wl(e,l)?e:new l(e));else{const e=o[r];l.fieldWrapper?"google.protobuf.BytesValue"===l.typeName?n[r]=kc(e):n[r]=e:n[r]=Wl(e,l)?e:new l(e)}}}},equals:(e,t,r)=>t===r||!(!t||!r)&&e.fields.byMember().every(e=>{const i=t[e.localName],n=r[e.localName];if(e.repeated){if(i.length!==n.length)return!1;switch(e.kind){case"message":return i.every((t,r)=>e.T.equals(t,n[r]));case"scalar":return i.every((t,r)=>Ml(e.T,t,n[r]));case"enum":return i.every((e,t)=>Ml(Sl.INT32,e,n[t]))}throw new Error("repeated cannot contain ".concat(e.kind))}switch(e.kind){case"message":let t=i,r=n;return e.T.fieldWrapper&&(void 0===t||Wl(t)||(t=e.T.fieldWrapper.wrapField(t)),void 0===r||Wl(r)||(r=e.T.fieldWrapper.wrapField(r))),e.T.equals(t,r);case"enum":return Ml(Sl.INT32,i,n);case"scalar":return Ml(e.T,i,n);case"oneof":if(i.case!==n.case)return!1;const o=e.findField(i.case);if(void 0===o)return!0;switch(o.kind){case"message":return o.T.equals(i.value,n.value);case"enum":return Ml(Sl.INT32,i.value,n.value);case"scalar":return Ml(o.T,i.value,n.value)}throw new Error("oneof cannot contain ".concat(o.kind));case"map":const a=Object.keys(i).concat(Object.keys(n));switch(e.V.kind){case"message":const t=e.V.T;return a.every(e=>t.equals(i[e],n[e]));case"enum":return a.every(e=>Ml(Sl.INT32,i[e],n[e]));case"scalar":const r=e.V.T;return a.every(e=>Ml(r,i[e],n[e]))}}}),clone(e){const t=e.getType(),r=new t,i=r;for(const n of t.fields.byMember()){const t=e[n.localName];let r;if(n.repeated)r=t.map(bc);else if("map"==n.kind){r=i[n.localName];for(const[e,i]of Object.entries(t))r[e]=bc(i)}else r="oneof"==n.kind?n.findField(t.case)?{case:t.case,value:bc(t.value)}:{case:void 0}:bc(t);i[n.localName]=r}for(const n of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(i,n.no,n.wireType,n.data);return r}}),{newFieldList:Rc,initFields:Ac}),makeMessageType(e,t,r){return function(e,t,r,i){var n;const o=null!==(n=null==i?void 0:i.localName)&&void 0!==n?n:t.substring(t.lastIndexOf(".")+1),a={[o]:function(t){e.util.initFields(this),e.util.initPartial(t,this)}}[o];return Object.setPrototypeOf(a.prototype,new ul),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(r),fromBinary:(e,t)=>(new a).fromBinary(e,t),fromJson:(e,t)=>(new a).fromJson(e,t),fromJsonString:(e,t)=>(new a).fromJsonString(e,t),equals:(t,r)=>e.util.equals(a,t,r)}),a}(this,e,t,r)},makeEnum:function(e,t,r){const i={};for(const n of t){const e=hl(n);i[e.localName]=e.no,i[e.no]=e.localName}return cl(i,e,t),i},makeEnumType:dl,getEnumType:function(e){const t=e[ll];return nl(t,"missing enum type on enum object"),t},makeExtension(e,t,r){return function(e,t,r,i){let n;return{typeName:t,extendee:r,get field(){if(!n){const r="function"==typeof i?i():i;r.name=t.split(".").pop(),r.jsonName="[".concat(t,"]"),n=e.util.newFieldList([r]).list()[0]}return n},runtime:e}}(this,e,t,r)}});var Rc,Ac;class Oc extends ul{constructor(e){super(),this.seconds=Cl.zero,this.nanos=0,Mc.util.initPartial(e,this)}fromJson(e,t){if("string"!=typeof e)throw new Error("cannot decode google.protobuf.Timestamp from JSON: ".concat(Mc.json.debug(e)));const r=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!r)throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");const i=Date.parse(r[1]+"-"+r[2]+"-"+r[3]+"T"+r[4]+":"+r[5]+":"+r[6]+(r[8]?r[8]:"Z"));if(Number.isNaN(i))throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");if(i<Date.parse("0001-01-01T00:00:00Z")||i>Date.parse("9999-12-31T23:59:59Z"))throw new Error("cannot decode message google.protobuf.Timestamp from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive");return this.seconds=Cl.parse(i/1e3),this.nanos=0,r[7]&&(this.nanos=parseInt("1"+r[7]+"0".repeat(9-r[7].length))-1e9),this}toJson(e){const t=1e3*Number(this.seconds);if(t<Date.parse("0001-01-01T00:00:00Z")||t>Date.parse("9999-12-31T23:59:59Z"))throw new Error("cannot encode google.protobuf.Timestamp to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive");if(this.nanos<0)throw new Error("cannot encode google.protobuf.Timestamp to JSON: nanos must not be negative");let r="Z";if(this.nanos>0){const e=(this.nanos+1e9).toString().substring(1);r="000000"===e.substring(3)?"."+e.substring(0,3)+"Z":"000"===e.substring(6)?"."+e.substring(0,6)+"Z":"."+e+"Z"}return new Date(t).toISOString().replace(".000Z",r)}toDate(){return new Date(1e3*Number(this.seconds)+Math.ceil(this.nanos/1e6))}static now(){return Oc.fromDate(new Date)}static fromDate(e){const t=e.getTime();return new Oc({seconds:Cl.parse(Math.floor(t/1e3)),nanos:t%1e3*1e6})}static fromBinary(e,t){return(new Oc).fromBinary(e,t)}static fromJson(e,t){return(new Oc).fromJson(e,t)}static fromJsonString(e,t){return(new Oc).fromJsonString(e,t)}static equals(e,t){return Mc.util.equals(Oc,e,t)}}Oc.runtime=Mc,Oc.typeName="google.protobuf.Timestamp",Oc.fields=Mc.util.newFieldList(()=>[{no:1,name:"seconds",kind:"scalar",T:3},{no:2,name:"nanos",kind:"scalar",T:5}]);const Dc=Mc.makeMessageType("livekit.MetricsBatch",()=>[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:Oc},{no:3,name:"str_data",kind:"scalar",T:9,repeated:!0},{no:4,name:"time_series",kind:"message",T:Lc,repeated:!0},{no:5,name:"events",kind:"message",T:jc,repeated:!0}]),Lc=Mc.makeMessageType("livekit.TimeSeriesMetric",()=>[{no:1,name:"label",kind:"scalar",T:13},{no:2,name:"participant_identity",kind:"scalar",T:13},{no:3,name:"track_sid",kind:"scalar",T:13},{no:4,name:"samples",kind:"message",T:Nc,repeated:!0},{no:5,name:"rid",kind:"scalar",T:13}]),Nc=Mc.makeMessageType("livekit.MetricSample",()=>[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:Oc},{no:3,name:"value",kind:"scalar",T:2}]),jc=Mc.makeMessageType("livekit.EventMetric",()=>[{no:1,name:"label",kind:"scalar",T:13},{no:2,name:"participant_identity",kind:"scalar",T:13},{no:3,name:"track_sid",kind:"scalar",T:13},{no:4,name:"start_timestamp_ms",kind:"scalar",T:3},{no:5,name:"end_timestamp_ms",kind:"scalar",T:3,opt:!0},{no:6,name:"normalized_start_timestamp",kind:"message",T:Oc},{no:7,name:"normalized_end_timestamp",kind:"message",T:Oc,opt:!0},{no:8,name:"metadata",kind:"scalar",T:9},{no:9,name:"rid",kind:"scalar",T:13}]),Uc=Mc.makeEnum("livekit.BackupCodecPolicy",[{no:0,name:"PREFER_REGRESSION"},{no:1,name:"SIMULCAST"},{no:2,name:"REGRESSION"}]),zc=Mc.makeEnum("livekit.TrackType",[{no:0,name:"AUDIO"},{no:1,name:"VIDEO"},{no:2,name:"DATA"}]),Fc=Mc.makeEnum("livekit.TrackSource",[{no:0,name:"UNKNOWN"},{no:1,name:"CAMERA"},{no:2,name:"MICROPHONE"},{no:3,name:"SCREEN_SHARE"},{no:4,name:"SCREEN_SHARE_AUDIO"}]),Bc=Mc.makeEnum("livekit.VideoQuality",[{no:0,name:"LOW"},{no:1,name:"MEDIUM"},{no:2,name:"HIGH"},{no:3,name:"OFF"}]),Vc=Mc.makeEnum("livekit.ConnectionQuality",[{no:0,name:"POOR"},{no:1,name:"GOOD"},{no:2,name:"EXCELLENT"},{no:3,name:"LOST"}]),qc=Mc.makeEnum("livekit.ClientConfigSetting",[{no:0,name:"UNSET"},{no:1,name:"DISABLED"},{no:2,name:"ENABLED"}]),Hc=Mc.makeEnum("livekit.DisconnectReason",[{no:0,name:"UNKNOWN_REASON"},{no:1,name:"CLIENT_INITIATED"},{no:2,name:"DUPLICATE_IDENTITY"},{no:3,name:"SERVER_SHUTDOWN"},{no:4,name:"PARTICIPANT_REMOVED"},{no:5,name:"ROOM_DELETED"},{no:6,name:"STATE_MISMATCH"},{no:7,name:"JOIN_FAILURE"},{no:8,name:"MIGRATION"},{no:9,name:"SIGNAL_CLOSE"},{no:10,name:"ROOM_CLOSED"},{no:11,name:"USER_UNAVAILABLE"},{no:12,name:"USER_REJECTED"},{no:13,name:"SIP_TRUNK_FAILURE"},{no:14,name:"CONNECTION_TIMEOUT"},{no:15,name:"MEDIA_FAILURE"}]),Wc=Mc.makeEnum("livekit.ReconnectReason",[{no:0,name:"RR_UNKNOWN"},{no:1,name:"RR_SIGNAL_DISCONNECTED"},{no:2,name:"RR_PUBLISHER_FAILED"},{no:3,name:"RR_SUBSCRIBER_FAILED"},{no:4,name:"RR_SWITCH_CANDIDATE"}]),$c=Mc.makeEnum("livekit.SubscriptionError",[{no:0,name:"SE_UNKNOWN"},{no:1,name:"SE_CODEC_UNSUPPORTED"},{no:2,name:"SE_TRACK_NOTFOUND"}]),Gc=Mc.makeEnum("livekit.AudioTrackFeature",[{no:0,name:"TF_STEREO"},{no:1,name:"TF_NO_DTX"},{no:2,name:"TF_AUTO_GAIN_CONTROL"},{no:3,name:"TF_ECHO_CANCELLATION"},{no:4,name:"TF_NOISE_SUPPRESSION"},{no:5,name:"TF_ENHANCED_NOISE_CANCELLATION"},{no:6,name:"TF_PRECONNECT_BUFFER"}]),Jc=Mc.makeMessageType("livekit.Room",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"empty_timeout",kind:"scalar",T:13},{no:14,name:"departure_timeout",kind:"scalar",T:13},{no:4,name:"max_participants",kind:"scalar",T:13},{no:5,name:"creation_time",kind:"scalar",T:3},{no:15,name:"creation_time_ms",kind:"scalar",T:3},{no:6,name:"turn_password",kind:"scalar",T:9},{no:7,name:"enabled_codecs",kind:"message",T:Kc,repeated:!0},{no:8,name:"metadata",kind:"scalar",T:9},{no:9,name:"num_participants",kind:"scalar",T:13},{no:11,name:"num_publishers",kind:"scalar",T:13},{no:10,name:"active_recording",kind:"scalar",T:8},{no:13,name:"version",kind:"message",T:_d}]),Kc=Mc.makeMessageType("livekit.Codec",()=>[{no:1,name:"mime",kind:"scalar",T:9},{no:2,name:"fmtp_line",kind:"scalar",T:9}]),Qc=Mc.makeMessageType("livekit.ParticipantPermission",()=>[{no:1,name:"can_subscribe",kind:"scalar",T:8},{no:2,name:"can_publish",kind:"scalar",T:8},{no:3,name:"can_publish_data",kind:"scalar",T:8},{no:9,name:"can_publish_sources",kind:"enum",T:Mc.getEnumType(Fc),repeated:!0},{no:7,name:"hidden",kind:"scalar",T:8},{no:8,name:"recorder",kind:"scalar",T:8},{no:10,name:"can_update_metadata",kind:"scalar",T:8},{no:11,name:"agent",kind:"scalar",T:8},{no:12,name:"can_subscribe_metrics",kind:"scalar",T:8}]),Zc=Mc.makeMessageType("livekit.ParticipantInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"identity",kind:"scalar",T:9},{no:3,name:"state",kind:"enum",T:Mc.getEnumType(Yc)},{no:4,name:"tracks",kind:"message",T:id,repeated:!0},{no:5,name:"metadata",kind:"scalar",T:9},{no:6,name:"joined_at",kind:"scalar",T:3},{no:17,name:"joined_at_ms",kind:"scalar",T:3},{no:9,name:"name",kind:"scalar",T:9},{no:10,name:"version",kind:"scalar",T:13},{no:11,name:"permission",kind:"message",T:Qc},{no:12,name:"region",kind:"scalar",T:9},{no:13,name:"is_publisher",kind:"scalar",T:8},{no:14,name:"kind",kind:"enum",T:Mc.getEnumType(Xc)},{no:15,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:16,name:"disconnect_reason",kind:"enum",T:Mc.getEnumType(Hc)},{no:18,name:"kind_details",kind:"enum",T:Mc.getEnumType(ed),repeated:!0}]),Yc=Mc.makeEnum("livekit.ParticipantInfo.State",[{no:0,name:"JOINING"},{no:1,name:"JOINED"},{no:2,name:"ACTIVE"},{no:3,name:"DISCONNECTED"}]),Xc=Mc.makeEnum("livekit.ParticipantInfo.Kind",[{no:0,name:"STANDARD"},{no:1,name:"INGRESS"},{no:2,name:"EGRESS"},{no:3,name:"SIP"},{no:4,name:"AGENT"}]),ed=Mc.makeEnum("livekit.ParticipantInfo.KindDetail",[{no:0,name:"CLOUD_AGENT"},{no:1,name:"FORWARDED"}]),td=Mc.makeEnum("livekit.Encryption.Type",[{no:0,name:"NONE"},{no:1,name:"GCM"},{no:2,name:"CUSTOM"}]),rd=Mc.makeMessageType("livekit.SimulcastCodecInfo",()=>[{no:1,name:"mime_type",kind:"scalar",T:9},{no:2,name:"mid",kind:"scalar",T:9},{no:3,name:"cid",kind:"scalar",T:9},{no:4,name:"layers",kind:"message",T:nd,repeated:!0},{no:5,name:"video_layer_mode",kind:"enum",T:Mc.getEnumType(od)},{no:6,name:"sdp_cid",kind:"scalar",T:9}]),id=Mc.makeMessageType("livekit.TrackInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"type",kind:"enum",T:Mc.getEnumType(zc)},{no:3,name:"name",kind:"scalar",T:9},{no:4,name:"muted",kind:"scalar",T:8},{no:5,name:"width",kind:"scalar",T:13},{no:6,name:"height",kind:"scalar",T:13},{no:7,name:"simulcast",kind:"scalar",T:8},{no:8,name:"disable_dtx",kind:"scalar",T:8},{no:9,name:"source",kind:"enum",T:Mc.getEnumType(Fc)},{no:10,name:"layers",kind:"message",T:nd,repeated:!0},{no:11,name:"mime_type",kind:"scalar",T:9},{no:12,name:"mid",kind:"scalar",T:9},{no:13,name:"codecs",kind:"message",T:rd,repeated:!0},{no:14,name:"stereo",kind:"scalar",T:8},{no:15,name:"disable_red",kind:"scalar",T:8},{no:16,name:"encryption",kind:"enum",T:Mc.getEnumType(td)},{no:17,name:"stream",kind:"scalar",T:9},{no:18,name:"version",kind:"message",T:_d},{no:19,name:"audio_features",kind:"enum",T:Mc.getEnumType(Gc),repeated:!0},{no:20,name:"backup_codec_policy",kind:"enum",T:Mc.getEnumType(Uc)}]),nd=Mc.makeMessageType("livekit.VideoLayer",()=>[{no:1,name:"quality",kind:"enum",T:Mc.getEnumType(Bc)},{no:2,name:"width",kind:"scalar",T:13},{no:3,name:"height",kind:"scalar",T:13},{no:4,name:"bitrate",kind:"scalar",T:13},{no:5,name:"ssrc",kind:"scalar",T:13},{no:6,name:"spatial_layer",kind:"scalar",T:5},{no:7,name:"rid",kind:"scalar",T:9}]),od=Mc.makeEnum("livekit.VideoLayer.Mode",[{no:0,name:"MODE_UNUSED"},{no:1,name:"ONE_SPATIAL_LAYER_PER_STREAM"},{no:2,name:"MULTIPLE_SPATIAL_LAYERS_PER_STREAM"},{no:3,name:"ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR"}]),ad=Mc.makeMessageType("livekit.DataPacket",()=>[{no:1,name:"kind",kind:"enum",T:Mc.getEnumType(sd)},{no:4,name:"participant_identity",kind:"scalar",T:9},{no:5,name:"destination_identities",kind:"scalar",T:9,repeated:!0},{no:2,name:"user",kind:"message",T:ud,oneof:"value"},{no:3,name:"speaker",kind:"message",T:dd,oneof:"value"},{no:6,name:"sip_dtmf",kind:"message",T:pd,oneof:"value"},{no:7,name:"transcription",kind:"message",T:gd,oneof:"value"},{no:8,name:"metrics",kind:"message",T:Dc,oneof:"value"},{no:9,name:"chat_message",kind:"message",T:vd,oneof:"value"},{no:10,name:"rpc_request",kind:"message",T:fd,oneof:"value"},{no:11,name:"rpc_ack",kind:"message",T:bd,oneof:"value"},{no:12,name:"rpc_response",kind:"message",T:kd,oneof:"value"},{no:13,name:"stream_header",kind:"message",T:Od,oneof:"value"},{no:14,name:"stream_chunk",kind:"message",T:Dd,oneof:"value"},{no:15,name:"stream_trailer",kind:"message",T:Ld,oneof:"value"},{no:18,name:"encrypted_packet",kind:"message",T:ld,oneof:"value"},{no:16,name:"sequence",kind:"scalar",T:13},{no:17,name:"participant_sid",kind:"scalar",T:9}]),sd=Mc.makeEnum("livekit.DataPacket.Kind",[{no:0,name:"RELIABLE"},{no:1,name:"LOSSY"}]),ld=Mc.makeMessageType("livekit.EncryptedPacket",()=>[{no:1,name:"encryption_type",kind:"enum",T:Mc.getEnumType(td)},{no:2,name:"iv",kind:"scalar",T:12},{no:3,name:"key_index",kind:"scalar",T:13},{no:4,name:"encrypted_value",kind:"scalar",T:12}]),cd=Mc.makeMessageType("livekit.EncryptedPacketPayload",()=>[{no:1,name:"user",kind:"message",T:ud,oneof:"value"},{no:3,name:"chat_message",kind:"message",T:vd,oneof:"value"},{no:4,name:"rpc_request",kind:"message",T:fd,oneof:"value"},{no:5,name:"rpc_ack",kind:"message",T:bd,oneof:"value"},{no:6,name:"rpc_response",kind:"message",T:kd,oneof:"value"},{no:7,name:"stream_header",kind:"message",T:Od,oneof:"value"},{no:8,name:"stream_chunk",kind:"message",T:Dd,oneof:"value"},{no:9,name:"stream_trailer",kind:"message",T:Ld,oneof:"value"}]),dd=Mc.makeMessageType("livekit.ActiveSpeakerUpdate",()=>[{no:1,name:"speakers",kind:"message",T:hd,repeated:!0}]),hd=Mc.makeMessageType("livekit.SpeakerInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"level",kind:"scalar",T:2},{no:3,name:"active",kind:"scalar",T:8}]),ud=Mc.makeMessageType("livekit.UserPacket",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:5,name:"participant_identity",kind:"scalar",T:9},{no:2,name:"payload",kind:"scalar",T:12},{no:3,name:"destination_sids",kind:"scalar",T:9,repeated:!0},{no:6,name:"destination_identities",kind:"scalar",T:9,repeated:!0},{no:4,name:"topic",kind:"scalar",T:9,opt:!0},{no:8,name:"id",kind:"scalar",T:9,opt:!0},{no:9,name:"start_time",kind:"scalar",T:4,opt:!0},{no:10,name:"end_time",kind:"scalar",T:4,opt:!0},{no:11,name:"nonce",kind:"scalar",T:12}]),pd=Mc.makeMessageType("livekit.SipDTMF",()=>[{no:3,name:"code",kind:"scalar",T:13},{no:4,name:"digit",kind:"scalar",T:9}]),gd=Mc.makeMessageType("livekit.Transcription",()=>[{no:2,name:"transcribed_participant_identity",kind:"scalar",T:9},{no:3,name:"track_id",kind:"scalar",T:9},{no:4,name:"segments",kind:"message",T:md,repeated:!0}]),md=Mc.makeMessageType("livekit.TranscriptionSegment",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"text",kind:"scalar",T:9},{no:3,name:"start_time",kind:"scalar",T:4},{no:4,name:"end_time",kind:"scalar",T:4},{no:5,name:"final",kind:"scalar",T:8},{no:6,name:"language",kind:"scalar",T:9}]),vd=Mc.makeMessageType("livekit.ChatMessage",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"timestamp",kind:"scalar",T:3},{no:3,name:"edit_timestamp",kind:"scalar",T:3,opt:!0},{no:4,name:"message",kind:"scalar",T:9},{no:5,name:"deleted",kind:"scalar",T:8},{no:6,name:"generated",kind:"scalar",T:8}]),fd=Mc.makeMessageType("livekit.RpcRequest",()=>[{no:1,name:"id",kind:"scalar",T:9},{no:2,name:"method",kind:"scalar",T:9},{no:3,name:"payload",kind:"scalar",T:9},{no:4,name:"response_timeout_ms",kind:"scalar",T:13},{no:5,name:"version",kind:"scalar",T:13}]),bd=Mc.makeMessageType("livekit.RpcAck",()=>[{no:1,name:"request_id",kind:"scalar",T:9}]),kd=Mc.makeMessageType("livekit.RpcResponse",()=>[{no:1,name:"request_id",kind:"scalar",T:9},{no:2,name:"payload",kind:"scalar",T:9,oneof:"value"},{no:3,name:"error",kind:"message",T:wd,oneof:"value"}]),wd=Mc.makeMessageType("livekit.RpcError",()=>[{no:1,name:"code",kind:"scalar",T:13},{no:2,name:"message",kind:"scalar",T:9},{no:3,name:"data",kind:"scalar",T:9}]),yd=Mc.makeMessageType("livekit.ParticipantTracks",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sids",kind:"scalar",T:9,repeated:!0}]),xd=Mc.makeMessageType("livekit.ServerInfo",()=>[{no:1,name:"edition",kind:"enum",T:Mc.getEnumType(Cd)},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"protocol",kind:"scalar",T:5},{no:4,name:"region",kind:"scalar",T:9},{no:5,name:"node_id",kind:"scalar",T:9},{no:6,name:"debug_info",kind:"scalar",T:9},{no:7,name:"agent_protocol",kind:"scalar",T:5}]),Cd=Mc.makeEnum("livekit.ServerInfo.Edition",[{no:0,name:"Standard"},{no:1,name:"Cloud"}]),Sd=Mc.makeMessageType("livekit.ClientInfo",()=>[{no:1,name:"sdk",kind:"enum",T:Mc.getEnumType(Td)},{no:2,name:"version",kind:"scalar",T:9},{no:3,name:"protocol",kind:"scalar",T:5},{no:4,name:"os",kind:"scalar",T:9},{no:5,name:"os_version",kind:"scalar",T:9},{no:6,name:"device_model",kind:"scalar",T:9},{no:7,name:"browser",kind:"scalar",T:9},{no:8,name:"browser_version",kind:"scalar",T:9},{no:9,name:"address",kind:"scalar",T:9},{no:10,name:"network",kind:"scalar",T:9},{no:11,name:"other_sdks",kind:"scalar",T:9}]),Td=Mc.makeEnum("livekit.ClientInfo.SDK",[{no:0,name:"UNKNOWN"},{no:1,name:"JS"},{no:2,name:"SWIFT"},{no:3,name:"ANDROID"},{no:4,name:"FLUTTER"},{no:5,name:"GO"},{no:6,name:"UNITY"},{no:7,name:"REACT_NATIVE"},{no:8,name:"RUST"},{no:9,name:"PYTHON"},{no:10,name:"CPP"},{no:11,name:"UNITY_WEB"},{no:12,name:"NODE"},{no:13,name:"UNREAL"},{no:14,name:"ESP32"}]),Ed=Mc.makeMessageType("livekit.ClientConfiguration",()=>[{no:1,name:"video",kind:"message",T:Id},{no:2,name:"screen",kind:"message",T:Id},{no:3,name:"resume_connection",kind:"enum",T:Mc.getEnumType(qc)},{no:4,name:"disabled_codecs",kind:"message",T:Pd},{no:5,name:"force_relay",kind:"enum",T:Mc.getEnumType(qc)}]),Id=Mc.makeMessageType("livekit.VideoConfiguration",()=>[{no:1,name:"hardware_encoder",kind:"enum",T:Mc.getEnumType(qc)}]),Pd=Mc.makeMessageType("livekit.DisabledCodecs",()=>[{no:1,name:"codecs",kind:"message",T:Kc,repeated:!0},{no:2,name:"publish",kind:"message",T:Kc,repeated:!0}]),_d=Mc.makeMessageType("livekit.TimedVersion",()=>[{no:1,name:"unix_micro",kind:"scalar",T:3},{no:2,name:"ticks",kind:"scalar",T:5}]),Md=Mc.makeEnum("livekit.DataStream.OperationType",[{no:0,name:"CREATE"},{no:1,name:"UPDATE"},{no:2,name:"DELETE"},{no:3,name:"REACTION"}]),Rd=Mc.makeMessageType("livekit.DataStream.TextHeader",()=>[{no:1,name:"operation_type",kind:"enum",T:Mc.getEnumType(Md)},{no:2,name:"version",kind:"scalar",T:5},{no:3,name:"reply_to_stream_id",kind:"scalar",T:9},{no:4,name:"attached_stream_ids",kind:"scalar",T:9,repeated:!0},{no:5,name:"generated",kind:"scalar",T:8}],{localName:"DataStream_TextHeader"}),Ad=Mc.makeMessageType("livekit.DataStream.ByteHeader",()=>[{no:1,name:"name",kind:"scalar",T:9}],{localName:"DataStream_ByteHeader"}),Od=Mc.makeMessageType("livekit.DataStream.Header",()=>[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"timestamp",kind:"scalar",T:3},{no:3,name:"topic",kind:"scalar",T:9},{no:4,name:"mime_type",kind:"scalar",T:9},{no:5,name:"total_length",kind:"scalar",T:4,opt:!0},{no:7,name:"encryption_type",kind:"enum",T:Mc.getEnumType(td)},{no:8,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:9,name:"text_header",kind:"message",T:Rd,oneof:"content_header"},{no:10,name:"byte_header",kind:"message",T:Ad,oneof:"content_header"}],{localName:"DataStream_Header"}),Dd=Mc.makeMessageType("livekit.DataStream.Chunk",()=>[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"chunk_index",kind:"scalar",T:4},{no:3,name:"content",kind:"scalar",T:12},{no:4,name:"version",kind:"scalar",T:5},{no:5,name:"iv",kind:"scalar",T:12,opt:!0}],{localName:"DataStream_Chunk"}),Ld=Mc.makeMessageType("livekit.DataStream.Trailer",()=>[{no:1,name:"stream_id",kind:"scalar",T:9},{no:2,name:"reason",kind:"scalar",T:9},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}}],{localName:"DataStream_Trailer"}),Nd=Mc.makeMessageType("livekit.SubscribedAudioCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"enabled",kind:"scalar",T:8}]),jd=Mc.makeEnum("livekit.SignalTarget",[{no:0,name:"PUBLISHER"},{no:1,name:"SUBSCRIBER"}]),Ud=Mc.makeEnum("livekit.StreamState",[{no:0,name:"ACTIVE"},{no:1,name:"PAUSED"}]),zd=Mc.makeEnum("livekit.CandidateProtocol",[{no:0,name:"UDP"},{no:1,name:"TCP"},{no:2,name:"TLS"}]),Fd=Mc.makeMessageType("livekit.SignalRequest",()=>[{no:1,name:"offer",kind:"message",T:Qd,oneof:"message"},{no:2,name:"answer",kind:"message",T:Qd,oneof:"message"},{no:3,name:"trickle",kind:"message",T:Hd,oneof:"message"},{no:4,name:"add_track",kind:"message",T:qd,oneof:"message"},{no:5,name:"mute",kind:"message",T:Wd,oneof:"message"},{no:6,name:"subscription",kind:"message",T:Yd,oneof:"message"},{no:7,name:"track_setting",kind:"message",T:Xd,oneof:"message"},{no:8,name:"leave",kind:"message",T:rh,oneof:"message"},{no:10,name:"update_layers",kind:"message",T:nh,oneof:"message"},{no:11,name:"subscription_permission",kind:"message",T:bh,oneof:"message"},{no:12,name:"sync_state",kind:"message",T:yh,oneof:"message"},{no:13,name:"simulate",kind:"message",T:Sh,oneof:"message"},{no:14,name:"ping",kind:"scalar",T:3,oneof:"message"},{no:15,name:"update_metadata",kind:"message",T:oh,oneof:"message"},{no:16,name:"ping_req",kind:"message",T:Th,oneof:"message"},{no:17,name:"update_audio_track",kind:"message",T:eh,oneof:"message"},{no:18,name:"update_video_track",kind:"message",T:th,oneof:"message"}]),Bd=Mc.makeMessageType("livekit.SignalResponse",()=>[{no:1,name:"join",kind:"message",T:$d,oneof:"message"},{no:2,name:"answer",kind:"message",T:Qd,oneof:"message"},{no:3,name:"offer",kind:"message",T:Qd,oneof:"message"},{no:4,name:"trickle",kind:"message",T:Hd,oneof:"message"},{no:5,name:"update",kind:"message",T:Zd,oneof:"message"},{no:6,name:"track_published",kind:"message",T:Jd,oneof:"message"},{no:8,name:"leave",kind:"message",T:rh,oneof:"message"},{no:9,name:"mute",kind:"message",T:Wd,oneof:"message"},{no:10,name:"speakers_changed",kind:"message",T:sh,oneof:"message"},{no:11,name:"room_update",kind:"message",T:lh,oneof:"message"},{no:12,name:"connection_quality",kind:"message",T:dh,oneof:"message"},{no:13,name:"stream_state_update",kind:"message",T:uh,oneof:"message"},{no:14,name:"subscribed_quality_update",kind:"message",T:mh,oneof:"message"},{no:15,name:"subscription_permission_update",kind:"message",T:kh,oneof:"message"},{no:16,name:"refresh_token",kind:"scalar",T:9,oneof:"message"},{no:17,name:"track_unpublished",kind:"message",T:Kd,oneof:"message"},{no:18,name:"pong",kind:"scalar",T:3,oneof:"message"},{no:19,name:"reconnect",kind:"message",T:Gd,oneof:"message"},{no:20,name:"pong_resp",kind:"message",T:Eh,oneof:"message"},{no:21,name:"subscription_response",kind:"message",T:_h,oneof:"message"},{no:22,name:"request_response",kind:"message",T:Mh,oneof:"message"},{no:23,name:"track_subscribed",kind:"message",T:Ah,oneof:"message"},{no:24,name:"room_moved",kind:"message",T:wh,oneof:"message"},{no:25,name:"media_sections_requirement",kind:"message",T:jh,oneof:"message"},{no:26,name:"subscribed_audio_codec_update",kind:"message",T:vh,oneof:"message"}]),Vd=Mc.makeMessageType("livekit.SimulcastCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"cid",kind:"scalar",T:9},{no:4,name:"layers",kind:"message",T:nd,repeated:!0},{no:5,name:"video_layer_mode",kind:"enum",T:Mc.getEnumType(od)}]),qd=Mc.makeMessageType("livekit.AddTrackRequest",()=>[{no:1,name:"cid",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"type",kind:"enum",T:Mc.getEnumType(zc)},{no:4,name:"width",kind:"scalar",T:13},{no:5,name:"height",kind:"scalar",T:13},{no:6,name:"muted",kind:"scalar",T:8},{no:7,name:"disable_dtx",kind:"scalar",T:8},{no:8,name:"source",kind:"enum",T:Mc.getEnumType(Fc)},{no:9,name:"layers",kind:"message",T:nd,repeated:!0},{no:10,name:"simulcast_codecs",kind:"message",T:Vd,repeated:!0},{no:11,name:"sid",kind:"scalar",T:9},{no:12,name:"stereo",kind:"scalar",T:8},{no:13,name:"disable_red",kind:"scalar",T:8},{no:14,name:"encryption",kind:"enum",T:Mc.getEnumType(td)},{no:15,name:"stream",kind:"scalar",T:9},{no:16,name:"backup_codec_policy",kind:"enum",T:Mc.getEnumType(Uc)},{no:17,name:"audio_features",kind:"enum",T:Mc.getEnumType(Gc),repeated:!0}]),Hd=Mc.makeMessageType("livekit.TrickleRequest",()=>[{no:1,name:"candidateInit",kind:"scalar",T:9},{no:2,name:"target",kind:"enum",T:Mc.getEnumType(jd)},{no:3,name:"final",kind:"scalar",T:8}]),Wd=Mc.makeMessageType("livekit.MuteTrackRequest",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"muted",kind:"scalar",T:8}]),$d=Mc.makeMessageType("livekit.JoinResponse",()=>[{no:1,name:"room",kind:"message",T:Jc},{no:2,name:"participant",kind:"message",T:Zc},{no:3,name:"other_participants",kind:"message",T:Zc,repeated:!0},{no:4,name:"server_version",kind:"scalar",T:9},{no:5,name:"ice_servers",kind:"message",T:ah,repeated:!0},{no:6,name:"subscriber_primary",kind:"scalar",T:8},{no:7,name:"alternative_url",kind:"scalar",T:9},{no:8,name:"client_configuration",kind:"message",T:Ed},{no:9,name:"server_region",kind:"scalar",T:9},{no:10,name:"ping_timeout",kind:"scalar",T:5},{no:11,name:"ping_interval",kind:"scalar",T:5},{no:12,name:"server_info",kind:"message",T:xd},{no:13,name:"sif_trailer",kind:"scalar",T:12},{no:14,name:"enabled_publish_codecs",kind:"message",T:Kc,repeated:!0},{no:15,name:"fast_publish",kind:"scalar",T:8}]),Gd=Mc.makeMessageType("livekit.ReconnectResponse",()=>[{no:1,name:"ice_servers",kind:"message",T:ah,repeated:!0},{no:2,name:"client_configuration",kind:"message",T:Ed},{no:3,name:"server_info",kind:"message",T:xd},{no:4,name:"last_message_seq",kind:"scalar",T:13}]),Jd=Mc.makeMessageType("livekit.TrackPublishedResponse",()=>[{no:1,name:"cid",kind:"scalar",T:9},{no:2,name:"track",kind:"message",T:id}]),Kd=Mc.makeMessageType("livekit.TrackUnpublishedResponse",()=>[{no:1,name:"track_sid",kind:"scalar",T:9}]),Qd=Mc.makeMessageType("livekit.SessionDescription",()=>[{no:1,name:"type",kind:"scalar",T:9},{no:2,name:"sdp",kind:"scalar",T:9},{no:3,name:"id",kind:"scalar",T:13}]),Zd=Mc.makeMessageType("livekit.ParticipantUpdate",()=>[{no:1,name:"participants",kind:"message",T:Zc,repeated:!0}]),Yd=Mc.makeMessageType("livekit.UpdateSubscription",()=>[{no:1,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:2,name:"subscribe",kind:"scalar",T:8},{no:3,name:"participant_tracks",kind:"message",T:yd,repeated:!0}]),Xd=Mc.makeMessageType("livekit.UpdateTrackSettings",()=>[{no:1,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:3,name:"disabled",kind:"scalar",T:8},{no:4,name:"quality",kind:"enum",T:Mc.getEnumType(Bc)},{no:5,name:"width",kind:"scalar",T:13},{no:6,name:"height",kind:"scalar",T:13},{no:7,name:"fps",kind:"scalar",T:13},{no:8,name:"priority",kind:"scalar",T:13}]),eh=Mc.makeMessageType("livekit.UpdateLocalAudioTrack",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"features",kind:"enum",T:Mc.getEnumType(Gc),repeated:!0}]),th=Mc.makeMessageType("livekit.UpdateLocalVideoTrack",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"width",kind:"scalar",T:13},{no:3,name:"height",kind:"scalar",T:13}]),rh=Mc.makeMessageType("livekit.LeaveRequest",()=>[{no:1,name:"can_reconnect",kind:"scalar",T:8},{no:2,name:"reason",kind:"enum",T:Mc.getEnumType(Hc)},{no:3,name:"action",kind:"enum",T:Mc.getEnumType(ih)},{no:4,name:"regions",kind:"message",T:Ih}]),ih=Mc.makeEnum("livekit.LeaveRequest.Action",[{no:0,name:"DISCONNECT"},{no:1,name:"RESUME"},{no:2,name:"RECONNECT"}]),nh=Mc.makeMessageType("livekit.UpdateVideoLayers",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"layers",kind:"message",T:nd,repeated:!0}]),oh=Mc.makeMessageType("livekit.UpdateParticipantMetadata",()=>[{no:1,name:"metadata",kind:"scalar",T:9},{no:2,name:"name",kind:"scalar",T:9},{no:3,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:4,name:"request_id",kind:"scalar",T:13}]),ah=Mc.makeMessageType("livekit.ICEServer",()=>[{no:1,name:"urls",kind:"scalar",T:9,repeated:!0},{no:2,name:"username",kind:"scalar",T:9},{no:3,name:"credential",kind:"scalar",T:9}]),sh=Mc.makeMessageType("livekit.SpeakersChanged",()=>[{no:1,name:"speakers",kind:"message",T:hd,repeated:!0}]),lh=Mc.makeMessageType("livekit.RoomUpdate",()=>[{no:1,name:"room",kind:"message",T:Jc}]),ch=Mc.makeMessageType("livekit.ConnectionQualityInfo",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"quality",kind:"enum",T:Mc.getEnumType(Vc)},{no:3,name:"score",kind:"scalar",T:2}]),dh=Mc.makeMessageType("livekit.ConnectionQualityUpdate",()=>[{no:1,name:"updates",kind:"message",T:ch,repeated:!0}]),hh=Mc.makeMessageType("livekit.StreamStateInfo",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sid",kind:"scalar",T:9},{no:3,name:"state",kind:"enum",T:Mc.getEnumType(Ud)}]),uh=Mc.makeMessageType("livekit.StreamStateUpdate",()=>[{no:1,name:"stream_states",kind:"message",T:hh,repeated:!0}]),ph=Mc.makeMessageType("livekit.SubscribedQuality",()=>[{no:1,name:"quality",kind:"enum",T:Mc.getEnumType(Bc)},{no:2,name:"enabled",kind:"scalar",T:8}]),gh=Mc.makeMessageType("livekit.SubscribedCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"qualities",kind:"message",T:ph,repeated:!0}]),mh=Mc.makeMessageType("livekit.SubscribedQualityUpdate",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"subscribed_qualities",kind:"message",T:ph,repeated:!0},{no:3,name:"subscribed_codecs",kind:"message",T:gh,repeated:!0}]),vh=Mc.makeMessageType("livekit.SubscribedAudioCodecUpdate",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"subscribed_audio_codecs",kind:"message",T:Nd,repeated:!0}]),fh=Mc.makeMessageType("livekit.TrackPermission",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"all_tracks",kind:"scalar",T:8},{no:3,name:"track_sids",kind:"scalar",T:9,repeated:!0},{no:4,name:"participant_identity",kind:"scalar",T:9}]),bh=Mc.makeMessageType("livekit.SubscriptionPermission",()=>[{no:1,name:"all_participants",kind:"scalar",T:8},{no:2,name:"track_permissions",kind:"message",T:fh,repeated:!0}]),kh=Mc.makeMessageType("livekit.SubscriptionPermissionUpdate",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sid",kind:"scalar",T:9},{no:3,name:"allowed",kind:"scalar",T:8}]),wh=Mc.makeMessageType("livekit.RoomMovedResponse",()=>[{no:1,name:"room",kind:"message",T:Jc},{no:2,name:"token",kind:"scalar",T:9},{no:3,name:"participant",kind:"message",T:Zc},{no:4,name:"other_participants",kind:"message",T:Zc,repeated:!0}]),yh=Mc.makeMessageType("livekit.SyncState",()=>[{no:1,name:"answer",kind:"message",T:Qd},{no:2,name:"subscription",kind:"message",T:Yd},{no:3,name:"publish_tracks",kind:"message",T:Jd,repeated:!0},{no:4,name:"data_channels",kind:"message",T:Ch,repeated:!0},{no:5,name:"offer",kind:"message",T:Qd},{no:6,name:"track_sids_disabled",kind:"scalar",T:9,repeated:!0},{no:7,name:"datachannel_receive_states",kind:"message",T:xh,repeated:!0}]),xh=Mc.makeMessageType("livekit.DataChannelReceiveState",()=>[{no:1,name:"publisher_sid",kind:"scalar",T:9},{no:2,name:"last_seq",kind:"scalar",T:13}]),Ch=Mc.makeMessageType("livekit.DataChannelInfo",()=>[{no:1,name:"label",kind:"scalar",T:9},{no:2,name:"id",kind:"scalar",T:13},{no:3,name:"target",kind:"enum",T:Mc.getEnumType(jd)}]),Sh=Mc.makeMessageType("livekit.SimulateScenario",()=>[{no:1,name:"speaker_update",kind:"scalar",T:5,oneof:"scenario"},{no:2,name:"node_failure",kind:"scalar",T:8,oneof:"scenario"},{no:3,name:"migration",kind:"scalar",T:8,oneof:"scenario"},{no:4,name:"server_leave",kind:"scalar",T:8,oneof:"scenario"},{no:5,name:"switch_candidate_protocol",kind:"enum",T:Mc.getEnumType(zd),oneof:"scenario"},{no:6,name:"subscriber_bandwidth",kind:"scalar",T:3,oneof:"scenario"},{no:7,name:"disconnect_signal_on_resume",kind:"scalar",T:8,oneof:"scenario"},{no:8,name:"disconnect_signal_on_resume_no_messages",kind:"scalar",T:8,oneof:"scenario"},{no:9,name:"leave_request_full_reconnect",kind:"scalar",T:8,oneof:"scenario"}]),Th=Mc.makeMessageType("livekit.Ping",()=>[{no:1,name:"timestamp",kind:"scalar",T:3},{no:2,name:"rtt",kind:"scalar",T:3}]),Eh=Mc.makeMessageType("livekit.Pong",()=>[{no:1,name:"last_ping_timestamp",kind:"scalar",T:3},{no:2,name:"timestamp",kind:"scalar",T:3}]),Ih=Mc.makeMessageType("livekit.RegionSettings",()=>[{no:1,name:"regions",kind:"message",T:Ph,repeated:!0}]),Ph=Mc.makeMessageType("livekit.RegionInfo",()=>[{no:1,name:"region",kind:"scalar",T:9},{no:2,name:"url",kind:"scalar",T:9},{no:3,name:"distance",kind:"scalar",T:3}]),_h=Mc.makeMessageType("livekit.SubscriptionResponse",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"err",kind:"enum",T:Mc.getEnumType($c)}]),Mh=Mc.makeMessageType("livekit.RequestResponse",()=>[{no:1,name:"request_id",kind:"scalar",T:13},{no:2,name:"reason",kind:"enum",T:Mc.getEnumType(Rh)},{no:3,name:"message",kind:"scalar",T:9},{no:4,name:"trickle",kind:"message",T:Hd,oneof:"request"},{no:5,name:"add_track",kind:"message",T:qd,oneof:"request"},{no:6,name:"mute",kind:"message",T:Wd,oneof:"request"},{no:7,name:"update_metadata",kind:"message",T:oh,oneof:"request"},{no:8,name:"update_audio_track",kind:"message",T:eh,oneof:"request"},{no:9,name:"update_video_track",kind:"message",T:th,oneof:"request"}]),Rh=Mc.makeEnum("livekit.RequestResponse.Reason",[{no:0,name:"OK"},{no:1,name:"NOT_FOUND"},{no:2,name:"NOT_ALLOWED"},{no:3,name:"LIMIT_EXCEEDED"},{no:4,name:"QUEUED"},{no:5,name:"UNSUPPORTED_TYPE"},{no:6,name:"UNCLASSIFIED_ERROR"}]),Ah=Mc.makeMessageType("livekit.TrackSubscribed",()=>[{no:1,name:"track_sid",kind:"scalar",T:9}]),Oh=Mc.makeMessageType("livekit.ConnectionSettings",()=>[{no:1,name:"auto_subscribe",kind:"scalar",T:8},{no:2,name:"adaptive_stream",kind:"scalar",T:8},{no:3,name:"subscriber_allow_pause",kind:"scalar",T:8,opt:!0},{no:4,name:"disable_ice_lite",kind:"scalar",T:8}]),Dh=Mc.makeMessageType("livekit.JoinRequest",()=>[{no:1,name:"client_info",kind:"message",T:Sd},{no:2,name:"connection_settings",kind:"message",T:Oh},{no:3,name:"metadata",kind:"scalar",T:9},{no:4,name:"participant_attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:5,name:"add_track_requests",kind:"message",T:qd,repeated:!0},{no:6,name:"publisher_offer",kind:"message",T:Qd},{no:7,name:"reconnect",kind:"scalar",T:8},{no:8,name:"reconnect_reason",kind:"enum",T:Mc.getEnumType(Wc)},{no:9,name:"participant_sid",kind:"scalar",T:9},{no:10,name:"sync_state",kind:"message",T:yh}]),Lh=Mc.makeMessageType("livekit.WrappedJoinRequest",()=>[{no:1,name:"compression",kind:"enum",T:Mc.getEnumType(Nh)},{no:2,name:"join_request",kind:"scalar",T:12}]),Nh=Mc.makeEnum("livekit.WrappedJoinRequest.Compression",[{no:0,name:"NONE"},{no:1,name:"GZIP"}]),jh=Mc.makeMessageType("livekit.MediaSectionsRequirement",()=>[{no:1,name:"num_audios",kind:"scalar",T:13},{no:2,name:"num_videos",kind:"scalar",T:13}]);function Uh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var zh,Fh,Bh,Vh,qh,Hh,Wh,$h,Gh={exports:{}},Jh=(zh||(zh=1,Wh=Gh.exports,$h=function(){var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"],n={},o=null;function a(e,t){var r=e[t];if("function"==typeof r.bind)return r.bind(e);try{return Function.prototype.bind.call(r,e)}catch(Py){return function(){return Function.prototype.apply.apply(r,[e,arguments])}}}function s(){console.log&&(console.log.apply||Function.prototype.apply.apply(console.log,[console,arguments])),console.trace}function l(){for(var r=this.getLevel(),n=0;n<i.length;n++){var o=i[n];this[o]=n<r?e:this.methodFactory(o,r,this.name)}if(this.log=this.debug,typeof console===t&&r<this.levels.SILENT)return"No console available for logging"}function c(e){return function(){typeof console!==t&&(l.call(this),this[e].apply(this,arguments))}}function d(i,n,o){return function(i){return"debug"===i&&(i="log"),typeof console!==t&&("trace"===i&&r?s:void 0!==console[i]?a(console,i):void 0!==console.log?a(console,"log"):e)}(i)||c.apply(this,arguments)}function h(e,r){var a,s,c,h=this,u="loglevel";function p(){var e;if(typeof window!==t&&u){try{e=window.localStorage[u]}catch(o){}if(typeof e===t)try{var r=window.document.cookie,i=encodeURIComponent(u),n=r.indexOf(i+"=");-1!==n&&(e=/^([^;]+)/.exec(r.slice(n+i.length+1))[1])}catch(o){}return void 0===h.levels[e]&&(e=void 0),e}}function g(e){var t=e;if("string"==typeof t&&void 0!==h.levels[t.toUpperCase()]&&(t=h.levels[t.toUpperCase()]),"number"==typeof t&&t>=0&&t<=h.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?u+=":"+e:"symbol"==typeof e&&(u=void 0),h.name=e,h.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},h.methodFactory=r||d,h.getLevel=function(){return null!=c?c:null!=s?s:a},h.setLevel=function(e,r){return c=g(e),!1!==r&&function(e){var r=(i[e]||"silent").toUpperCase();if(typeof window!==t&&u){try{return void(window.localStorage[u]=r)}catch(n){}try{window.document.cookie=encodeURIComponent(u)+"="+r+";"}catch(n){}}}(c),l.call(h)},h.setDefaultLevel=function(e){s=g(e),p()||h.setLevel(e,!1)},h.resetLevel=function(){c=null,function(){if(typeof window!==t&&u){try{window.localStorage.removeItem(u)}catch(e){}try{window.document.cookie=encodeURIComponent(u)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),l.call(h)},h.enableAll=function(e){h.setLevel(h.levels.TRACE,e)},h.disableAll=function(e){h.setLevel(h.levels.SILENT,e)},h.rebuild=function(){if(o!==h&&(a=g(o.getLevel())),l.call(h),o===h)for(var e in n)n[e].rebuild()},a=g(o?o.getLevel():"WARN");var m=p();null!=m&&(c=g(m)),l.call(h)}(o=new h).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=n[e];return t||(t=n[e]=new h(e,o.methodFactory)),t};var u=typeof window!==t?window.log:void 0;return o.noConflict=function(){return typeof window!==t&&window.log===o&&(window.log=u),o},o.getLoggers=function(){return n},o.default=o,o},(Hh=Gh).exports?Hh.exports=$h():Wh.log=$h()),Gh.exports);(Bh=Fh||(Fh={}))[Bh.trace=0]="trace",Bh[Bh.debug=1]="debug",Bh[Bh.info=2]="info",Bh[Bh.warn=3]="warn",Bh[Bh.error=4]="error",Bh[Bh.silent=5]="silent",(qh=Vh||(Vh={})).Default="livekit",qh.Room="livekit-room",qh.TokenSource="livekit-token-source",qh.Participant="livekit-participant",qh.Track="livekit-track",qh.Publication="livekit-track-publication",qh.Engine="livekit-engine",qh.Signal="livekit-signal",qh.PCManager="livekit-pc-manager",qh.PCTransport="livekit-pc-transport",qh.E2EE="lk-e2ee";let Kh=Jh.getLogger("livekit");function Qh(e){const t=Jh.getLogger(e);return t.setDefaultLevel(Kh.getLevel()),t}Object.values(Vh).map(e=>Jh.getLogger(e)),Kh.setDefaultLevel(Fh.info);const Zh=Jh.getLogger("lk-e2ee"),Yh=7e3,Xh=[0,300,1200,2700,4800,Yh,Yh,Yh,Yh,Yh];function eu(e,t,r,i){return new(r||(r=Promise))(function(n,o){function a(e){try{l(i.next(e))}catch(Py){o(Py)}}function s(e){try{l(i.throw(e))}catch(Py){o(Py)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(a,s)}l((i=i.apply(e,t||[])).next())})}function tu(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=e[r]&&function(t){return new Promise(function(i,n){!function(e,t,r,i){Promise.resolve(i).then(function(t){e({value:t,done:r})},t)}(i,n,(t=e[r](t)).done,t.value)})}}}"function"==typeof SuppressedError&&SuppressedError;var ru,iu={exports:{}},nu=function(){if(ru)return iu.exports;ru=1;var e,t="object"==typeof Reflect?Reflect:null,r=t&&"function"==typeof t.apply?t.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};e=t&&"function"==typeof t.ownKeys?t.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function n(){n.init.call(this)}iu.exports=n,iu.exports.once=function(e,t){return new Promise(function(r,i){function n(r){e.removeListener(t,o),i(r)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",n),r([].slice.call(arguments))}g(e,t,o,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,n)})},n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var o=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function s(e){return void 0===e._maxListeners?n.defaultMaxListeners:e._maxListeners}function l(e,t,r,i){var n,o,l;if(a(r),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),l=o[t]),void 0===l)l=o[t]=r,++e._eventsCount;else if("function"==typeof l?l=o[t]=i?[r,l]:[l,r]:i?l.unshift(r):l.push(r),(n=s(e))>0&&l.length>n&&!l.warned){l.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+l.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=l.length,console&&console.warn}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var i={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},n=c.bind(i);return n.listener=r,i.wrapFn=n,n}function h(e,t,r){var i=e._events;if(void 0===i)return[];var n=i[t];return void 0===n?[]:"function"==typeof n?r?[n.listener||n]:[n]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(n):p(n,n.length)}function u(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function p(e,t){for(var r=new Array(t),i=0;i<t;++i)r[i]=e[i];return r}function g(e,t,r,i){if("function"==typeof e.on)i.once?e.once(t,r):e.on(t,r);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function n(o){i.once&&e.removeEventListener(t,n),r(o)})}}return Object.defineProperty(n,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");o=e}}),n.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},n.prototype.getMaxListeners=function(){return s(this)},n.prototype.emit=function(e){for(var t=[],i=1;i<arguments.length;i++)t.push(arguments[i]);var n="error"===e,o=this._events;if(void 0!==o)n=n&&void 0===o.error;else if(!n)return!1;if(n){var a;if(t.length>0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var l=o[e];if(void 0===l)return!1;if("function"==typeof l)r(l,this,t);else{var c=l.length,d=p(l,c);for(i=0;i<c;++i)r(d[i],this,t)}return!0},n.prototype.addListener=function(e,t){return l(this,e,t,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(e,t){return l(this,e,t,!0)},n.prototype.once=function(e,t){return a(t),this.on(e,d(this,e,t)),this},n.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,d(this,e,t)),this},n.prototype.removeListener=function(e,t){var r,i,n,o,s;if(a(t),void 0===(i=this._events))return this;if(void 0===(r=i[e]))return this;if(r===t||r.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(n=-1,o=r.length-1;o>=0;o--)if(r[o]===t||r[o].listener===t){s=r[o].listener,n=o;break}if(n<0)return this;0===n?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,n),1===r.length&&(i[e]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",e,s||t)}return this},n.prototype.off=n.prototype.removeListener,n.prototype.removeAllListeners=function(e){var t,r,i;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var n,o=Object.keys(r);for(i=0;i<o.length;++i)"removeListener"!==(n=o[i])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(i=t.length-1;i>=0;i--)this.removeListener(e,t[i]);return this},n.prototype.listeners=function(e){return h(this,e,!0)},n.prototype.rawListeners=function(e){return h(this,e,!1)},n.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):u.call(e,t)},n.prototype.listenerCount=u,n.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]},iu.exports}();let ou=!0,au=!0;function su(e,t,r){const i=e.match(t);return i&&i.length>=r&&parseFloat(i[r],10)}function lu(e,t,r){if(!e.RTCPeerConnection)return;const i=e.RTCPeerConnection.prototype,n=i.addEventListener;i.addEventListener=function(e,i){if(e!==t)return n.apply(this,arguments);const o=e=>{const t=r(e);t&&(i.handleEvent?i.handleEvent(t):i(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(i,o),n.apply(this,[e,o])};const o=i.removeEventListener;i.removeEventListener=function(e,r){if(e!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(r))return o.apply(this,arguments);const i=this._eventMap[t].get(r);return this._eventMap[t].delete(r),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,i])},Object.defineProperty(i,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function cu(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(ou=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function du(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(au=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function hu(){if("object"==typeof window){if(ou)return;"undefined"!=typeof console&&console.log}}function uu(e,t){}function pu(e){return"[object Object]"===Object.prototype.toString.call(e)}function gu(e){return pu(e)?Object.keys(e).reduce(function(t,r){const i=pu(e[r]),n=i?gu(e[r]):e[r],o=i&&!Object.keys(n).length;return void 0===n||o?t:Object.assign(t,{[r]:n})},{}):e}function mu(e,t,r){t&&!r.has(t.id)&&(r.set(t.id,t),Object.keys(t).forEach(i=>{i.endsWith("Id")?mu(e,e.get(t[i]),r):i.endsWith("Ids")&&t[i].forEach(t=>{mu(e,e.get(t),r)})}))}function vu(e,t,r){const i=r?"outbound-rtp":"inbound-rtp",n=new Map;if(null===t)return n;const o=[];return e.forEach(e=>{"track"===e.type&&e.trackIdentifier===t.id&&o.push(e)}),o.forEach(t=>{e.forEach(r=>{r.type===i&&r.trackId===t.id&&mu(e,r,n)})}),n}const fu=hu;function bu(e,t){const r=e&&e.navigator;if(!r.mediaDevices)return;const i=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach(r=>{if("require"===r||"advanced"===r||"mediaSource"===r)return;const i="object"==typeof e[r]?e[r]:{ideal:e[r]};void 0!==i.exact&&"number"==typeof i.exact&&(i.min=i.max=i.exact);const n=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==i.ideal){t.optional=t.optional||[];let e={};"number"==typeof i.ideal?(e[n("min",r)]=i.ideal,t.optional.push(e),e={},e[n("max",r)]=i.ideal,t.optional.push(e)):(e[n("",r)]=i.ideal,t.optional.push(e))}void 0!==i.exact&&"number"!=typeof i.exact?(t.mandatory=t.mandatory||{},t.mandatory[n("",r)]=i.exact):["min","max"].forEach(e=>{void 0!==i[e]&&(t.mandatory=t.mandatory||{},t.mandatory[n(e,r)]=i[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},n=function(e,n){if(t.version>=61)return n(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=i(e.audio)}if(e&&"object"==typeof e.video){let o=e.video.facingMode;o=o&&("object"==typeof o?o:{ideal:o});const a=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&(!r.mediaDevices.getSupportedConstraints||!r.mediaDevices.getSupportedConstraints().facingMode||a)){let t;if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?t=["back","rear"]:"user"!==o.exact&&"user"!==o.ideal||(t=["front"]),t)return r.mediaDevices.enumerateDevices().then(r=>{let a=(r=r.filter(e=>"videoinput"===e.kind)).find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!a&&r.length&&t.includes("back")&&(a=r[r.length-1]),a&&(e.video.deviceId=o.exact?{exact:a.deviceId}:{ideal:a.deviceId}),e.video=i(e.video),fu("chrome: "+JSON.stringify(e)),n(e)})}e.video=i(e.video)}return fu("chrome: "+JSON.stringify(e)),n(e)},o=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(r.getUserMedia=function(e,t,i){n(e,e=>{r.webkitGetUserMedia(e,t,e=>{i&&i(o(e))})})}.bind(r),r.mediaDevices.getUserMedia){const e=r.mediaDevices.getUserMedia.bind(r.mediaDevices);r.mediaDevices.getUserMedia=function(t){return n(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException("","NotFoundError");return e},e=>Promise.reject(o(e))))}}}function ku(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function wu(e){if("object"==typeof e&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===r.track.id):{track:r.track};const n=new Event("track");n.track=r.track,n.receiver=i,n.transceiver={receiver:i},n.streams=[t.stream],this.dispatchEvent(n)}),t.stream.getTracks().forEach(r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===r.id):{track:r};const n=new Event("track");n.track=r,n.receiver=i,n.transceiver={receiver:i},n.streams=[t.stream],this.dispatchEvent(n)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else lu(e,"track",e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e))}function yu(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const r=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,i){let n=r.apply(this,arguments);return n||(n=t(this,e),this._senders.push(n)),n};const i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){i.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};const i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach(e=>{const t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function xu(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then(t=>vu(t,e.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),lu(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then(t=>vu(t,e.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,r,i;return this.getSenders().forEach(r=>{r.track===e&&(t?i=!0:t=r)}),this.getReceivers().forEach(t=>(t.track===e&&(r?i=!0:r=t),t.track===e)),i||t&&r?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():r?r.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function Cu(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){if(!r)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const i=t.apply(this,arguments);return this._shimmedLocalStreams[r.id]?-1===this._shimmedLocalStreams[r.id].indexOf(i)&&this._shimmedLocalStreams[r.id].push(i):this._shimmedLocalStreams[r.id]=[r,i],i};const r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException("Track already exists.","InvalidAccessError")});const t=this.getSenders();r.apply(this,arguments);const i=this.getSenders().filter(e=>-1===t.indexOf(e));this._shimmedLocalStreams[e.id]=[e].concat(i)};const i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],i.apply(this,arguments)};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{const r=this._shimmedLocalStreams[t].indexOf(e);-1!==r&&this._shimmedLocalStreams[t].splice(r,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]}),n.apply(this,arguments)}}function Su(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return Cu(e);const r=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=r.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[t.id]){const r=new e.MediaStream(t.getTracks());this._streams[t.id]=r,this._reverseStreams[r.id]=t,t=r}i.apply(this,[t])};const n=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{const i=e._reverseStreams[t],n=e._streams[i.id];r=r.replace(new RegExp(n.id,"g"),i.id)}),new RTCSessionDescription({type:t.type,sdp:r})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},n.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,r){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const i=[].slice.call(arguments,1);if(1!==i.length||!i[0].getTracks().find(e=>e===t))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find(e=>e.track===t))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const n=this._streams[r.id];if(n)n.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const i=new e.MediaStream([t]);this._streams[r.id]=i,this._reverseStreams[i.id]=r,this.addStream(i)}return this.getSenders().find(e=>e.track===t)},["createOffer","createAnswer"].forEach(function(t){const r=e.RTCPeerConnection.prototype[t],i={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?r.apply(this,[t=>{const r=o(this,t);e[0].apply(null,[r])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):r.apply(this,arguments).then(e=>o(this,e))}};e.RTCPeerConnection.prototype[t]=i[t]});const a=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){let r=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{const i=e._reverseStreams[t],n=e._streams[i.id];r=r.replace(new RegExp(i.id,"g"),n.id)}),new RTCSessionDescription({type:t.type,sdp:r})}(this,arguments[0]),a.apply(this,arguments)):a.apply(this,arguments)};const s=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const e=s.get.apply(this);return""===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(e._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach(r=>{this._streams[r].getTracks().find(t=>e.track===t)&&(t=this._streams[r])}),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function Tu(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){const r=e.RTCPeerConnection.prototype[t],i={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=i[t]})}function Eu(e,t){lu(e,"negotiationneeded",e=>{const r=e.target;if(!(t.version<72||r.getConfiguration&&"plan-b"===r.getConfiguration().sdpSemantics)||"stable"===r.signalingState)return e})}var Iu=Object.freeze({__proto__:null,fixNegotiationNeeded:Eu,shimAddTrackRemoveTrack:Su,shimAddTrackRemoveTrackWithNative:Cu,shimGetSendersWithDtmf:yu,shimGetUserMedia:bu,shimMediaStream:ku,shimOnTrack:wu,shimPeerConnection:Tu,shimSenderReceiverGetStats:xu});function Pu(e,t){const r=e&&e.navigator,i=e&&e.MediaStreamTrack;if(r.getUserMedia=function(e,t,i){r.mediaDevices.getUserMedia(e).then(t,i)},!(t.version>55&&"autoGainControl"in r.mediaDevices.getSupportedConstraints())){const e=function(e,t,r){t in e&&!(r in e)&&(e[r]=e[t],delete e[t])},t=r.mediaDevices.getUserMedia.bind(r.mediaDevices);if(r.mediaDevices.getUserMedia=function(r){return"object"==typeof r&&"object"==typeof r.audio&&(r=JSON.parse(JSON.stringify(r)),e(r.audio,"autoGainControl","mozAutoGainControl"),e(r.audio,"noiseSuppression","mozNoiseSuppression")),t(r)},i&&i.prototype.getSettings){const t=i.prototype.getSettings;i.prototype.getSettings=function(){const r=t.apply(this,arguments);return e(r,"mozAutoGainControl","autoGainControl"),e(r,"mozNoiseSuppression","noiseSuppression"),r}}if(i&&i.prototype.applyConstraints){const t=i.prototype.applyConstraints;i.prototype.applyConstraints=function(r){return"audio"===this.kind&&"object"==typeof r&&(r=JSON.parse(JSON.stringify(r)),e(r,"autoGainControl","mozAutoGainControl"),e(r,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[r])}}}}function _u(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function Mu(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){const r=e.RTCPeerConnection.prototype[t],i={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=i[t]});const r={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},i=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,n,o]=arguments;return i.apply(this,[e||null]).then(e=>{if(t.version<53&&!n)try{e.forEach(e=>{e.type=r[e.type]||e.type})}catch(Py){if("TypeError"!==Py.name)throw Py;e.forEach((t,i)=>{e.set(i,Object.assign({},t,{type:r[t.type]||t.type}))})}return e}).then(n,o)}}function Ru(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});const r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=r.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function Au(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),lu(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function Ou(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function Du(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function Lu(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]),e=[...e];const r=e.length>0;r&&e.forEach(e=>{if("rid"in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});const i=t.apply(this,arguments);if(r){const{sender:t}=i,r=t.getParameters();(!("encodings"in r)||1===r.encodings.length&&0===Object.keys(r.encodings[0]).length)&&(r.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(r).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return i})}function Nu(e){if("object"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function ju(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function Uu(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var zu=Object.freeze({__proto__:null,shimAddTransceiver:Lu,shimCreateAnswer:Uu,shimCreateOffer:ju,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(r){if(!r||!r.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===r.video?r.video={mediaSource:t}:r.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(r)})},shimGetParameters:Nu,shimGetUserMedia:Pu,shimOnTrack:_u,shimPeerConnection:Mu,shimRTCDataChannel:Du,shimReceiverGetStats:Au,shimRemoveStream:Ou,shimSenderGetStats:Ru});function Fu(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(r=>t.call(this,r,e)),e.getVideoTracks().forEach(r=>t.call(this,r,e))},e.RTCPeerConnection.prototype.addTrack=function(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];return i&&i.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const r=e.getTracks();this.getSenders().forEach(e=>{r.includes(e.track)&&this.removeTrack(e)})})}}function Bu(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)})})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const r=new Event("addstream");r.stream=t,e.dispatchEvent(r)})}),t.apply(e,arguments)}}}function Vu(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,r=t.createOffer,i=t.createAnswer,n=t.setLocalDescription,o=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(e,t){const i=arguments.length>=2?arguments[2]:arguments[0],n=r.apply(this,[i]);return t?(n.then(e,t),Promise.resolve()):n},t.createAnswer=function(e,t){const r=arguments.length>=2?arguments[2]:arguments[0],n=i.apply(this,[r]);return t?(n.then(e,t),Promise.resolve()):n};let s=function(e,t,r){const i=n.apply(this,[e]);return r?(i.then(t,r),Promise.resolve()):i};t.setLocalDescription=s,s=function(e,t,r){const i=o.apply(this,[e]);return r?(i.then(t,r),Promise.resolve()):i},t.setRemoteDescription=s,s=function(e,t,r){const i=a.apply(this,[e]);return r?(i.then(t,r),Promise.resolve()):i},t.addIceCandidate=s}function qu(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,r=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>r(Hu(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,r,i){t.mediaDevices.getUserMedia(e).then(r,i)}.bind(t))}function Hu(e){return e&&void 0!==e.video?Object.assign({},e,{video:gu(e.video)}):e}function Wu(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,r){if(e&&e.iceServers){const t=[];for(let r=0;r<e.iceServers.length;r++){let i=e.iceServers[r];void 0===i.urls&&i.url?(uu(),i=JSON.parse(JSON.stringify(i)),i.urls=i.url,delete i.url,t.push(i)):t.push(e.iceServers[r])}e.iceServers=t}return new t(e,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function $u(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function Gu(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find(e=>"audio"===e.receiver.track.kind);!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio",{direction:"recvonly"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const r=this.getTransceivers().find(e=>"video"===e.receiver.track.kind);!1===e.offerToReceiveVideo&&r?"sendrecv"===r.direction?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":"recvonly"===r.direction&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):!0!==e.offerToReceiveVideo||r||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}}function Ju(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Ku,Qu=Object.freeze({__proto__:null,shimAudioContext:Ju,shimCallbacksAPI:Vu,shimConstraints:Hu,shimCreateOfferLegacy:Gu,shimGetUserMedia:qu,shimLocalStreamsAPI:Fu,shimRTCIceServerUrls:Wu,shimRemoteStreamsAPI:Bu,shimTrackEventTransceiver:$u}),Zu={exports:{}},Yu=(Ku||(Ku=1,function(e){const t={generateIdentifier:function(){return Math.random().toString(36).substring(2,12)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split("\n").map(e=>e.trim())},t.splitSections=function(e){return e.split("\nm=").map((e,t)=>(t>0?"m="+e:e).trim()+"\r\n")},t.getDescription=function(e){const r=t.splitSections(e);return r&&r[0]},t.getMediaSections=function(e){const r=t.splitSections(e);return r.shift(),r},t.matchPrefix=function(e,r){return t.splitLines(e).filter(e=>0===e.indexOf(r))},t.parseCandidate=function(e){let t;t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" ");const r={foundation:t[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let i=8;i<t.length;i+=2)switch(t[i]){case"raddr":r.relatedAddress=t[i+1];break;case"rport":r.relatedPort=parseInt(t[i+1],10);break;case"tcptype":r.tcpType=t[i+1];break;case"ufrag":r.ufrag=t[i+1],r.usernameFragment=t[i+1];break;default:void 0===r[t[i]]&&(r[t[i]]=t[i+1])}return r},t.writeCandidate=function(e){const t=[];t.push(e.foundation);const r=e.component;"rtp"===r?t.push(1):"rtcp"===r?t.push(2):t.push(r),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);const i=e.type;return t.push("typ"),t.push(i),"host"!==i&&e.relatedAddress&&e.relatedPort&&(t.push("raddr"),t.push(e.relatedAddress),t.push("rport"),t.push(e.relatedPort)),e.tcpType&&"tcp"===e.protocol.toLowerCase()&&(t.push("tcptype"),t.push(e.tcpType)),(e.usernameFragment||e.ufrag)&&(t.push("ufrag"),t.push(e.usernameFragment||e.ufrag)),"candidate:"+t.join(" ")},t.parseIceOptions=function(e){return e.substring(14).split(" ")},t.parseRtpMap=function(e){let t=e.substring(9).split(" ");const r={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),r.name=t[0],r.clockRate=parseInt(t[1],10),r.channels=3===t.length?parseInt(t[2],10):1,r.numChannels=r.channels,r},t.writeRtpMap=function(e){let t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);const r=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==r?"/"+r:"")+"\r\n"},t.parseExtmap=function(e){const t=e.substring(9).split(" ");return{id:parseInt(t[0],10),direction:t[0].indexOf("/")>0?t[0].split("/")[1]:"sendrecv",uri:t[1],attributes:t.slice(2).join(" ")}},t.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+(e.attributes?" "+e.attributes:"")+"\r\n"},t.parseFmtp=function(e){const t={};let r;const i=e.substring(e.indexOf(" ")+1).split(";");for(let n=0;n<i.length;n++)r=i[n].trim().split("="),t[r[0].trim()]=r[1];return t},t.writeFmtp=function(e){let t="",r=e.payloadType;if(void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){const i=[];Object.keys(e.parameters).forEach(t=>{void 0!==e.parameters[t]?i.push(t+"="+e.parameters[t]):i.push(t)}),t+="a=fmtp:"+r+" "+i.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){const t=e.substring(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){let t="",r=e.payloadType;return void 0!==e.preferredPayloadType&&(r=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach(e=>{t+="a=rtcp-fb:"+r+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"}),t},t.parseSsrcMedia=function(e){const t=e.indexOf(" "),r={ssrc:parseInt(e.substring(7,t),10)},i=e.indexOf(":",t);return i>-1?(r.attribute=e.substring(t+1,i),r.value=e.substring(i+1)):r.attribute=e.substring(t+1),r},t.parseSsrcGroup=function(e){const t=e.substring(13).split(" ");return{semantics:t.shift(),ssrcs:t.map(e=>parseInt(e,10))}},t.getMid=function(e){const r=t.matchPrefix(e,"a=mid:")[0];if(r)return r.substring(6)},t.parseFingerprint=function(e){const t=e.substring(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,r){return{role:"auto",fingerprints:t.matchPrefix(e+r,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let r="a=setup:"+t+"\r\n";return e.fingerprints.forEach(e=>{r+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"}),r},t.parseCryptoLine=function(e){const t=e.substring(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;const t=e.substring(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},t.getCryptoParameters=function(e,r){return t.matchPrefix(e+r,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,r){const i=t.matchPrefix(e+r,"a=ice-ufrag:")[0],n=t.matchPrefix(e+r,"a=ice-pwd:")[0];return i&&n?{usernameFragment:i.substring(12),password:n.substring(10)}:null},t.writeIceParameters=function(e){let t="a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n";return e.iceLite&&(t+="a=ice-lite\r\n"),t},t.parseRtpParameters=function(e){const r={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},i=t.splitLines(e)[0].split(" ");r.profile=i[2];for(let o=3;o<i.length;o++){const n=i[o],a=t.matchPrefix(e,"a=rtpmap:"+n+" ")[0];if(a){const i=t.parseRtpMap(a),o=t.matchPrefix(e,"a=fmtp:"+n+" ");switch(i.parameters=o.length?t.parseFmtp(o[0]):{},i.rtcpFeedback=t.matchPrefix(e,"a=rtcp-fb:"+n+" ").map(t.parseRtcpFb),r.codecs.push(i),i.name.toUpperCase()){case"RED":case"ULPFEC":r.fecMechanisms.push(i.name.toUpperCase())}}}t.matchPrefix(e,"a=extmap:").forEach(e=>{r.headerExtensions.push(t.parseExtmap(e))});const n=t.matchPrefix(e,"a=rtcp-fb:* ").map(t.parseRtcpFb);return r.codecs.forEach(e=>{n.forEach(t=>{e.rtcpFeedback.find(e=>e.type===t.type&&e.parameter===t.parameter)||e.rtcpFeedback.push(t)})}),r},t.writeRtpDescription=function(e,r){let i="";i+="m="+e+" ",i+=r.codecs.length>0?"9":"0",i+=" "+(r.profile||"UDP/TLS/RTP/SAVPF")+" ",i+=r.codecs.map(e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType).join(" ")+"\r\n",i+="c=IN IP4 0.0.0.0\r\n",i+="a=rtcp:9 IN IP4 0.0.0.0\r\n",r.codecs.forEach(e=>{i+=t.writeRtpMap(e),i+=t.writeFmtp(e),i+=t.writeRtcpFb(e)});let n=0;return r.codecs.forEach(e=>{e.maxptime>n&&(n=e.maxptime)}),n>0&&(i+="a=maxptime:"+n+"\r\n"),r.headerExtensions&&r.headerExtensions.forEach(e=>{i+=t.writeExtmap(e)}),i},t.parseRtpEncodingParameters=function(e){const r=[],i=t.parseRtpParameters(e),n=-1!==i.fecMechanisms.indexOf("RED"),o=-1!==i.fecMechanisms.indexOf("ULPFEC"),a=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute),s=a.length>0&&a[0].ssrc;let l;const c=t.matchPrefix(e,"a=ssrc-group:FID").map(e=>e.substring(17).split(" ").map(e=>parseInt(e,10)));c.length>0&&c[0].length>1&&c[0][0]===s&&(l=c[0][1]),i.codecs.forEach(e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:s,codecPayloadType:parseInt(e.parameters.apt,10)};s&&l&&(t.rtx={ssrc:l}),r.push(t),n&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:s,mechanism:o?"red+ulpfec":"red"},r.push(t))}}),0===r.length&&s&&r.push({ssrc:s});let d=t.matchPrefix(e,"b=");return d.length&&(d=0===d[0].indexOf("b=TIAS:")?parseInt(d[0].substring(7),10):0===d[0].indexOf("b=AS:")?1e3*parseInt(d[0].substring(5),10)*.95-16e3:void 0,r.forEach(e=>{e.maxBitrate=d})),r},t.parseRtcpParameters=function(e){const r={},i=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute)[0];i&&(r.cname=i.value,r.ssrc=i.ssrc);const n=t.matchPrefix(e,"a=rtcp-rsize");r.reducedSize=n.length>0,r.compound=0===n.length;const o=t.matchPrefix(e,"a=rtcp-mux");return r.mux=o.length>0,r},t.writeRtcpParameters=function(e){let t="";return e.reducedSize&&(t+="a=rtcp-rsize\r\n"),e.mux&&(t+="a=rtcp-mux\r\n"),void 0!==e.ssrc&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+"\r\n"),t},t.parseMsid=function(e){let r;const i=t.matchPrefix(e,"a=msid:");if(1===i.length)return r=i[0].substring(7).split(" "),{stream:r[0],track:r[1]};const n=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"msid"===e.attribute);return n.length>0?(r=n[0].value.split(" "),{stream:r[0],track:r[1]}):void 0},t.parseSctpDescription=function(e){const r=t.parseMLine(e),i=t.matchPrefix(e,"a=max-message-size:");let n;i.length>0&&(n=parseInt(i[0].substring(19),10)),isNaN(n)&&(n=65536);const o=t.matchPrefix(e,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substring(12),10),protocol:r.fmt,maxMessageSize:n};const a=t.matchPrefix(e,"a=sctpmap:");if(a.length>0){const e=a[0].substring(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:n}}},t.writeSctpDescription=function(e,t){let r=[];return r="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&r.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),r.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,r,i){let n;const o=void 0!==r?r:2;return n=e||t.generateSessionId(),"v=0\r\no="+(i||"thisisadapterortc")+" "+n+" "+o+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,r){const i=t.splitLines(e);for(let t=0;t<i.length;t++)switch(i[t]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return i[t].substring(2)}return r?t.getDirection(r):"sendrecv"},t.getKind=function(e){return t.splitLines(e)[0].split(" ")[0].substring(2)},t.isRejected=function(e){return"0"===e.split(" ",2)[1]},t.parseMLine=function(e){const r=t.splitLines(e)[0].substring(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},t.parseOLine=function(e){const r=t.matchPrefix(e,"o=")[0].substring(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},t.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;const r=t.splitLines(e);for(let t=0;t<r.length;t++)if(r[t].length<2||"="!==r[t].charAt(1))return!1;return!0},e.exports=t}(Zu)),Zu.exports),Xu=Uh(Yu),ep=el({__proto__:null,default:Xu},[Yu]);function tp(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;const t=e.RTCIceCandidate;e.RTCIceCandidate=function(e){if("object"==typeof e&&e.candidate&&0===e.candidate.indexOf("a=")&&((e=JSON.parse(JSON.stringify(e))).candidate=e.candidate.substring(2)),e.candidate&&e.candidate.length){const r=new t(e),i=Xu.parseCandidate(e.candidate);for(const e in i)e in r||Object.defineProperty(r,e,{value:i[e]});return r.toJSON=function(){return{candidate:r.candidate,sdpMid:r.sdpMid,sdpMLineIndex:r.sdpMLineIndex,usernameFragment:r.usernameFragment}},r}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,lu(e,"icecandidate",t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t))}function rp(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||lu(e,"icecandidate",e=>{if(e.candidate){const t=Xu.parseCandidate(e.candidate.candidate);"relay"===t.type&&(e.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[t.priority>>24])}return e})}function ip(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(function(e){if(!e||!e.sdp)return!1;const t=Xu.splitSections(e.sdp);return t.shift(),t.some(e=>{const t=Xu.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")})}(arguments[0])){const e=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;const r=parseInt(t[1],10);return r!=r?-1:r}(arguments[0]),r=function(e){let r=65536;return"firefox"===t.browser&&(r=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),r}(e),i=function(e,r){let i=65536;"firefox"===t.browser&&57===t.version&&(i=65535);const n=Xu.matchPrefix(e.sdp,"a=max-message-size:");return n.length>0?i=parseInt(n[0].substring(19),10):"firefox"===t.browser&&-1!==r&&(i=2147483637),i}(arguments[0],e);let n;n=0===r&&0===i?Number.POSITIVE_INFINITY:0===r||0===i?Math.max(r,i):Math.min(r,i);const o={};Object.defineProperty(o,"maxMessageSize",{get:()=>n}),this._sctp=o}return r.apply(this,arguments)}}function np(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const r=e.send;e.send=function(){const i=arguments[0],n=i.length||i.size||i.byteLength;if("open"===e.readyState&&t.sctp&&n>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return r.apply(e,arguments)}}const r=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=r.apply(this,arguments);return t(e,this),e},lu(e,"datachannel",e=>(t(e.channel,e.target),e))}function op(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(e=>{const r=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const r=new Event("connectionstatechange",e);t.dispatchEvent(r)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function ap(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t._safariVersion>=13.1)return;const r=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const r=t.sdp.split("\n").filter(e=>"a=extmap-allow-mixed"!==e.trim()).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:r}):t.sdp=r}return r.apply(this,arguments)}}function sp(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.addIceCandidate;r&&0!==r.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():r.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function lp(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const r=e.RTCPeerConnection.prototype.setLocalDescription;r&&0!==r.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return r.apply(this,arguments);if(e={type:e.type,sdp:e.sdp},!e.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}return e.sdp||"offer"!==e.type&&"answer"!==e.type?r.apply(this,[e]):("offer"===e.type?this.createOffer:this.createAnswer).apply(this).then(e=>r.apply(this,[e]))})}var cp=Object.freeze({__proto__:null,removeExtmapAllowMixed:ap,shimAddIceCandidateNullOrEmpty:sp,shimConnectionState:op,shimMaxMessageSize:ip,shimParameterlessSetLocalDescription:lp,shimRTCIceCandidate:tp,shimRTCIceCandidateRelayProtocol:rp,shimSendThrowTypeError:np});!function(){let{window:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shimChrome:!0,shimFirefox:!0,shimSafari:!0};const r=hu,i=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return t.browser="Not a browser.",t;const{navigator:r}=e;if(r.userAgentData&&r.userAgentData.brands){const e=r.userAgentData.brands.find(e=>"Chromium"===e.brand);if(e)return{browser:"chrome",version:parseInt(e.version,10)}}if(r.mozGetUserMedia)t.browser="firefox",t.version=parseInt(su(r.userAgent,/Firefox\/(\d+)\./,1));else if(r.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=parseInt(su(r.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else{if(!e.RTCPeerConnection||!r.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=parseInt(su(r.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype,t._safariVersion=su(r.userAgent,/Version\/(\d+(\.?\d+))/,1)}return t}(e),n={browserDetails:i,commonShim:cp,extractVersion:su,disableLog:cu,disableWarnings:du,sdp:ep};switch(i.browser){case"chrome":if(!Iu||!Tu||!t.shimChrome)return r("Chrome shim is not included in this adapter release."),n;if(null===i.version)return r("Chrome shim can not determine version, not shimming."),n;r("adapter.js shimming chrome."),n.browserShim=Iu,sp(e,i),lp(e),bu(e,i),ku(e),Tu(e,i),wu(e),Su(e,i),yu(e),xu(e),Eu(e,i),tp(e),rp(e),op(e),ip(e,i),np(e),ap(e,i);break;case"firefox":if(!zu||!Mu||!t.shimFirefox)return r("Firefox shim is not included in this adapter release."),n;r("adapter.js shimming firefox."),n.browserShim=zu,sp(e,i),lp(e),Pu(e,i),Mu(e,i),_u(e),Ou(e),Ru(e),Au(e),Du(e),Lu(e),Nu(e),ju(e),Uu(e),tp(e),op(e),ip(e,i),np(e);break;case"safari":if(!Qu||!t.shimSafari)return r("Safari shim is not included in this adapter release."),n;r("adapter.js shimming safari."),n.browserShim=Qu,sp(e,i),lp(e),Wu(e),Gu(e),Vu(e),Fu(e),Bu(e),$u(e),qu(e),Ju(e),tp(e),rp(e),ip(e,i),np(e),ap(e,i);break;default:r("Unsupported browser!")}}({window:"undefined"==typeof window?void 0:window});const dp="lk_e2ee";var hp,up,pp,gp,mp,vp,fp,bp,kp,wp,yp,xp,Cp,Sp,Tp,Ep,Ip,Pp,_p,Mp,Rp,Ap;function Op(){return void 0!==window.RTCRtpScriptTransform}(up=hp||(hp={})).SetKey="setKey",up.RatchetRequest="ratchetRequest",up.KeyRatcheted="keyRatcheted",(pp||(pp={})).KeyRatcheted="keyRatcheted",(mp=gp||(gp={})).ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",mp.EncryptionError="encryptionError",(vp||(vp={})).Error="cryptorError",nu.EventEmitter;class Dp extends Error{constructor(e,t){super(t||"an error has occured"),this.name="LiveKitError",this.code=e}}(bp=fp||(fp={}))[bp.NotAllowed=0]="NotAllowed",bp[bp.ServerUnreachable=1]="ServerUnreachable",bp[bp.InternalError=2]="InternalError",bp[bp.Cancelled=3]="Cancelled",bp[bp.LeaveRequest=4]="LeaveRequest",bp[bp.Timeout=5]="Timeout";class Lp extends Dp{constructor(e,t,r,i){super(1,e),this.name="ConnectionError",this.status=r,this.reason=t,this.context=i,this.reasonName=fp[t]}}class Np extends Dp{constructor(e){super(21,null!=e?e:"device is unsupported"),this.name="DeviceUnsupportedError"}}class jp extends Dp{constructor(e){super(20,null!=e?e:"track is invalid"),this.name="TrackInvalidError"}}class Up extends Dp{constructor(e){super(10,null!=e?e:"unsupported server"),this.name="UnsupportedServer"}}class zp extends Dp{constructor(e){super(12,null!=e?e:"unexpected connection state"),this.name="UnexpectedConnectionState"}}class Fp extends Dp{constructor(e){super(13,null!=e?e:"unable to negotiate"),this.name="NegotiationError"}}class Bp extends Dp{constructor(e,t){super(15,e),this.name="PublishTrackError",this.status=t}}class Vp extends Dp{constructor(e,t){super(15,e),this.reason=t,this.reasonName="string"==typeof t?t:Rh[t]}}(wp=kp||(kp={}))[wp.AlreadyOpened=0]="AlreadyOpened",wp[wp.AbnormalEnd=1]="AbnormalEnd",wp[wp.DecodeFailed=2]="DecodeFailed",wp[wp.LengthExceeded=3]="LengthExceeded",wp[wp.Incomplete=4]="Incomplete",wp[wp.HandlerAlreadyRegistered=7]="HandlerAlreadyRegistered",wp[wp.EncryptionTypeMismatch=8]="EncryptionTypeMismatch";class qp extends Dp{constructor(e,t){super(16,e),this.name="DataStreamError",this.reason=t,this.reasonName=kp[t]}}(xp=yp||(yp={})).PermissionDenied="PermissionDenied",xp.NotFound="NotFound",xp.DeviceInUse="DeviceInUse",xp.Other="Other",function(e){e.getFailure=function(t){if(t&&"name"in t)return"NotFoundError"===t.name||"DevicesNotFoundError"===t.name?e.NotFound:"NotAllowedError"===t.name||"PermissionDeniedError"===t.name?e.PermissionDenied:"NotReadableError"===t.name||"TrackStartError"===t.name?e.DeviceInUse:e.Other}}(yp||(yp={})),(Sp=Cp||(Cp={}))[Sp.InvalidKey=0]="InvalidKey",Sp[Sp.MissingKey=1]="MissingKey",Sp[Sp.InternalError=2]="InternalError",(Ep=Tp||(Tp={})).Connected="connected",Ep.Reconnecting="reconnecting",Ep.SignalReconnecting="signalReconnecting",Ep.Reconnected="reconnected",Ep.Disconnected="disconnected",Ep.ConnectionStateChanged="connectionStateChanged",Ep.Moved="moved",Ep.MediaDevicesChanged="mediaDevicesChanged",Ep.ParticipantConnected="participantConnected",Ep.ParticipantDisconnected="participantDisconnected",Ep.TrackPublished="trackPublished",Ep.TrackSubscribed="trackSubscribed",Ep.TrackSubscriptionFailed="trackSubscriptionFailed",Ep.TrackUnpublished="trackUnpublished",Ep.TrackUnsubscribed="trackUnsubscribed",Ep.TrackMuted="trackMuted",Ep.TrackUnmuted="trackUnmuted",Ep.LocalTrackPublished="localTrackPublished",Ep.LocalTrackUnpublished="localTrackUnpublished",Ep.LocalAudioSilenceDetected="localAudioSilenceDetected",Ep.ActiveSpeakersChanged="activeSpeakersChanged",Ep.ParticipantMetadataChanged="participantMetadataChanged",Ep.ParticipantNameChanged="participantNameChanged",Ep.ParticipantAttributesChanged="participantAttributesChanged",Ep.ParticipantActive="participantActive",Ep.RoomMetadataChanged="roomMetadataChanged",Ep.DataReceived="dataReceived",Ep.SipDTMFReceived="sipDTMFReceived",Ep.TranscriptionReceived="transcriptionReceived",Ep.ConnectionQualityChanged="connectionQualityChanged",Ep.TrackStreamStateChanged="trackStreamStateChanged",Ep.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",Ep.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",Ep.AudioPlaybackStatusChanged="audioPlaybackChanged",Ep.VideoPlaybackStatusChanged="videoPlaybackChanged",Ep.MediaDevicesError="mediaDevicesError",Ep.ParticipantPermissionsChanged="participantPermissionsChanged",Ep.SignalConnected="signalConnected",Ep.RecordingStatusChanged="recordingStatusChanged",Ep.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",Ep.EncryptionError="encryptionError",Ep.DCBufferStatusChanged="dcBufferStatusChanged",Ep.ActiveDeviceChanged="activeDeviceChanged",Ep.ChatMessage="chatMessage",Ep.LocalTrackSubscribed="localTrackSubscribed",Ep.MetricsReceived="metricsReceived",(Pp=Ip||(Ip={})).TrackPublished="trackPublished",Pp.TrackSubscribed="trackSubscribed",Pp.TrackSubscriptionFailed="trackSubscriptionFailed",Pp.TrackUnpublished="trackUnpublished",Pp.TrackUnsubscribed="trackUnsubscribed",Pp.TrackMuted="trackMuted",Pp.TrackUnmuted="trackUnmuted",Pp.LocalTrackPublished="localTrackPublished",Pp.LocalTrackUnpublished="localTrackUnpublished",Pp.LocalTrackCpuConstrained="localTrackCpuConstrained",Pp.LocalSenderCreated="localSenderCreated",Pp.ParticipantMetadataChanged="participantMetadataChanged",Pp.ParticipantNameChanged="participantNameChanged",Pp.DataReceived="dataReceived",Pp.SipDTMFReceived="sipDTMFReceived",Pp.TranscriptionReceived="transcriptionReceived",Pp.IsSpeakingChanged="isSpeakingChanged",Pp.ConnectionQualityChanged="connectionQualityChanged",Pp.TrackStreamStateChanged="trackStreamStateChanged",Pp.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",Pp.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",Pp.TrackCpuConstrained="trackCpuConstrained",Pp.MediaDevicesError="mediaDevicesError",Pp.AudioStreamAcquired="audioStreamAcquired",Pp.ParticipantPermissionsChanged="participantPermissionsChanged",Pp.PCTrackAdded="pcTrackAdded",Pp.AttributesChanged="attributesChanged",Pp.LocalTrackSubscribed="localTrackSubscribed",Pp.ChatMessage="chatMessage",Pp.Active="active",(Mp=_p||(_p={})).TransportsCreated="transportsCreated",Mp.Connected="connected",Mp.Disconnected="disconnected",Mp.Resuming="resuming",Mp.Resumed="resumed",Mp.Restarting="restarting",Mp.Restarted="restarted",Mp.SignalResumed="signalResumed",Mp.SignalRestarted="signalRestarted",Mp.Closing="closing",Mp.MediaTrackAdded="mediaTrackAdded",Mp.ActiveSpeakersUpdate="activeSpeakersUpdate",Mp.DataPacketReceived="dataPacketReceived",Mp.RTPVideoMapUpdate="rtpVideoMapUpdate",Mp.DCBufferStatusChanged="dcBufferStatusChanged",Mp.ParticipantUpdate="participantUpdate",Mp.RoomUpdate="roomUpdate",Mp.SpeakersChanged="speakersChanged",Mp.StreamStateChanged="streamStateChanged",Mp.ConnectionQualityUpdate="connectionQualityUpdate",Mp.SubscriptionError="subscriptionError",Mp.SubscriptionPermissionUpdate="subscriptionPermissionUpdate",Mp.RemoteMute="remoteMute",Mp.SubscribedQualityUpdate="subscribedQualityUpdate",Mp.LocalTrackUnpublished="localTrackUnpublished",Mp.LocalTrackSubscribed="localTrackSubscribed",Mp.Offline="offline",Mp.SignalRequestResponse="signalRequestResponse",Mp.SignalConnected="signalConnected",Mp.RoomMoved="roomMoved",(Ap=Rp||(Rp={})).Message="message",Ap.Muted="muted",Ap.Unmuted="unmuted",Ap.Restarted="restarted",Ap.Ended="ended",Ap.Subscribed="subscribed",Ap.Unsubscribed="unsubscribed",Ap.CpuConstrained="cpuConstrained",Ap.UpdateSettings="updateSettings",Ap.UpdateSubscription="updateSubscription",Ap.AudioPlaybackStarted="audioPlaybackStarted",Ap.AudioPlaybackFailed="audioPlaybackFailed",Ap.AudioSilenceDetected="audioSilenceDetected",Ap.VisibilityChanged="visibilityChanged",Ap.VideoDimensionsChanged="videoDimensionsChanged",Ap.VideoPlaybackStarted="videoPlaybackStarted",Ap.VideoPlaybackFailed="videoPlaybackFailed",Ap.ElementAttached="elementAttached",Ap.ElementDetached="elementDetached",Ap.UpstreamPaused="upstreamPaused",Ap.UpstreamResumed="upstreamResumed",Ap.SubscriptionPermissionChanged="subscriptionPermissionChanged",Ap.SubscriptionStatusChanged="subscriptionStatusChanged",Ap.SubscriptionFailed="subscriptionFailed",Ap.TrackProcessorUpdate="trackProcessorUpdate",Ap.AudioTrackFeatureUpdate="audioTrackFeatureUpdate",Ap.TranscriptionReceived="transcriptionReceived",Ap.TimeSyncUpdate="timeSyncUpdate",Ap.PreConnectBufferFlushed="preConnectBufferFlushed";const Hp=/version\/(\d+(\.?_?\d+)+)/i;let Wp;function $p(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("undefined"==typeof navigator)return;const r=navigator.userAgent.toLowerCase();if(void 0===Wp||t){const e=Gp.find(e=>{let{test:t}=e;return t.test(r)});Wp=null==e?void 0:e.describe(r)}return Wp}const Gp=[{test:/firefox|iceweasel|fxios/i,describe:e=>({name:"Firefox",version:Jp(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes("fxios")?"iOS":void 0,osVersion:Kp(e)})},{test:/chrom|crios|crmo/i,describe:e=>({name:"Chrome",version:Jp(/(?:chrome|chromium|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes("crios")?"iOS":void 0,osVersion:Kp(e)})},{test:/safari|applewebkit/i,describe:e=>({name:"Safari",version:Jp(Hp,e),os:e.includes("mobile/")?"iOS":"macOS",osVersion:Kp(e)})}];function Jp(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const i=t.match(e);return i&&i.length>=r&&i[r]||""}function Kp(e){return e.includes("mac os")?Jp(/\(.+?(\d+_\d+(:?_\d+)?)/,e,1).replace(/_/g,"."):void 0}class Qp{}Qp.setTimeout=function(){return setTimeout(...arguments)},Qp.setInterval=function(){return setInterval(...arguments)},Qp.clearTimeout=function(){return clearTimeout(...arguments)},Qp.clearInterval=function(){return clearInterval(...arguments)};const Zp=[];var Yp,Xp;(Xp=Yp||(Yp={}))[Xp.LOW=0]="LOW",Xp[Xp.MEDIUM=1]="MEDIUM",Xp[Xp.HIGH=2]="HIGH";class eg extends nu.EventEmitter{get streamState(){return this._streamState}setStreamState(e){this._streamState=e}constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i;super(),this.attachedElements=[],this.isMuted=!1,this._streamState=eg.StreamState.Active,this.isInBackground=!1,this._currentBitrate=0,this.log=Kh,this.appVisibilityChangedListener=()=>{this.backgroundTimeout&&clearTimeout(this.backgroundTimeout),"hidden"===document.visibilityState?this.backgroundTimeout=setTimeout(()=>this.handleAppVisibilityChanged(),5e3):this.handleAppVisibilityChanged()},this.log=Qh(null!==(i=r.loggerName)&&void 0!==i?i:Vh.Track),this.loggerContextCb=r.loggerContextCb,this.setMaxListeners(100),this.kind=t,this._mediaStreamTrack=e,this._mediaStreamID=e.id,this.source=eg.Source.Unknown}get logContext(){var e;return Object.assign(Object.assign({},null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this)),lm(this))}get currentBitrate(){return this._currentBitrate}get mediaStreamTrack(){return this._mediaStreamTrack}get mediaStreamID(){return this._mediaStreamID}attach(e){let t="audio";this.kind===eg.Kind.Video&&(t="video"),0===this.attachedElements.length&&this.kind===eg.Kind.Video&&this.addAppVisibilityListener(),e||("audio"===t&&(Zp.forEach(t=>{null!==t.parentElement||e||(e=t)}),e&&Zp.splice(Zp.indexOf(e),1)),e||(e=document.createElement(t))),this.attachedElements.includes(e)||this.attachedElements.push(e),tg(this.mediaStreamTrack,e);const r=e.srcObject.getTracks(),i=r.some(e=>"audio"===e.kind);return e.play().then(()=>{this.emit(i?Rp.AudioPlaybackStarted:Rp.VideoPlaybackStarted)}).catch(t=>{"NotAllowedError"===t.name?this.emit(i?Rp.AudioPlaybackFailed:Rp.VideoPlaybackFailed,t):"AbortError"===t.name?Kh.debug("".concat(i?"audio":"video"," playback aborted, likely due to new play request")):Kh.warn("could not playback ".concat(i?"audio":"video"),t),i&&e&&r.some(e=>"video"===e.kind)&&"NotAllowedError"===t.name&&(e.muted=!0,e.play().catch(()=>{}))}),this.emit(Rp.ElementAttached,e),e}detach(e){try{if(e){rg(this.mediaStreamTrack,e);const t=this.attachedElements.indexOf(e);return t>=0&&(this.attachedElements.splice(t,1),this.recycleElement(e),this.emit(Rp.ElementDetached,e)),e}const t=[];return this.attachedElements.forEach(e=>{rg(this.mediaStreamTrack,e),t.push(e),this.recycleElement(e),this.emit(Rp.ElementDetached,e)}),this.attachedElements=[],t}finally{0===this.attachedElements.length&&this.removeAppVisibilityListener()}}stop(){this.stopMonitor(),this._mediaStreamTrack.stop()}enable(){this._mediaStreamTrack.enabled=!0}disable(){this._mediaStreamTrack.enabled=!1}stopMonitor(){this.monitorInterval&&clearInterval(this.monitorInterval),this.timeSyncHandle&&cancelAnimationFrame(this.timeSyncHandle)}updateLoggerOptions(e){e.loggerName&&(this.log=Qh(e.loggerName)),e.loggerContextCb&&(this.loggerContextCb=e.loggerContextCb)}recycleElement(e){if(e instanceof HTMLAudioElement){let t=!0;e.pause(),Zp.forEach(e=>{e.parentElement||(t=!1)}),t&&Zp.push(e)}}handleAppVisibilityChanged(){return eu(this,void 0,void 0,function*(){this.isInBackground="hidden"===document.visibilityState,this.isInBackground||this.kind!==eg.Kind.Video||setTimeout(()=>this.attachedElements.forEach(e=>e.play().catch(()=>{})),0)})}addAppVisibilityListener(){Sg()?(this.isInBackground="hidden"===document.visibilityState,document.addEventListener("visibilitychange",this.appVisibilityChangedListener)):this.isInBackground=!1}removeAppVisibilityListener(){Sg()&&document.removeEventListener("visibilitychange",this.appVisibilityChangedListener)}}function tg(e,t){let r,i;r=t.srcObject instanceof MediaStream?t.srcObject:new MediaStream,i="audio"===e.kind?r.getAudioTracks():r.getVideoTracks(),i.includes(e)||(i.forEach(e=>{r.removeTrack(e)}),r.addTrack(e)),yg()&&t instanceof HTMLVideoElement||(t.autoplay=!0),t.muted=0===r.getAudioTracks().length,t instanceof HTMLVideoElement&&(t.playsInline=!0),t.srcObject!==r&&(t.srcObject=r,(yg()||wg())&&t instanceof HTMLVideoElement&&setTimeout(()=>{t.srcObject=r,t.play().catch(()=>{})},0))}function rg(e,t){if(t.srcObject instanceof MediaStream){const r=t.srcObject;r.removeTrack(e),r.getTracks().length>0?t.srcObject=r:t.srcObject=null}}!function(e){let t;var r;let i;var n;let o;var a;(r=t=e.Kind||(e.Kind={})).Audio="audio",r.Video="video",r.Unknown="unknown",(n=i=e.Source||(e.Source={})).Camera="camera",n.Microphone="microphone",n.ScreenShare="screen_share",n.ScreenShareAudio="screen_share_audio",n.Unknown="unknown",(a=o=e.StreamState||(e.StreamState={})).Active="active",a.Paused="paused",a.Unknown="unknown",e.kindToProto=function(e){switch(e){case t.Audio:return zc.AUDIO;case t.Video:return zc.VIDEO;default:return zc.DATA}},e.kindFromProto=function(e){switch(e){case zc.AUDIO:return t.Audio;case zc.VIDEO:return t.Video;default:return t.Unknown}},e.sourceToProto=function(e){switch(e){case i.Camera:return Fc.CAMERA;case i.Microphone:return Fc.MICROPHONE;case i.ScreenShare:return Fc.SCREEN_SHARE;case i.ScreenShareAudio:return Fc.SCREEN_SHARE_AUDIO;default:return Fc.UNKNOWN}},e.sourceFromProto=function(e){switch(e){case Fc.CAMERA:return i.Camera;case Fc.MICROPHONE:return i.Microphone;case Fc.SCREEN_SHARE:return i.ScreenShare;case Fc.SCREEN_SHARE_AUDIO:return i.ScreenShareAudio;default:return i.Unknown}},e.streamStateFromProto=function(e){switch(e){case Ud.ACTIVE:return o.Active;case Ud.PAUSED:return o.Paused;default:return o.Unknown}}}(eg||(eg={}));class ig{constructor(e,t,r,i,n){if("object"==typeof e)this.width=e.width,this.height=e.height,this.aspectRatio=e.aspectRatio,this.encoding={maxBitrate:e.maxBitrate,maxFramerate:e.maxFramerate,priority:e.priority};else{if(void 0===t||void 0===r)throw new TypeError("Unsupported options: provide at least width, height and maxBitrate");this.width=e,this.height=t,this.aspectRatio=e/t,this.encoding={maxBitrate:r,maxFramerate:i,priority:n}}}get resolution(){return{width:this.width,height:this.height,frameRate:this.encoding.maxFramerate,aspectRatio:this.aspectRatio}}}const ng=["vp8","h264"],og=["vp8","h264","vp9","av1","h265"],ag=function(e){return!!ng.find(t=>t===e)};var sg,lg,cg,dg;(lg=sg||(sg={}))[lg.PREFER_REGRESSION=0]="PREFER_REGRESSION",lg[lg.SIMULCAST=1]="SIMULCAST",lg[lg.REGRESSION=2]="REGRESSION",(dg=cg||(cg={})).telephone={maxBitrate:12e3},dg.speech={maxBitrate:24e3},dg.music={maxBitrate:48e3},dg.musicStereo={maxBitrate:64e3},dg.musicHighQuality={maxBitrate:96e3},dg.musicHighQualityStereo={maxBitrate:128e3};const hg={h90:new ig(160,90,9e4,20),h180:new ig(320,180,16e4,20),h216:new ig(384,216,18e4,20),h360:new ig(640,360,45e4,20),h540:new ig(960,540,8e5,25),h720:new ig(1280,720,17e5,30),h1080:new ig(1920,1080,3e6,30),h1440:new ig(2560,1440,5e6,30),h2160:new ig(3840,2160,8e6,30)},ug={h120:new ig(160,120,7e4,20),h180:new ig(240,180,125e3,20),h240:new ig(320,240,14e4,20),h360:new ig(480,360,33e4,20),h480:new ig(640,480,5e5,20),h540:new ig(720,540,6e5,25),h720:new ig(960,720,13e5,30),h1080:new ig(1440,1080,23e5,30),h1440:new ig(1920,1440,38e5,30)},pg={h360fps3:new ig(640,360,2e5,3,"medium"),h360fps15:new ig(640,360,4e5,15,"medium"),h720fps5:new ig(1280,720,8e5,5,"medium"),h720fps15:new ig(1280,720,15e5,15,"medium"),h720fps30:new ig(1280,720,2e6,30,"medium"),h1080fps15:new ig(1920,1080,25e5,15,"medium"),h1080fps30:new ig(1920,1080,5e6,30,"medium"),original:new ig(0,0,7e6,30,"medium")},gg="https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension";function mg(e){return eu(this,void 0,void 0,function*(){return new Promise(t=>Qp.setTimeout(t,e))})}function vg(){return"addTransceiver"in RTCPeerConnection.prototype}function fg(){return"addTrack"in RTCPeerConnection.prototype}function bg(e){return"av1"===e||"vp9"===e}function kg(e){return!(!document||xg())&&(e||(e=document.createElement("audio")),"setSinkId"in e)}function wg(){var e;return"Firefox"===(null===(e=$p())||void 0===e?void 0:e.name)}function yg(){var e;return"Safari"===(null===(e=$p())||void 0===e?void 0:e.name)}function xg(){const e=$p();return"Safari"===(null==e?void 0:e.name)||"iOS"===(null==e?void 0:e.os)}function Cg(){var e,t;return!!Sg()&&(null!==(t=null===(e=navigator.userAgentData)||void 0===e?void 0:e.mobile)&&void 0!==t?t:/Tablet|iPad|Mobile|Android|BlackBerry/.test(navigator.userAgent))}function Sg(){return"undefined"!=typeof document}function Tg(){return"ReactNative"==navigator.product}function Eg(e){return e.hostname.endsWith(".livekit.cloud")||e.hostname.endsWith(".livekit.run")}function Ig(){if(global&&global.LiveKitReactNativeGlobal)return global.LiveKitReactNativeGlobal}function Pg(){if(!Tg())return;let e=Ig();return e?e.platform:void 0}function _g(){if(Sg())return window.devicePixelRatio;if(Tg()){let e=Ig();if(e)return e.devicePixelRatio}return 1}function Mg(e,t){const r=e.split("."),i=t.split("."),n=Math.min(r.length,i.length);for(let o=0;o<n;++o){const e=parseInt(r[o],10),t=parseInt(i[o],10);if(e>t)return 1;if(e<t)return-1;if(o===n-1&&e===t)return 0}return""===e&&""!==t?-1:""===t?1:r.length==i.length?0:r.length<i.length?-1:1}function Rg(e){for(const t of e)t.target.handleResize(t)}function Ag(e){for(const t of e)t.target.handleVisibilityChanged(t)}let Og=null;const Dg=()=>(Og||(Og=new ResizeObserver(Rg)),Og);let Lg=null;const Ng=()=>(Lg||(Lg=new IntersectionObserver(Ag,{root:null,rootMargin:"0px"})),Lg);function jg(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=document.createElement("canvas");n.width=e,n.height=t;const o=n.getContext("2d");null==o||o.fillRect(0,0,n.width,n.height),i&&o&&(o.beginPath(),o.arc(e/2,t/2,50,0,2*Math.PI,!0),o.closePath(),o.fillStyle="grey",o.fill());const a=n.captureStream(),[s]=a.getTracks();if(!s)throw Error("Could not get empty media stream video track");return s.enabled=r,s}let Ug;function zg(){if(!Ug){const e=new AudioContext,t=e.createOscillator(),r=e.createGain();r.gain.setValueAtTime(0,0);const i=e.createMediaStreamDestination();if(t.connect(r),r.connect(i),t.start(),[Ug]=i.stream.getAudioTracks(),!Ug)throw Error("Could not get empty media stream audio track");Ug.enabled=!1}return Ug.clone()}class Fg{get isResolved(){return this._isResolved}constructor(e,t){this._isResolved=!1,this.onFinally=t,this.promise=new Promise((t,r)=>eu(this,void 0,void 0,function*(){this.resolve=t,this.reject=r,e&&(yield e(t,r))})).finally(()=>{var e;this._isResolved=!0,null===(e=this.onFinally)||void 0===e||e.call(this)})}}function Bg(e){if("string"==typeof e||"number"==typeof e)return e;if(Array.isArray(e))return e[0];if(void 0!==e.exact)return Array.isArray(e.exact)?e.exact[0]:e.exact;if(void 0!==e.ideal)return Array.isArray(e.ideal)?e.ideal[0]:e.ideal;throw Error("could not unwrap constraint")}function Vg(e){return e.startsWith("ws")?e.replace(/^(ws)/,"http"):e}function qg(e){switch(e.reason){case fp.LeaveRequest:return e.context;case fp.Cancelled:return Hc.CLIENT_INITIATED;case fp.NotAllowed:return Hc.USER_REJECTED;case fp.ServerUnreachable:return Hc.JOIN_FAILURE;default:return Hc.UNKNOWN_REASON}}function Hg(e){return void 0!==e?Number(e):void 0}function Wg(e){return void 0!==e?BigInt(e):void 0}function $g(e){return!!e&&!(e instanceof MediaStreamTrack)&&e.isLocal}function Gg(e){return!!e&&e.kind==eg.Kind.Audio}function Jg(e){return!!e&&e.kind==eg.Kind.Video}function Kg(e){return $g(e)&&Jg(e)}function Qg(e){return $g(e)&&Gg(e)}function Zg(e){return!!e&&!e.isLocal}function Yg(e){return!!e&&!e.isLocal}function Xg(e){return Zg(e)&&Jg(e)}function em(e,t,r){var i,n,o,a;const{optionsWithoutProcessor:s,audioProcessor:l,videoProcessor:c}=cm(null!=e?e:{}),d=null==t?void 0:t.processor,h=null==r?void 0:r.processor,u=null!=s?s:{};return!0===u.audio&&(u.audio={}),!0===u.video&&(u.video={}),u.audio&&(tm(u.audio,t),null!==(i=(o=u.audio).deviceId)&&void 0!==i||(o.deviceId={ideal:"default"}),(l||d)&&(u.audio.processor=null!=l?l:d)),u.video&&(tm(u.video,r),null!==(n=(a=u.video).deviceId)&&void 0!==n||(a.deviceId={ideal:"default"}),(c||h)&&(u.video.processor=null!=c?c:h)),u}function tm(e,t){return Object.keys(t).forEach(r=>{void 0===e[r]&&(e[r]=t[r])}),e}function rm(e){var t,r,i,n;const o={};if(e.video)if("object"==typeof e.video){const r={},n=r,a=e.video;Object.keys(a).forEach(e=>{"resolution"===e?tm(n,a.resolution):n[e]=a[e]}),o.video=r,null!==(t=(i=o.video).deviceId)&&void 0!==t||(i.deviceId={ideal:"default"})}else o.video=!!e.video&&{deviceId:{ideal:"default"}};else o.video=!1;return e.audio?"object"==typeof e.audio?(o.audio=e.audio,null!==(r=(n=o.audio).deviceId)&&void 0!==r||(n.deviceId={ideal:"default"})):o.audio={deviceId:{ideal:"default"}}:o.audio=!1,o}function im(){var e;const t="undefined"!=typeof window&&(window.AudioContext||window.webkitAudioContext);if(t){const r=new t({latencyHint:"interactive"});if("suspended"===r.state&&"undefined"!=typeof window&&(null===(e=window.document)||void 0===e?void 0:e.body)){const e=()=>eu(this,void 0,void 0,function*(){var t;try{"suspended"===r.state&&(yield r.resume())}catch(Py){}finally{null===(t=window.document.body)||void 0===t||t.removeEventListener("click",e)}});r.addEventListener("statechange",()=>{var t;"closed"===r.state&&(null===(t=window.document.body)||void 0===t||t.removeEventListener("click",e))}),window.document.body.addEventListener("click",e)}return r}}function nm(e){return"audioinput"===e?eg.Source.Microphone:"videoinput"===e?eg.Source.Camera:eg.Source.Unknown}function om(e){return e===eg.Source.Microphone?"audioinput":e===eg.Source.Camera?"videoinput":void 0}function am(e){return e.split("/")[1].toLowerCase()}function sm(e){const t=[];return e.forEach(e=>{void 0!==e.track&&t.push(new Jd({cid:e.track.mediaStreamID,track:e.trackInfo}))}),t}function lm(e){return"mediaStreamTrack"in e?{trackID:e.sid,source:e.source,muted:e.isMuted,enabled:e.mediaStreamTrack.enabled,kind:e.kind,streamID:e.mediaStreamID,streamTrackID:e.mediaStreamTrack.id}:{trackID:e.trackSid,enabled:e.isEnabled,muted:e.isMuted,trackInfo:Object.assign({mimeType:e.mimeType,name:e.trackName,encrypted:e.isEncrypted,kind:e.kind,source:e.source},e.track?lm(e.track):{})}}function cm(e){const t=Object.assign({},e);let r,i;return"object"==typeof t.audio&&t.audio.processor&&(r=t.audio.processor,t.audio=Object.assign(Object.assign({},t.audio),{processor:void 0})),"object"==typeof t.video&&t.video.processor&&(i=t.video.processor,t.video=Object.assign(Object.assign({},t.video),{processor:void 0})),{audioProcessor:r,videoProcessor:i,optionsWithoutProcessor:(n=t,void 0===n?n:"function"==typeof structuredClone?"object"==typeof n&&null!==n?structuredClone(Object.assign({},n)):structuredClone(n):JSON.parse(JSON.stringify(n)))};var n}function dm(e,t){return e.width*e.height<t.width*t.height}class hm extends nu.EventEmitter{constructor(e,t){super(),this.decryptDataRequests=new Map,this.encryptDataRequests=new Map,this.onWorkerMessage=e=>{var t,r;const{kind:i,data:n}=e.data;switch(i){case"error":Kh.error(n.error.message),this.emit(gp.EncryptionError,n.error);break;case"initAck":n.enabled&&this.keyProvider.getKeys().forEach(e=>{this.postKey(e)});break;case"enable":if(n.enabled&&this.keyProvider.getKeys().forEach(e=>{this.postKey(e)}),this.encryptionEnabled!==n.enabled&&n.participantIdentity===(null===(t=this.room)||void 0===t?void 0:t.localParticipant.identity))this.emit(gp.ParticipantEncryptionStatusChanged,n.enabled,this.room.localParticipant),this.encryptionEnabled=n.enabled;else if(n.participantIdentity){const e=null===(r=this.room)||void 0===r?void 0:r.getParticipantByIdentity(n.participantIdentity);if(!e)throw TypeError("couldn't set encryption status, participant not found".concat(n.participantIdentity));this.emit(gp.ParticipantEncryptionStatusChanged,n.enabled,e)}break;case"ratchetKey":this.keyProvider.emit(hp.KeyRatcheted,n.ratchetResult,n.participantIdentity,n.keyIndex);break;case"decryptDataResponse":const e=this.decryptDataRequests.get(n.uuid);(null==e?void 0:e.resolve)&&e.resolve(n);break;case"encryptDataResponse":const i=this.encryptDataRequests.get(n.uuid);(null==i?void 0:i.resolve)&&i.resolve(n)}},this.onWorkerError=e=>{Kh.error("e2ee worker encountered an error:",{error:e.error}),this.emit(gp.EncryptionError,e.error)},this.keyProvider=e.keyProvider,this.worker=e.worker,this.encryptionEnabled=!1,this.dataChannelEncryptionEnabled=t}get isEnabled(){return this.encryptionEnabled}get isDataChannelEncryptionEnabled(){return this.isEnabled&&this.dataChannelEncryptionEnabled}setup(e){if(!(void 0!==window.RTCRtpSender&&void 0!==window.RTCRtpSender.prototype.createEncodedStreams||Op()))throw new Np("tried to setup end-to-end encryption on an unsupported browser");if(Kh.info("setting up e2ee"),e!==this.room){this.room=e,this.setupEventListeners(e,this.keyProvider);const t={kind:"init",data:{keyProviderOptions:this.keyProvider.getOptions(),loglevel:Zh.getLevel()}};this.worker&&(Kh.info("initializing worker",{worker:this.worker}),this.worker.onmessage=this.onWorkerMessage,this.worker.onerror=this.onWorkerError,this.worker.postMessage(t))}}setParticipantCryptorEnabled(e,t){Kh.debug("set e2ee to ".concat(e," for participant ").concat(t)),this.postEnable(e,t)}setSifTrailer(e){e&&0!==e.length?this.postSifTrailer(e):Kh.warn("ignoring server sent trailer as it's empty")}setupEngine(e){e.on(_p.RTPVideoMapUpdate,e=>{this.postRTPMap(e)})}setupEventListeners(e,t){e.on(Tp.TrackPublished,(e,t)=>this.setParticipantCryptorEnabled(e.trackInfo.encryption!==td.NONE,t.identity)),e.on(Tp.ConnectionStateChanged,t=>{t===jv.Connected&&e.remoteParticipants.forEach(e=>{e.trackPublications.forEach(t=>{this.setParticipantCryptorEnabled(t.trackInfo.encryption!==td.NONE,e.identity)})})}).on(Tp.TrackUnsubscribed,(e,t,r)=>{var i;const n={kind:"removeTransform",data:{participantIdentity:r.identity,trackId:e.mediaStreamID}};null===(i=this.worker)||void 0===i||i.postMessage(n)}).on(Tp.TrackSubscribed,(e,t,r)=>{this.setupE2EEReceiver(e,r.identity,t.trackInfo)}).on(Tp.SignalConnected,()=>{if(!this.room)throw new TypeError("expected room to be present on signal connect");t.getKeys().forEach(e=>{this.postKey(e)}),this.setParticipantCryptorEnabled(this.room.localParticipant.isE2EEEnabled,this.room.localParticipant.identity)}),e.localParticipant.on(Ip.LocalSenderCreated,(e,t)=>eu(this,void 0,void 0,function*(){this.setupE2EESender(t,e)})),e.localParticipant.on(Ip.LocalTrackPublished,e=>{if(!Jg(e.track)||!xg())return;const t={kind:"updateCodec",data:{trackId:e.track.mediaStreamID,codec:am(e.trackInfo.codecs[0].mimeType),participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(t)}),t.on(hp.SetKey,e=>this.postKey(e)).on(hp.RatchetRequest,(e,t)=>this.postRatchetRequest(e,t))}encryptData(e){return eu(this,void 0,void 0,function*(){if(!this.worker)throw Error("could not encrypt data, worker is missing");const t=crypto.randomUUID(),r={kind:"encryptDataRequest",data:{uuid:t,payload:e,participantIdentity:this.room.localParticipant.identity}},i=new Fg;return i.onFinally=()=>{this.encryptDataRequests.delete(t)},this.encryptDataRequests.set(t,i),this.worker.postMessage(r),i.promise})}handleEncryptedData(e,t,r,i){if(!this.worker)throw Error("could not handle encrypted data, worker is missing");const n=crypto.randomUUID(),o={kind:"decryptDataRequest",data:{uuid:n,payload:e,iv:t,participantIdentity:r,keyIndex:i}},a=new Fg;return a.onFinally=()=>{this.decryptDataRequests.delete(n)},this.decryptDataRequests.set(n,a),this.worker.postMessage(o),a.promise}postRatchetRequest(e,t){if(!this.worker)throw Error("could not ratchet key, worker is missing");const r={kind:"ratchetRequest",data:{participantIdentity:e,keyIndex:t}};this.worker.postMessage(r)}postKey(e){let{key:t,participantIdentity:r,keyIndex:i}=e;var n;if(!this.worker)throw Error("could not set key, worker is missing");const o={kind:"setKey",data:{participantIdentity:r,isPublisher:r===(null===(n=this.room)||void 0===n?void 0:n.localParticipant.identity),key:t,keyIndex:i}};this.worker.postMessage(o)}postEnable(e,t){if(!this.worker)throw new ReferenceError("failed to enable e2ee, worker is not ready");{const r={kind:"enable",data:{enabled:e,participantIdentity:t}};this.worker.postMessage(r)}}postRTPMap(e){var t;if(!this.worker)throw TypeError("could not post rtp map, worker is missing");if(!(null===(t=this.room)||void 0===t?void 0:t.localParticipant.identity))throw TypeError("could not post rtp map, local participant identity is missing");const r={kind:"setRTPMap",data:{map:e,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(r)}postSifTrailer(e){if(!this.worker)throw Error("could not post SIF trailer, worker is missing");const t={kind:"setSifTrailer",data:{trailer:e}};this.worker.postMessage(t)}setupE2EEReceiver(e,t,r){if(e.receiver){if(!(null==r?void 0:r.mimeType)||""===r.mimeType)throw new TypeError("MimeType missing from trackInfo, cannot set up E2EE cryptor");this.handleReceiver(e.receiver,e.mediaStreamID,t,"video"===e.kind?am(r.mimeType):void 0)}}setupE2EESender(e,t){$g(e)&&t?this.handleSender(t,e.mediaStreamID,void 0):t||Kh.warn("early return because sender is not ready")}handleReceiver(e,t,r,i){return eu(this,void 0,void 0,function*(){if(this.worker){if(Op()){const n={kind:"decode",participantIdentity:r,trackId:t,codec:i};e.transform=new RTCRtpScriptTransform(this.worker,n)}else{if(dp in e&&i){const e={kind:"updateCodec",data:{trackId:t,codec:i,participantIdentity:r}};return void this.worker.postMessage(e)}let n=e.writableStream,o=e.readableStream;if(!n||!o){const t=e.createEncodedStreams();e.writableStream=t.writable,n=t.writable,e.readableStream=t.readable,o=t.readable}const a={kind:"decode",data:{readableStream:o,writableStream:n,trackId:t,codec:i,participantIdentity:r,isReuse:dp in e}};this.worker.postMessage(a,[o,n])}e[dp]=!0}})}handleSender(e,t,r){var i;if(!(dp in e)&&this.worker){if(!(null===(i=this.room)||void 0===i?void 0:i.localParticipant.identity)||""===this.room.localParticipant.identity)throw TypeError("local identity needs to be known in order to set up encrypted sender");if(Op()){Kh.info("initialize script transform");const i={kind:"encode",participantIdentity:this.room.localParticipant.identity,trackId:t,codec:r};e.transform=new RTCRtpScriptTransform(this.worker,i)}else{Kh.info("initialize encoded streams");const i=e.createEncodedStreams(),n={kind:"encode",data:{readableStream:i.readable,writableStream:i.writable,codec:r,trackId:t,participantIdentity:this.room.localParticipant.identity,isReuse:!1}};this.worker.postMessage(n,[i.readable,i.writable])}e[dp]=!0}}}const um="default";class pm{constructor(){this._previousDevices=[]}static getInstance(){return void 0===this.instance&&(this.instance=new pm),this.instance}get previousDevices(){return this._previousDevices}getDevices(e){return eu(this,arguments,void 0,function(e){var t=this;let r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var i;if((null===(i=pm.userMediaPromiseMap)||void 0===i?void 0:i.size)>0){Kh.debug("awaiting getUserMedia promise");try{e?yield pm.userMediaPromiseMap.get(e):yield Promise.all(pm.userMediaPromiseMap.values())}catch(Py){Kh.warn("error waiting for media permissons")}}let n=yield navigator.mediaDevices.enumerateDevices();if(r&&(!yg()||!t.hasDeviceInUse(e))&&(0===n.filter(t=>t.kind===e).length||n.some(t=>{const r=""===t.label,i=!e||t.kind===e;return r&&i}))){const t={video:"audioinput"!==e&&"audiooutput"!==e,audio:"videoinput"!==e&&{deviceId:{ideal:"default"}}},r=yield navigator.mediaDevices.getUserMedia(t);n=yield navigator.mediaDevices.enumerateDevices(),r.getTracks().forEach(e=>{e.stop()})}return t._previousDevices=n,e&&(n=n.filter(t=>t.kind===e)),n}()})}normalizeDeviceId(e,t,r){return eu(this,void 0,void 0,function*(){if(t!==um)return t;const i=yield this.getDevices(e),n=i.find(e=>e.deviceId===um);if(!n)return void Kh.warn("could not reliably determine default device");const o=i.find(e=>e.deviceId!==um&&e.groupId===(null!=r?r:n.groupId));if(o)return null==o?void 0:o.deviceId;Kh.warn("could not reliably determine default device")})}hasDeviceInUse(e){return e?pm.userMediaPromiseMap.has(e):pm.userMediaPromiseMap.size>0}}var gm,mm;pm.mediaDeviceKinds=["audioinput","audiooutput","videoinput"],pm.userMediaPromiseMap=new Map,(mm=gm||(gm={}))[mm.WAITING=0]="WAITING",mm[mm.RUNNING=1]="RUNNING",mm[mm.COMPLETED=2]="COMPLETED";class vm{constructor(){this.pendingTasks=new Map,this.taskMutex=new il,this.nextTaskIndex=0}run(e){return eu(this,void 0,void 0,function*(){const t={id:this.nextTaskIndex++,enqueuedAt:Date.now(),status:gm.WAITING};this.pendingTasks.set(t.id,t);const r=yield this.taskMutex.lock();try{return t.executedAt=Date.now(),t.status=gm.RUNNING,yield e()}finally{t.status=gm.COMPLETED,this.pendingTasks.delete(t.id),r()}})}flush(){return eu(this,void 0,void 0,function*(){return this.run(()=>eu(this,void 0,void 0,function*(){}))})}snapshot(){return Array.from(this.pendingTasks.values())}}class fm{get readyState(){return this.ws.readyState}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var r,i;if(null===(r=t.signal)||void 0===r?void 0:r.aborted)throw new DOMException("This operation was aborted","AbortError");this.url=e;const n=new WebSocket(e,null!==(i=t.protocols)&&void 0!==i?i:[]);n.binaryType="arraybuffer",this.ws=n;const o=function(){let{closeCode:e,reason:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return n.close(e,t)};this.opened=new Promise((e,t)=>{n.onopen=()=>{e({readable:new ReadableStream({start(e){n.onmessage=t=>{let{data:r}=t;return e.enqueue(r)},n.onerror=t=>e.error(t)},cancel:o}),writable:new WritableStream({write(e){n.send(e)},abort(){n.close()},close:o}),protocol:n.protocol,extensions:n.extensions}),n.removeEventListener("error",t)},n.addEventListener("error",t)}),this.closed=new Promise((e,t)=>{const r=()=>eu(this,void 0,void 0,function*(){const r=new Promise(e=>{n.readyState!==WebSocket.CLOSED&&n.addEventListener("close",t=>{e(t)},{once:!0})}),i=yield Promise.race([mg(250),r]);i?e(i):t(new Error("Encountered unspecified websocket error without a timely close event"))});n.onclose=t=>{let{code:i,reason:o}=t;e({closeCode:i,reason:o}),n.removeEventListener("error",r)},n.addEventListener("error",r)}),t.signal&&(t.signal.onabort=()=>n.close()),this.close=o}}function bm(e,t){return e.pathname="".concat(function(e){return e.endsWith("/")?e:"".concat(e,"/")}(e.pathname)).concat(t),e.toString()}function km(e){if("string"==typeof e)return Bd.fromJson(JSON.parse(e),{ignoreUnknownFields:!0});if(e instanceof ArrayBuffer)return Bd.fromBinary(new Uint8Array(e));throw new Error("could not decode websocket message: ".concat(typeof e))}const wm=["syncState","trickle","offer","answer","simulate","leave"];var ym,xm;(xm=ym||(ym={}))[xm.CONNECTING=0]="CONNECTING",xm[xm.CONNECTED=1]="CONNECTED",xm[xm.RECONNECTING=2]="RECONNECTING",xm[xm.DISCONNECTING=3]="DISCONNECTING",xm[xm.DISCONNECTED=4]="DISCONNECTED";class Cm{get currentState(){return this.state}get isDisconnected(){return this.state===ym.DISCONNECTING||this.state===ym.DISCONNECTED}get isEstablishingConnection(){return this.state===ym.CONNECTING||this.state===ym.RECONNECTING}getNextRequestId(){return this._requestId+=1,this._requestId}constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var r;this.rtt=0,this.state=ym.DISCONNECTED,this.log=Kh,this._requestId=0,this.resetCallbacks=()=>{this.onAnswer=void 0,this.onLeave=void 0,this.onLocalTrackPublished=void 0,this.onLocalTrackUnpublished=void 0,this.onNegotiateRequested=void 0,this.onOffer=void 0,this.onRemoteMuteChanged=void 0,this.onSubscribedQualityUpdate=void 0,this.onTokenRefresh=void 0,this.onTrickle=void 0,this.onClose=void 0,this.onMediaSectionsRequirement=void 0},this.log=Qh(null!==(r=t.loggerName)&&void 0!==r?r:Vh.Signal),this.loggerContextCb=t.loggerContextCb,this.useJSON=e,this.requestQueue=new vm,this.queuedRequests=[],this.closingLock=new il,this.connectionLock=new il,this.state=ym.DISCONNECTED}get logContext(){var e,t;return null!==(t=null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this))&&void 0!==t?t:{}}join(e,t,r,i){return eu(this,void 0,void 0,function*(){return this.state=ym.CONNECTING,this.options=r,yield this.connect(e,t,r,i)})}reconnect(e,t,r,i){return eu(this,void 0,void 0,function*(){if(this.options)return this.state=ym.RECONNECTING,this.clearPingInterval(),yield this.connect(e,t,Object.assign(Object.assign({},this.options),{reconnect:!0,sid:r,reconnectReason:i}));this.log.warn("attempted to reconnect without signal options being set, ignoring",this.logContext)})}connect(e,t,r,i){return eu(this,void 0,void 0,function*(){const n=yield this.connectionLock.lock();this.connectOptions=r;const o=function(){var e;const t=new Sd({sdk:Td.JS,protocol:16,version:"2.15.10"});return Tg()&&(t.os=null!==(e=Pg())&&void 0!==e?e:""),t}(),a=r.singlePeerConnection?function(e,t,r){const i=new URLSearchParams;i.set("access_token",e);const n=new Dh({clientInfo:t,connectionSettings:new Oh({autoSubscribe:!!r.autoSubscribe,adaptiveStream:!!r.adaptiveStream}),reconnect:!!r.reconnect,participantSid:r.sid?r.sid:void 0});r.reconnectReason&&(n.reconnectReason=r.reconnectReason);const o=new Lh({joinRequest:n.toBinary()});return i.set("join_request",btoa(new TextDecoder("utf-8").decode(o.toBinary()))),i}(t,o,r):function(e,t,r){var i;const n=new URLSearchParams;return n.set("access_token",e),r.reconnect&&(n.set("reconnect","1"),r.sid&&n.set("sid",r.sid)),n.set("auto_subscribe",r.autoSubscribe?"1":"0"),n.set("sdk",Tg()?"reactnative":"js"),n.set("version",t.version),n.set("protocol",t.protocol.toString()),t.deviceModel&&n.set("device_model",t.deviceModel),t.os&&n.set("os",t.os),t.osVersion&&n.set("os_version",t.osVersion),t.browser&&n.set("browser",t.browser),t.browserVersion&&n.set("browser_version",t.browserVersion),r.adaptiveStream&&n.set("adaptive_stream","1"),r.reconnectReason&&n.set("reconnect_reason",r.reconnectReason.toString()),(null===(i=navigator.connection)||void 0===i?void 0:i.type)&&n.set("network",navigator.connection.type),n}(t,o,r),s=function(e,t){const r=new URL(function(e){return e.startsWith("http")?e.replace(/^(http)/,"ws"):e}(e));return t.forEach((e,t)=>{r.searchParams.set(t,e)}),bm(r,"rtc")}(e,a),l=bm(new URL(Vg(s)),"validate");return new Promise((e,t)=>eu(this,void 0,void 0,function*(){var o,a;try{const n=new AbortController,c=i?[n.signal,i]:[n.signal],d=AbortSignal.any(c),h=e=>eu(this,void 0,void 0,function*(){this.streamWriter?this.sendLeave().then(()=>this.close()).catch(e=>{this.log.error(e),this.close()}):this.close(),clearTimeout(u);const r=e.currentTarget;t(r instanceof AbortSignal?r.reason:r)});d.addEventListener("abort",h);const u=setTimeout(()=>{n.abort(new Lp("room connection has timed out (signal)",fp.ServerUnreachable))},r.websocketTimeout),p=(e,t)=>{this.handleSignalConnected(e,u,t)},g=new URL(s);g.searchParams.has("access_token")&&g.searchParams.set("access_token","<redacted>"),this.log.debug("connecting to ".concat(g),Object.assign({reconnect:r.reconnect,reconnectReason:r.reconnectReason},this.logContext)),this.ws&&(yield this.close(!1)),this.ws=new fm(s,{signal:d});try{this.ws.closed.then(e=>{this.isEstablishingConnection&&t(new Lp("Websocket got closed during a (re)connection attempt: ".concat(e.reason),fp.InternalError)),1e3!==e.closeCode&&this.log.warn("websocket closed",Object.assign(Object.assign({},this.logContext),{reason:e.reason,code:e.closeCode,wasClean:1e3===e.closeCode,state:this.state}))}).catch(e=>{this.isEstablishingConnection&&t(new Lp("Websocket error during a (re)connection attempt: ".concat(e),fp.InternalError))});const i=yield this.ws.opened.catch(e=>eu(this,void 0,void 0,function*(){if(this.state!==ym.CONNECTED){this.state=ym.DISCONNECTED,clearTimeout(u);const r=yield this.handleConnectionError(e,l);return void t(r)}this.handleWSError(e),t(e)}));if(clearTimeout(u),!i)return;const n=i.readable.getReader();this.streamWriter=i.writable.getWriter();const s=yield n.read();if(n.releaseLock(),!s.value)throw new Lp("no message received as first message",fp.InternalError);const c=km(s.value),d=this.validateFirstMessage(c,null!==(o=r.reconnect)&&void 0!==o&&o);if(!d.isValid)return void t(d.error);"join"===(null===(a=c.message)||void 0===a?void 0:a.case)&&(this.pingTimeoutDuration=c.message.value.pingTimeout,this.pingIntervalDuration=c.message.value.pingInterval,this.pingTimeoutDuration&&this.pingTimeoutDuration>0&&this.log.debug("ping config",Object.assign(Object.assign({},this.logContext),{timeout:this.pingTimeoutDuration,interval:this.pingIntervalDuration}))),p(i,d.shouldProcessFirstMessage?c:void 0),e(d.response)}catch(Py){clearTimeout(u),t(Py)}}finally{n()}}))})}startReadingLoop(e,t){return eu(this,void 0,void 0,function*(){for(t&&this.handleSignalResponse(t);;){this.signalLatency&&(yield mg(this.signalLatency));const{done:t,value:r}=yield e.read();if(t)break;const i=km(r);this.handleSignalResponse(i)}})}close(){return eu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){const r=yield e.closingLock.lock();try{if(e.clearPingInterval(),t&&(e.state=ym.DISCONNECTING),e.ws){e.ws.close({closeCode:1e3,reason:"Close method called on signal client"});const t=e.ws.closed;e.ws=void 0,e.streamWriter=void 0,yield Promise.race([t,mg(250)])}}catch(Py){e.log.debug("websocket error while closing",Object.assign(Object.assign({},e.logContext),{error:Py}))}finally{t&&(e.state=ym.DISCONNECTED),r()}}()})}sendOffer(e,t){this.log.debug("sending offer",Object.assign(Object.assign({},this.logContext),{offerSdp:e.sdp})),this.sendRequest({case:"offer",value:Tm(e,t)})}sendAnswer(e,t){return this.log.debug("sending answer",Object.assign(Object.assign({},this.logContext),{answerSdp:e.sdp})),this.sendRequest({case:"answer",value:Tm(e,t)})}sendIceCandidate(e,t){return this.log.debug("sending ice candidate",Object.assign(Object.assign({},this.logContext),{candidate:e})),this.sendRequest({case:"trickle",value:new Hd({candidateInit:JSON.stringify(e),target:t})})}sendMuteTrack(e,t){return this.sendRequest({case:"mute",value:new Wd({sid:e,muted:t})})}sendAddTrack(e){return this.sendRequest({case:"addTrack",value:e})}sendUpdateLocalMetadata(e,t){return eu(this,arguments,void 0,function(e,t){var r=this;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){const n=r.getNextRequestId();return yield r.sendRequest({case:"updateMetadata",value:new oh({requestId:n,metadata:e,name:t,attributes:i})}),n}()})}sendUpdateTrackSettings(e){this.sendRequest({case:"trackSetting",value:e})}sendUpdateSubscription(e){return this.sendRequest({case:"subscription",value:e})}sendSyncState(e){return this.sendRequest({case:"syncState",value:e})}sendUpdateVideoLayers(e,t){return this.sendRequest({case:"updateLayers",value:new nh({trackSid:e,layers:t})})}sendUpdateSubscriptionPermissions(e,t){return this.sendRequest({case:"subscriptionPermission",value:new bh({allParticipants:e,trackPermissions:t})})}sendSimulateScenario(e){return this.sendRequest({case:"simulate",value:e})}sendPing(){return Promise.all([this.sendRequest({case:"ping",value:Cl.parse(Date.now())}),this.sendRequest({case:"pingReq",value:new Th({timestamp:Cl.parse(Date.now()),rtt:Cl.parse(this.rtt)})})])}sendUpdateLocalAudioTrack(e,t){return this.sendRequest({case:"updateAudioTrack",value:new eh({trackSid:e,features:t})})}sendLeave(){return this.sendRequest({case:"leave",value:new rh({reason:Hc.CLIENT_INITIATED,action:ih.DISCONNECT})})}sendRequest(e){return eu(this,arguments,void 0,function(e){var t=this;let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function*(){const i=!r&&!function(e){const t=wm.indexOf(e.case)>=0;return Kh.trace("request allowed to bypass queue:",{canPass:t,req:e}),t}(e);if(i&&t.state===ym.RECONNECTING)return void t.queuedRequests.push(()=>eu(t,void 0,void 0,function*(){yield this.sendRequest(e,!0)}));if(r||(yield t.requestQueue.flush()),t.signalLatency&&(yield mg(t.signalLatency)),t.isDisconnected)return void t.log.debug("skipping signal request (type: ".concat(e.case,") - SignalClient disconnected"));if(!t.streamWriter)return void t.log.error("cannot send signal request before connected, type: ".concat(null==e?void 0:e.case),t.logContext);const n=new Fd({message:e});try{t.useJSON?yield t.streamWriter.write(n.toJsonString()):yield t.streamWriter.write(n.toBinary())}catch(Py){t.log.error("error sending signal message",Object.assign(Object.assign({},t.logContext),{error:Py}))}}()})}handleSignalResponse(e){var t,r;const i=e.message;if(null==i)return void this.log.debug("received unsupported message",this.logContext);let n=!1;if("answer"===i.case){const e=Sm(i.value);this.onAnswer&&this.onAnswer(e,i.value.id)}else if("offer"===i.case){const e=Sm(i.value);this.onOffer&&this.onOffer(e,i.value.id)}else if("trickle"===i.case){const e=JSON.parse(i.value.candidateInit);this.onTrickle&&this.onTrickle(e,i.value.target)}else"update"===i.case?this.onParticipantUpdate&&this.onParticipantUpdate(null!==(t=i.value.participants)&&void 0!==t?t:[]):"trackPublished"===i.case?this.onLocalTrackPublished&&this.onLocalTrackPublished(i.value):"speakersChanged"===i.case?this.onSpeakersChanged&&this.onSpeakersChanged(null!==(r=i.value.speakers)&&void 0!==r?r:[]):"leave"===i.case?this.onLeave&&this.onLeave(i.value):"mute"===i.case?this.onRemoteMuteChanged&&this.onRemoteMuteChanged(i.value.sid,i.value.muted):"roomUpdate"===i.case?this.onRoomUpdate&&i.value.room&&this.onRoomUpdate(i.value.room):"connectionQuality"===i.case?this.onConnectionQuality&&this.onConnectionQuality(i.value):"streamStateUpdate"===i.case?this.onStreamStateUpdate&&this.onStreamStateUpdate(i.value):"subscribedQualityUpdate"===i.case?this.onSubscribedQualityUpdate&&this.onSubscribedQualityUpdate(i.value):"subscriptionPermissionUpdate"===i.case?this.onSubscriptionPermissionUpdate&&this.onSubscriptionPermissionUpdate(i.value):"refreshToken"===i.case?this.onTokenRefresh&&this.onTokenRefresh(i.value):"trackUnpublished"===i.case?this.onLocalTrackUnpublished&&this.onLocalTrackUnpublished(i.value):"subscriptionResponse"===i.case?this.onSubscriptionError&&this.onSubscriptionError(i.value):"pong"===i.case||("pongResp"===i.case?(this.rtt=Date.now()-Number.parseInt(i.value.lastPingTimestamp.toString()),this.resetPingTimeout(),n=!0):"requestResponse"===i.case?this.onRequestResponse&&this.onRequestResponse(i.value):"trackSubscribed"===i.case?this.onLocalTrackSubscribed&&this.onLocalTrackSubscribed(i.value.trackSid):"roomMoved"===i.case?(this.onTokenRefresh&&this.onTokenRefresh(i.value.token),this.onRoomMoved&&this.onRoomMoved(i.value)):"mediaSectionsRequirement"===i.case?this.onMediaSectionsRequirement&&this.onMediaSectionsRequirement(i.value):this.log.debug("unsupported message",Object.assign(Object.assign({},this.logContext),{msgCase:i.case})));n||this.resetPingTimeout()}setReconnected(){for(;this.queuedRequests.length>0;){const e=this.queuedRequests.shift();e&&this.requestQueue.run(e)}}handleOnClose(e){return eu(this,void 0,void 0,function*(){if(this.state===ym.DISCONNECTED)return;const t=this.onClose;yield this.close(),this.log.debug("websocket connection closed: ".concat(e),Object.assign(Object.assign({},this.logContext),{reason:e})),t&&t(e)})}handleWSError(e){this.log.error("websocket error",Object.assign(Object.assign({},this.logContext),{error:e}))}resetPingTimeout(){this.clearPingTimeout(),this.pingTimeoutDuration?this.pingTimeout=Qp.setTimeout(()=>{this.log.warn("ping timeout triggered. last pong received at: ".concat(new Date(Date.now()-1e3*this.pingTimeoutDuration).toUTCString()),this.logContext),this.handleOnClose("ping timeout")},1e3*this.pingTimeoutDuration):this.log.warn("ping timeout duration not set",this.logContext)}clearPingTimeout(){this.pingTimeout&&Qp.clearTimeout(this.pingTimeout)}startPingInterval(){this.clearPingInterval(),this.resetPingTimeout(),this.pingIntervalDuration?(this.log.debug("start ping interval",this.logContext),this.pingInterval=Qp.setInterval(()=>{this.sendPing()},1e3*this.pingIntervalDuration)):this.log.warn("ping interval duration not set",this.logContext)}clearPingInterval(){this.log.debug("clearing ping interval",this.logContext),this.clearPingTimeout(),this.pingInterval&&Qp.clearInterval(this.pingInterval)}handleSignalConnected(e,t,r){this.state=ym.CONNECTED,clearTimeout(t),this.startPingInterval(),this.startReadingLoop(e.readable.getReader(),r)}validateFirstMessage(e,t){var r,i,n,o,a;return"join"===(null===(r=e.message)||void 0===r?void 0:r.case)?{isValid:!0,response:e.message.value}:this.state===ym.RECONNECTING&&"leave"!==(null===(i=e.message)||void 0===i?void 0:i.case)?"reconnect"===(null===(n=e.message)||void 0===n?void 0:n.case)?{isValid:!0,response:e.message.value}:(this.log.debug("declaring signal reconnected without reconnect response received",this.logContext),{isValid:!0,response:void 0,shouldProcessFirstMessage:!0}):this.isEstablishingConnection&&"leave"===(null===(o=e.message)||void 0===o?void 0:o.case)?{isValid:!1,error:new Lp("Received leave request while trying to (re)connect",fp.LeaveRequest,void 0,e.message.value.reason)}:t?{isValid:!1,error:new Lp("Unexpected first message",fp.InternalError)}:{isValid:!1,error:new Lp("did not receive join response, got ".concat(null===(a=e.message)||void 0===a?void 0:a.case," instead"),fp.InternalError)}}handleConnectionError(e,t){return eu(this,void 0,void 0,function*(){try{const r=yield fetch(t);if(r.status.toFixed(0).startsWith("4")){const e=yield r.text();return new Lp(e,fp.NotAllowed,r.status)}return e instanceof Lp?e:new Lp("Encountered unknown websocket error during connection: ".concat(e),fp.InternalError,r.status)}catch(Py){return Py instanceof Lp?Py:new Lp(Py instanceof Error?Py.message:"server was not reachable",fp.ServerUnreachable)}})}}function Sm(e){const t={type:"offer",sdp:e.sdp};switch(e.type){case"answer":case"offer":case"pranswer":case"rollback":t.type=e.type}return t}function Tm(e,t){return new Qd({sdp:e.sdp,type:e.type,id:t})}class Em{constructor(){this.buffer=[],this._totalSize=0}push(e){this.buffer.push(e),this._totalSize+=e.data.byteLength}pop(){const e=this.buffer.shift();return e&&(this._totalSize-=e.data.byteLength),e}getAll(){return this.buffer.slice()}popToSequence(e){for(;this.buffer.length>0&&this.buffer[0].sequence<=e;)this.pop()}alignBufferedAmount(e){for(;this.buffer.length>0;){const t=this.buffer[0];if(this._totalSize-t.data.byteLength<=e)break;this.pop()}}get length(){return this.buffer.length}}class Im{constructor(e){this._map=new Map,this._lastCleanup=0,this.ttl=e}set(e,t){const r=Date.now();r-this._lastCleanup>this.ttl/2&&this.cleanup();const i=r+this.ttl;return this._map.set(e,{value:t,expiresAt:i}),this}get(e){const t=this._map.get(e);if(t){if(!(t.expiresAt<Date.now()))return t.value;this._map.delete(e)}}has(e){const t=this._map.get(e);return!(!t||t.expiresAt<Date.now()&&(this._map.delete(e),1))}delete(e){return this._map.delete(e)}clear(){this._map.clear()}cleanup(){const e=Date.now();for(const[t,r]of this._map.entries())r.expiresAt<e&&this._map.delete(t);this._lastCleanup=e}get size(){return this.cleanup(),this._map.size}forEach(e){this.cleanup();for(const[t,r]of this._map.entries())r.expiresAt>=Date.now()&&e(r.value,t,this.asValueMap())}map(e){this.cleanup();const t=[],r=this.asValueMap();for(const[i,n]of r.entries())t.push(e(n,i,r));return t}asValueMap(){const e=new Map;for(const[t,r]of this._map.entries())r.expiresAt>=Date.now()&&e.set(t,r.value);return e}}var Pm,_m,Mm,Rm,Am,Om={},Dm={},Lm={exports:{}};function Nm(){if(Pm)return Lm.exports;Pm=1;var e=Lm.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),(t+=null!=e["network-id"]?" network-id %d":"%v")+(null!=e["network-cost"]?" network-cost %d":"%v")}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",(t+=null!=e.rateNumerator?" rate=%s":"")+(null!=e.rateDenominator?"/%s":"")}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};return Object.keys(e).forEach(function(t){e[t].forEach(function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")})}),Lm.exports}function jm(){if(Rm)return Mm;Rm=1;var e=Nm(),t=/%[sdv%]/g,r=function(e){var r=1,i=arguments,n=i.length;return e.replace(t,function(e){if(r>=n)return e;var t=i[r];switch(r+=1,e){case"%%":return"%";case"%s":return String(t);case"%d":return Number(t);case"%v":return""}})},i=function(e,t,i){var n=[e+"="+(t.format instanceof Function?t.format(t.push?i:i[t.name]):t.format)];if(t.names)for(var o=0;o<t.names.length;o+=1){var a=t.names[o];t.name?n.push(i[t.name][a]):n.push(i[t.names[o]])}else n.push(i[t.name]);return r.apply(null,n)},n=["v","o","s","i","u","e","p","c","b","t","r","z","a"],o=["i","c","b","a"];return Mm=function(t,r){r=r||{},null==t.version&&(t.version=0),null==t.name&&(t.name=" "),t.media.forEach(function(e){null==e.payloads&&(e.payloads="")});var a=r.outerOrder||n,s=r.innerOrder||o,l=[];return a.forEach(function(r){e[r].forEach(function(e){e.name in t&&null!=t[e.name]?l.push(i(r,e,t)):e.push in t&&null!=t[e.push]&&t[e.push].forEach(function(t){l.push(i(r,e,t))})})}),t.media.forEach(function(t){l.push(i("m",e.m[0],t)),s.forEach(function(r){e[r].forEach(function(e){e.name in t&&null!=t[e.name]?l.push(i(r,e,t)):e.push in t&&null!=t[e.push]&&t[e.push].forEach(function(t){l.push(i(r,e,t))})})})}),l.join("\r\n")+"\r\n"}}var Um=function(){if(Am)return Om;Am=1;var e=(_m||(_m=1,function(e){var t=function(e){return String(Number(e))===e?Number(e):e},r=function(e,r,i){var n=e.name&&e.names;e.push&&!r[e.push]?r[e.push]=[]:n&&!r[e.name]&&(r[e.name]={});var o=e.push?{}:n?r[e.name]:r;!function(e,r,i,n){if(n&&!i)r[n]=t(e[1]);else for(var o=0;o<i.length;o+=1)null!=e[o+1]&&(r[i[o]]=t(e[o+1]))}(i.match(e.reg),o,e.names,e.name),e.push&&r[e.push].push(o)},i=Nm(),n=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},o=[],a=t;return e.split(/(\r\n|\r|\n)/).filter(n).forEach(function(e){var t=e[0],n=e.slice(2);"m"===t&&(o.push({rtp:[],fmtp:[]}),a=o[o.length-1]);for(var s=0;s<(i[t]||[]).length;s+=1){var l=i[t][s];if(l.reg.test(n))return r(l,a,n)}}),t.media=o,t};var o=function(e,r){var i=r.split(/=(.+)/,2);return 2===i.length?e[i[0]]=t(i[1]):1===i.length&&r.length>1&&(e[i[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var r=[],i=e.split(" ").map(t),n=0;n<i.length;n+=3)r.push({component:i[n],ip:i[n+1],port:i[n+2]});return r},e.parseImageAttributes=function(e){return e.split(" ").map(function(e){return e.substring(1,e.length-1).split(",").reduce(o,{})})},e.parseSimulcastStreamList=function(e){return e.split(";").map(function(e){return e.split(",").map(function(e){var r,i=!1;return"~"!==e[0]?r=t(e):(r=t(e.substring(1,e.length)),i=!0),{scid:r,paused:i}})})}}(Dm)),Dm),t=jm(),r=Nm();return Om.grammar=r,Om.write=t,Om.parse=e.parse,Om.parseParams=e.parseParams,Om.parseFmtpConfig=e.parseFmtpConfig,Om.parsePayloads=e.parsePayloads,Om.parseRemoteCandidates=e.parseRemoteCandidates,Om.parseImageAttributes=e.parseImageAttributes,Om.parseSimulcastStreamList=e.parseSimulcastStreamList,Om}();function zm(e,t,r){var i,n,o;void 0===t&&(t=50),void 0===r&&(r={});var a=null!=(i=r.isImmediate)&&i,s=null!=(n=r.callback)&&n,l=r.maxWait,c=Date.now(),d=[],h=function(){var r=[].slice.call(arguments),i=this;return new Promise(function(n,h){var u=a&&void 0===o;if(void 0!==o&&clearTimeout(o),o=setTimeout(function(){if(o=void 0,c=Date.now(),!a){var t=e.apply(i,r);s&&s(t),d.forEach(function(e){return(0,e.resolve)(t)}),d=[]}},function(){if(void 0!==l){var e=Date.now()-c;if(e+t>=l)return l-e}return t}()),u){var p=e.apply(i,r);return s&&s(p),n(p)}d.push({resolve:n,reject:h})})};return h.cancel=function(e){void 0!==o&&clearTimeout(o),d.forEach(function(t){return(0,t.reject)(e)}),d=[]},h}const Fm="negotiationStarted",Bm="negotiationComplete",Vm="rtpVideoPayloadTypes";class qm extends nu.EventEmitter{get pc(){return this._pc||(this._pc=this.createPC()),this._pc}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var r;super(),this.log=Kh,this.ddExtID=0,this.latestOfferId=0,this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate=!1,this.trackBitrates=[],this.remoteStereoMids=[],this.remoteNackMids=[],this.negotiate=zm(e=>eu(this,void 0,void 0,function*(){this.emit(Fm);try{yield this.createAndSendOffer()}catch(Py){if(!e)throw Py;e(Py)}}),20),this.close=()=>{this._pc&&(this._pc.close(),this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.ondatachannel=null,this._pc.onnegotiationneeded=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ondatachannel=null,this._pc.ontrack=null,this._pc.onconnectionstatechange=null,this._pc.oniceconnectionstatechange=null,this._pc=null)},this.log=Qh(null!==(r=t.loggerName)&&void 0!==r?r:Vh.PCTransport),this.loggerOptions=t,this.config=e,this._pc=this.createPC(),this.offerLock=new il}createPC(){const e=new RTCPeerConnection(this.config);return e.onicecandidate=e=>{var t;e.candidate&&(null===(t=this.onIceCandidate)||void 0===t||t.call(this,e.candidate))},e.onicecandidateerror=e=>{var t;null===(t=this.onIceCandidateError)||void 0===t||t.call(this,e)},e.oniceconnectionstatechange=()=>{var t;null===(t=this.onIceConnectionStateChange)||void 0===t||t.call(this,e.iceConnectionState)},e.onsignalingstatechange=()=>{var t;null===(t=this.onSignalingStatechange)||void 0===t||t.call(this,e.signalingState)},e.onconnectionstatechange=()=>{var t;null===(t=this.onConnectionStateChange)||void 0===t||t.call(this,e.connectionState)},e.ondatachannel=e=>{var t;null===(t=this.onDataChannel)||void 0===t||t.call(this,e)},e.ontrack=e=>{var t;null===(t=this.onTrack)||void 0===t||t.call(this,e)},e}get logContext(){var e,t;return Object.assign({},null===(t=(e=this.loggerOptions).loggerContextCb)||void 0===t?void 0:t.call(e))}get isICEConnected(){return null!==this._pc&&("connected"===this.pc.iceConnectionState||"completed"===this.pc.iceConnectionState)}addIceCandidate(e){return eu(this,void 0,void 0,function*(){if(this.pc.remoteDescription&&!this.restartingIce)return this.pc.addIceCandidate(e);this.pendingCandidates.push(e)})}setRemoteDescription(e,t){return eu(this,void 0,void 0,function*(){var r;if("answer"===e.type&&this.latestOfferId>0&&t>0&&t!==this.latestOfferId)return this.log.warn("ignoring answer for old offer",Object.assign(Object.assign({},this.logContext),{offerId:t,latestOfferId:this.latestOfferId})),!1;let i;if("offer"===e.type){let{stereoMids:t,nackMids:r}=function(e){var t;const r=[],i=[],n=Um.parse(null!==(t=e.sdp)&&void 0!==t?t:"");let o=0;return n.media.forEach(e=>{var t;const n=$m(e.mid);"audio"===e.type&&(e.rtp.some(e=>"opus"===e.codec&&(o=e.payload,!0)),(null===(t=e.rtcpFb)||void 0===t?void 0:t.some(e=>e.payload===o&&"nack"===e.type))&&i.push(n),e.fmtp.some(e=>e.payload===o&&(e.config.includes("sprop-stereo=1")&&r.push(n),!0)))}),{stereoMids:r,nackMids:i}}(e);this.remoteStereoMids=t,this.remoteNackMids=r}else if("answer"===e.type){const t=Um.parse(null!==(r=e.sdp)&&void 0!==r?r:"");t.media.forEach(e=>{const t=$m(e.mid);"audio"===e.type&&this.trackBitrates.some(r=>{if(!r.transceiver||t!=r.transceiver.mid)return!1;let i=0;if(e.rtp.some(e=>e.codec.toUpperCase()===r.codec.toUpperCase()&&(i=e.payload,!0)),0===i)return!0;let n=!1;for(const t of e.fmtp)if(t.payload===i){t.config=t.config.split(";").filter(e=>!e.includes("maxaveragebitrate")).join(";"),r.maxbr>0&&(t.config+=";maxaveragebitrate=".concat(1e3*r.maxbr)),n=!0;break}return n||r.maxbr>0&&e.fmtp.push({payload:i,config:"maxaveragebitrate=".concat(1e3*r.maxbr)}),!0})}),i=Um.write(t)}return yield this.setMungedSDP(e,i,!0),this.pendingCandidates.forEach(e=>{this.pc.addIceCandidate(e)}),this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate?(this.renegotiate=!1,yield this.createAndSendOffer()):"answer"===e.type&&(this.emit(Bm),e.sdp)&&Um.parse(e.sdp).media.forEach(e=>{"video"===e.type&&this.emit(Vm,e.rtp)}),!0})}createAndSendOffer(e){return eu(this,void 0,void 0,function*(){var t;const r=yield this.offerLock.lock();try{if(void 0===this.onOffer)return;if((null==e?void 0:e.iceRestart)&&(this.log.debug("restarting ICE",this.logContext),this.restartingIce=!0),this._pc&&"have-local-offer"===this._pc.signalingState){const t=this._pc.remoteDescription;if(!(null==e?void 0:e.iceRestart)||!t)return void(this.renegotiate=!0);yield this._pc.setRemoteDescription(t)}else if(!this._pc||"closed"===this._pc.signalingState)return void this.log.warn("could not createOffer with closed peer connection",this.logContext);this.log.debug("starting to negotiate",this.logContext);const r=this.latestOfferId+1;this.latestOfferId=r;const i=yield this.pc.createOffer(e);this.log.debug("original offer",Object.assign({sdp:i.sdp},this.logContext));const n=Um.parse(null!==(t=i.sdp)&&void 0!==t?t:"");if(n.media.forEach(e=>{Wm(e),"audio"===e.type?Hm(e,["all"],[]):"video"===e.type&&this.trackBitrates.some(t=>{if(!e.msid||!t.cid||!e.msid.includes(t.cid))return!1;let r=0;if(e.rtp.some(e=>e.codec.toUpperCase()===t.codec.toUpperCase()&&(r=e.payload,!0)),0===r)return!0;if(bg(t.codec)&&!yg()&&this.ensureVideoDDExtensionForSVC(e,n),"av1"!==t.codec)return!0;const i=Math.round(.7*t.maxbr);for(const n of e.fmtp)if(n.payload===r){n.config.includes("x-google-start-bitrate")||(n.config+=";x-google-start-bitrate=".concat(i));break}return!0})}),this.latestOfferId>r)return void this.log.warn("latestOfferId mismatch",Object.assign(Object.assign({},this.logContext),{latestOfferId:this.latestOfferId,offerId:r}));yield this.setMungedSDP(i,Um.write(n)),this.onOffer(i,this.latestOfferId)}finally{r()}})}createAndSetAnswer(){return eu(this,void 0,void 0,function*(){var e;const t=yield this.pc.createAnswer(),r=Um.parse(null!==(e=t.sdp)&&void 0!==e?e:"");return r.media.forEach(e=>{Wm(e),"audio"===e.type&&Hm(e,this.remoteStereoMids,this.remoteNackMids)}),yield this.setMungedSDP(t,Um.write(r)),t})}createDataChannel(e,t){return this.pc.createDataChannel(e,t)}addTransceiver(e,t){return this.pc.addTransceiver(e,t)}addTransceiverOfKind(e,t){return this.pc.addTransceiver(e,t)}addTrack(e){if(!this._pc)throw new zp("PC closed, cannot add track");return this._pc.addTrack(e)}setTrackCodecBitrate(e){this.trackBitrates.push(e)}setConfiguration(e){var t;if(!this._pc)throw new zp("PC closed, cannot configure");return null===(t=this._pc)||void 0===t?void 0:t.setConfiguration(e)}canRemoveTrack(){var e;return!!(null===(e=this._pc)||void 0===e?void 0:e.removeTrack)}removeTrack(e){var t;return null===(t=this._pc)||void 0===t?void 0:t.removeTrack(e)}getConnectionState(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.connectionState)&&void 0!==t?t:"closed"}getICEConnectionState(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.iceConnectionState)&&void 0!==t?t:"closed"}getSignallingState(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.signalingState)&&void 0!==t?t:"closed"}getTransceivers(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.getTransceivers())&&void 0!==t?t:[]}getSenders(){var e,t;return null!==(t=null===(e=this._pc)||void 0===e?void 0:e.getSenders())&&void 0!==t?t:[]}getLocalDescription(){var e;return null===(e=this._pc)||void 0===e?void 0:e.localDescription}getRemoteDescription(){var e;return null===(e=this.pc)||void 0===e?void 0:e.remoteDescription}getStats(){return this.pc.getStats()}getConnectedAddress(){return eu(this,void 0,void 0,function*(){var e;if(!this._pc)return;let t="";const r=new Map,i=new Map;if((yield this._pc.getStats()).forEach(e=>{switch(e.type){case"transport":t=e.selectedCandidatePairId;break;case"candidate-pair":""===t&&e.selected&&(t=e.id),r.set(e.id,e);break;case"remote-candidate":i.set(e.id,"".concat(e.address,":").concat(e.port))}}),""===t)return;const n=null===(e=r.get(t))||void 0===e?void 0:e.remoteCandidateId;return void 0!==n?i.get(n):void 0})}setMungedSDP(e,t,r){return eu(this,void 0,void 0,function*(){if(t){const i=e.sdp;e.sdp=t;try{return this.log.debug("setting munged ".concat(r?"remote":"local"," description"),this.logContext),void(r?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e))}catch(Py){this.log.warn("not able to set ".concat(e.type,", falling back to unmodified sdp"),Object.assign(Object.assign({},this.logContext),{error:Py,sdp:t})),e.sdp=i}}try{r?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e)}catch(Py){let i="unknown error";Py instanceof Error?i=Py.message:"string"==typeof Py&&(i=Py);const n={error:i,sdp:e.sdp};throw!r&&this.pc.remoteDescription&&(n.remoteSdp=this.pc.remoteDescription),this.log.error("unable to set ".concat(e.type),Object.assign(Object.assign({},this.logContext),{fields:n})),new Fp(i)}})}ensureVideoDDExtensionForSVC(e,t){var r,i;if(!(null===(r=e.ext)||void 0===r?void 0:r.some(e=>e.uri===gg))){if(0===this.ddExtID){let e=0;t.media.forEach(t=>{var r;"video"===t.type&&(null===(r=t.ext)||void 0===r||r.forEach(t=>{t.value>e&&(e=t.value)}))}),this.ddExtID=e+1}null===(i=e.ext)||void 0===i||i.push({value:this.ddExtID,uri:gg})}}}function Hm(e,t,r){const i=$m(e.mid);let n=0;e.rtp.some(e=>"opus"===e.codec&&(n=e.payload,!0)),n>0&&(e.rtcpFb||(e.rtcpFb=[]),r.includes(i)&&!e.rtcpFb.some(e=>e.payload===n&&"nack"===e.type)&&e.rtcpFb.push({payload:n,type:"nack"}),(t.includes(i)||1===t.length&&"all"===t[0])&&e.fmtp.some(e=>e.payload===n&&(e.config.includes("stereo=1")||(e.config+=";stereo=1"),!0)))}function Wm(e){if(e.connection){const t=e.connection.ip.indexOf(":")>=0;(4===e.connection.version&&t||6===e.connection.version&&!t)&&(e.connection.ip="0.0.0.0",e.connection.version=4)}}function $m(e){return"number"==typeof e?e.toFixed(0):e}const Gm="vp8",Jm={audioPreset:cg.music,dtx:!0,red:!0,forceStereo:!1,simulcast:!0,screenShareEncoding:pg.h1080fps15.encoding,stopMicTrackOnMute:!1,videoCodec:Gm,backupCodec:!0,preConnectBuffer:!1},Km={deviceId:{ideal:"default"},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0,voiceIsolation:!0},Qm={deviceId:{ideal:"default"},resolution:hg.h720.resolution},Zm={adaptiveStream:!1,dynacast:!1,stopLocalTrackOnUnpublish:!0,reconnectPolicy:new class{constructor(e){this._retryDelays=void 0!==e?[...e]:Xh}nextRetryDelayInMs(e){if(e.retryCount>=this._retryDelays.length)return null;const t=this._retryDelays[e.retryCount];return e.retryCount<=1?t:t+1e3*Math.random()}},disconnectOnPageLeave:!0,webAudioMix:!1,singlePeerConnection:!1},Ym={autoSubscribe:!0,maxRetries:1,peerConnectionTimeout:15e3,websocketTimeout:15e3};var Xm,ev;(ev=Xm||(Xm={}))[ev.NEW=0]="NEW",ev[ev.CONNECTING=1]="CONNECTING",ev[ev.CONNECTED=2]="CONNECTED",ev[ev.FAILED=3]="FAILED",ev[ev.CLOSING=4]="CLOSING",ev[ev.CLOSED=5]="CLOSED";class tv{get needsPublisher(){return this.isPublisherConnectionRequired}get needsSubscriber(){return this.isSubscriberConnectionRequired}get currentState(){return this.state}constructor(e,t,r){var i;this.peerConnectionTimeout=Ym.peerConnectionTimeout,this.log=Kh,this.updateState=()=>{var e,t;const r=this.state,i=this.requiredTransports.map(e=>e.getConnectionState());i.every(e=>"connected"===e)?this.state=Xm.CONNECTED:i.some(e=>"failed"===e)?this.state=Xm.FAILED:i.some(e=>"connecting"===e)?this.state=Xm.CONNECTING:i.every(e=>"closed"===e)?this.state=Xm.CLOSED:i.some(e=>"closed"===e)?this.state=Xm.CLOSING:i.every(e=>"new"===e)&&(this.state=Xm.NEW),r!==this.state&&(this.log.debug("pc state change: from ".concat(Xm[r]," to ").concat(Xm[this.state]),this.logContext),null===(e=this.onStateChange)||void 0===e||e.call(this,this.state,this.publisher.getConnectionState(),null===(t=this.subscriber)||void 0===t?void 0:t.getConnectionState()))},this.log=Qh(null!==(i=r.loggerName)&&void 0!==i?i:Vh.PCManager),this.loggerOptions=r,this.isPublisherConnectionRequired="subscriber-primary"!==t,this.isSubscriberConnectionRequired="subscriber-primary"===t,this.publisher=new qm(e,r),"publisher-only"!==t&&(this.subscriber=new qm(e,r),this.subscriber.onConnectionStateChange=this.updateState,this.subscriber.onIceConnectionStateChange=this.updateState,this.subscriber.onSignalingStatechange=this.updateState,this.subscriber.onIceCandidate=e=>{var t;null===(t=this.onIceCandidate)||void 0===t||t.call(this,e,jd.SUBSCRIBER)},this.subscriber.onDataChannel=e=>{var t;null===(t=this.onDataChannel)||void 0===t||t.call(this,e)},this.subscriber.onTrack=e=>{var t;null===(t=this.onTrack)||void 0===t||t.call(this,e)}),this.publisher.onConnectionStateChange=this.updateState,this.publisher.onIceConnectionStateChange=this.updateState,this.publisher.onSignalingStatechange=this.updateState,this.publisher.onIceCandidate=e=>{var t;null===(t=this.onIceCandidate)||void 0===t||t.call(this,e,jd.PUBLISHER)},this.publisher.onTrack=e=>{var t;null===(t=this.onTrack)||void 0===t||t.call(this,e)},this.publisher.onOffer=(e,t)=>{var r;null===(r=this.onPublisherOffer)||void 0===r||r.call(this,e,t)},this.state=Xm.NEW,this.connectionLock=new il,this.remoteOfferLock=new il}get logContext(){var e,t;return Object.assign({},null===(t=(e=this.loggerOptions).loggerContextCb)||void 0===t?void 0:t.call(e))}requirePublisher(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.isPublisherConnectionRequired=e,this.updateState()}createAndSendPublisherOffer(e){return this.publisher.createAndSendOffer(e)}setPublisherAnswer(e,t){return this.publisher.setRemoteDescription(e,t)}removeTrack(e){return this.publisher.removeTrack(e)}close(){return eu(this,void 0,void 0,function*(){var e;if(this.publisher&&"closed"!==this.publisher.getSignallingState()){const e=this.publisher;for(const t of e.getSenders())try{e.canRemoveTrack()&&e.removeTrack(t)}catch(Py){this.log.warn("could not removeTrack",Object.assign(Object.assign({},this.logContext),{error:Py}))}}yield Promise.all([this.publisher.close(),null===(e=this.subscriber)||void 0===e?void 0:e.close()]),this.updateState()})}triggerIceRestart(){return eu(this,void 0,void 0,function*(){this.subscriber&&(this.subscriber.restartingIce=!0),this.needsPublisher&&(yield this.createAndSendPublisherOffer({iceRestart:!0}))})}addIceCandidate(e,t){return eu(this,void 0,void 0,function*(){var r;t===jd.PUBLISHER?yield this.publisher.addIceCandidate(e):yield null===(r=this.subscriber)||void 0===r?void 0:r.addIceCandidate(e)})}createSubscriberAnswerFromOffer(e,t){return eu(this,void 0,void 0,function*(){var r,i,n;this.log.debug("received server offer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type,sdp:e.sdp,signalingState:null===(r=this.subscriber)||void 0===r?void 0:r.getSignallingState().toString()}));const o=yield this.remoteOfferLock.lock();try{if(!(yield null===(i=this.subscriber)||void 0===i?void 0:i.setRemoteDescription(e,t)))return;return yield null===(n=this.subscriber)||void 0===n?void 0:n.createAndSetAnswer()}finally{o()}})}updateConfiguration(e,t){var r;this.publisher.setConfiguration(e),null===(r=this.subscriber)||void 0===r||r.setConfiguration(e),t&&this.triggerIceRestart()}ensurePCTransportConnection(e,t){return eu(this,void 0,void 0,function*(){var r;const i=yield this.connectionLock.lock();try{this.isPublisherConnectionRequired&&"connected"!==this.publisher.getConnectionState()&&"connecting"!==this.publisher.getConnectionState()&&(this.log.debug("negotiation required, start negotiating",this.logContext),this.publisher.negotiate()),yield Promise.all(null===(r=this.requiredTransports)||void 0===r?void 0:r.map(r=>this.ensureTransportConnected(r,e,t)))}finally{i()}})}negotiate(e){return eu(this,void 0,void 0,function*(){return new Promise((t,r)=>eu(this,void 0,void 0,function*(){const i=setTimeout(()=>{r("negotiation timed out")},this.peerConnectionTimeout);e.signal.addEventListener("abort",()=>{clearTimeout(i),r("negotiation aborted")}),this.publisher.once(Fm,()=>{e.signal.aborted||this.publisher.once(Bm,()=>{clearTimeout(i),t()})}),yield this.publisher.negotiate(e=>{clearTimeout(i),r(e)})}))})}addPublisherTransceiver(e,t){return this.publisher.addTransceiver(e,t)}addPublisherTransceiverOfKind(e,t){return this.publisher.addTransceiverOfKind(e,t)}addPublisherTrack(e){return this.publisher.addTrack(e)}createPublisherDataChannel(e,t){return this.publisher.createDataChannel(e,t)}getConnectedAddress(e){return e===jd.PUBLISHER||e===jd.SUBSCRIBER?this.publisher.getConnectedAddress():this.requiredTransports[0].getConnectedAddress()}get requiredTransports(){const e=[];return this.isPublisherConnectionRequired&&e.push(this.publisher),this.isSubscriberConnectionRequired&&this.subscriber&&e.push(this.subscriber),e}ensureTransportConnected(e,t){return eu(this,arguments,void 0,function(e,t){var r=this;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.peerConnectionTimeout;return function*(){if("connected"!==e.getConnectionState())return new Promise((e,n)=>eu(r,void 0,void 0,function*(){const r=()=>{this.log.warn("abort transport connection",this.logContext),Qp.clearTimeout(o),n(new Lp("room connection has been cancelled",fp.Cancelled))};(null==t?void 0:t.signal.aborted)&&r(),null==t||t.signal.addEventListener("abort",r);const o=Qp.setTimeout(()=>{null==t||t.signal.removeEventListener("abort",r),n(new Lp("could not establish pc connection",fp.InternalError))},i);for(;this.state!==Xm.CONNECTED;)if(yield mg(50),null==t?void 0:t.signal.aborted)return void n(new Lp("room connection has been cancelled",fp.Cancelled));Qp.clearTimeout(o),null==t||t.signal.removeEventListener("abort",r),e()}))}()})}}class rv extends Error{constructor(e,t,r){super(t),this.code=e,this.message=nv(t,rv.MAX_MESSAGE_BYTES),this.data=r?nv(r,rv.MAX_DATA_BYTES):void 0}static fromProto(e){return new rv(e.code,e.message,e.data)}toProto(){return new wd({code:this.code,message:this.message,data:this.data})}static builtIn(e,t){return new rv(rv.ErrorCode[e],rv.ErrorMessage[e],t)}}function iv(e){return(new TextEncoder).encode(e).length}function nv(e,t){if(iv(e)<=t)return e;let r=0,i=e.length;const n=new TextEncoder;for(;r<i;){const o=Math.floor((r+i+1)/2);n.encode(e.slice(0,o)).length<=t?r=o:i=o-1}return e.slice(0,r)}rv.MAX_MESSAGE_BYTES=256,rv.MAX_DATA_BYTES=15360,rv.ErrorCode={APPLICATION_ERROR:1500,CONNECTION_TIMEOUT:1501,RESPONSE_TIMEOUT:1502,RECIPIENT_DISCONNECTED:1503,RESPONSE_PAYLOAD_TOO_LARGE:1504,SEND_FAILED:1505,UNSUPPORTED_METHOD:1400,RECIPIENT_NOT_FOUND:1401,REQUEST_PAYLOAD_TOO_LARGE:1402,UNSUPPORTED_SERVER:1403,UNSUPPORTED_VERSION:1404},rv.ErrorMessage={APPLICATION_ERROR:"Application error in method handler",CONNECTION_TIMEOUT:"Connection timeout",RESPONSE_TIMEOUT:"Response timeout",RECIPIENT_DISCONNECTED:"Recipient disconnected",RESPONSE_PAYLOAD_TOO_LARGE:"Response payload too large",SEND_FAILED:"Failed to send",UNSUPPORTED_METHOD:"Method not supported at destination",RECIPIENT_NOT_FOUND:"Recipient not found",REQUEST_PAYLOAD_TOO_LARGE:"Request payload too large",UNSUPPORTED_SERVER:"RPC not supported by server",UNSUPPORTED_VERSION:"Unsupported RPC version"};const ov=2e3;function av(e,t){if(!t)return 0;let r,i;return"bytesReceived"in e?(r=e.bytesReceived,i=t.bytesReceived):"bytesSent"in e&&(r=e.bytesSent,i=t.bytesSent),void 0===r||void 0===i||void 0===e.timestamp||void 0===t.timestamp?0:8*(r-i)*1e3/(e.timestamp-t.timestamp)}const sv="undefined"!=typeof MediaRecorder,lv=sv?MediaRecorder:class{constructor(){throw new Error("MediaRecorder is not available in this environment")}};class cv extends lv{constructor(e,t){if(!sv)throw new Error("MediaRecorder is not available in this environment");let r,i;super(new MediaStream([e.mediaStreamTrack]),t);const n=()=>{this.removeEventListener("dataavailable",r),this.removeEventListener("stop",n),this.removeEventListener("error",o),null==i||i.close(),i=void 0},o=e=>{null==i||i.error(e),this.removeEventListener("dataavailable",r),this.removeEventListener("stop",n),this.removeEventListener("error",o),i=void 0};this.byteStream=new ReadableStream({start:e=>{i=e,r=t=>eu(this,void 0,void 0,function*(){let r;if(t.data.arrayBuffer){const e=yield t.data.arrayBuffer();r=new Uint8Array(e)}else{if(!t.data.byteArray)throw new Error("no data available!");r=t.data.byteArray}void 0!==i&&e.enqueue(r)}),this.addEventListener("dataavailable",r)},cancel:()=>{n()}}),this.addEventListener("stop",n),this.addEventListener("error",o)}}class dv extends eg{get sender(){return this._sender}set sender(e){this._sender=e}get constraints(){return this._constraints}get hasPreConnectBuffer(){return!!this.localTrackRecorder}constructor(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];super(e,t,arguments.length>4?arguments[4]:void 0),this.manuallyStopped=!1,this._isUpstreamPaused=!1,this.handleTrackMuteEvent=()=>this.debouncedTrackMuteHandler().catch(()=>this.log.debug("track mute bounce got cancelled by an unmute event",this.logContext)),this.debouncedTrackMuteHandler=zm(()=>eu(this,void 0,void 0,function*(){yield this.pauseUpstream()}),5e3),this.handleTrackUnmuteEvent=()=>eu(this,void 0,void 0,function*(){this.debouncedTrackMuteHandler.cancel("unmute"),yield this.resumeUpstream()}),this.handleEnded=()=>{this.isInBackground&&(this.reacquireTrack=!0),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),this.emit(Rp.Ended,this)},this.reacquireTrack=!1,this.providedByUser=i,this.muteLock=new il,this.pauseUpstreamLock=new il,this.trackChangeLock=new il,this.trackChangeLock.lock().then(t=>eu(this,void 0,void 0,function*(){try{yield this.setMediaStreamTrack(e,!0)}finally{t()}})),this._constraints=e.getConstraints(),r&&(this._constraints=r)}get id(){return this._mediaStreamTrack.id}get dimensions(){if(this.kind!==eg.Kind.Video)return;const{width:e,height:t}=this._mediaStreamTrack.getSettings();return e&&t?{width:e,height:t}:void 0}get isUpstreamPaused(){return this._isUpstreamPaused}get isUserProvided(){return this.providedByUser}get mediaStreamTrack(){var e,t;return null!==(t=null===(e=this.processor)||void 0===e?void 0:e.processedTrack)&&void 0!==t?t:this._mediaStreamTrack}get isLocal(){return!0}getSourceTrackSettings(){return this._mediaStreamTrack.getSettings()}setMediaStreamTrack(e,t){return eu(this,void 0,void 0,function*(){var r;if(e===this._mediaStreamTrack&&!t)return;let i;if(this._mediaStreamTrack&&(this.attachedElements.forEach(e=>{rg(this._mediaStreamTrack,e)}),this.debouncedTrackMuteHandler.cancel("new-track"),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent)),this.mediaStream=new MediaStream([e]),e&&(e.addEventListener("ended",this.handleEnded),e.addEventListener("mute",this.handleTrackMuteEvent),e.addEventListener("unmute",this.handleTrackUnmuteEvent),this._constraints=e.getConstraints()),this.processor&&e){if(this.log.debug("restarting processor",this.logContext),"unknown"===this.kind)throw TypeError("cannot set processor on track of unknown kind");this.processorElement&&(tg(e,this.processorElement),this.processorElement.muted=!0),yield this.processor.restart({track:e,kind:this.kind,element:this.processorElement}),i=this.processor.processedTrack}this.sender&&"closed"!==(null===(r=this.sender.transport)||void 0===r?void 0:r.state)&&(yield this.sender.replaceTrack(null!=i?i:e)),this.providedByUser||this._mediaStreamTrack===e||this._mediaStreamTrack.stop(),this._mediaStreamTrack=e,e&&(this._mediaStreamTrack.enabled=!this.isMuted,yield this.resumeUpstream(),this.attachedElements.forEach(t=>{tg(null!=i?i:e,t)}))})}waitForDimensions(){return eu(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e3;return function*(){var r;if(e.kind===eg.Kind.Audio)throw new Error("cannot get dimensions for audio tracks");"iOS"===(null===(r=$p())||void 0===r?void 0:r.os)&&(yield mg(10));const i=Date.now();for(;Date.now()-i<t;){const t=e.dimensions;if(t)return t;yield mg(50)}throw new jp("unable to get track dimensions after timeout")}()})}setDeviceId(e){return eu(this,void 0,void 0,function*(){return this._constraints.deviceId===e&&this._mediaStreamTrack.getSettings().deviceId===Bg(e)||(this._constraints.deviceId=e,!!this.isMuted||(yield this.restartTrack(),Bg(e)===this._mediaStreamTrack.getSettings().deviceId))})}getDeviceId(){return eu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){if(e.source===eg.Source.ScreenShare)return;const{deviceId:r,groupId:i}=e._mediaStreamTrack.getSettings(),n=e.kind===eg.Kind.Audio?"audioinput":"videoinput";return t?pm.getInstance().normalizeDeviceId(n,r,i):r}()})}mute(){return eu(this,void 0,void 0,function*(){return this.setTrackMuted(!0),this})}unmute(){return eu(this,void 0,void 0,function*(){return this.setTrackMuted(!1),this})}replaceTrack(e,t){return eu(this,void 0,void 0,function*(){const r=yield this.trackChangeLock.lock();try{if(!this.sender)throw new jp("unable to replace an unpublished track");let r,i;return"boolean"==typeof t?r=t:void 0!==t&&(r=t.userProvidedTrack,i=t.stopProcessor),this.providedByUser=null==r||r,this.log.debug("replace MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(e),i&&this.processor&&(yield this.internalStopProcessor()),this}finally{r()}})}restart(e){return eu(this,void 0,void 0,function*(){this.manuallyStopped=!1;const t=yield this.trackChangeLock.lock();try{e||(e=this._constraints);const{deviceId:t,facingMode:r}=e,i=function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r}(e,["deviceId","facingMode"]);this.log.debug("restarting track with constraints",Object.assign(Object.assign({},this.logContext),{constraints:e}));const n={audio:!1,video:!1};this.kind===eg.Kind.Video?n.video=!t&&!r||{deviceId:t,facingMode:r}:n.audio=!t||Object.assign({deviceId:t},i),this.attachedElements.forEach(e=>{rg(this.mediaStreamTrack,e)}),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.stop();const o=(yield navigator.mediaDevices.getUserMedia(n)).getTracks()[0];return this.kind===eg.Kind.Video&&(yield o.applyConstraints(i)),o.addEventListener("ended",this.handleEnded),this.log.debug("re-acquired MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(o),this._constraints=e,this.emit(Rp.Restarted,this),this.manuallyStopped&&(this.log.warn("track was stopped during a restart, stopping restarted track",this.logContext),this.stop()),this}finally{t()}})}setTrackMuted(e){this.log.debug("setting ".concat(this.kind," track ").concat(e?"muted":"unmuted"),this.logContext),this.isMuted===e&&this._mediaStreamTrack.enabled!==e||(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?Rp.Muted:Rp.Unmuted,this))}get needsReAcquisition(){return"live"!==this._mediaStreamTrack.readyState||this._mediaStreamTrack.muted||!this._mediaStreamTrack.enabled||this.reacquireTrack}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return eu(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),Cg()&&(this.log.debug("visibility changed, is in Background: ".concat(this.isInBackground),this.logContext),this.isInBackground||!this.needsReAcquisition||this.isUserProvided||this.isMuted||(this.log.debug("track needs to be reacquired, restarting ".concat(this.source),this.logContext),yield this.restart(),this.reacquireTrack=!1))})}stop(){var e;this.manuallyStopped=!0,super.stop(),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.removeEventListener("mute",this.handleTrackMuteEvent),this._mediaStreamTrack.removeEventListener("unmute",this.handleTrackUnmuteEvent),null===(e=this.processor)||void 0===e||e.destroy(),this.processor=void 0}pauseUpstream(){return eu(this,void 0,void 0,function*(){var e;const t=yield this.pauseUpstreamLock.lock();try{if(!0===this._isUpstreamPaused)return;if(!this.sender)return void this.log.warn("unable to pause upstream for an unpublished track",this.logContext);this._isUpstreamPaused=!0,this.emit(Rp.UpstreamPaused,this);const t=$p();if("Safari"===(null==t?void 0:t.name)&&Mg(t.version,"12.0")<0)throw new Np("pauseUpstream is not supported on Safari < 12.");"closed"!==(null===(e=this.sender.transport)||void 0===e?void 0:e.state)&&(yield this.sender.replaceTrack(null))}finally{t()}})}resumeUpstream(){return eu(this,void 0,void 0,function*(){var e;const t=yield this.pauseUpstreamLock.lock();try{if(!1===this._isUpstreamPaused)return;if(!this.sender)return void this.log.warn("unable to resume upstream for an unpublished track",this.logContext);this._isUpstreamPaused=!1,this.emit(Rp.UpstreamResumed,this),"closed"!==(null===(e=this.sender.transport)||void 0===e?void 0:e.state)&&(yield this.sender.replaceTrack(this.mediaStreamTrack))}finally{t()}})}getRTCStatsReport(){return eu(this,void 0,void 0,function*(){var e;if(null===(e=this.sender)||void 0===e?void 0:e.getStats)return yield this.sender.getStats()})}setProcessor(e){return eu(this,arguments,void 0,function(e){var t=this;let r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var i;const n=yield t.trackChangeLock.lock();try{t.log.debug("setting up processor",t.logContext);const n=document.createElement(t.kind),o={kind:t.kind,track:t._mediaStreamTrack,element:n,audioContext:t.audioContext};if(yield e.init(o),t.log.debug("processor initialized",t.logContext),t.processor&&(yield t.internalStopProcessor()),"unknown"===t.kind)throw TypeError("cannot set processor on track of unknown kind");if(tg(t._mediaStreamTrack,n),n.muted=!0,n.play().catch(e=>{e instanceof DOMException&&"AbortError"===e.name?(t.log.warn("failed to play processor element, retrying",Object.assign(Object.assign({},t.logContext),{error:e})),setTimeout(()=>{n.play().catch(e=>{t.log.error("failed to play processor element",Object.assign(Object.assign({},t.logContext),{err:e}))})},100)):t.log.error("failed to play processor element",Object.assign(Object.assign({},t.logContext),{error:e}))}),t.processor=e,t.processorElement=n,t.processor.processedTrack){for(const e of t.attachedElements)e!==t.processorElement&&r&&(rg(t._mediaStreamTrack,e),tg(t.processor.processedTrack,e));yield null===(i=t.sender)||void 0===i?void 0:i.replaceTrack(t.processor.processedTrack)}t.emit(Rp.TrackProcessorUpdate,t.processor)}finally{n()}}()})}getProcessor(){return this.processor}stopProcessor(){return eu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){const r=yield e.trackChangeLock.lock();try{yield e.internalStopProcessor(t)}finally{r()}}()})}internalStopProcessor(){return eu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){var r,i;e.processor&&(e.log.debug("stopping processor",e.logContext),null===(r=e.processor.processedTrack)||void 0===r||r.stop(),yield e.processor.destroy(),e.processor=void 0,t||(null===(i=e.processorElement)||void 0===i||i.remove(),e.processorElement=void 0),yield e._mediaStreamTrack.applyConstraints(e._constraints),yield e.setMediaStreamTrack(e._mediaStreamTrack,!0),e.emit(Rp.TrackProcessorUpdate))}()})}startPreConnectBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;if(sv)if(this.localTrackRecorder)this.log.warn("preconnect buffer already started");else{{let e="audio/webm;codecs=opus";MediaRecorder.isTypeSupported(e)||(e="video/mp4"),this.localTrackRecorder=new cv(this,{mimeType:e})}this.localTrackRecorder.start(e),this.autoStopPreConnectBuffer=setTimeout(()=>{this.log.warn("preconnect buffer timed out, stopping recording automatically",this.logContext),this.stopPreConnectBuffer()},1e4)}else this.log.warn("MediaRecorder is not available, cannot start preconnect buffer",this.logContext)}stopPreConnectBuffer(){clearTimeout(this.autoStopPreConnectBuffer),this.localTrackRecorder&&(this.localTrackRecorder.stop(),this.localTrackRecorder=void 0)}getPreConnectBuffer(){var e;return null===(e=this.localTrackRecorder)||void 0===e?void 0:e.byteStream}getPreConnectBufferMimeType(){var e;return null===(e=this.localTrackRecorder)||void 0===e?void 0:e.mimeType}}class hv extends dv{get enhancedNoiseCancellation(){return this.isKrispNoiseFilterEnabled}constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;super(e,eg.Kind.Audio,t,r,n),this.stopOnMute=!1,this.isKrispNoiseFilterEnabled=!1,this.monitorSender=()=>eu(this,void 0,void 0,function*(){if(!this.sender)return void(this._currentBitrate=0);let e;try{e=yield this.getSenderStats()}catch(Py){return void this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:Py}))}e&&this.prevStats&&(this._currentBitrate=av(e,this.prevStats)),this.prevStats=e}),this.handleKrispNoiseFilterEnable=()=>{this.isKrispNoiseFilterEnabled=!0,this.log.debug("Krisp noise filter enabled",this.logContext),this.emit(Rp.AudioTrackFeatureUpdate,this,Gc.TF_ENHANCED_NOISE_CANCELLATION,!0)},this.handleKrispNoiseFilterDisable=()=>{this.isKrispNoiseFilterEnabled=!1,this.log.debug("Krisp noise filter disabled",this.logContext),this.emit(Rp.AudioTrackFeatureUpdate,this,Gc.TF_ENHANCED_NOISE_CANCELLATION,!1)},this.audioContext=i,this.checkForSilence()}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return eu(this,void 0,void 0,function*(){const t=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug("Track already muted",this.logContext),this):(this.source===eg.Source.Microphone&&this.stopOnMute&&!this.isUserProvided&&(this.log.debug("stopping mic track",this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{t()}})}unmute(){const e=Object.create(null,{unmute:{get:()=>super.unmute}});return eu(this,void 0,void 0,function*(){const t=yield this.muteLock.lock();try{if(!this.isMuted)return this.log.debug("Track already unmuted",this.logContext),this;const t=this._constraints.deviceId&&this._mediaStreamTrack.getSettings().deviceId!==Bg(this._constraints.deviceId);return this.source!==eg.Source.Microphone||!this.stopOnMute&&"ended"!==this._mediaStreamTrack.readyState&&!t||this.isUserProvided||(this.log.debug("reacquiring mic track",this.logContext),yield this.restartTrack()),yield e.unmute.call(this),this}finally{t()}})}restartTrack(e){return eu(this,void 0,void 0,function*(){let t;if(e){const r=rm({audio:e});"boolean"!=typeof r.audio&&(t=r.audio)}yield this.restart(t)})}restart(e){const t=Object.create(null,{restart:{get:()=>super.restart}});return eu(this,void 0,void 0,function*(){const r=yield t.restart.call(this,e);return this.checkForSilence(),r})}startMonitor(){Sg()&&(this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},ov)))}setProcessor(e){return eu(this,void 0,void 0,function*(){var t;const r=yield this.trackChangeLock.lock();try{if(!Tg()&&!this.audioContext)throw Error("Audio context needs to be set on LocalAudioTrack in order to enable processors");this.processor&&(yield this.internalStopProcessor());const r={kind:this.kind,track:this._mediaStreamTrack,audioContext:this.audioContext};this.log.debug("setting up audio processor ".concat(e.name),this.logContext),yield e.init(r),this.processor=e,this.processor.processedTrack&&(yield null===(t=this.sender)||void 0===t?void 0:t.replaceTrack(this.processor.processedTrack),this.processor.processedTrack.addEventListener("enable-lk-krisp-noise-filter",this.handleKrispNoiseFilterEnable),this.processor.processedTrack.addEventListener("disable-lk-krisp-noise-filter",this.handleKrispNoiseFilterDisable)),this.emit(Rp.TrackProcessorUpdate,this.processor)}finally{r()}})}setAudioContext(e){this.audioContext=e}getSenderStats(){return eu(this,void 0,void 0,function*(){var e;if(!(null===(e=this.sender)||void 0===e?void 0:e.getStats))return;let t;return(yield this.sender.getStats()).forEach(e=>{"outbound-rtp"===e.type&&(t={type:"audio",streamId:e.id,packetsSent:e.packetsSent,packetsLost:e.packetsLost,bytesSent:e.bytesSent,timestamp:e.timestamp,roundTripTime:e.roundTripTime,jitter:e.jitter})}),t})}checkForSilence(){return eu(this,void 0,void 0,function*(){const e=yield function(e){return eu(this,arguments,void 0,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;return function*(){const r=im();if(r){const i=r.createAnalyser();i.fftSize=2048;const n=i.frequencyBinCount,o=new Uint8Array(n);r.createMediaStreamSource(new MediaStream([e.mediaStreamTrack])).connect(i),yield mg(t),i.getByteTimeDomainData(o);const a=o.some(e=>128!==e&&0!==e);return r.close(),!a}return!1}()})}(this);return e&&(this.isMuted||this.log.debug("silence detected on local audio track",this.logContext),this.emit(Rp.AudioSilenceDetected)),e})}}const uv=Object.values(hg),pv=Object.values(ug),gv=Object.values(pg),mv=[hg.h180,hg.h360],vv=[ug.h180,ug.h360],fv=["q","h","f"];function bv(e,t,r,i){var n,o;let a=null==i?void 0:i.videoEncoding;e&&(a=null==i?void 0:i.screenShareEncoding);const s=null==i?void 0:i.simulcast,l=null==i?void 0:i.scalabilityMode,c=null==i?void 0:i.videoCodec;if(!a&&!s&&!l||!t||!r)return[{}];a||(a=function(e,t,r,i){const n=function(e,t,r){if(e)return gv;const i=t>r?t/r:r/t;return Math.abs(i-16/9)<Math.abs(i-4/3)?uv:pv}(e,t,r);let{encoding:o}=n[0];const a=Math.max(t,r);for(let s=0;s<n.length;s+=1){const e=n[s];if(o=e.encoding,e.width>=a)break}if(i)switch(i){case"av1":case"h265":o=Object.assign({},o),o.maxBitrate=.7*o.maxBitrate;break;case"vp9":o=Object.assign({},o),o.maxBitrate=.85*o.maxBitrate}return o}(e,t,r,c),Kh.debug("using video encoding",a));const d=a.maxFramerate,h=new ig(t,r,a.maxBitrate,a.maxFramerate,a.priority);if(l&&bg(c)){const e=new xv(l),t=[];if(e.spatial>3)throw new Error("unsupported scalabilityMode: ".concat(l));const r=$p();if(xg()||Tg()||"Chrome"===(null==r?void 0:r.name)&&Mg(null==r?void 0:r.version,"113")<0){const i="h"==e.suffix?2:3,n=function(e){return e||(e=$p()),"Safari"===(null==e?void 0:e.name)&&Mg(e.version,"18.3")>0||"iOS"===(null==e?void 0:e.os)&&!!(null==e?void 0:e.osVersion)&&Mg(e.osVersion,"18.3")>0}(r);for(let r=0;r<e.spatial;r+=1)t.push({rid:fv[2-r],maxBitrate:a.maxBitrate/Math.pow(i,r),maxFramerate:h.encoding.maxFramerate,scaleResolutionDownBy:n?Math.pow(2,r):void 0});t[0].scalabilityMode=l}else t.push({maxBitrate:a.maxBitrate,maxFramerate:h.encoding.maxFramerate,scalabilityMode:l});return h.encoding.priority&&(t[0].priority=h.encoding.priority,t[0].networkPriority=h.encoding.priority),Kh.debug("using svc encoding",{encodings:t}),t}if(!s)return[a];let u,p=[];if(p=e?null!==(n=yv(null==i?void 0:i.screenShareSimulcastLayers))&&void 0!==n?n:kv(e,h):null!==(o=yv(null==i?void 0:i.videoSimulcastLayers))&&void 0!==o?o:kv(e,h),p.length>0){const e=p[0];p.length>1&&([,u]=p);const i=Math.max(t,r);if(i>=960&&u)return wv(t,r,[e,u,h],d);if(i>=480)return wv(t,r,[e,h],d)}return wv(t,r,[h])}function kv(e,t){if(e)return[{scaleResolutionDownBy:2,fps:(r=t).encoding.maxFramerate}].map(e=>{var t,i;return new ig(Math.floor(r.width/e.scaleResolutionDownBy),Math.floor(r.height/e.scaleResolutionDownBy),Math.max(15e4,Math.floor(r.encoding.maxBitrate/(Math.pow(e.scaleResolutionDownBy,2)*((null!==(t=r.encoding.maxFramerate)&&void 0!==t?t:30)/(null!==(i=e.fps)&&void 0!==i?i:30))))),e.fps,r.encoding.priority)});var r;const{width:i,height:n}=t,o=i>n?i/n:n/i;return Math.abs(o-16/9)<Math.abs(o-4/3)?mv:vv}function wv(e,t,r,i){const n=[];if(r.forEach((r,o)=>{if(o>=fv.length)return;const a=Math.min(e,t),s={rid:fv[o],scaleResolutionDownBy:Math.max(1,a/Math.min(r.width,r.height)),maxBitrate:r.encoding.maxBitrate},l=i&&r.encoding.maxFramerate?Math.min(i,r.encoding.maxFramerate):r.encoding.maxFramerate;l&&(s.maxFramerate=l);const c=wg()||0===o;r.encoding.priority&&c&&(s.priority=r.encoding.priority,s.networkPriority=r.encoding.priority),n.push(s)}),Tg()&&"ios"===Pg()){let e;n.forEach(t=>{e?t.maxFramerate&&t.maxFramerate>e&&(e=t.maxFramerate):e=t.maxFramerate});let t=!0;n.forEach(r=>{var i;r.maxFramerate!=e&&(t&&(t=!1,Kh.info("Simulcast on iOS React-Native requires all encodings to share the same framerate.")),Kh.info('Setting framerate of encoding "'.concat(null!==(i=r.rid)&&void 0!==i?i:"",'" to ').concat(e)),r.maxFramerate=e)})}return n}function yv(e){if(e)return e.sort((e,t)=>{const{encoding:r}=e,{encoding:i}=t;return r.maxBitrate>i.maxBitrate?1:r.maxBitrate<i.maxBitrate?-1:r.maxBitrate===i.maxBitrate&&r.maxFramerate&&i.maxFramerate?r.maxFramerate>i.maxFramerate?1:-1:0})}class xv{constructor(e){const t=e.match(/^L(\d)T(\d)(h|_KEY|_KEY_SHIFT){0,1}$/);if(!t)throw new Error("invalid scalability mode");if(this.spatial=parseInt(t[1]),this.temporal=parseInt(t[2]),t.length>3)switch(t[3]){case"h":case"_KEY":case"_KEY_SHIFT":this.suffix=t[3]}}toString(){var e;return"L".concat(this.spatial,"T").concat(this.temporal).concat(null!==(e=this.suffix)&&void 0!==e?e:"")}}class Cv extends dv{get sender(){return this._sender}set sender(e){this._sender=e,this.degradationPreference&&this.setDegradationPreference(this.degradationPreference)}constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0;super(e,eg.Kind.Video,t,r,i),this.simulcastCodecs=new Map,this.degradationPreference="balanced",this.isCpuConstrained=!1,this.optimizeForPerformance=!1,this.monitorSender=()=>eu(this,void 0,void 0,function*(){if(!this.sender)return void(this._currentBitrate=0);let e;try{e=yield this.getSenderStats()}catch(Py){return void this.log.error("could not get video sender stats",Object.assign(Object.assign({},this.logContext),{error:Py}))}const t=new Map(e.map(e=>[e.rid,e])),r=e.some(e=>"cpu"===e.qualityLimitationReason);if(r!==this.isCpuConstrained&&(this.isCpuConstrained=r,this.isCpuConstrained&&this.emit(Rp.CpuConstrained)),this.prevStats){let e=0;t.forEach((t,r)=>{var i;const n=null===(i=this.prevStats)||void 0===i?void 0:i.get(r);e+=av(t,n)}),this._currentBitrate=e}this.prevStats=t}),this.senderLock=new il}get isSimulcast(){return!!(this.sender&&this.sender.getParameters().encodings.length>1)}startMonitor(e){var t;if(this.signalClient=e,!Sg())return;const r=null===(t=this.sender)||void 0===t?void 0:t.getParameters();r&&(this.encodings=r.encodings),this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},ov))}stop(){this._mediaStreamTrack.getConstraints(),this.simulcastCodecs.forEach(e=>{e.mediaStreamTrack.stop()}),super.stop()}pauseUpstream(){const e=Object.create(null,{pauseUpstream:{get:()=>super.pauseUpstream}});return eu(this,void 0,void 0,function*(){var t,r,i,n,o;yield e.pauseUpstream.call(this);try{for(var a,s=!0,l=tu(this.simulcastCodecs.values());!(t=(a=yield l.next()).done);s=!0){n=a.value,s=!1;const e=n;yield null===(o=e.sender)||void 0===o?void 0:o.replaceTrack(null)}}catch(c){r={error:c}}finally{try{s||t||!(i=l.return)||(yield i.call(l))}finally{if(r)throw r.error}}})}resumeUpstream(){const e=Object.create(null,{resumeUpstream:{get:()=>super.resumeUpstream}});return eu(this,void 0,void 0,function*(){var t,r,i,n,o;yield e.resumeUpstream.call(this);try{for(var a,s=!0,l=tu(this.simulcastCodecs.values());!(t=(a=yield l.next()).done);s=!0){n=a.value,s=!1;const e=n;yield null===(o=e.sender)||void 0===o?void 0:o.replaceTrack(e.mediaStreamTrack)}}catch(c){r={error:c}}finally{try{s||t||!(i=l.return)||(yield i.call(l))}finally{if(r)throw r.error}}})}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return eu(this,void 0,void 0,function*(){const t=yield this.muteLock.lock();try{return this.isMuted?(this.log.debug("Track already muted",this.logContext),this):(this.source!==eg.Source.Camera||this.isUserProvided||(this.log.debug("stopping camera track",this.logContext),this._mediaStreamTrack.stop()),yield e.mute.call(this),this)}finally{t()}})}unmute(){const e=Object.create(null,{unmute:{get:()=>super.unmute}});return eu(this,void 0,void 0,function*(){const t=yield this.muteLock.lock();try{return this.isMuted?(this.source!==eg.Source.Camera||this.isUserProvided||(this.log.debug("reacquiring camera track",this.logContext),yield this.restartTrack()),yield e.unmute.call(this),this):(this.log.debug("Track already unmuted",this.logContext),this)}finally{t()}})}setTrackMuted(e){super.setTrackMuted(e);for(const t of this.simulcastCodecs.values())t.mediaStreamTrack.enabled=!e}getSenderStats(){return eu(this,void 0,void 0,function*(){var e;if(!(null===(e=this.sender)||void 0===e?void 0:e.getStats))return[];const t=[],r=yield this.sender.getStats();return r.forEach(e=>{var i;if("outbound-rtp"===e.type){const n={type:"video",streamId:e.id,frameHeight:e.frameHeight,frameWidth:e.frameWidth,framesPerSecond:e.framesPerSecond,framesSent:e.framesSent,firCount:e.firCount,pliCount:e.pliCount,nackCount:e.nackCount,packetsSent:e.packetsSent,bytesSent:e.bytesSent,qualityLimitationReason:e.qualityLimitationReason,qualityLimitationDurations:e.qualityLimitationDurations,qualityLimitationResolutionChanges:e.qualityLimitationResolutionChanges,rid:null!==(i=e.rid)&&void 0!==i?i:e.id,retransmittedPacketsSent:e.retransmittedPacketsSent,targetBitrate:e.targetBitrate,timestamp:e.timestamp},o=r.get(e.remoteId);o&&(n.jitter=o.jitter,n.packetsLost=o.packetsLost,n.roundTripTime=o.roundTripTime),t.push(n)}}),t.sort((e,t)=>{var r,i;return(null!==(r=t.frameWidth)&&void 0!==r?r:0)-(null!==(i=e.frameWidth)&&void 0!==i?i:0)}),t})}setPublishingQuality(e){const t=[];for(let r=Yp.LOW;r<=Yp.HIGH;r+=1)t.push(new ph({quality:r,enabled:r<=e}));this.log.debug("setting publishing quality. max quality ".concat(e),this.logContext),this.setPublishingLayers(bg(this.codec),t)}restartTrack(e){return eu(this,void 0,void 0,function*(){var t,r,i,n,o;let a;if(e){const t=rm({video:e});"boolean"!=typeof t.video&&(a=t.video)}yield this.restart(a),this.isCpuConstrained=!1;try{for(var s,l=!0,c=tu(this.simulcastCodecs.values());!(t=(s=yield c.next()).done);l=!0){n=s.value,l=!1;const e=n;e.sender&&"closed"!==(null===(o=e.sender.transport)||void 0===o?void 0:o.state)&&(e.mediaStreamTrack=this.mediaStreamTrack.clone(),yield e.sender.replaceTrack(e.mediaStreamTrack))}}catch(d){r={error:d}}finally{try{l||t||!(i=c.return)||(yield i.call(c))}finally{if(r)throw r.error}}})}setProcessor(e){const t=Object.create(null,{setProcessor:{get:()=>super.setProcessor}});return eu(this,arguments,void 0,function(e){var r=this;let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var n,o,a,s,l,c;if(yield t.setProcessor.call(r,e,i),null===(l=r.processor)||void 0===l?void 0:l.processedTrack)try{for(var d,h=!0,u=tu(r.simulcastCodecs.values());!(n=(d=yield u.next()).done);h=!0){s=d.value,h=!1;const e=s;yield null===(c=e.sender)||void 0===c?void 0:c.replaceTrack(r.processor.processedTrack)}}catch(p){o={error:p}}finally{try{h||n||!(a=u.return)||(yield a.call(u))}finally{if(o)throw o.error}}}()})}setDegradationPreference(e){return eu(this,void 0,void 0,function*(){if(this.degradationPreference=e,this.sender)try{this.log.debug("setting degradationPreference to ".concat(e),this.logContext);const t=this.sender.getParameters();t.degradationPreference=e,this.sender.setParameters(t)}catch(Py){this.log.warn("failed to set degradationPreference",Object.assign({error:Py},this.logContext))}})}addSimulcastTrack(e,t){if(this.simulcastCodecs.has(e))return void this.log.error("".concat(e," already added, skipping adding simulcast codec"),this.logContext);const r={codec:e,mediaStreamTrack:this.mediaStreamTrack.clone(),sender:void 0,encodings:t};return this.simulcastCodecs.set(e,r),r}setSimulcastTrackSender(e,t){const r=this.simulcastCodecs.get(e);r&&(r.sender=t,setTimeout(()=>{this.subscribedCodecs&&this.setPublishingCodecs(this.subscribedCodecs)},5e3))}setPublishingCodecs(e){return eu(this,void 0,void 0,function*(){var t,r,i,n,o,a,s;if(this.log.debug("setting publishing codecs",Object.assign(Object.assign({},this.logContext),{codecs:e,currentCodec:this.codec})),!this.codec&&e.length>0)return yield this.setPublishingLayers(bg(e[0].codec),e[0].qualities),[];this.subscribedCodecs=e;const l=[];try{for(t=!0,r=tu(e);!(n=(i=yield r.next()).done);t=!0){s=i.value,t=!1;const e=s;if(this.codec&&this.codec!==e.codec){const t=this.simulcastCodecs.get(e.codec);if(this.log.debug("try setPublishingCodec for ".concat(e.codec),Object.assign(Object.assign({},this.logContext),{simulcastCodecInfo:t})),t&&t.sender)t.encodings&&(this.log.debug("try setPublishingLayersForSender ".concat(e.codec),this.logContext),yield Sv(t.sender,t.encodings,e.qualities,this.senderLock,bg(e.codec),this.log,this.logContext));else for(const r of e.qualities)if(r.enabled){l.push(e.codec);break}}else yield this.setPublishingLayers(bg(e.codec),e.qualities)}}catch(c){o={error:c}}finally{try{t||n||!(a=r.return)||(yield a.call(r))}finally{if(o)throw o.error}}return l})}setPublishingLayers(e,t){return eu(this,void 0,void 0,function*(){this.optimizeForPerformance?this.log.info("skipping setPublishingLayers due to optimized publishing performance",Object.assign(Object.assign({},this.logContext),{qualities:t})):(this.log.debug("setting publishing layers",Object.assign(Object.assign({},this.logContext),{qualities:t})),this.sender&&this.encodings&&(yield Sv(this.sender,this.encodings,t,this.senderLock,e,this.log,this.logContext)))})}prioritizePerformance(){return eu(this,void 0,void 0,function*(){if(!this.sender)throw new Error("sender not found");const e=yield this.senderLock.lock();try{this.optimizeForPerformance=!0;const e=this.sender.getParameters();e.encodings=e.encodings.map((e,t)=>{var r;return Object.assign(Object.assign({},e),{active:0===t,scaleResolutionDownBy:Math.max(1,Math.ceil((null!==(r=this.mediaStreamTrack.getSettings().height)&&void 0!==r?r:360)/360)),scalabilityMode:0===t&&bg(this.codec)?"L1T3":void 0,maxFramerate:0===t?15:0,maxBitrate:0===t?e.maxBitrate:0})}),this.log.debug("setting performance optimised encodings",Object.assign(Object.assign({},this.logContext),{encodings:e.encodings})),this.encodings=e.encodings,yield this.sender.setParameters(e)}catch(Py){this.log.error("failed to set performance optimised encodings",Object.assign(Object.assign({},this.logContext),{error:Py})),this.optimizeForPerformance=!1}finally{e()}})}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return eu(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),Cg()&&this.isInBackground&&this.source===eg.Source.Camera&&(this._mediaStreamTrack.enabled=!1)})}}function Sv(e,t,r,i,n,o,a){return eu(this,void 0,void 0,function*(){const s=yield i.lock();o.debug("setPublishingLayersForSender",Object.assign(Object.assign({},a),{sender:e,qualities:r,senderEncodings:t}));try{const i=e.getParameters(),{encodings:s}=i;if(!s)return;if(s.length!==t.length)return void o.warn("cannot set publishing layers, encodings mismatch",Object.assign(Object.assign({},a),{encodings:s,senderEncodings:t}));let l=!1;n&&r.some(e=>e.enabled)&&r.forEach(e=>e.enabled=!0),s.forEach((e,i)=>{var n;let s=null!==(n=e.rid)&&void 0!==n?n:"";""===s&&(s="q");const c=Tv(s),d=r.find(e=>e.quality===c);d&&e.active!==d.enabled&&(l=!0,e.active=d.enabled,o.debug("setting layer ".concat(d.quality," to ").concat(e.active?"enabled":"disabled"),a),wg()&&(d.enabled?(e.scaleResolutionDownBy=t[i].scaleResolutionDownBy,e.maxBitrate=t[i].maxBitrate,e.maxFrameRate=t[i].maxFrameRate):(e.scaleResolutionDownBy=4,e.maxBitrate=10,e.maxFrameRate=2)))}),l&&(i.encodings=s,o.debug("setting encodings",Object.assign(Object.assign({},a),{encodings:i.encodings})),yield e.setParameters(i))}finally{s()}})}function Tv(e){switch(e){case"f":default:return Yp.HIGH;case"h":return Yp.MEDIUM;case"q":return Yp.LOW}}function Ev(e,t,r,i){if(!r)return[new nd({quality:Yp.HIGH,width:e,height:t,bitrate:0,ssrc:0})];if(i){const i=r[0].scalabilityMode,n=new xv(i),o=[],a="h"==n.suffix?1.5:2,s="h"==n.suffix?2:3;for(let l=0;l<n.spatial;l+=1)o.push(new nd({quality:Math.min(Yp.HIGH,n.spatial-1)-l,width:Math.ceil(e/Math.pow(a,l)),height:Math.ceil(t/Math.pow(a,l)),bitrate:r[0].maxBitrate?Math.ceil(r[0].maxBitrate/Math.pow(s,l)):0,ssrc:0}));return o}return r.map(r=>{var i,n,o;const a=null!==(i=r.scaleResolutionDownBy)&&void 0!==i?i:1;let s=Tv(null!==(n=r.rid)&&void 0!==n?n:"");return new nd({quality:s,width:Math.ceil(e/a),height:Math.ceil(t/a),bitrate:null!==(o=r.maxBitrate)&&void 0!==o?o:0,ssrc:0})})}const Iv="_lossy",Pv="_reliable",_v="leave-reconnect";var Mv,Rv,Av,Ov,Dv,Lv,Nv,jv,Uv,zv,Fv;(Rv=Mv||(Mv={}))[Rv.New=0]="New",Rv[Rv.Connected=1]="Connected",Rv[Rv.Disconnected=2]="Disconnected",Rv[Rv.Reconnecting=3]="Reconnecting",Rv[Rv.Closed=4]="Closed";class Bv extends nu.EventEmitter{get isClosed(){return this._isClosed}get pendingReconnect(){return!!this.reconnectTimeout}constructor(e){var t;super(),this.options=e,this.rtcConfig={},this.peerConnectionTimeout=Ym.peerConnectionTimeout,this.fullReconnectOnNext=!1,this.latestRemoteOfferId=0,this.subscriberPrimary=!1,this.pcState=Mv.New,this._isClosed=!0,this.pendingTrackResolvers={},this.reconnectAttempts=0,this.reconnectStart=0,this.attemptingReconnect=!1,this.joinAttempts=0,this.maxJoinAttempts=1,this.shouldFailNext=!1,this.log=Kh,this.reliableDataSequence=1,this.reliableMessageBuffer=new Em,this.reliableReceivedState=new Im(3e4),this.handleDataChannel=e=>eu(this,[e],void 0,function(e){var t=this;let{channel:r}=e;return function*(){if(r){if(r.label===Pv)t.reliableDCSub=r;else{if(r.label!==Iv)return;t.lossyDCSub=r}t.log.debug("on data channel ".concat(r.id,", ").concat(r.label),t.logContext),r.onmessage=t.handleDataMessage}}()}),this.handleDataMessage=e=>eu(this,void 0,void 0,function*(){var t,r,i,n,o;const a=yield this.dataProcessLock.lock();try{let a;if(e.data instanceof ArrayBuffer)a=e.data;else{if(!(e.data instanceof Blob))return void this.log.error("unsupported data type",Object.assign(Object.assign({},this.logContext),{data:e.data}));a=yield e.data.arrayBuffer()}const s=ad.fromBinary(new Uint8Array(a));if(s.sequence>0&&""!==s.participantSid){const e=this.reliableReceivedState.get(s.participantSid);if(e&&s.sequence<=e)return;this.reliableReceivedState.set(s.participantSid,s.sequence)}if("speaker"===(null===(t=s.value)||void 0===t?void 0:t.case))this.emit(_p.ActiveSpeakersUpdate,s.value.value.speakers);else if("encryptedPacket"===(null===(r=s.value)||void 0===r?void 0:r.case)){if(!this.e2eeManager)return void this.log.error("Received encrypted packet but E2EE not set up",this.logContext);const e=yield null===(i=this.e2eeManager)||void 0===i?void 0:i.handleEncryptedData(s.value.value.encryptedValue,s.value.value.iv,s.participantIdentity,s.value.value.keyIndex),t=cd.fromBinary(e.payload),r=new ad({value:t.value,participantIdentity:s.participantIdentity,participantSid:s.participantSid});"user"===(null===(n=r.value)||void 0===n?void 0:n.case)&&qv(r,r.value.value),this.emit(_p.DataPacketReceived,r,s.value.value.encryptionType)}else"user"===(null===(o=s.value)||void 0===o?void 0:o.case)&&qv(s,s.value.value),this.emit(_p.DataPacketReceived,s,td.NONE)}finally{a()}}),this.handleDataError=e=>{const t=0===e.currentTarget.maxRetransmits?"lossy":"reliable";if(e instanceof ErrorEvent&&e.error){const{error:r}=e.error;this.log.error("DataChannel error on ".concat(t,": ").concat(e.message),Object.assign(Object.assign({},this.logContext),{error:r}))}else this.log.error("Unknown DataChannel error on ".concat(t),Object.assign(Object.assign({},this.logContext),{event:e}))},this.handleBufferedAmountLow=e=>{const t=0===e.currentTarget.maxRetransmits?sd.LOSSY:sd.RELIABLE;this.updateAndEmitDCBufferStatus(t)},this.handleDisconnect=(e,t)=>{if(this._isClosed)return;this.log.warn("".concat(e," disconnected"),this.logContext),0===this.reconnectAttempts&&(this.reconnectStart=Date.now());const r=Date.now()-this.reconnectStart;let i=this.getNextRetryDelay({elapsedMs:r,retryCount:this.reconnectAttempts});null!==i?(e===_v&&(i=0),this.log.debug("reconnecting in ".concat(i,"ms"),this.logContext),this.clearReconnectTimeout(),this.token&&this.regionUrlProvider&&this.regionUrlProvider.updateToken(this.token),this.reconnectTimeout=Qp.setTimeout(()=>this.attemptReconnect(t).finally(()=>this.reconnectTimeout=void 0),i)):(e=>{this.log.warn("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(e,"ms. giving up"),this.logContext),this.emit(_p.Disconnected),this.close()})(r)},this.waitForRestarted=()=>new Promise((e,t)=>{this.pcState===Mv.Connected&&e();const r=()=>{this.off(_p.Disconnected,i),e()},i=()=>{this.off(_p.Restarted,r),t()};this.once(_p.Restarted,r),this.once(_p.Disconnected,i)}),this.updateAndEmitDCBufferStatus=e=>{const t=this.isBufferStatusLow(e);void 0!==t&&t!==this.dcBufferStatus.get(e)&&(this.dcBufferStatus.set(e,t),this.emit(_p.DCBufferStatusChanged,t,e))},this.isBufferStatusLow=e=>{const t=this.dataChannelForKind(e);if(t)return e===sd.RELIABLE&&this.reliableMessageBuffer.alignBufferedAmount(t.bufferedAmount),t.bufferedAmount<=t.bufferedAmountLowThreshold},this.handleBrowserOnLine=()=>{this.client.currentState===ym.RECONNECTING&&(this.clearReconnectTimeout(),this.attemptReconnect(Wc.RR_SIGNAL_DISCONNECTED))},this.log=Qh(null!==(t=e.loggerName)&&void 0!==t?t:Vh.Engine),this.loggerOptions={loggerName:e.loggerName,loggerContextCb:()=>this.logContext},this.client=new Cm(void 0,this.loggerOptions),this.client.signalLatency=this.options.expSignalLatency,this.reconnectPolicy=this.options.reconnectPolicy,this.closingLock=new il,this.dataProcessLock=new il,this.dcBufferStatus=new Map([[sd.LOSSY,!0],[sd.RELIABLE,!0]]),this.client.onParticipantUpdate=e=>this.emit(_p.ParticipantUpdate,e),this.client.onConnectionQuality=e=>this.emit(_p.ConnectionQualityUpdate,e),this.client.onRoomUpdate=e=>this.emit(_p.RoomUpdate,e),this.client.onSubscriptionError=e=>this.emit(_p.SubscriptionError,e),this.client.onSubscriptionPermissionUpdate=e=>this.emit(_p.SubscriptionPermissionUpdate,e),this.client.onSpeakersChanged=e=>this.emit(_p.SpeakersChanged,e),this.client.onStreamStateUpdate=e=>this.emit(_p.StreamStateChanged,e),this.client.onRequestResponse=e=>this.emit(_p.SignalRequestResponse,e)}get logContext(){var e,t,r,i,n,o;return{room:null===(t=null===(e=this.latestJoinResponse)||void 0===e?void 0:e.room)||void 0===t?void 0:t.name,roomID:null===(i=null===(r=this.latestJoinResponse)||void 0===r?void 0:r.room)||void 0===i?void 0:i.sid,participant:null===(o=null===(n=this.latestJoinResponse)||void 0===n?void 0:n.participant)||void 0===o?void 0:o.identity,pID:this.participantSid}}join(e,t,r,i){return eu(this,void 0,void 0,function*(){this.url=e,this.token=t,this.signalOpts=r,this.maxJoinAttempts=r.maxRetries;try{this.joinAttempts+=1,this.setupSignalClientCallbacks();const n=yield this.client.join(e,t,r,i);return this._isClosed=!1,this.latestJoinResponse=n,this.subscriberPrimary=n.subscriberPrimary,this.pcManager||(yield this.configure(n)),this.subscriberPrimary&&!n.fastPublish||this.negotiate().catch(e=>{Kh.error(e,this.logContext)}),this.registerOnLineListener(),this.clientConfiguration=n.clientConfiguration,this.emit(_p.SignalConnected,n),n}catch(Py){if(Py instanceof Lp&&Py.reason===fp.ServerUnreachable&&(this.log.warn("Couldn't connect to server, attempt ".concat(this.joinAttempts," of ").concat(this.maxJoinAttempts),this.logContext),this.joinAttempts<this.maxJoinAttempts))return this.join(e,t,r,i);throw Py}})}close(){return eu(this,void 0,void 0,function*(){const e=yield this.closingLock.lock();if(this.isClosed)e();else try{this._isClosed=!0,this.joinAttempts=0,this.emit(_p.Closing),this.removeAllListeners(),this.deregisterOnLineListener(),this.clearPendingReconnect(),yield this.cleanupPeerConnections(),yield this.cleanupClient()}finally{e()}})}cleanupPeerConnections(){return eu(this,void 0,void 0,function*(){var e;yield null===(e=this.pcManager)||void 0===e?void 0:e.close(),this.pcManager=void 0;const t=e=>{e&&(e.close(),e.onbufferedamountlow=null,e.onclose=null,e.onclosing=null,e.onerror=null,e.onmessage=null,e.onopen=null)};t(this.lossyDC),t(this.lossyDCSub),t(this.reliableDC),t(this.reliableDCSub),this.lossyDC=void 0,this.lossyDCSub=void 0,this.reliableDC=void 0,this.reliableDCSub=void 0,this.reliableMessageBuffer=new Em,this.reliableDataSequence=1,this.reliableReceivedState.clear()})}cleanupClient(){return eu(this,void 0,void 0,function*(){yield this.client.close(),this.client.resetCallbacks()})}addTrack(e){if(this.pendingTrackResolvers[e.cid])throw new jp("a track with the same ID has already been published");return new Promise((t,r)=>{const i=setTimeout(()=>{delete this.pendingTrackResolvers[e.cid],r(new Lp("publication of local track timed out, no response from server",fp.Timeout))},1e4);this.pendingTrackResolvers[e.cid]={resolve:e=>{clearTimeout(i),t(e)},reject:()=>{clearTimeout(i),r(new Error("Cancelled publication by calling unpublish"))}},this.client.sendAddTrack(e)})}removeTrack(e){if(e.track&&this.pendingTrackResolvers[e.track.id]){const{reject:t}=this.pendingTrackResolvers[e.track.id];t&&t(),delete this.pendingTrackResolvers[e.track.id]}try{return this.pcManager.removeTrack(e),!0}catch(Py){this.log.warn("failed to remove track",Object.assign(Object.assign({},this.logContext),{error:Py}))}return!1}updateMuteStatus(e,t){this.client.sendMuteTrack(e,t)}get dataSubscriberReadyState(){var e;return null===(e=this.reliableDCSub)||void 0===e?void 0:e.readyState}getConnectedServerAddress(){return eu(this,void 0,void 0,function*(){var e;return null===(e=this.pcManager)||void 0===e?void 0:e.getConnectedAddress()})}setRegionUrlProvider(e){this.regionUrlProvider=e}configure(e){return eu(this,void 0,void 0,function*(){var t,r;if(this.pcManager&&this.pcManager.currentState!==Xm.NEW)return;this.participantSid=null===(t=e.participant)||void 0===t?void 0:t.sid;const i=this.makeRTCConfiguration(e);var n;this.pcManager=new tv(i,this.options.singlePeerConnection?"publisher-only":e.subscriberPrimary?"subscriber-primary":"publisher-primary",this.loggerOptions),this.emit(_p.TransportsCreated,this.pcManager.publisher,this.pcManager.subscriber),this.pcManager.onIceCandidate=(e,t)=>{this.client.sendIceCandidate(e,t)},this.pcManager.onPublisherOffer=(e,t)=>{this.client.sendOffer(e,t)},this.pcManager.onDataChannel=this.handleDataChannel,this.pcManager.onStateChange=(t,r,i)=>eu(this,void 0,void 0,function*(){if(this.log.debug("primary PC state changed ".concat(t),this.logContext),["closed","disconnected","failed"].includes(r)&&(this.publisherConnectionPromise=void 0),t===Xm.CONNECTED){const t=this.pcState===Mv.New;this.pcState=Mv.Connected,t&&this.emit(_p.Connected,e)}else t===Xm.FAILED&&(this.pcState!==Mv.Connected&&this.pcState!==Mv.Reconnecting||(this.pcState=Mv.Disconnected,this.handleDisconnect("peerconnection failed","failed"===i?Wc.RR_SUBSCRIBER_FAILED:Wc.RR_PUBLISHER_FAILED)));const n=this.client.isDisconnected||this.client.currentState===ym.RECONNECTING,o=[Xm.FAILED,Xm.CLOSING,Xm.CLOSED].includes(t);n&&o&&!this._isClosed&&this.emit(_p.Offline)}),this.pcManager.onTrack=e=>{0!==e.streams.length&&this.emit(_p.MediaTrackAdded,e.track,e.streams[0],e.receiver)},void 0!==(n=null===(r=e.serverInfo)||void 0===r?void 0:r.protocol)&&n>13||this.createDataChannels()})}setupSignalClientCallbacks(){this.client.onAnswer=(e,t)=>eu(this,void 0,void 0,function*(){this.pcManager&&(this.log.debug("received server answer",Object.assign(Object.assign({},this.logContext),{RTCSdpType:e.type,sdp:e.sdp})),yield this.pcManager.setPublisherAnswer(e,t))}),this.client.onTrickle=(e,t)=>{this.pcManager&&(this.log.debug("got ICE candidate from peer",Object.assign(Object.assign({},this.logContext),{candidate:e,target:t})),this.pcManager.addIceCandidate(e,t))},this.client.onOffer=(e,t)=>eu(this,void 0,void 0,function*(){if(this.latestRemoteOfferId=t,!this.pcManager)return;const r=yield this.pcManager.createSubscriberAnswerFromOffer(e,t);r&&this.client.sendAnswer(r,t)}),this.client.onLocalTrackPublished=e=>{var t;if(this.log.debug("received trackPublishedResponse",Object.assign(Object.assign({},this.logContext),{cid:e.cid,track:null===(t=e.track)||void 0===t?void 0:t.sid})),!this.pendingTrackResolvers[e.cid])return void this.log.error("missing track resolver for ".concat(e.cid),Object.assign(Object.assign({},this.logContext),{cid:e.cid}));const{resolve:r}=this.pendingTrackResolvers[e.cid];delete this.pendingTrackResolvers[e.cid],r(e.track)},this.client.onLocalTrackUnpublished=e=>{this.emit(_p.LocalTrackUnpublished,e)},this.client.onLocalTrackSubscribed=e=>{this.emit(_p.LocalTrackSubscribed,e)},this.client.onTokenRefresh=e=>{this.token=e},this.client.onRemoteMuteChanged=(e,t)=>{this.emit(_p.RemoteMute,e,t)},this.client.onSubscribedQualityUpdate=e=>{this.emit(_p.SubscribedQualityUpdate,e)},this.client.onRoomMoved=e=>{var t;this.participantSid=null===(t=e.participant)||void 0===t?void 0:t.sid,this.latestJoinResponse&&(this.latestJoinResponse.room=e.room),this.emit(_p.RoomMoved,e)},this.client.onMediaSectionsRequirement=e=>{var t,r;const i={direction:"recvonly"};for(let n=0;n<e.numAudios;n++)null===(t=this.pcManager)||void 0===t||t.addPublisherTransceiverOfKind("audio",i);for(let n=0;n<e.numVideos;n++)null===(r=this.pcManager)||void 0===r||r.addPublisherTransceiverOfKind("video",i);this.negotiate()},this.client.onClose=()=>{this.handleDisconnect("signal",Wc.RR_SIGNAL_DISCONNECTED)},this.client.onLeave=e=>{switch(this.log.debug("client leave request",Object.assign(Object.assign({},this.logContext),{reason:null==e?void 0:e.reason})),e.regions&&this.regionUrlProvider&&(this.log.debug("updating regions",this.logContext),this.regionUrlProvider.setServerReportedRegions(e.regions)),e.action){case ih.DISCONNECT:this.emit(_p.Disconnected,null==e?void 0:e.reason),this.close();break;case ih.RECONNECT:this.fullReconnectOnNext=!0,this.handleDisconnect(_v);break;case ih.RESUME:this.handleDisconnect(_v)}}}makeRTCConfiguration(e){var t;const r=Object.assign({},this.rtcConfig);if((null===(t=this.signalOpts)||void 0===t?void 0:t.e2eeEnabled)&&(this.log.debug("E2EE - setting up transports with insertable streams",this.logContext),r.encodedInsertableStreams=!0),e.iceServers&&!r.iceServers){const t=[];e.iceServers.forEach(e=>{const r={urls:e.urls};e.username&&(r.username=e.username),e.credential&&(r.credential=e.credential),t.push(r)}),r.iceServers=t}return e.clientConfiguration&&e.clientConfiguration.forceRelay===qc.ENABLED&&(r.iceTransportPolicy="relay"),r.sdpSemantics="unified-plan",r.continualGatheringPolicy="gather_continually",r}createDataChannels(){this.pcManager&&(this.lossyDC&&(this.lossyDC.onmessage=null,this.lossyDC.onerror=null),this.reliableDC&&(this.reliableDC.onmessage=null,this.reliableDC.onerror=null),this.lossyDC=this.pcManager.createPublisherDataChannel(Iv,{ordered:!1,maxRetransmits:0}),this.reliableDC=this.pcManager.createPublisherDataChannel(Pv,{ordered:!0}),this.lossyDC.onmessage=this.handleDataMessage,this.reliableDC.onmessage=this.handleDataMessage,this.lossyDC.onerror=this.handleDataError,this.reliableDC.onerror=this.handleDataError,this.lossyDC.bufferedAmountLowThreshold=65535,this.reliableDC.bufferedAmountLowThreshold=65535,this.lossyDC.onbufferedamountlow=this.handleBufferedAmountLow,this.reliableDC.onbufferedamountlow=this.handleBufferedAmountLow)}createSender(e,t,r){return eu(this,void 0,void 0,function*(){if(vg())return yield this.createTransceiverRTCRtpSender(e,t,r);if(fg())return this.log.warn("using add-track fallback",this.logContext),yield this.createRTCRtpSender(e.mediaStreamTrack);throw new zp("Required webRTC APIs not supported on this device")})}createSimulcastSender(e,t,r,i){return eu(this,void 0,void 0,function*(){if(vg())return this.createSimulcastTransceiverSender(e,t,r,i);if(fg())return this.log.debug("using add-track fallback",this.logContext),this.createRTCRtpSender(e.mediaStreamTrack);throw new zp("Cannot stream on this device")})}createTransceiverRTCRtpSender(e,t,r){return eu(this,void 0,void 0,function*(){if(!this.pcManager)throw new zp("publisher is closed");const i=[];e.mediaStream&&i.push(e.mediaStream),Jg(e)&&(e.codec=t.videoCodec);const n={direction:"sendonly",streams:i};return r&&(n.sendEncodings=r),(yield this.pcManager.addPublisherTransceiver(e.mediaStreamTrack,n)).sender})}createSimulcastTransceiverSender(e,t,r,i){return eu(this,void 0,void 0,function*(){if(!this.pcManager)throw new zp("publisher is closed");const n={direction:"sendonly"};i&&(n.sendEncodings=i);const o=yield this.pcManager.addPublisherTransceiver(t.mediaStreamTrack,n);if(r.videoCodec)return e.setSimulcastTrackSender(r.videoCodec,o.sender),o.sender})}createRTCRtpSender(e){return eu(this,void 0,void 0,function*(){if(!this.pcManager)throw new zp("publisher is closed");return this.pcManager.addPublisherTrack(e)})}attemptReconnect(e){return eu(this,void 0,void 0,function*(){var t,r,i;if(!this._isClosed)if(this.attemptingReconnect)Kh.warn("already attempting reconnect, returning early",this.logContext);else{(null===(t=this.clientConfiguration)||void 0===t?void 0:t.resumeConnection)!==qc.DISABLED&&(null!==(i=null===(r=this.pcManager)||void 0===r?void 0:r.currentState)&&void 0!==i?i:Xm.NEW)!==Xm.NEW||(this.fullReconnectOnNext=!0);try{this.attemptingReconnect=!0,this.fullReconnectOnNext?yield this.restartConnection():yield this.resumeConnection(e),this.clearPendingReconnect(),this.fullReconnectOnNext=!1}catch(Py){this.reconnectAttempts+=1;let t=!0;Py instanceof zp?(this.log.debug("received unrecoverable error",Object.assign(Object.assign({},this.logContext),{error:Py})),t=!1):Py instanceof Vv||(this.fullReconnectOnNext=!0),t?this.handleDisconnect("reconnect",Wc.RR_UNKNOWN):(this.log.info("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(Date.now()-this.reconnectStart,"ms. giving up"),this.logContext),this.emit(_p.Disconnected),yield this.close())}finally{this.attemptingReconnect=!1}}})}getNextRetryDelay(e){try{return this.reconnectPolicy.nextRetryDelayInMs(e)}catch(Py){this.log.warn("encountered error in reconnect policy",Object.assign(Object.assign({},this.logContext),{error:Py}))}return null}restartConnection(e){return eu(this,void 0,void 0,function*(){var t,r,i;try{if(!this.url||!this.token)throw new zp("could not reconnect, url or token not saved");let r;this.log.info("reconnecting, attempt: ".concat(this.reconnectAttempts),this.logContext),this.emit(_p.Restarting),this.client.isDisconnected||(yield this.client.sendLeave()),yield this.cleanupPeerConnections(),yield this.cleanupClient();try{if(!this.signalOpts)throw this.log.warn("attempted connection restart, without signal options present",this.logContext),new Vv;r=yield this.join(null!=e?e:this.url,this.token,this.signalOpts)}catch(Py){if(Py instanceof Lp&&Py.reason===fp.NotAllowed)throw new zp("could not reconnect, token might be expired");throw new Vv}if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(this.client.setReconnected(),this.emit(_p.SignalRestarted,r),yield this.waitForPCReconnected(),this.client.currentState!==ym.CONNECTED)throw new Vv("Signal connection got severed during reconnect");null===(t=this.regionUrlProvider)||void 0===t||t.resetAttempts(),this.emit(_p.Restarted)}catch(n){const e=yield null===(r=this.regionUrlProvider)||void 0===r?void 0:r.getNextBestRegionUrl();if(e)return void(yield this.restartConnection(e));throw null===(i=this.regionUrlProvider)||void 0===i||i.resetAttempts(),n}})}resumeConnection(e){return eu(this,void 0,void 0,function*(){var t;if(!this.url||!this.token)throw new zp("could not reconnect, url or token not saved");if(!this.pcManager)throw new zp("publisher and subscriber connections unset");let r;this.log.info("resuming signal connection, attempt ".concat(this.reconnectAttempts),this.logContext),this.emit(_p.Resuming);try{this.setupSignalClientCallbacks(),r=yield this.client.reconnect(this.url,this.token,this.participantSid,e)}catch(i){let e="";if(i instanceof Error&&(e=i.message,this.log.error(i.message,Object.assign(Object.assign({},this.logContext),{error:i}))),i instanceof Lp&&i.reason===fp.NotAllowed)throw new zp("could not reconnect, token might be expired");if(i instanceof Lp&&i.reason===fp.LeaveRequest)throw i;throw new Vv(e)}if(this.emit(_p.SignalResumed),r){const e=this.makeRTCConfiguration(r);this.pcManager.updateConfiguration(e),this.latestJoinResponse&&(this.latestJoinResponse.serverInfo=r.serverInfo)}else this.log.warn("Did not receive reconnect response",this.logContext);if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(yield this.pcManager.triggerIceRestart(),yield this.waitForPCReconnected(),this.client.currentState!==ym.CONNECTED)throw new Vv("Signal connection got severed during reconnect");this.client.setReconnected(),"open"===(null===(t=this.reliableDC)||void 0===t?void 0:t.readyState)&&null===this.reliableDC.id&&this.createDataChannels(),(null==r?void 0:r.lastMessageSeq)&&this.resendReliableMessagesForResume(r.lastMessageSeq),this.emit(_p.Resumed)})}waitForPCInitialConnection(e,t){return eu(this,void 0,void 0,function*(){if(!this.pcManager)throw new zp("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(t,e)})}waitForPCReconnected(){return eu(this,void 0,void 0,function*(){this.pcState=Mv.Reconnecting,this.log.debug("waiting for peer connection to reconnect",this.logContext);try{if(yield mg(2e3),!this.pcManager)throw new zp("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(void 0,this.peerConnectionTimeout),this.pcState=Mv.Connected}catch(Py){throw this.pcState=Mv.Disconnected,new Lp("could not establish PC connection, ".concat(Py.message),fp.InternalError)}})}publishRpcResponse(e,t,r,i){return eu(this,void 0,void 0,function*(){const n=new ad({destinationIdentities:[e],kind:sd.RELIABLE,value:{case:"rpcResponse",value:new kd({requestId:t,value:i?{case:"error",value:i.toProto()}:{case:"payload",value:null!=r?r:""}})}});yield this.sendDataPacket(n,sd.RELIABLE)})}publishRpcAck(e,t){return eu(this,void 0,void 0,function*(){const r=new ad({destinationIdentities:[e],kind:sd.RELIABLE,value:{case:"rpcAck",value:new bd({requestId:t})}});yield this.sendDataPacket(r,sd.RELIABLE)})}sendDataPacket(e,t){return eu(this,void 0,void 0,function*(){if(yield this.ensurePublisherConnected(t),this.e2eeManager&&this.e2eeManager.isDataChannelEncryptionEnabled){const t=function(e){var t,r,i,n,o;if("sipDtmf"!==(null===(t=e.value)||void 0===t?void 0:t.case)&&"metrics"!==(null===(r=e.value)||void 0===r?void 0:r.case)&&"speaker"!==(null===(i=e.value)||void 0===i?void 0:i.case)&&"transcription"!==(null===(n=e.value)||void 0===n?void 0:n.case)&&"encryptedPacket"!==(null===(o=e.value)||void 0===o?void 0:o.case))return new cd({value:e.value})}(e);if(t){const r=yield this.e2eeManager.encryptData(t.toBinary());e.value={case:"encryptedPacket",value:new ld({encryptedValue:r.payload,iv:r.iv,keyIndex:r.keyIndex})}}}t===sd.RELIABLE&&(e.sequence=this.reliableDataSequence,this.reliableDataSequence+=1);const r=e.toBinary(),i=this.dataChannelForKind(t);if(i){if(t===sd.RELIABLE&&this.reliableMessageBuffer.push({data:r,sequence:e.sequence}),this.attemptingReconnect)return;i.send(r)}this.updateAndEmitDCBufferStatus(t)})}resendReliableMessagesForResume(e){return eu(this,void 0,void 0,function*(){yield this.ensurePublisherConnected(sd.RELIABLE);const t=this.dataChannelForKind(sd.RELIABLE);t&&(this.reliableMessageBuffer.popToSequence(e),this.reliableMessageBuffer.getAll().forEach(e=>{t.send(e.data)})),this.updateAndEmitDCBufferStatus(sd.RELIABLE)})}waitForBufferStatusLow(e){return new Promise((t,r)=>eu(this,void 0,void 0,function*(){if(this.isBufferStatusLow(e))t();else{const i=()=>r("Engine closed");for(this.once(_p.Closing,i);!this.dcBufferStatus.get(e);)yield mg(10);this.off(_p.Closing,i),t()}}))}ensureDataTransportConnected(e){return eu(this,arguments,void 0,function(e){var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscriberPrimary;return function*(){var i;if(!t.pcManager)throw new zp("PC manager is closed");const n=r?t.pcManager.subscriber:t.pcManager.publisher,o=r?"Subscriber":"Publisher";if(!n)throw new Lp("".concat(o," connection not set"),fp.InternalError);let a=!1;r||t.dataChannelForKind(e,r)||(t.createDataChannels(),a=!0),a||r||t.pcManager.publisher.isICEConnected||"checking"===t.pcManager.publisher.getICEConnectionState()||(a=!0),a&&t.negotiate().catch(e=>{Kh.error(e,t.logContext)});const s=t.dataChannelForKind(e,r);if("open"===(null==s?void 0:s.readyState))return;const l=(new Date).getTime()+t.peerConnectionTimeout;for(;(new Date).getTime()<l;){if(n.isICEConnected&&"open"===(null===(i=t.dataChannelForKind(e,r))||void 0===i?void 0:i.readyState))return;yield mg(50)}throw new Lp("could not establish ".concat(o," connection, state: ").concat(n.getICEConnectionState()),fp.InternalError)}()})}ensurePublisherConnected(e){return eu(this,void 0,void 0,function*(){this.publisherConnectionPromise||(this.publisherConnectionPromise=this.ensureDataTransportConnected(e,!1)),yield this.publisherConnectionPromise})}verifyTransport(){return!!this.pcManager&&this.pcManager.currentState===Xm.CONNECTED&&!(!this.client.ws||this.client.ws.readyState===WebSocket.CLOSED)}negotiate(){return eu(this,void 0,void 0,function*(){return new Promise((e,t)=>eu(this,void 0,void 0,function*(){if(!this.pcManager)return void t(new Fp("PC manager is closed"));this.pcManager.requirePublisher(),0!=this.pcManager.publisher.getTransceivers().length||this.lossyDC||this.reliableDC||this.createDataChannels();const r=new AbortController,i=()=>{r.abort(),this.log.debug("engine disconnected while negotiation was ongoing",this.logContext),e()};this.isClosed&&t("cannot negotiate on closed engine"),this.on(_p.Closing,i),this.pcManager.publisher.once(Vm,e=>{const t=new Map;e.forEach(e=>{const r=e.codec.toLowerCase();var i;i=r,og.includes(i)&&t.set(e.payload,r)}),this.emit(_p.RTPVideoMapUpdate,t)});try{yield this.pcManager.negotiate(r),e()}catch(Py){Py instanceof Fp&&(this.fullReconnectOnNext=!0),this.handleDisconnect("negotiation",Wc.RR_UNKNOWN),t(Py)}finally{this.off(_p.Closing,i)}}))})}dataChannelForKind(e,t){if(t){if(e===sd.LOSSY)return this.lossyDCSub;if(e===sd.RELIABLE)return this.reliableDCSub}else{if(e===sd.LOSSY)return this.lossyDC;if(e===sd.RELIABLE)return this.reliableDC}}sendSyncState(e,t){var r,i,n,o;if(!this.pcManager)return void this.log.warn("sync state cannot be sent without peer connection setup",this.logContext);const a=this.pcManager.publisher.getLocalDescription(),s=this.pcManager.publisher.getRemoteDescription(),l=null===(r=this.pcManager.subscriber)||void 0===r?void 0:r.getRemoteDescription(),c=null===(i=this.pcManager.subscriber)||void 0===i?void 0:i.getLocalDescription(),d=null===(o=null===(n=this.signalOpts)||void 0===n?void 0:n.autoSubscribe)||void 0===o||o,h=new Array,u=new Array;e.forEach(e=>{e.isDesired!==d&&h.push(e.trackSid),e.isEnabled||u.push(e.trackSid)}),this.client.sendSyncState(new yh({answer:this.options.singlePeerConnection?s?Tm({sdp:s.sdp,type:s.type}):void 0:c?Tm({sdp:c.sdp,type:c.type}):void 0,offer:this.options.singlePeerConnection?a?Tm({sdp:a.sdp,type:a.type}):void 0:l?Tm({sdp:l.sdp,type:l.type}):void 0,subscription:new Yd({trackSids:h,subscribe:!d,participantTracks:[]}),publishTracks:sm(t),dataChannels:this.dataChannelsInfo(),trackSidsDisabled:u,datachannelReceiveStates:this.reliableReceivedState.map((e,t)=>new xh({publisherSid:t,lastSeq:e}))}))}failNext(){this.shouldFailNext=!0}dataChannelsInfo(){const e=[],t=(t,r)=>{void 0!==(null==t?void 0:t.id)&&null!==t.id&&e.push(new Ch({label:t.label,id:t.id,target:r}))};return t(this.dataChannelForKind(sd.LOSSY),jd.PUBLISHER),t(this.dataChannelForKind(sd.RELIABLE),jd.PUBLISHER),t(this.dataChannelForKind(sd.LOSSY,!0),jd.SUBSCRIBER),t(this.dataChannelForKind(sd.RELIABLE,!0),jd.SUBSCRIBER),e}clearReconnectTimeout(){this.reconnectTimeout&&Qp.clearTimeout(this.reconnectTimeout)}clearPendingReconnect(){this.clearReconnectTimeout(),this.reconnectAttempts=0}registerOnLineListener(){Sg()&&window.addEventListener("online",this.handleBrowserOnLine)}deregisterOnLineListener(){Sg()&&window.removeEventListener("online",this.handleBrowserOnLine)}}class Vv extends Error{}function qv(e,t){const r=e.participantIdentity?e.participantIdentity:t.participantIdentity;e.participantIdentity=r,t.participantIdentity=r;const i=0!==e.destinationIdentities.length?e.destinationIdentities:t.destinationIdentities;e.destinationIdentities=i,t.destinationIdentities=i}class Hv{constructor(e,t){this.lastUpdateAt=0,this.settingsCacheTime=3e3,this.attemptedRegions=[],this.serverUrl=new URL(e),this.token=t}updateToken(e){this.token=e}isCloud(){return Eg(this.serverUrl)}getServerUrl(){return this.serverUrl}getNextBestRegionUrl(e){return eu(this,void 0,void 0,function*(){if(!this.isCloud())throw Error("region availability is only supported for LiveKit Cloud domains");(!this.regionSettings||Date.now()-this.lastUpdateAt>this.settingsCacheTime)&&(this.regionSettings=yield this.fetchRegionSettings(e));const t=this.regionSettings.regions.filter(e=>!this.attemptedRegions.find(t=>t.url===e.url));if(t.length>0){const e=t[0];return this.attemptedRegions.push(e),Kh.debug("next region: ".concat(e.region)),e.url}return null})}resetAttempts(){this.attemptedRegions=[]}fetchRegionSettings(e){return eu(this,void 0,void 0,function*(){const t=yield fetch("".concat((r=this.serverUrl,"".concat(r.protocol.replace("ws","http"),"//").concat(r.host,"/settings")),"/regions"),{headers:{authorization:"Bearer ".concat(this.token)},signal:e});var r;if(t.ok){const e=yield t.json();return this.lastUpdateAt=Date.now(),e}throw new Lp("Could not fetch region settings: ".concat(t.statusText),401===t.status?fp.NotAllowed:fp.InternalError,t.status)})}setServerReportedRegions(e){this.regionSettings=e,this.lastUpdateAt=Date.now()}}class Wv{get info(){return this._info}validateBytesReceived(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if("number"==typeof this.totalByteSize&&0!==this.totalByteSize){if(e&&this.bytesReceived<this.totalByteSize)throw new qp("Not enough chunk(s) received - expected ".concat(this.totalByteSize," bytes of data total, only received ").concat(this.bytesReceived," bytes"),kp.Incomplete);if(this.bytesReceived>this.totalByteSize)throw new qp("Extra chunk(s) received - expected ".concat(this.totalByteSize," bytes of data total, received ").concat(this.bytesReceived," bytes"),kp.LengthExceeded)}}constructor(e,t,r,i){this.reader=t,this.totalByteSize=r,this._info=e,this.bytesReceived=0,this.outOfBandFailureRejectingFuture=i}}class $v extends Wv{handleChunkReceived(e){var t;this.bytesReceived+=e.content.byteLength,this.validateBytesReceived();const r=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;null===(t=this.onProgress)||void 0===t||t.call(this,r)}[Symbol.asyncIterator](){const e=this.reader.getReader();let t=new Fg,r=null,i=null;if(this.signal){const e=this.signal;i=()=>{var r;null===(r=t.reject)||void 0===r||r.call(t,e.reason)},e.addEventListener("abort",i),r=e}const n=()=>{e.releaseLock(),r&&i&&r.removeEventListener("abort",i),this.signal=void 0};return{next:()=>eu(this,void 0,void 0,function*(){var r,i;try{const{done:n,value:o}=yield Promise.race([e.read(),t.promise,null!==(i=null===(r=this.outOfBandFailureRejectingFuture)||void 0===r?void 0:r.promise)&&void 0!==i?i:new Promise(()=>{})]);return n?(this.validateBytesReceived(!0),{done:!0,value:void 0}):(this.handleChunkReceived(o),{done:!1,value:o.content})}catch(o){throw n(),o}}),return(){return eu(this,void 0,void 0,function*(){return n(),{done:!0,value:void 0}})}}}withAbortSignal(e){return this.signal=e,this}readAll(){return eu(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){var r,i,n,o;let a=new Set;const s=t.signal?e.withAbortSignal(t.signal):e;try{for(var l,c=!0,d=tu(s);!(r=(l=yield d.next()).done);c=!0){o=l.value,c=!1;const e=o;a.add(e)}}catch(h){i={error:h}}finally{try{c||r||!(n=d.return)||(yield n.call(d))}finally{if(i)throw i.error}}return Array.from(a)}()})}}class Gv extends Wv{constructor(e,t,r,i){super(e,t,r,i),this.receivedChunks=new Map}handleChunkReceived(e){var t;const r=Hg(e.chunkIndex),i=this.receivedChunks.get(r);if(i&&i.version>e.version)return;this.receivedChunks.set(r,e),this.bytesReceived+=e.content.byteLength,this.validateBytesReceived();const n=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;null===(t=this.onProgress)||void 0===t||t.call(this,n)}[Symbol.asyncIterator](){const e=this.reader.getReader(),t=new TextDecoder("utf-8",{fatal:!0});let r=new Fg,i=null,n=null;if(this.signal){const e=this.signal;n=()=>{var t;null===(t=r.reject)||void 0===t||t.call(r,e.reason)},e.addEventListener("abort",n),i=e}const o=()=>{e.releaseLock(),i&&n&&i.removeEventListener("abort",n),this.signal=void 0};return{next:()=>eu(this,void 0,void 0,function*(){var i,n;try{const{done:o,value:s}=yield Promise.race([e.read(),r.promise,null!==(n=null===(i=this.outOfBandFailureRejectingFuture)||void 0===i?void 0:i.promise)&&void 0!==n?n:new Promise(()=>{})]);if(o)return this.validateBytesReceived(!0),{done:!0,value:void 0};{let e;this.handleChunkReceived(s);try{e=t.decode(s.content)}catch(a){throw new qp("Cannot decode datastream chunk ".concat(s.chunkIndex," as text: ").concat(a),kp.DecodeFailed)}return{done:!1,value:e}}}catch(a){throw o(),a}}),return(){return eu(this,void 0,void 0,function*(){return o(),{done:!0,value:void 0}})}}}withAbortSignal(e){return this.signal=e,this}readAll(){return eu(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){var r,i,n,o;let a="";const s=t.signal?e.withAbortSignal(t.signal):e;try{for(var l,c=!0,d=tu(s);!(r=(l=yield d.next()).done);c=!0)o=l.value,c=!1,a+=o}catch(h){i={error:h}}finally{try{c||r||!(n=d.return)||(yield n.call(d))}finally{if(i)throw i.error}}return a}()})}}class Jv{constructor(){this.log=Kh,this.byteStreamControllers=new Map,this.textStreamControllers=new Map,this.byteStreamHandlers=new Map,this.textStreamHandlers=new Map}registerTextStreamHandler(e,t){if(this.textStreamHandlers.has(e))throw new qp('A text stream handler for topic "'.concat(e,'" has already been set.'),kp.HandlerAlreadyRegistered);this.textStreamHandlers.set(e,t)}unregisterTextStreamHandler(e){this.textStreamHandlers.delete(e)}registerByteStreamHandler(e,t){if(this.byteStreamHandlers.has(e))throw new qp('A byte stream handler for topic "'.concat(e,'" has already been set.'),kp.HandlerAlreadyRegistered);this.byteStreamHandlers.set(e,t)}unregisterByteStreamHandler(e){this.byteStreamHandlers.delete(e)}clearHandlersAndControllers(){this.byteStreamControllers.clear(),this.textStreamControllers.clear(),this.byteStreamHandlers.clear(),this.textStreamHandlers.clear()}validateParticipantHasNoActiveDataStreams(e){var t,r,i,n;const o=Array.from(this.textStreamControllers.entries()).filter(t=>t[1].sendingParticipantIdentity===e),a=Array.from(this.byteStreamControllers.entries()).filter(t=>t[1].sendingParticipantIdentity===e);if(o.length>0||a.length>0){const s=new qp("Participant ".concat(e," unexpectedly disconnected in the middle of sending data"),kp.AbnormalEnd);for(const[e,i]of a)null===(r=(t=i.outOfBandFailureRejectingFuture).reject)||void 0===r||r.call(t,s),this.byteStreamControllers.delete(e);for(const[e,t]of o)null===(n=(i=t.outOfBandFailureRejectingFuture).reject)||void 0===n||n.call(i,s),this.textStreamControllers.delete(e)}}handleDataStreamPacket(e,t){return eu(this,void 0,void 0,function*(){switch(e.value.case){case"streamHeader":return this.handleStreamHeader(e.value.value,e.participantIdentity,t);case"streamChunk":return this.handleStreamChunk(e.value.value,t);case"streamTrailer":return this.handleStreamTrailer(e.value.value,t);default:throw new Error('DataPacket of value "'.concat(e.value.case,'" is not data stream related!'))}})}handleStreamHeader(e,t,r){return eu(this,void 0,void 0,function*(){var i;if("byteHeader"===e.contentHeader.case){const n=this.byteStreamHandlers.get(e.topic);if(!n)return void this.log.debug("ignoring incoming byte stream due to no handler for topic",e.topic);let o;const a=new Fg;a.promise.catch(e=>{this.log.error(e)});const s={id:e.streamId,name:null!==(i=e.contentHeader.value.name)&&void 0!==i?i:"unknown",mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:Hg(e.timestamp),attributes:e.attributes,encryptionType:r},l=new ReadableStream({start:r=>{if(o=r,this.textStreamControllers.has(e.streamId))throw new qp("A data stream read is already in progress for a stream with id ".concat(e.streamId,"."),kp.AlreadyOpened);this.byteStreamControllers.set(e.streamId,{info:s,controller:o,startTime:Date.now(),sendingParticipantIdentity:t,outOfBandFailureRejectingFuture:a})}});n(new $v(s,l,Hg(e.totalLength),a),{identity:t})}else if("textHeader"===e.contentHeader.case){const i=this.textStreamHandlers.get(e.topic);if(!i)return void this.log.debug("ignoring incoming text stream due to no handler for topic",e.topic);let n;const o=new Fg;o.promise.catch(e=>{this.log.error(e)});const a={id:e.streamId,mimeType:e.mimeType,size:e.totalLength?Number(e.totalLength):void 0,topic:e.topic,timestamp:Number(e.timestamp),attributes:e.attributes,encryptionType:r},s=new ReadableStream({start:r=>{if(n=r,this.textStreamControllers.has(e.streamId))throw new qp("A data stream read is already in progress for a stream with id ".concat(e.streamId,"."),kp.AlreadyOpened);this.textStreamControllers.set(e.streamId,{info:a,controller:n,startTime:Date.now(),sendingParticipantIdentity:t,outOfBandFailureRejectingFuture:o})}});i(new Gv(a,s,Hg(e.totalLength),o),{identity:t})}})}handleStreamChunk(e,t){const r=this.byteStreamControllers.get(e.streamId);r&&(r.info.encryptionType!==t?(r.controller.error(new qp("Encryption type mismatch for stream ".concat(e.streamId,". Expected ").concat(t,", got ").concat(r.info.encryptionType),kp.EncryptionTypeMismatch)),this.byteStreamControllers.delete(e.streamId)):e.content.length>0&&r.controller.enqueue(e));const i=this.textStreamControllers.get(e.streamId);i&&(i.info.encryptionType!==t?(i.controller.error(new qp("Encryption type mismatch for stream ".concat(e.streamId,". Expected ").concat(t,", got ").concat(i.info.encryptionType),kp.EncryptionTypeMismatch)),this.textStreamControllers.delete(e.streamId)):e.content.length>0&&i.controller.enqueue(e))}handleStreamTrailer(e,t){const r=this.textStreamControllers.get(e.streamId);r&&(r.info.encryptionType!==t?r.controller.error(new qp("Encryption type mismatch for stream ".concat(e.streamId,". Expected ").concat(t,", got ").concat(r.info.encryptionType),kp.EncryptionTypeMismatch)):(r.info.attributes=Object.assign(Object.assign({},r.info.attributes),e.attributes),r.controller.close(),this.textStreamControllers.delete(e.streamId)));const i=this.byteStreamControllers.get(e.streamId);i&&(i.info.encryptionType!==t?i.controller.error(new qp("Encryption type mismatch for stream ".concat(e.streamId,". Expected ").concat(t,", got ").concat(i.info.encryptionType),kp.EncryptionTypeMismatch)):(i.info.attributes=Object.assign(Object.assign({},i.info.attributes),e.attributes),i.controller.close()),this.byteStreamControllers.delete(e.streamId))}}class Kv{constructor(e,t,r){this.writableStream=e,this.defaultWriter=e.getWriter(),this.onClose=r,this.info=t}write(e){return this.defaultWriter.write(e)}close(){return eu(this,void 0,void 0,function*(){var e;yield this.defaultWriter.close(),this.defaultWriter.releaseLock(),null===(e=this.onClose)||void 0===e||e.call(this)})}}class Qv extends Kv{}class Zv extends Kv{}class Yv{constructor(e,t){this.engine=e,this.log=t}setupEngine(e){this.engine=e}sendText(e,t){return eu(this,void 0,void 0,function*(){var r;const i=crypto.randomUUID(),n=(new TextEncoder).encode(e).byteLength,o=null===(r=null==t?void 0:t.attachments)||void 0===r?void 0:r.map(()=>crypto.randomUUID()),a=new Array(o?o.length+1:1).fill(0),s=(e,r)=>{var i;a[r]=e;const n=a.reduce((e,t)=>e+t,0);null===(i=null==t?void 0:t.onProgress)||void 0===i||i.call(t,n)},l=yield this.streamText({streamId:i,totalSize:n,destinationIdentities:null==t?void 0:t.destinationIdentities,topic:null==t?void 0:t.topic,attachedStreamIds:o,attributes:null==t?void 0:t.attributes});return yield l.write(e),s(1,0),yield l.close(),(null==t?void 0:t.attachments)&&o&&(yield Promise.all(t.attachments.map((e,r)=>eu(this,void 0,void 0,function*(){return this._sendFile(o[r],e,{topic:t.topic,mimeType:e.type,onProgress:e=>{s(e,r+1)}})})))),l.info})}streamText(e){return eu(this,void 0,void 0,function*(){var t,r,i;const n=null!==(t=null==e?void 0:e.streamId)&&void 0!==t?t:crypto.randomUUID(),o={id:n,mimeType:"text/plain",timestamp:Date.now(),topic:null!==(r=null==e?void 0:e.topic)&&void 0!==r?r:"",size:null==e?void 0:e.totalSize,attributes:null==e?void 0:e.attributes,encryptionType:(null===(i=this.engine.e2eeManager)||void 0===i?void 0:i.isDataChannelEncryptionEnabled)?td.GCM:td.NONE},a=new Od({streamId:n,mimeType:o.mimeType,topic:o.topic,timestamp:Wg(o.timestamp),totalLength:Wg(null==e?void 0:e.totalSize),attributes:o.attributes,contentHeader:{case:"textHeader",value:new Rd({version:null==e?void 0:e.version,attachedStreamIds:null==e?void 0:e.attachedStreamIds,replyToStreamId:null==e?void 0:e.replyToStreamId,operationType:"update"===(null==e?void 0:e.type)?Md.UPDATE:Md.CREATE})}}),s=null==e?void 0:e.destinationIdentities,l=new ad({destinationIdentities:s,value:{case:"streamHeader",value:a}});yield this.engine.sendDataPacket(l,sd.RELIABLE);let c=0;const d=this.engine,h=new WritableStream({write(e){return eu(this,void 0,void 0,function*(){for(const t of function(e){const t=[];let r=(new TextEncoder).encode(e);for(;r.length>15e3;){let e=15e3;for(;e>0;){const t=r[e];if(void 0!==t&&128!=(192&t))break;e--}t.push(r.slice(0,e)),r=r.slice(e)}return r.length>0&&t.push(r),t}(e)){yield d.waitForBufferStatusLow(sd.RELIABLE);const e=new Dd({content:t,streamId:n,chunkIndex:Wg(c)}),r=new ad({destinationIdentities:s,value:{case:"streamChunk",value:e}});yield d.sendDataPacket(r,sd.RELIABLE),c+=1}})},close(){return eu(this,void 0,void 0,function*(){const e=new Ld({streamId:n}),t=new ad({destinationIdentities:s,value:{case:"streamTrailer",value:e}});yield d.sendDataPacket(t,sd.RELIABLE)})},abort(e){}});let u=()=>eu(this,void 0,void 0,function*(){yield p.close()});d.once(_p.Closing,u);const p=new Qv(h,o,()=>this.engine.off(_p.Closing,u));return p})}sendFile(e,t){return eu(this,void 0,void 0,function*(){const r=crypto.randomUUID();return yield this._sendFile(r,e,t),{id:r}})}_sendFile(e,t,r){return eu(this,void 0,void 0,function*(){var i;const n=yield this.streamBytes({streamId:e,totalSize:t.size,name:t.name,mimeType:null!==(i=null==r?void 0:r.mimeType)&&void 0!==i?i:t.type,topic:null==r?void 0:r.topic,destinationIdentities:null==r?void 0:r.destinationIdentities}),o=t.stream().getReader();for(;;){const{done:e,value:t}=yield o.read();if(e)break;yield n.write(t)}return yield n.close(),n.info})}streamBytes(e){return eu(this,void 0,void 0,function*(){var t,r,i,n,o,a;const s=null!==(t=null==e?void 0:e.streamId)&&void 0!==t?t:crypto.randomUUID(),l=null==e?void 0:e.destinationIdentities,c={id:s,mimeType:null!==(r=null==e?void 0:e.mimeType)&&void 0!==r?r:"application/octet-stream",topic:null!==(i=null==e?void 0:e.topic)&&void 0!==i?i:"",timestamp:Date.now(),attributes:null==e?void 0:e.attributes,size:null==e?void 0:e.totalSize,name:null!==(n=null==e?void 0:e.name)&&void 0!==n?n:"unknown",encryptionType:(null===(o=this.engine.e2eeManager)||void 0===o?void 0:o.isDataChannelEncryptionEnabled)?td.GCM:td.NONE},d=new Od({totalLength:Wg(null!==(a=c.size)&&void 0!==a?a:0),mimeType:c.mimeType,streamId:s,topic:c.topic,timestamp:Wg(Date.now()),attributes:c.attributes,contentHeader:{case:"byteHeader",value:new Ad({name:c.name})}}),h=new ad({destinationIdentities:l,value:{case:"streamHeader",value:d}});yield this.engine.sendDataPacket(h,sd.RELIABLE);let u=0;const p=new il,g=this.engine,m=this.log,v=new WritableStream({write(e){return eu(this,void 0,void 0,function*(){const t=yield p.lock();let r=0;try{for(;r<e.byteLength;){const t=e.slice(r,r+15e3);yield g.waitForBufferStatusLow(sd.RELIABLE);const i=new ad({destinationIdentities:l,value:{case:"streamChunk",value:new Dd({content:t,streamId:s,chunkIndex:Wg(u)})}});yield g.sendDataPacket(i,sd.RELIABLE),u+=1,r+=t.byteLength}}finally{t()}})},close(){return eu(this,void 0,void 0,function*(){const e=new Ld({streamId:s}),t=new ad({destinationIdentities:l,value:{case:"streamTrailer",value:e}});yield g.sendDataPacket(t,sd.RELIABLE)})},abort(e){m.error("Sink error:",e)}});return new Zv(v,c)})}}class Xv extends eg{constructor(e,t,r,i,n){super(e,r,n),this.sid=t,this.receiver=i}get isLocal(){return!1}setMuted(e){this.isMuted!==e&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?Rp.Muted:Rp.Unmuted,this))}setMediaStream(e){this.mediaStream=e;const t=r=>{r.track===this._mediaStreamTrack&&(e.removeEventListener("removetrack",t),this.receiver&&"playoutDelayHint"in this.receiver&&(this.receiver.playoutDelayHint=void 0),this.receiver=void 0,this._currentBitrate=0,this.emit(Rp.Ended,this))};e.addEventListener("removetrack",t)}start(){this.startMonitor(),super.enable()}stop(){this.stopMonitor(),super.disable()}getRTCStatsReport(){return eu(this,void 0,void 0,function*(){var e;if(null===(e=this.receiver)||void 0===e?void 0:e.getStats)return yield this.receiver.getStats()})}setPlayoutDelay(e){this.receiver?"playoutDelayHint"in this.receiver?this.receiver.playoutDelayHint=e:this.log.warn("Playout delay not supported in this browser"):this.log.warn("Cannot set playout delay, track already ended")}getPlayoutDelay(){if(this.receiver){if("playoutDelayHint"in this.receiver)return this.receiver.playoutDelayHint;this.log.warn("Playout delay not supported in this browser")}else this.log.warn("Cannot get playout delay, track already ended");return 0}startMonitor(){this.monitorInterval||(this.monitorInterval=setInterval(()=>this.monitorReceiver(),ov)),"undefined"!=typeof RTCRtpReceiver&&"getSynchronizationSources"in RTCRtpReceiver&&this.registerTimeSyncUpdate()}registerTimeSyncUpdate(){const e=()=>{var t;this.timeSyncHandle=requestAnimationFrame(()=>e());const r=null===(t=this.receiver)||void 0===t?void 0:t.getSynchronizationSources()[0];if(r){const{timestamp:e,rtpTimestamp:t}=r;t&&this.rtpTimestamp!==t&&(this.emit(Rp.TimeSyncUpdate,{timestamp:e,rtpTimestamp:t}),this.rtpTimestamp=t)}};e()}}class ef extends Xv{constructor(e,t,r,i,n,o){super(e,t,eg.Kind.Audio,r,o),this.monitorReceiver=()=>eu(this,void 0,void 0,function*(){if(!this.receiver)return void(this._currentBitrate=0);const e=yield this.getReceiverStats();e&&this.prevStats&&this.receiver&&(this._currentBitrate=av(e,this.prevStats)),this.prevStats=e}),this.audioContext=i,this.webAudioPluginNodes=[],n&&(this.sinkId=n.deviceId)}setVolume(e){var t;for(const r of this.attachedElements)this.audioContext?null===(t=this.gainNode)||void 0===t||t.gain.setTargetAtTime(e,0,.1):r.volume=e;Tg()&&this._mediaStreamTrack._setVolume(e),this.elementVolume=e}getVolume(){if(this.elementVolume)return this.elementVolume;if(Tg())return 1;let e=0;return this.attachedElements.forEach(t=>{t.volume>e&&(e=t.volume)}),e}setSinkId(e){return eu(this,void 0,void 0,function*(){this.sinkId=e,yield Promise.all(this.attachedElements.map(t=>{if(kg(t))return t.setSinkId(e)}))})}attach(e){const t=0===this.attachedElements.length;return e?super.attach(e):e=super.attach(),this.sinkId&&kg(e)&&e.setSinkId(this.sinkId).catch(e=>{this.log.error("Failed to set sink id on remote audio track",e,this.logContext)}),this.audioContext&&t&&(this.log.debug("using audio context mapping",this.logContext),this.connectWebAudio(this.audioContext,e),e.volume=0,e.muted=!0),this.elementVolume&&this.setVolume(this.elementVolume),e}detach(e){let t;return e?(t=super.detach(e),this.audioContext&&(this.attachedElements.length>0?this.connectWebAudio(this.audioContext,this.attachedElements[0]):this.disconnectWebAudio())):(t=super.detach(),this.disconnectWebAudio()),t}setAudioContext(e){this.audioContext=e,e&&this.attachedElements.length>0?this.connectWebAudio(e,this.attachedElements[0]):e||this.disconnectWebAudio()}setWebAudioPlugins(e){this.webAudioPluginNodes=e,this.attachedElements.length>0&&this.audioContext&&this.connectWebAudio(this.audioContext,this.attachedElements[0])}connectWebAudio(e,t){this.disconnectWebAudio(),this.sourceNode=e.createMediaStreamSource(t.srcObject);let r=this.sourceNode;this.webAudioPluginNodes.forEach(e=>{r.connect(e),r=e}),this.gainNode=e.createGain(),r.connect(this.gainNode),this.gainNode.connect(e.destination),this.elementVolume&&this.gainNode.gain.setTargetAtTime(this.elementVolume,0,.1),"running"!==e.state&&e.resume().then(()=>{"running"!==e.state&&this.emit(Rp.AudioPlaybackFailed,new Error("Audio Context couldn't be started automatically"))}).catch(e=>{this.emit(Rp.AudioPlaybackFailed,e)})}disconnectWebAudio(){var e,t;null===(e=this.gainNode)||void 0===e||e.disconnect(),null===(t=this.sourceNode)||void 0===t||t.disconnect(),this.gainNode=void 0,this.sourceNode=void 0}getReceiverStats(){return eu(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;let e;return(yield this.receiver.getStats()).forEach(t=>{"inbound-rtp"===t.type&&(e={type:"audio",streamId:t.id,timestamp:t.timestamp,jitter:t.jitter,bytesReceived:t.bytesReceived,concealedSamples:t.concealedSamples,concealmentEvents:t.concealmentEvents,silentConcealedSamples:t.silentConcealedSamples,silentConcealmentEvents:t.silentConcealmentEvents,totalAudioEnergy:t.totalAudioEnergy,totalSamplesDuration:t.totalSamplesDuration})}),e})}}class tf extends Xv{constructor(e,t,r,i,n){super(e,t,eg.Kind.Video,r,n),this.elementInfos=[],this.monitorReceiver=()=>eu(this,void 0,void 0,function*(){if(!this.receiver)return void(this._currentBitrate=0);const e=yield this.getReceiverStats();e&&this.prevStats&&this.receiver&&(this._currentBitrate=av(e,this.prevStats)),this.prevStats=e}),this.debouncedHandleResize=zm(()=>{this.updateDimensions()},100),this.adaptiveStreamSettings=i}get isAdaptiveStream(){return void 0!==this.adaptiveStreamSettings}setStreamState(e){super.setStreamState(e),e===eg.StreamState.Active&&this.updateVisibility()}get mediaStreamTrack(){return this._mediaStreamTrack}setMuted(e){super.setMuted(e),this.attachedElements.forEach(t=>{e?rg(this._mediaStreamTrack,t):tg(this._mediaStreamTrack,t)})}attach(e){if(e?super.attach(e):e=super.attach(),this.adaptiveStreamSettings&&void 0===this.elementInfos.find(t=>t.element===e)){const t=new rf(e);this.observeElementInfo(t)}return e}observeElementInfo(e){this.adaptiveStreamSettings&&void 0===this.elementInfos.find(t=>t===e)?(e.handleResize=()=>{this.debouncedHandleResize()},e.handleVisibilityChanged=()=>{this.updateVisibility()},this.elementInfos.push(e),e.observe(),this.debouncedHandleResize(),this.updateVisibility()):this.log.warn("visibility resize observer not triggered",this.logContext)}stopObservingElementInfo(e){if(!this.isAdaptiveStream)return void this.log.warn("stopObservingElementInfo ignored",this.logContext);const t=this.elementInfos.filter(t=>t===e);for(const r of t)r.stopObserving();this.elementInfos=this.elementInfos.filter(t=>t!==e),this.updateVisibility(),this.debouncedHandleResize()}detach(e){let t=[];if(e)return this.stopObservingElement(e),super.detach(e);t=super.detach();for(const r of t)this.stopObservingElement(r);return t}getDecoderImplementation(){var e;return null===(e=this.prevStats)||void 0===e?void 0:e.decoderImplementation}getReceiverStats(){return eu(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;const e=yield this.receiver.getStats();let t,r="",i=new Map;return e.forEach(e=>{"inbound-rtp"===e.type?(r=e.codecId,t={type:"video",streamId:e.id,framesDecoded:e.framesDecoded,framesDropped:e.framesDropped,framesReceived:e.framesReceived,packetsReceived:e.packetsReceived,packetsLost:e.packetsLost,frameWidth:e.frameWidth,frameHeight:e.frameHeight,pliCount:e.pliCount,firCount:e.firCount,nackCount:e.nackCount,jitter:e.jitter,timestamp:e.timestamp,bytesReceived:e.bytesReceived,decoderImplementation:e.decoderImplementation}):"codec"===e.type&&i.set(e.id,e)}),t&&""!==r&&i.get(r)&&(t.mimeType=i.get(r).mimeType),t})}stopObservingElement(e){const t=this.elementInfos.filter(t=>t.element===e);for(const r of t)this.stopObservingElementInfo(r)}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return eu(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),this.isAdaptiveStream&&this.updateVisibility()})}updateVisibility(e){var t,r;const i=this.elementInfos.reduce((e,t)=>Math.max(e,t.visibilityChangedAt||0),0),n=!(null!==(r=null===(t=this.adaptiveStreamSettings)||void 0===t?void 0:t.pauseVideoInBackground)&&void 0!==r&&!r)&&this.isInBackground,o=this.elementInfos.some(e=>e.pictureInPicture),a=this.elementInfos.some(e=>e.visible)&&!n||o;(this.lastVisible!==a||e)&&(!a&&Date.now()-i<100?Qp.setTimeout(()=>{this.updateVisibility()},100):(this.lastVisible=a,this.emit(Rp.VisibilityChanged,a,this)))}updateDimensions(){var e,t;let r=0,i=0;const n=this.getPixelDensity();for(const o of this.elementInfos){const e=o.width()*n,t=o.height()*n;e+t>r+i&&(r=e,i=t)}(null===(e=this.lastDimensions)||void 0===e?void 0:e.width)===r&&(null===(t=this.lastDimensions)||void 0===t?void 0:t.height)===i||(this.lastDimensions={width:r,height:i},this.emit(Rp.VideoDimensionsChanged,this.lastDimensions,this))}getPixelDensity(){var e;const t=null===(e=this.adaptiveStreamSettings)||void 0===e?void 0:e.pixelDensity;return"screen"===t?_g():t||(_g()>2?2:1)}}class rf{get visible(){return this.isPiP||this.isIntersecting}get pictureInPicture(){return this.isPiP}constructor(e,t){this.onVisibilityChanged=e=>{var t;const{target:r,isIntersecting:i}=e;r===this.element&&(this.isIntersecting=i,this.isPiP=nf(this.element),this.visibilityChangedAt=Date.now(),null===(t=this.handleVisibilityChanged)||void 0===t||t.call(this))},this.onEnterPiP=()=>{var e,t,r;null===(t=null===(e=window.documentPictureInPicture)||void 0===e?void 0:e.window)||void 0===t||t.addEventListener("pagehide",this.onLeavePiP),this.isPiP=nf(this.element),null===(r=this.handleVisibilityChanged)||void 0===r||r.call(this)},this.onLeavePiP=()=>{var e;this.isPiP=nf(this.element),null===(e=this.handleVisibilityChanged)||void 0===e||e.call(this)},this.element=e,this.isIntersecting=null!=t?t:of(e),this.isPiP=Sg()&&nf(e),this.visibilityChangedAt=0}width(){return this.element.clientWidth}height(){return this.element.clientHeight}observe(){var e,t,r;this.isIntersecting=of(this.element),this.isPiP=nf(this.element),this.element.handleResize=()=>{var e;null===(e=this.handleResize)||void 0===e||e.call(this)},this.element.handleVisibilityChanged=this.onVisibilityChanged,Ng().observe(this.element),Dg().observe(this.element),this.element.addEventListener("enterpictureinpicture",this.onEnterPiP),this.element.addEventListener("leavepictureinpicture",this.onLeavePiP),null===(e=window.documentPictureInPicture)||void 0===e||e.addEventListener("enter",this.onEnterPiP),null===(r=null===(t=window.documentPictureInPicture)||void 0===t?void 0:t.window)||void 0===r||r.addEventListener("pagehide",this.onLeavePiP)}stopObserving(){var e,t,r,i,n;null===(e=Ng())||void 0===e||e.unobserve(this.element),null===(t=Dg())||void 0===t||t.unobserve(this.element),this.element.removeEventListener("enterpictureinpicture",this.onEnterPiP),this.element.removeEventListener("leavepictureinpicture",this.onLeavePiP),null===(r=window.documentPictureInPicture)||void 0===r||r.removeEventListener("enter",this.onEnterPiP),null===(n=null===(i=window.documentPictureInPicture)||void 0===i?void 0:i.window)||void 0===n||n.removeEventListener("pagehide",this.onLeavePiP)}}function nf(e){var t,r;return document.pictureInPictureElement===e||!!(null===(t=window.documentPictureInPicture)||void 0===t?void 0:t.window)&&of(e,null===(r=window.documentPictureInPicture)||void 0===r?void 0:r.window)}function of(e,t){const r=t||window;let i=e.offsetTop,n=e.offsetLeft;const o=e.offsetWidth,a=e.offsetHeight,{hidden:s}=e,{display:l}=getComputedStyle(e);for(;e.offsetParent;)i+=(e=e.offsetParent).offsetTop,n+=e.offsetLeft;return i<r.pageYOffset+r.innerHeight&&n<r.pageXOffset+r.innerWidth&&i+a>r.pageYOffset&&n+o>r.pageXOffset&&!s&&"none"!==l}class af extends nu.EventEmitter{constructor(e,t,r,i){var n;super(),this.metadataMuted=!1,this.encryption=td.NONE,this.log=Kh,this.handleMuted=()=>{this.emit(Rp.Muted)},this.handleUnmuted=()=>{this.emit(Rp.Unmuted)},this.log=Qh(null!==(n=null==i?void 0:i.loggerName)&&void 0!==n?n:Vh.Publication),this.loggerContextCb=this.loggerContextCb,this.setMaxListeners(100),this.kind=e,this.trackSid=t,this.trackName=r,this.source=eg.Source.Unknown}setTrack(e){this.track&&(this.track.off(Rp.Muted,this.handleMuted),this.track.off(Rp.Unmuted,this.handleUnmuted)),this.track=e,e&&(e.on(Rp.Muted,this.handleMuted),e.on(Rp.Unmuted,this.handleUnmuted))}get logContext(){var e;return Object.assign(Object.assign({},null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this)),lm(this))}get isMuted(){return this.metadataMuted}get isEnabled(){return!0}get isSubscribed(){return void 0!==this.track}get isEncrypted(){return this.encryption!==td.NONE}get audioTrack(){if(Gg(this.track))return this.track}get videoTrack(){if(Jg(this.track))return this.track}updateInfo(e){this.trackSid=e.sid,this.trackName=e.name,this.source=eg.sourceFromProto(e.source),this.mimeType=e.mimeType,this.kind===eg.Kind.Video&&e.width>0&&(this.dimensions={width:e.width,height:e.height},this.simulcasted=e.simulcast),this.encryption=e.encryption,this.trackInfo=e,this.log.debug("update publication info",Object.assign(Object.assign({},this.logContext),{info:e}))}}(Ov=(Av=af||(af={})).SubscriptionStatus||(Av.SubscriptionStatus={})).Desired="desired",Ov.Subscribed="subscribed",Ov.Unsubscribed="unsubscribed",(Dv=Av.PermissionStatus||(Av.PermissionStatus={})).Allowed="allowed",Dv.NotAllowed="not_allowed";class sf extends af{get isUpstreamPaused(){var e;return null===(e=this.track)||void 0===e?void 0:e.isUpstreamPaused}constructor(e,t,r,i){super(e,t.sid,t.name,i),this.track=void 0,this.handleTrackEnded=()=>{this.emit(Rp.Ended)},this.handleCpuConstrained=()=>{this.track&&Jg(this.track)&&this.emit(Rp.CpuConstrained,this.track)},this.updateInfo(t),this.setTrack(r)}setTrack(e){this.track&&(this.track.off(Rp.Ended,this.handleTrackEnded),this.track.off(Rp.CpuConstrained,this.handleCpuConstrained)),super.setTrack(e),e&&(e.on(Rp.Ended,this.handleTrackEnded),e.on(Rp.CpuConstrained,this.handleCpuConstrained))}get isMuted(){return this.track?this.track.isMuted:super.isMuted}get audioTrack(){return super.audioTrack}get videoTrack(){return super.videoTrack}get isLocal(){return!0}mute(){return eu(this,void 0,void 0,function*(){var e;return null===(e=this.track)||void 0===e?void 0:e.mute()})}unmute(){return eu(this,void 0,void 0,function*(){var e;return null===(e=this.track)||void 0===e?void 0:e.unmute()})}pauseUpstream(){return eu(this,void 0,void 0,function*(){var e;yield null===(e=this.track)||void 0===e?void 0:e.pauseUpstream()})}resumeUpstream(){return eu(this,void 0,void 0,function*(){var e;yield null===(e=this.track)||void 0===e?void 0:e.resumeUpstream()})}getTrackFeatures(){var e;if(Gg(this.track)){const t=this.track.getSourceTrackSettings(),r=new Set;return t.autoGainControl&&r.add(Gc.TF_AUTO_GAIN_CONTROL),t.echoCancellation&&r.add(Gc.TF_ECHO_CANCELLATION),t.noiseSuppression&&r.add(Gc.TF_NOISE_SUPPRESSION),t.channelCount&&t.channelCount>1&&r.add(Gc.TF_STEREO),(null===(e=this.options)||void 0===e?void 0:e.dtx)||r.add(Gc.TF_NO_DTX),this.track.enhancedNoiseCancellation&&r.add(Gc.TF_ENHANCED_NOISE_CANCELLATION),Array.from(r.values())}return[]}}function lf(e,t){return eu(this,void 0,void 0,function*(){null!=e||(e={});let r=!1;const{audioProcessor:i,videoProcessor:n,optionsWithoutProcessor:o}=cm(e);let a=o.audio,s=o.video;if(i&&"object"==typeof o.audio&&(o.audio.processor=i),n&&"object"==typeof o.video&&(o.video.processor=n),e.audio&&"object"==typeof o.audio&&"string"==typeof o.audio.deviceId){const e=o.audio.deviceId;o.audio.deviceId={exact:e},r=!0,a=Object.assign(Object.assign({},o.audio),{deviceId:{ideal:e}})}if(o.video&&"object"==typeof o.video&&"string"==typeof o.video.deviceId){const e=o.video.deviceId;o.video.deviceId={exact:e},r=!0,s=Object.assign(Object.assign({},o.video),{deviceId:{ideal:e}})}(!0===o.audio||"object"==typeof o.audio&&!o.audio.deviceId)&&(o.audio={deviceId:"default"}),!0===o.video?o.video={deviceId:"default"}:"object"!=typeof o.video||o.video.deviceId||(o.video.deviceId="default");const l=em(o,Km,Qm),c=rm(l),d=navigator.mediaDevices.getUserMedia(c);o.audio&&(pm.userMediaPromiseMap.set("audioinput",d),d.catch(()=>pm.userMediaPromiseMap.delete("audioinput"))),o.video&&(pm.userMediaPromiseMap.set("videoinput",d),d.catch(()=>pm.userMediaPromiseMap.delete("videoinput")));try{const e=yield d;return yield Promise.all(e.getTracks().map(r=>eu(this,void 0,void 0,function*(){const o="audio"===r.kind;let a,s=o?l.audio:l.video;"boolean"!=typeof s&&s||(s={});const d=o?c.audio:c.video;"boolean"!=typeof d&&(a=d);const h=r.getSettings().deviceId;(null==a?void 0:a.deviceId)&&Bg(a.deviceId)!==h?a.deviceId=h:a||(a={deviceId:h});const u=function(e,t,r){switch(e.kind){case"audio":return new hv(e,t,!1,void 0,r);case"video":return new Cv(e,t,!1,r);default:throw new jp("unsupported track type: ".concat(e.kind))}}(r,a,t);return u.kind===eg.Kind.Video?u.source=eg.Source.Camera:u.kind===eg.Kind.Audio&&(u.source=eg.Source.Microphone),u.mediaStream=e,Gg(u)&&i?yield u.setProcessor(i):Jg(u)&&n&&(yield u.setProcessor(n)),u})))}catch(Py){if(!r)throw Py;return lf(Object.assign(Object.assign({},e),{audio:a,video:s}),t)}})}(Nv=Lv||(Lv={})).Excellent="excellent",Nv.Good="good",Nv.Poor="poor",Nv.Lost="lost",Nv.Unknown="unknown";class cf extends nu.EventEmitter{get logContext(){var e,t;return Object.assign({},null===(t=null===(e=this.loggerOptions)||void 0===e?void 0:e.loggerContextCb)||void 0===t?void 0:t.call(e))}get isEncrypted(){return this.trackPublications.size>0&&Array.from(this.trackPublications.values()).every(e=>e.isEncrypted)}get isAgent(){var e;return(null===(e=this.permissions)||void 0===e?void 0:e.agent)||this.kind===Xc.AGENT}get isActive(){var e;return(null===(e=this.participantInfo)||void 0===e?void 0:e.state)===Yc.ACTIVE}get kind(){return this._kind}get attributes(){return Object.freeze(Object.assign({},this._attributes))}constructor(e,t,r,i,n,o){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:Xc.STANDARD;var s;super(),this.audioLevel=0,this.isSpeaking=!1,this._connectionQuality=Lv.Unknown,this.log=Kh,this.log=Qh(null!==(s=null==o?void 0:o.loggerName)&&void 0!==s?s:Vh.Participant),this.loggerOptions=o,this.setMaxListeners(100),this.sid=e,this.identity=t,this.name=r,this.metadata=i,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this._kind=a,this._attributes=null!=n?n:{}}getTrackPublications(){return Array.from(this.trackPublications.values())}getTrackPublication(e){for(const[,t]of this.trackPublications)if(t.source===e)return t}getTrackPublicationByName(e){for(const[,t]of this.trackPublications)if(t.trackName===e)return t}waitUntilActive(){return this.isActive?Promise.resolve():(this.activeFuture||(this.activeFuture=new Fg,this.once(Ip.Active,()=>{var e,t;null===(t=null===(e=this.activeFuture)||void 0===e?void 0:e.resolve)||void 0===t||t.call(e),this.activeFuture=void 0})),this.activeFuture.promise)}get connectionQuality(){return this._connectionQuality}get isCameraEnabled(){var e;const t=this.getTrackPublication(eg.Source.Camera);return!(null===(e=null==t?void 0:t.isMuted)||void 0===e||e)}get isMicrophoneEnabled(){var e;const t=this.getTrackPublication(eg.Source.Microphone);return!(null===(e=null==t?void 0:t.isMuted)||void 0===e||e)}get isScreenShareEnabled(){return!!this.getTrackPublication(eg.Source.ScreenShare)}get isLocal(){return!1}get joinedAt(){return this.participantInfo?new Date(1e3*Number.parseInt(this.participantInfo.joinedAt.toString())):new Date}updateInfo(e){var t;return!(this.participantInfo&&this.participantInfo.sid===e.sid&&this.participantInfo.version>e.version||(this.identity=e.identity,this.sid=e.sid,this._setName(e.name),this._setMetadata(e.metadata),this._setAttributes(e.attributes),e.state===Yc.ACTIVE&&(null===(t=this.participantInfo)||void 0===t?void 0:t.state)!==Yc.ACTIVE&&this.emit(Ip.Active),e.permission&&this.setPermissions(e.permission),this.participantInfo=e,0))}_setMetadata(e){const t=this.metadata!==e,r=this.metadata;this.metadata=e,t&&this.emit(Ip.ParticipantMetadataChanged,r)}_setName(e){const t=this.name!==e;this.name=e,t&&this.emit(Ip.ParticipantNameChanged,e)}_setAttributes(e){const t=function(e,t){var r;void 0===e&&(e={}),void 0===t&&(t={});const i=[...Object.keys(t),...Object.keys(e)],n={};for(const o of i)e[o]!==t[o]&&(n[o]=null!==(r=t[o])&&void 0!==r?r:"");return n}(this.attributes,e);this._attributes=e,Object.keys(t).length>0&&this.emit(Ip.AttributesChanged,t)}setPermissions(e){var t,r,i,n,o,a;const s=this.permissions,l=e.canPublish!==(null===(t=this.permissions)||void 0===t?void 0:t.canPublish)||e.canSubscribe!==(null===(r=this.permissions)||void 0===r?void 0:r.canSubscribe)||e.canPublishData!==(null===(i=this.permissions)||void 0===i?void 0:i.canPublishData)||e.hidden!==(null===(n=this.permissions)||void 0===n?void 0:n.hidden)||e.recorder!==(null===(o=this.permissions)||void 0===o?void 0:o.recorder)||e.canPublishSources.length!==this.permissions.canPublishSources.length||e.canPublishSources.some((e,t)=>{var r;return e!==(null===(r=this.permissions)||void 0===r?void 0:r.canPublishSources[t])})||e.canSubscribeMetrics!==(null===(a=this.permissions)||void 0===a?void 0:a.canSubscribeMetrics);return this.permissions=e,l&&this.emit(Ip.ParticipantPermissionsChanged,s),l}setIsSpeaking(e){e!==this.isSpeaking&&(this.isSpeaking=e,e&&(this.lastSpokeAt=new Date),this.emit(Ip.IsSpeakingChanged,e))}setConnectionQuality(e){const t=this._connectionQuality;this._connectionQuality=function(e){switch(e){case Vc.EXCELLENT:return Lv.Excellent;case Vc.GOOD:return Lv.Good;case Vc.POOR:return Lv.Poor;case Vc.LOST:return Lv.Lost;default:return Lv.Unknown}}(e),t!==this._connectionQuality&&this.emit(Ip.ConnectionQualityChanged,this._connectionQuality)}setDisconnected(){var e,t;this.activeFuture&&(null===(t=(e=this.activeFuture).reject)||void 0===t||t.call(e,new Error("Participant disconnected")),this.activeFuture=void 0)}setAudioContext(e){this.audioContext=e,this.audioTrackPublications.forEach(t=>Gg(t.track)&&t.track.setAudioContext(e))}addTrackPublication(e){e.on(Rp.Muted,()=>{this.emit(Ip.TrackMuted,e)}),e.on(Rp.Unmuted,()=>{this.emit(Ip.TrackUnmuted,e)});const t=e;switch(t.track&&(t.track.sid=e.trackSid),this.trackPublications.set(e.trackSid,e),e.kind){case eg.Kind.Audio:this.audioTrackPublications.set(e.trackSid,e);break;case eg.Kind.Video:this.videoTrackPublications.set(e.trackSid,e)}}}class df extends cf{constructor(e,t,r,i,n,o){super(e,t,void 0,void 0,void 0,{loggerName:i.loggerName,loggerContextCb:()=>this.engine.logContext}),this.pendingPublishing=new Set,this.pendingPublishPromises=new Map,this.participantTrackPermissions=[],this.allParticipantsAllowedToSubscribe=!0,this.encryptionType=td.NONE,this.enabledPublishVideoCodecs=[],this.pendingAcks=new Map,this.pendingResponses=new Map,this.handleReconnecting=()=>{this.reconnectFuture||(this.reconnectFuture=new Fg)},this.handleReconnected=()=>{var e,t;null===(t=null===(e=this.reconnectFuture)||void 0===e?void 0:e.resolve)||void 0===t||t.call(e),this.reconnectFuture=void 0,this.updateTrackSubscriptionPermissions()},this.handleClosing=()=>{var e,t,r,i,n,o;this.reconnectFuture&&(this.reconnectFuture.promise.catch(e=>this.log.warn(e.message,this.logContext)),null===(t=null===(e=this.reconnectFuture)||void 0===e?void 0:e.reject)||void 0===t||t.call(e,"Got disconnected during reconnection attempt"),this.reconnectFuture=void 0),this.signalConnectedFuture&&(null===(i=(r=this.signalConnectedFuture).reject)||void 0===i||i.call(r,"Got disconnected without signal connected"),this.signalConnectedFuture=void 0),null===(o=null===(n=this.activeAgentFuture)||void 0===n?void 0:n.reject)||void 0===o||o.call(n,"Got disconnected without active agent present"),this.activeAgentFuture=void 0,this.firstActiveAgent=void 0},this.handleSignalConnected=e=>{var t,r;e.participant&&this.updateInfo(e.participant),this.signalConnectedFuture||(this.signalConnectedFuture=new Fg),null===(r=(t=this.signalConnectedFuture).resolve)||void 0===r||r.call(t)},this.handleSignalRequestResponse=e=>{const{requestId:t,reason:r,message:i}=e,n=this.pendingSignalRequests.get(t);n&&(r!==Rh.OK&&n.reject(new Vp(i,r)),this.pendingSignalRequests.delete(t))},this.handleDataPacket=e=>{switch(e.value.case){case"rpcResponse":let t=e.value.value,r=null,i=null;"payload"===t.value.case?r=t.value.value:"error"===t.value.case&&(i=rv.fromProto(t.value.value)),this.handleIncomingRpcResponse(t.requestId,r,i);break;case"rpcAck":let n=e.value.value;this.handleIncomingRpcAck(n.requestId)}},this.updateTrackSubscriptionPermissions=()=>{this.log.debug("updating track subscription permissions",Object.assign(Object.assign({},this.logContext),{allParticipantsAllowed:this.allParticipantsAllowedToSubscribe,participantTrackPermissions:this.participantTrackPermissions})),this.engine.client.sendUpdateSubscriptionPermissions(this.allParticipantsAllowedToSubscribe,this.participantTrackPermissions.map(e=>function(e){var t,r,i;if(!e.participantSid&&!e.participantIdentity)throw new Error("Invalid track permission, must provide at least one of participantIdentity and participantSid");return new fh({participantIdentity:null!==(t=e.participantIdentity)&&void 0!==t?t:"",participantSid:null!==(r=e.participantSid)&&void 0!==r?r:"",allTracks:null!==(i=e.allowAll)&&void 0!==i&&i,trackSids:e.allowedTrackSids||[]})}(e)))},this.onTrackUnmuted=e=>{this.onTrackMuted(e,e.isUpstreamPaused)},this.onTrackMuted=(e,t)=>{void 0===t&&(t=!0),e.sid?this.engine.updateMuteStatus(e.sid,t):this.log.error("could not update mute status for unpublished track",Object.assign(Object.assign({},this.logContext),lm(e)))},this.onTrackUpstreamPaused=e=>{this.log.debug("upstream paused",Object.assign(Object.assign({},this.logContext),lm(e))),this.onTrackMuted(e,!0)},this.onTrackUpstreamResumed=e=>{this.log.debug("upstream resumed",Object.assign(Object.assign({},this.logContext),lm(e))),this.onTrackMuted(e,e.isMuted)},this.onTrackFeatureUpdate=e=>{const t=this.audioTrackPublications.get(e.sid);t?this.engine.client.sendUpdateLocalAudioTrack(t.trackSid,t.getTrackFeatures()):this.log.warn("Could not update local audio track settings, missing publication for track ".concat(e.sid),this.logContext)},this.onTrackCpuConstrained=(e,t)=>{this.log.debug("track cpu constrained",Object.assign(Object.assign({},this.logContext),lm(t))),this.emit(Ip.LocalTrackCpuConstrained,e,t)},this.handleSubscribedQualityUpdate=e=>eu(this,void 0,void 0,function*(){var t,r,i,n,o;if(!(null===(o=this.roomOptions)||void 0===o?void 0:o.dynacast))return;const a=this.videoTrackPublications.get(e.trackSid);if(!a)return void this.log.warn("received subscribed quality update for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:e.trackSid}));if(!a.videoTrack)return;const s=yield a.videoTrack.setPublishingCodecs(e.subscribedCodecs);try{for(var l,c=!0,d=tu(s);!(t=(l=yield d.next()).done);c=!0){n=l.value,c=!1;const e=n;ag(e)&&(this.log.debug("publish ".concat(e," for ").concat(a.videoTrack.sid),Object.assign(Object.assign({},this.logContext),lm(a))),yield this.publishAdditionalCodecForTrack(a.videoTrack,e,a.options))}}catch(h){r={error:h}}finally{try{c||t||!(i=d.return)||(yield i.call(d))}finally{if(r)throw r.error}}}),this.handleLocalTrackUnpublished=e=>{const t=this.trackPublications.get(e.trackSid);t?this.unpublishTrack(t.track):this.log.warn("received unpublished event for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:e.trackSid}))},this.handleTrackEnded=e=>eu(this,void 0,void 0,function*(){if(e.source===eg.Source.ScreenShare||e.source===eg.Source.ScreenShareAudio)this.log.debug("unpublishing local track due to TrackEnded",Object.assign(Object.assign({},this.logContext),lm(e))),this.unpublishTrack(e);else if(e.isUserProvided)yield e.mute();else if(Qg(e)||Kg(e))try{if(Sg())try{const t=yield null===navigator||void 0===navigator?void 0:navigator.permissions.query({name:e.source===eg.Source.Camera?"camera":"microphone"});if(t&&"denied"===t.state)throw this.log.warn("user has revoked access to ".concat(e.source),Object.assign(Object.assign({},this.logContext),lm(e))),t.onchange=()=>{"denied"!==t.state&&(e.isMuted||e.restartTrack(),t.onchange=null)},new Error("GetUserMedia Permission denied")}catch(Py){}e.isMuted||(this.log.debug("track ended, attempting to use a different device",Object.assign(Object.assign({},this.logContext),lm(e))),Qg(e)?yield e.restartTrack({deviceId:"default"}):yield e.restartTrack())}catch(Py){this.log.warn("could not restart track, muting instead",Object.assign(Object.assign({},this.logContext),lm(e))),yield e.mute()}}),this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this.engine=r,this.roomOptions=i,this.setupEngine(r),this.activeDeviceMap=new Map([["audioinput","default"],["videoinput","default"],["audiooutput","default"]]),this.pendingSignalRequests=new Map,this.rpcHandlers=n,this.roomOutgoingDataStreamManager=o}get lastCameraError(){return this.cameraError}get lastMicrophoneError(){return this.microphoneError}get isE2EEEnabled(){return this.encryptionType!==td.NONE}getTrackPublication(e){const t=super.getTrackPublication(e);if(t)return t}getTrackPublicationByName(e){const t=super.getTrackPublicationByName(e);if(t)return t}setupEngine(e){var t;this.engine=e,this.engine.on(_p.RemoteMute,(e,t)=>{const r=this.trackPublications.get(e);r&&r.track&&(t?r.mute():r.unmute())}),(null===(t=this.signalConnectedFuture)||void 0===t?void 0:t.isResolved)&&(this.signalConnectedFuture=void 0),this.engine.on(_p.Connected,this.handleReconnected).on(_p.SignalConnected,this.handleSignalConnected).on(_p.SignalRestarted,this.handleReconnected).on(_p.SignalResumed,this.handleReconnected).on(_p.Restarting,this.handleReconnecting).on(_p.Resuming,this.handleReconnecting).on(_p.LocalTrackUnpublished,this.handleLocalTrackUnpublished).on(_p.SubscribedQualityUpdate,this.handleSubscribedQualityUpdate).on(_p.Closing,this.handleClosing).on(_p.SignalRequestResponse,this.handleSignalRequestResponse).on(_p.DataPacketReceived,this.handleDataPacket)}setMetadata(e){return eu(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({metadata:e})})}setName(e){return eu(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({name:e})})}setAttributes(e){return eu(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({attributes:e})})}requestMetadataUpdate(e){return eu(this,arguments,void 0,function(e){var t=this;let{metadata:r,name:i,attributes:n}=e;return function*(){return new Promise((e,o)=>eu(t,void 0,void 0,function*(){var t,a;try{let s=!1;const l=yield this.engine.client.sendUpdateLocalMetadata(null!==(t=null!=r?r:this.metadata)&&void 0!==t?t:"",null!==(a=null!=i?i:this.name)&&void 0!==a?a:"",n),c=performance.now();for(this.pendingSignalRequests.set(l,{resolve:e,reject:e=>{o(e),s=!0},values:{name:i,metadata:r,attributes:n}});performance.now()-c<5e3&&!s;){if((!i||this.name===i)&&(!r||this.metadata===r)&&(!n||Object.entries(n).every(e=>{let[t,r]=e;return this.attributes[t]===r||""===r&&!this.attributes[t]})))return this.pendingSignalRequests.delete(l),void e();yield mg(50)}o(new Vp("Request to update local metadata timed out","TimeoutError"))}catch(Py){Py instanceof Error&&o(Py)}}))}()})}setCameraEnabled(e,t,r){return this.setTrackEnabled(eg.Source.Camera,e,t,r)}setMicrophoneEnabled(e,t,r){return this.setTrackEnabled(eg.Source.Microphone,e,t,r)}setScreenShareEnabled(e,t,r){return this.setTrackEnabled(eg.Source.ScreenShare,e,t,r)}setE2EEEnabled(e){return eu(this,void 0,void 0,function*(){this.encryptionType=e?td.GCM:td.NONE,yield this.republishAllTracks(void 0,!1)})}setTrackEnabled(e,t,r,i){return eu(this,void 0,void 0,function*(){var n,o;this.log.debug("setTrackEnabled",Object.assign(Object.assign({},this.logContext),{source:e,enabled:t})),this.republishPromise&&(yield this.republishPromise);let a=this.getTrackPublication(e);if(t)if(a)yield a.unmute();else{let t;if(this.pendingPublishing.has(e)){const t=yield this.waitForPendingPublicationOfSource(e);return t||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e})),yield null==t?void 0:t.unmute(),t}this.pendingPublishing.add(e);try{switch(e){case eg.Source.Camera:t=yield this.createTracks({video:null===(n=r)||void 0===n||n});break;case eg.Source.Microphone:t=yield this.createTracks({audio:null===(o=r)||void 0===o||o});break;case eg.Source.ScreenShare:t=yield this.createScreenTracks(Object.assign({},r));break;default:throw new jp(e)}}catch(Py){throw null==t||t.forEach(e=>{e.stop()}),Py instanceof Error&&this.emit(Ip.MediaDevicesError,Py,om(e)),this.pendingPublishing.delete(e),Py}for(const i of t){const t=Object.assign(Object.assign({},this.roomOptions.publishDefaults),r);e===eg.Source.Microphone&&Gg(i)&&t.preConnectBuffer&&(this.log.info("starting preconnect buffer for microphone",Object.assign({},this.logContext)),i.startPreConnectBuffer())}try{const e=[];for(const n of t)this.log.info("publishing track",Object.assign(Object.assign({},this.logContext),lm(n))),e.push(this.publishTrack(n,i));const r=yield Promise.all(e);[a]=r}catch(Py){throw null==t||t.forEach(e=>{e.stop()}),Py}finally{this.pendingPublishing.delete(e)}}else if(!(null==a?void 0:a.track)&&this.pendingPublishing.has(e)&&(a=yield this.waitForPendingPublicationOfSource(e),a||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e}))),a&&a.track)if(e===eg.Source.ScreenShare){a=yield this.unpublishTrack(a.track);const e=this.getTrackPublication(eg.Source.ScreenShareAudio);e&&e.track&&this.unpublishTrack(e.track)}else yield a.mute();return a})}enableCameraAndMicrophone(){return eu(this,void 0,void 0,function*(){if(!this.pendingPublishing.has(eg.Source.Camera)&&!this.pendingPublishing.has(eg.Source.Microphone)){this.pendingPublishing.add(eg.Source.Camera),this.pendingPublishing.add(eg.Source.Microphone);try{const e=yield this.createTracks({audio:!0,video:!0});yield Promise.all(e.map(e=>this.publishTrack(e)))}finally{this.pendingPublishing.delete(eg.Source.Camera),this.pendingPublishing.delete(eg.Source.Microphone)}}})}createTracks(e){return eu(this,void 0,void 0,function*(){var t,r;null!=e||(e={});const i=em(e,null===(t=this.roomOptions)||void 0===t?void 0:t.audioCaptureDefaults,null===(r=this.roomOptions)||void 0===r?void 0:r.videoCaptureDefaults);try{return(yield lf(i,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext})).map(e=>(Gg(e)&&(this.microphoneError=void 0,e.setAudioContext(this.audioContext),e.source=eg.Source.Microphone,this.emit(Ip.AudioStreamAcquired)),Jg(e)&&(this.cameraError=void 0,e.source=eg.Source.Camera),e))}catch(n){throw n instanceof Error&&(e.audio&&(this.microphoneError=n),e.video&&(this.cameraError=n)),n}})}createScreenTracks(e){return eu(this,void 0,void 0,function*(){if(void 0===e&&(e={}),void 0===navigator.mediaDevices.getDisplayMedia)throw new Np("getDisplayMedia not supported");void 0!==e.resolution||function(){const e=$p();return"Safari"===(null==e?void 0:e.name)&&e.version.startsWith("17.")||"iOS"===(null==e?void 0:e.os)&&!!(null==e?void 0:e.osVersion)&&Mg(e.osVersion,"17")>=0}()||(e.resolution=pg.h1080fps30.resolution);const t=function(e){var t,r;let i=null===(t=e.video)||void 0===t||t;return e.resolution&&e.resolution.width>0&&e.resolution.height>0&&(i="boolean"==typeof i?{}:i,i=yg()?Object.assign(Object.assign({},i),{width:{max:e.resolution.width},height:{max:e.resolution.height},frameRate:e.resolution.frameRate}):Object.assign(Object.assign({},i),{width:{ideal:e.resolution.width},height:{ideal:e.resolution.height},frameRate:e.resolution.frameRate})),{audio:null!==(r=e.audio)&&void 0!==r&&r,video:i,controller:e.controller,selfBrowserSurface:e.selfBrowserSurface,surfaceSwitching:e.surfaceSwitching,systemAudio:e.systemAudio,preferCurrentTab:e.preferCurrentTab}}(e),r=yield navigator.mediaDevices.getDisplayMedia(t),i=r.getVideoTracks();if(0===i.length)throw new jp("no video track found");const n=new Cv(i[0],void 0,!1,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});n.source=eg.Source.ScreenShare,e.contentHint&&(n.mediaStreamTrack.contentHint=e.contentHint);const o=[n];if(r.getAudioTracks().length>0){this.emit(Ip.AudioStreamAcquired);const e=new hv(r.getAudioTracks()[0],void 0,!1,this.audioContext,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});e.source=eg.Source.ScreenShareAudio,o.push(e)}return o})}publishTrack(e,t){return eu(this,void 0,void 0,function*(){return this.publishOrRepublishTrack(e,t)})}publishOrRepublishTrack(e,t){return eu(this,arguments,void 0,function(e,t){var r=this;let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function*(){var n,o,a,s;let l,c;if(Qg(e)&&e.setAudioContext(r.audioContext),yield null===(n=r.reconnectFuture)||void 0===n?void 0:n.promise,r.republishPromise&&!i&&(yield r.republishPromise),$g(e)&&r.pendingPublishPromises.has(e)&&(yield r.pendingPublishPromises.get(e)),e instanceof MediaStreamTrack)l=e.getConstraints();else{let t;switch(l=e.constraints,e.source){case eg.Source.Microphone:t="audioinput";break;case eg.Source.Camera:t="videoinput"}t&&r.activeDeviceMap.has(t)&&(l=Object.assign(Object.assign({},l),{deviceId:r.activeDeviceMap.get(t)}))}if(e instanceof MediaStreamTrack)switch(e.kind){case"audio":e=new hv(e,l,!0,r.audioContext,{loggerName:r.roomOptions.loggerName,loggerContextCb:()=>r.logContext});break;case"video":e=new Cv(e,l,!0,{loggerName:r.roomOptions.loggerName,loggerContextCb:()=>r.logContext});break;default:throw new jp("unsupported MediaStreamTrack kind ".concat(e.kind))}else e.updateLoggerOptions({loggerName:r.roomOptions.loggerName,loggerContextCb:()=>r.logContext});if(r.trackPublications.forEach(t=>{t.track&&t.track===e&&(c=t)}),c)return r.log.warn("track has already been published, skipping",Object.assign(Object.assign({},r.logContext),lm(c))),c;const d=Object.assign(Object.assign({},r.roomOptions.publishDefaults),t),h="channelCount"in e.mediaStreamTrack.getSettings()&&2===e.mediaStreamTrack.getSettings().channelCount||2===e.mediaStreamTrack.getConstraints().channelCount,u=null!==(o=d.forceStereo)&&void 0!==o?o:h;u&&(void 0===d.dtx&&r.log.info("Opus DTX will be disabled for stereo tracks by default. Enable them explicitly to make it work.",Object.assign(Object.assign({},r.logContext),lm(e))),void 0===d.red&&r.log.info("Opus RED will be disabled for stereo tracks by default. Enable them explicitly to make it work."),null!==(a=d.dtx)&&void 0!==a||(d.dtx=!1),null!==(s=d.red)&&void 0!==s||(d.red=!1)),!function(){const e=$p(),t="17.2";if(e)return"Safari"!==e.name&&"iOS"!==e.os||!!("iOS"===e.os&&e.osVersion&&Mg(e.osVersion,t)>=0)||"Safari"===e.name&&Mg(e.version,t)>=0}()&&r.roomOptions.e2ee&&(r.log.info("End-to-end encryption is set up, simulcast publishing will be disabled on Safari versions and iOS browsers running iOS < v17.2",Object.assign({},r.logContext)),d.simulcast=!1),d.source&&(e.source=d.source);const p=new Promise((t,i)=>eu(r,void 0,void 0,function*(){try{if(this.engine.client.currentState!==ym.CONNECTED){this.log.debug("deferring track publication until signal is connected",Object.assign(Object.assign({},this.logContext),{track:lm(e)}));const r=setTimeout(()=>{i(new Bp("publishing rejected as engine not connected within timeout",408))},15e3);yield this.waitUntilEngineConnected(),clearTimeout(r);const n=yield this.publish(e,d,u);t(n)}else try{const r=yield this.publish(e,d,u);t(r)}catch(Py){i(Py)}}catch(Py){i(Py)}}));r.pendingPublishPromises.set(e,p);try{return yield p}catch(Py){throw Py}finally{r.pendingPublishPromises.delete(e)}}()})}waitUntilEngineConnected(){return this.signalConnectedFuture||(this.signalConnectedFuture=new Fg),this.signalConnectedFuture.promise}hasPermissionsToPublish(e){if(!this.permissions)return this.log.warn("no permissions present for publishing track",Object.assign(Object.assign({},this.logContext),lm(e))),!1;const{canPublish:t,canPublishSources:r}=this.permissions;return!(!t||0!==r.length&&!r.map(e=>function(e){switch(e){case Fc.CAMERA:return eg.Source.Camera;case Fc.MICROPHONE:return eg.Source.Microphone;case Fc.SCREEN_SHARE:return eg.Source.ScreenShare;case Fc.SCREEN_SHARE_AUDIO:return eg.Source.ScreenShareAudio;default:return eg.Source.Unknown}}(e)).includes(e.source))||(this.log.warn("insufficient permissions to publish",Object.assign(Object.assign({},this.logContext),lm(e))),!1)}publish(e,t,r){return eu(this,void 0,void 0,function*(){var i,n,o,a,s,l,c,d,h,u;if(!this.hasPermissionsToPublish(e))throw new Bp("failed to publish track, insufficient permissions",403);Array.from(this.trackPublications.values()).find(t=>$g(e)&&t.source===e.source)&&e.source!==eg.Source.Unknown&&this.log.info("publishing a second track with the same source: ".concat(e.source),Object.assign(Object.assign({},this.logContext),lm(e))),t.stopMicTrackOnMute&&Gg(e)&&(e.stopOnMute=!0),e.source===eg.Source.ScreenShare&&wg()&&(t.simulcast=!1),"av1"!==t.videoCodec||function(){if(!("getCapabilities"in RTCRtpSender))return!1;if(yg()||wg())return!1;const e=RTCRtpSender.getCapabilities("video");let t=!1;if(e)for(const r of e.codecs)if("video/av1"===r.mimeType.toLowerCase()){t=!0;break}return t}()||(t.videoCodec=void 0),"vp9"!==t.videoCodec||function(){if(!("getCapabilities"in RTCRtpSender))return!1;if(wg())return!1;if(yg()){const e=$p();if((null==e?void 0:e.version)&&Mg(e.version,"16")<0)return!1;if("iOS"===(null==e?void 0:e.os)&&(null==e?void 0:e.osVersion)&&Mg(e.osVersion,"16")<0)return!1}const e=RTCRtpSender.getCapabilities("video");let t=!1;if(e)for(const r of e.codecs)if("video/vp9"===r.mimeType.toLowerCase()){t=!0;break}return t}()||(t.videoCodec=void 0),void 0===t.videoCodec&&(t.videoCodec=Gm),this.enabledPublishVideoCodecs.length>0&&(this.enabledPublishVideoCodecs.some(e=>t.videoCodec===am(e.mime))||(t.videoCodec=am(this.enabledPublishVideoCodecs[0].mime)));const p=t.videoCodec;e.on(Rp.Muted,this.onTrackMuted),e.on(Rp.Unmuted,this.onTrackUnmuted),e.on(Rp.Ended,this.handleTrackEnded),e.on(Rp.UpstreamPaused,this.onTrackUpstreamPaused),e.on(Rp.UpstreamResumed,this.onTrackUpstreamResumed),e.on(Rp.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate);const g=[],m=!(null===(i=t.dtx)||void 0===i||i),v=e.getSourceTrackSettings();v.autoGainControl&&g.push(Gc.TF_AUTO_GAIN_CONTROL),v.echoCancellation&&g.push(Gc.TF_ECHO_CANCELLATION),v.noiseSuppression&&g.push(Gc.TF_NOISE_SUPPRESSION),v.channelCount&&v.channelCount>1&&g.push(Gc.TF_STEREO),m&&g.push(Gc.TF_NO_DTX),Qg(e)&&e.hasPreConnectBuffer&&g.push(Gc.TF_PRECONNECT_BUFFER);const f=new qd({cid:e.mediaStreamTrack.id,name:t.name,type:eg.kindToProto(e.kind),muted:e.isMuted,source:eg.sourceToProto(e.source),disableDtx:m,encryption:this.encryptionType,stereo:r,disableRed:this.isE2EEEnabled||!(null===(n=t.red)||void 0===n||n),stream:null==t?void 0:t.stream,backupCodecPolicy:null==t?void 0:t.backupCodecPolicy,audioFeatures:g});let b;if(e.kind===eg.Kind.Video){let r={width:0,height:0};try{r=yield e.waitForDimensions()}catch(Py){const i=null!==(a=null===(o=this.roomOptions.videoCaptureDefaults)||void 0===o?void 0:o.resolution)&&void 0!==a?a:hg.h720.resolution;r={width:i.width,height:i.height},this.log.error("could not determine track dimensions, using defaults",Object.assign(Object.assign(Object.assign({},this.logContext),lm(e)),{dims:r}))}f.width=r.width,f.height=r.height,Kg(e)&&(bg(p)&&(e.source===eg.Source.ScreenShare&&(t.scalabilityMode="L1T3","contentHint"in e.mediaStreamTrack&&(e.mediaStreamTrack.contentHint="motion",this.log.info("forcing contentHint to motion for screenshare with SVC codecs",Object.assign(Object.assign({},this.logContext),lm(e))))),t.scalabilityMode=null!==(s=t.scalabilityMode)&&void 0!==s?s:"L3T3_KEY"),f.simulcastCodecs=[new Vd({codec:p,cid:e.mediaStreamTrack.id})],!0===t.backupCodec&&(t.backupCodec={codec:Gm}),t.backupCodec&&p!==t.backupCodec.codec&&f.encryption===td.NONE&&(this.roomOptions.dynacast||(this.roomOptions.dynacast=!0),f.simulcastCodecs.push(new Vd({codec:t.backupCodec.codec,cid:""})))),b=bv(e.source===eg.Source.ScreenShare,f.width,f.height,t),f.layers=Ev(f.width,f.height,b,bg(t.videoCodec))}else e.kind===eg.Kind.Audio&&(b=[{maxBitrate:null===(l=t.audioPreset)||void 0===l?void 0:l.maxBitrate,priority:null!==(d=null===(c=t.audioPreset)||void 0===c?void 0:c.priority)&&void 0!==d?d:"high",networkPriority:null!==(u=null===(h=t.audioPreset)||void 0===h?void 0:h.priority)&&void 0!==u?u:"high"}]);if(!this.engine||this.engine.isClosed)throw new zp("cannot publish track when not connected");const k=()=>eu(this,void 0,void 0,function*(){var r,i,n;if(!this.engine.pcManager)throw new zp("pcManager is not ready");if(e.sender=yield this.engine.createSender(e,t,b),this.emit(Ip.LocalSenderCreated,e.sender,e),Kg(e)&&(null!==(r=t.degradationPreference)&&void 0!==r||(t.degradationPreference=function(e){return e.source===eg.Source.ScreenShare||e.constraints.height&&Bg(e.constraints.height)>=1080?"maintain-resolution":"balanced"}(e)),e.setDegradationPreference(t.degradationPreference)),b)if(wg()&&e.kind===eg.Kind.Audio){let t;for(const r of this.engine.pcManager.publisher.getTransceivers())if(r.sender===e.sender){t=r;break}t&&this.engine.pcManager.publisher.setTrackCodecBitrate({transceiver:t,codec:"opus",maxbr:(null===(i=b[0])||void 0===i?void 0:i.maxBitrate)?b[0].maxBitrate/1e3:0})}else e.codec&&bg(e.codec)&&(null===(n=b[0])||void 0===n?void 0:n.maxBitrate)&&this.engine.pcManager.publisher.setTrackCodecBitrate({cid:f.cid,codec:e.codec,maxbr:b[0].maxBitrate/1e3});yield this.engine.negotiate()});let w;const y=new Promise((t,r)=>eu(this,void 0,void 0,function*(){var i;try{w=yield this.engine.addTrack(f),t(w)}catch(n){e.sender&&(null===(i=this.engine.pcManager)||void 0===i?void 0:i.publisher)&&(this.engine.pcManager.publisher.removeTrack(e.sender),yield this.engine.negotiate().catch(t=>{this.log.error("failed to negotiate after removing track due to failed add track request",Object.assign(Object.assign(Object.assign({},this.logContext),lm(e)),{error:t}))})),r(n)}}));if(this.enabledPublishVideoCodecs.length>0){const e=yield Promise.all([y,k()]);w=e[0]}else{let r;if(w=yield y,w.codecs.forEach(e=>{void 0===r&&(r=e.mimeType)}),r&&e.kind===eg.Kind.Video){const i=am(r);i!==p&&(this.log.debug("falling back to server selected codec",Object.assign(Object.assign(Object.assign({},this.logContext),lm(e)),{codec:i})),t.videoCodec=i,b=bv(e.source===eg.Source.ScreenShare,f.width,f.height,t))}yield k()}const x=new sf(e.kind,w,e,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});if(x.on(Rp.CpuConstrained,e=>this.onTrackCpuConstrained(e,x)),x.options=t,e.sid=w.sid,this.log.debug("publishing ".concat(e.kind," with encodings"),Object.assign(Object.assign({},this.logContext),{encodings:b,trackInfo:w})),Kg(e)?e.startMonitor(this.engine.client):Qg(e)&&e.startMonitor(),this.addTrackPublication(x),this.emit(Ip.LocalTrackPublished,x),Qg(e)&&w.audioFeatures.includes(Gc.TF_PRECONNECT_BUFFER)){const t=e.getPreConnectBuffer(),r=e.getPreConnectBufferMimeType();this.on(Ip.LocalTrackSubscribed,t=>{if(t.trackSid===w.sid){if(!e.hasPreConnectBuffer)return void this.log.warn("subscribe event came to late, buffer already closed",this.logContext);this.log.debug("finished recording preconnect buffer",Object.assign(Object.assign({},this.logContext),lm(e))),e.stopPreConnectBuffer()}}),t&&new Promise((i,n)=>eu(this,void 0,void 0,function*(){var o,a,s,l,c,d;try{this.log.debug("waiting for agent",Object.assign(Object.assign({},this.logContext),lm(e)));const m=setTimeout(()=>{n(new Error("agent not active within 10 seconds"))},1e4),f=yield this.waitUntilActiveAgentPresent();clearTimeout(m),this.log.debug("sending preconnect buffer",Object.assign(Object.assign({},this.logContext),lm(e)));const b=yield this.streamBytes({name:"preconnect-buffer",mimeType:r,topic:"lk.agent.pre-connect-audio-buffer",destinationIdentities:[f.identity],attributes:{trackId:x.trackSid,sampleRate:String(null!==(c=v.sampleRate)&&void 0!==c?c:"48000"),channels:String(null!==(d=v.channelCount)&&void 0!==d?d:"1")}});try{for(var h,u=!0,p=tu(t);!(o=(h=yield p.next()).done);u=!0){l=h.value,u=!1;const e=l;yield b.write(e)}}catch(g){a={error:g}}finally{try{u||o||!(s=p.return)||(yield s.call(p))}finally{if(a)throw a.error}}yield b.close(),i()}catch(Py){n(Py)}})).then(()=>{this.log.debug("preconnect buffer sent successfully",Object.assign(Object.assign({},this.logContext),lm(e)))}).catch(t=>{this.log.error("error sending preconnect buffer",Object.assign(Object.assign(Object.assign({},this.logContext),lm(e)),{error:t}))})}return x})}get isLocal(){return!0}publishAdditionalCodecForTrack(e,t,r){return eu(this,void 0,void 0,function*(){var i;if(this.encryptionType!==td.NONE)return;let n;if(this.trackPublications.forEach(t=>{t.track&&t.track===e&&(n=t)}),!n)throw new jp("track is not published");if(!Kg(e))throw new jp("track is not a video track");const o=Object.assign(Object.assign({},null===(i=this.roomOptions)||void 0===i?void 0:i.publishDefaults),r),a=function(e,t,r){var i,n,o,a;if(!r.backupCodec||!0===r.backupCodec||r.backupCodec.codec===r.videoCodec)return;t!==r.backupCodec.codec&&Kh.warn("requested a different codec than specified as backup",{serverRequested:t,backup:r.backupCodec.codec}),r.videoCodec=t,r.videoEncoding=r.backupCodec.encoding;const s=e.mediaStreamTrack.getSettings(),l=null!==(i=s.width)&&void 0!==i?i:null===(n=e.dimensions)||void 0===n?void 0:n.width,c=null!==(o=s.height)&&void 0!==o?o:null===(a=e.dimensions)||void 0===a?void 0:a.height;return e.source===eg.Source.ScreenShare&&r.simulcast&&(r.simulcast=!1),bv(e.source===eg.Source.ScreenShare,l,c,r)}(e,t,o);if(!a)return void this.log.info("backup codec has been disabled, ignoring request to add additional codec for track",Object.assign(Object.assign({},this.logContext),lm(e)));const s=e.addSimulcastTrack(t,a);if(!s)return;const l=new qd({cid:s.mediaStreamTrack.id,type:eg.kindToProto(e.kind),muted:e.isMuted,source:eg.sourceToProto(e.source),sid:e.sid,simulcastCodecs:[{codec:o.videoCodec,cid:s.mediaStreamTrack.id}]});if(l.layers=Ev(l.width,l.height,a),!this.engine||this.engine.isClosed)throw new zp("cannot publish track when not connected");const c=(yield Promise.all([this.engine.addTrack(l),(()=>eu(this,void 0,void 0,function*(){yield this.engine.createSimulcastSender(e,s,o,a),yield this.engine.negotiate()}))()]))[0];this.log.debug("published ".concat(t," for track ").concat(e.sid),Object.assign(Object.assign({},this.logContext),{encodings:a,trackInfo:c}))})}unpublishTrack(e,t){return eu(this,void 0,void 0,function*(){var r,i;if($g(e)){const t=this.pendingPublishPromises.get(e);t&&(this.log.info("awaiting publish promise before attempting to unpublish",Object.assign(Object.assign({},this.logContext),lm(e))),yield t)}const n=this.getPublicationForTrack(e),o=n?lm(n):void 0;if(this.log.debug("unpublishing track",Object.assign(Object.assign({},this.logContext),o)),!n||!n.track)return void this.log.warn("track was not unpublished because no publication was found",Object.assign(Object.assign({},this.logContext),o));(e=n.track).off(Rp.Muted,this.onTrackMuted),e.off(Rp.Unmuted,this.onTrackUnmuted),e.off(Rp.Ended,this.handleTrackEnded),e.off(Rp.UpstreamPaused,this.onTrackUpstreamPaused),e.off(Rp.UpstreamResumed,this.onTrackUpstreamResumed),e.off(Rp.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate),void 0===t&&(t=null===(i=null===(r=this.roomOptions)||void 0===r?void 0:r.stopLocalTrackOnUnpublish)||void 0===i||i),t?e.stop():e.stopMonitor();let a=!1;const s=e.sender;if(e.sender=void 0,this.engine.pcManager&&this.engine.pcManager.currentState<Xm.FAILED&&s)try{for(const e of this.engine.pcManager.publisher.getTransceivers())e.sender===s&&(e.direction="inactive",a=!0);if(this.engine.removeTrack(s)&&(a=!0),Kg(e)){for(const[,t]of e.simulcastCodecs)t.sender&&(this.engine.removeTrack(t.sender)&&(a=!0),t.sender=void 0);e.simulcastCodecs.clear()}}catch(Py){this.log.warn("failed to unpublish track",Object.assign(Object.assign(Object.assign({},this.logContext),o),{error:Py}))}switch(this.trackPublications.delete(n.trackSid),n.kind){case eg.Kind.Audio:this.audioTrackPublications.delete(n.trackSid);break;case eg.Kind.Video:this.videoTrackPublications.delete(n.trackSid)}return this.emit(Ip.LocalTrackUnpublished,n),n.setTrack(void 0),a&&(yield this.engine.negotiate()),n})}unpublishTracks(e){return eu(this,void 0,void 0,function*(){return(yield Promise.all(e.map(e=>this.unpublishTrack(e)))).filter(e=>!!e)})}republishAllTracks(e){return eu(this,arguments,void 0,function(e){var t=this;let r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){t.republishPromise&&(yield t.republishPromise),t.republishPromise=new Promise((i,n)=>eu(t,void 0,void 0,function*(){try{const t=[];this.trackPublications.forEach(r=>{r.track&&(e&&(r.options=Object.assign(Object.assign({},r.options),e)),t.push(r))}),yield Promise.all(t.map(e=>eu(this,void 0,void 0,function*(){const t=e.track;yield this.unpublishTrack(t,!1),!r||t.isMuted||t.source===eg.Source.ScreenShare||t.source===eg.Source.ScreenShareAudio||!Qg(t)&&!Kg(t)||t.isUserProvided||(this.log.debug("restarting existing track",Object.assign(Object.assign({},this.logContext),{track:e.trackSid})),yield t.restartTrack()),yield this.publishOrRepublishTrack(t,e.options,!0)}))),i()}catch(t){n(t)}finally{this.republishPromise=void 0}})),yield t.republishPromise}()})}publishData(e){return eu(this,arguments,void 0,function(e){var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){const i=r.reliable?sd.RELIABLE:sd.LOSSY,n=r.destinationIdentities,o=r.topic;let a=new ud({participantIdentity:t.identity,payload:e,destinationIdentities:n,topic:o});const s=new ad({kind:i,value:{case:"user",value:a}});yield t.engine.sendDataPacket(s,i)}()})}publishDtmf(e,t){return eu(this,void 0,void 0,function*(){const r=new ad({kind:sd.RELIABLE,value:{case:"sipDtmf",value:new pd({code:e,digit:t})}});yield this.engine.sendDataPacket(r,sd.RELIABLE)})}sendChatMessage(e,t){return eu(this,void 0,void 0,function*(){const r={id:crypto.randomUUID(),message:e,timestamp:Date.now(),attachedFiles:null==t?void 0:t.attachments},i=new ad({value:{case:"chatMessage",value:new vd(Object.assign(Object.assign({},r),{timestamp:Cl.parse(r.timestamp)}))}});return yield this.engine.sendDataPacket(i,sd.RELIABLE),this.emit(Ip.ChatMessage,r),r})}editChatMessage(e,t){return eu(this,void 0,void 0,function*(){const r=Object.assign(Object.assign({},t),{message:e,editTimestamp:Date.now()}),i=new ad({value:{case:"chatMessage",value:new vd(Object.assign(Object.assign({},r),{timestamp:Cl.parse(r.timestamp),editTimestamp:Cl.parse(r.editTimestamp)}))}});return yield this.engine.sendDataPacket(i,sd.RELIABLE),this.emit(Ip.ChatMessage,r),r})}sendText(e,t){return eu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendText(e,t)})}streamText(e){return eu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.streamText(e)})}sendFile(e,t){return eu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendFile(e,t)})}streamBytes(e){return eu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.streamBytes(e)})}performRpc(e){return eu(this,arguments,void 0,function(e){var t=this;let{destinationIdentity:r,method:i,payload:n,responseTimeout:o=15e3}=e;return function*(){return new Promise((e,a)=>eu(t,void 0,void 0,function*(){var t,s,l,c;if(iv(n)>15360)return void a(rv.builtIn("REQUEST_PAYLOAD_TOO_LARGE"));if((null===(s=null===(t=this.engine.latestJoinResponse)||void 0===t?void 0:t.serverInfo)||void 0===s?void 0:s.version)&&Mg(null===(c=null===(l=this.engine.latestJoinResponse)||void 0===l?void 0:l.serverInfo)||void 0===c?void 0:c.version,"1.8.0")<0)return void a(rv.builtIn("UNSUPPORTED_SERVER"));const d=crypto.randomUUID();yield this.publishRpcRequest(r,d,i,n,o-7e3);const h=setTimeout(()=>{this.pendingAcks.delete(d),a(rv.builtIn("CONNECTION_TIMEOUT")),this.pendingResponses.delete(d),clearTimeout(u)},7e3);this.pendingAcks.set(d,{resolve:()=>{clearTimeout(h)},participantIdentity:r});const u=setTimeout(()=>{this.pendingResponses.delete(d),a(rv.builtIn("RESPONSE_TIMEOUT"))},o);this.pendingResponses.set(d,{resolve:(t,r)=>{clearTimeout(u),this.pendingAcks.has(d)&&(this.pendingAcks.delete(d),clearTimeout(h)),r?a(r):e(null!=t?t:"")},participantIdentity:r})}))}()})}registerRpcMethod(e,t){this.rpcHandlers.has(e)&&this.log.warn("you're overriding the RPC handler for method ".concat(e,", in the future this will throw an error")),this.rpcHandlers.set(e,t)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}setTrackSubscriptionPermissions(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.participantTrackPermissions=t,this.allParticipantsAllowedToSubscribe=e,this.engine.client.isDisconnected||this.updateTrackSubscriptionPermissions()}handleIncomingRpcAck(e){const t=this.pendingAcks.get(e);t&&(t.resolve(),this.pendingAcks.delete(e))}handleIncomingRpcResponse(e,t,r){const i=this.pendingResponses.get(e);i&&(i.resolve(t,r),this.pendingResponses.delete(e))}publishRpcRequest(e,t,r,i,n){return eu(this,void 0,void 0,function*(){const o=new ad({destinationIdentities:[e],kind:sd.RELIABLE,value:{case:"rpcRequest",value:new fd({id:t,method:r,payload:i,responseTimeoutMs:n,version:1})}});yield this.engine.sendDataPacket(o,sd.RELIABLE)})}handleParticipantDisconnected(e){for(const[t,{participantIdentity:r}]of this.pendingAcks)r===e&&this.pendingAcks.delete(t);for(const[t,{participantIdentity:r,resolve:i}]of this.pendingResponses)r===e&&(i(null,rv.builtIn("RECIPIENT_DISCONNECTED")),this.pendingResponses.delete(t))}setEnabledPublishCodecs(e){this.enabledPublishVideoCodecs=e.filter(e=>"video"===e.mime.split("/")[0].toLowerCase())}updateInfo(e){return!!super.updateInfo(e)&&(e.tracks.forEach(e=>{var t,r;const i=this.trackPublications.get(e.sid);if(i){const n=i.isMuted||null!==(r=null===(t=i.track)||void 0===t?void 0:t.isUpstreamPaused)&&void 0!==r&&r;n!==e.muted&&(this.log.debug("updating server mute state after reconcile",Object.assign(Object.assign(Object.assign({},this.logContext),lm(i)),{mutedOnServer:n})),this.engine.client.sendMuteTrack(e.sid,n))}}),!0)}setActiveAgent(e){var t,r,i,n;this.firstActiveAgent=e,e&&!this.firstActiveAgent&&(this.firstActiveAgent=e),e?null===(r=null===(t=this.activeAgentFuture)||void 0===t?void 0:t.resolve)||void 0===r||r.call(t,e):null===(n=null===(i=this.activeAgentFuture)||void 0===i?void 0:i.reject)||void 0===n||n.call(i,"Agent disconnected"),this.activeAgentFuture=void 0}waitUntilActiveAgentPresent(){return this.firstActiveAgent?Promise.resolve(this.firstActiveAgent):(this.activeAgentFuture||(this.activeAgentFuture=new Fg),this.activeAgentFuture.promise)}getPublicationForTrack(e){let t;return this.trackPublications.forEach(r=>{const i=r.track;i&&(e instanceof MediaStreamTrack?(Qg(i)||Kg(i))&&i.mediaStreamTrack===e&&(t=r):e===i&&(t=r))}),t}waitForPendingPublicationOfSource(e){return eu(this,void 0,void 0,function*(){const t=Date.now();for(;Date.now()<t+1e4;){const t=Array.from(this.pendingPublishPromises.entries()).find(t=>{let[r]=t;return r.source===e});if(t)return t[1];yield mg(20)}})}}class hf extends af{constructor(e,t,r,i){super(e,t.sid,t.name,i),this.track=void 0,this.allowed=!0,this.requestedDisabled=void 0,this.visible=!0,this.handleEnded=e=>{this.setTrack(void 0),this.emit(Rp.Ended,e)},this.handleVisibilityChange=e=>{this.log.debug("adaptivestream video visibility ".concat(this.trackSid,", visible=").concat(e),this.logContext),this.visible=e,this.emitTrackUpdate()},this.handleVideoDimensionsChange=e=>{this.log.debug("adaptivestream video dimensions ".concat(e.width,"x").concat(e.height),this.logContext),this.videoDimensionsAdaptiveStream=e,this.emitTrackUpdate()},this.subscribed=r,this.updateInfo(t)}setSubscribed(e){const t=this.subscriptionStatus,r=this.permissionStatus;this.subscribed=e,e&&(this.allowed=!0);const i=new Yd({trackSids:[this.trackSid],subscribe:this.subscribed,participantTracks:[new yd({participantSid:"",trackSids:[this.trackSid]})]});this.emit(Rp.UpdateSubscription,i),this.emitSubscriptionUpdateIfChanged(t),this.emitPermissionUpdateIfChanged(r)}get subscriptionStatus(){return!1===this.subscribed?af.SubscriptionStatus.Unsubscribed:super.isSubscribed?af.SubscriptionStatus.Subscribed:af.SubscriptionStatus.Desired}get permissionStatus(){return this.allowed?af.PermissionStatus.Allowed:af.PermissionStatus.NotAllowed}get isSubscribed(){return!1!==this.subscribed&&super.isSubscribed}get isDesired(){return!1!==this.subscribed}get isEnabled(){return void 0!==this.requestedDisabled?!this.requestedDisabled:!this.isAdaptiveStream||this.visible}get isLocal(){return!1}setEnabled(e){this.isManualOperationAllowed()&&this.requestedDisabled!==!e&&(this.requestedDisabled=!e,this.emitTrackUpdate())}setVideoQuality(e){this.isManualOperationAllowed()&&this.requestedMaxQuality!==e&&(this.requestedMaxQuality=e,this.requestedVideoDimensions=void 0,this.emitTrackUpdate())}setVideoDimensions(e){var t,r;this.isManualOperationAllowed()&&((null===(t=this.requestedVideoDimensions)||void 0===t?void 0:t.width)===e.width&&(null===(r=this.requestedVideoDimensions)||void 0===r?void 0:r.height)===e.height||(Xg(this.track)&&(this.requestedVideoDimensions=e),this.requestedMaxQuality=void 0,this.emitTrackUpdate()))}setVideoFPS(e){this.isManualOperationAllowed()&&Xg(this.track)&&this.fps!==e&&(this.fps=e,this.emitTrackUpdate())}get videoQuality(){var e;return null!==(e=this.requestedMaxQuality)&&void 0!==e?e:Yp.HIGH}setTrack(e){const t=this.subscriptionStatus,r=this.permissionStatus,i=this.track;i!==e&&(i&&(i.off(Rp.VideoDimensionsChanged,this.handleVideoDimensionsChange),i.off(Rp.VisibilityChanged,this.handleVisibilityChange),i.off(Rp.Ended,this.handleEnded),i.detach(),i.stopMonitor(),this.emit(Rp.Unsubscribed,i)),super.setTrack(e),e&&(e.sid=this.trackSid,e.on(Rp.VideoDimensionsChanged,this.handleVideoDimensionsChange),e.on(Rp.VisibilityChanged,this.handleVisibilityChange),e.on(Rp.Ended,this.handleEnded),this.emit(Rp.Subscribed,e)),this.emitPermissionUpdateIfChanged(r),this.emitSubscriptionUpdateIfChanged(t))}setAllowed(e){const t=this.subscriptionStatus,r=this.permissionStatus;this.allowed=e,this.emitPermissionUpdateIfChanged(r),this.emitSubscriptionUpdateIfChanged(t)}setSubscriptionError(e){this.emit(Rp.SubscriptionFailed,e)}updateInfo(e){super.updateInfo(e);const t=this.metadataMuted;this.metadataMuted=e.muted,this.track?this.track.setMuted(e.muted):t!==e.muted&&this.emit(e.muted?Rp.Muted:Rp.Unmuted)}emitSubscriptionUpdateIfChanged(e){const t=this.subscriptionStatus;e!==t&&this.emit(Rp.SubscriptionStatusChanged,t,e)}emitPermissionUpdateIfChanged(e){this.permissionStatus!==e&&this.emit(Rp.SubscriptionPermissionChanged,this.permissionStatus,e)}isManualOperationAllowed(){return!!this.isDesired||(this.log.warn("cannot update track settings when not subscribed",this.logContext),!1)}get isAdaptiveStream(){return Xg(this.track)&&this.track.isAdaptiveStream}emitTrackUpdate(){const e=new Xd({trackSids:[this.trackSid],disabled:!this.isEnabled,fps:this.fps});if(this.kind===eg.Kind.Video){let n=this.requestedVideoDimensions;if(void 0!==this.videoDimensionsAdaptiveStream)if(n)dm(this.videoDimensionsAdaptiveStream,n)&&(this.log.debug("using adaptive stream dimensions instead of requested",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),n=this.videoDimensionsAdaptiveStream);else if(void 0!==this.requestedMaxQuality&&this.trackInfo){const e=(t=this.trackInfo,r=this.requestedMaxQuality,null===(i=t.layers)||void 0===i?void 0:i.find(e=>e.quality===r));e&&dm(this.videoDimensionsAdaptiveStream,e)&&(this.log.debug("using adaptive stream dimensions instead of max quality layer",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),n=this.videoDimensionsAdaptiveStream)}else this.log.debug("using adaptive stream dimensions",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),n=this.videoDimensionsAdaptiveStream;n?(e.width=Math.ceil(n.width),e.height=Math.ceil(n.height)):void 0!==this.requestedMaxQuality?(this.log.debug("using requested max quality",Object.assign(Object.assign({},this.logContext),{quality:this.requestedMaxQuality})),e.quality=this.requestedMaxQuality):(this.log.debug("using default quality",Object.assign(Object.assign({},this.logContext),{quality:Yp.HIGH})),e.quality=Yp.HIGH)}var t,r,i;this.emit(Rp.UpdateSettings,e)}}class uf extends cf{static fromParticipantInfo(e,t,r){return new uf(e,t.sid,t.identity,t.name,t.metadata,t.attributes,r,t.kind)}get logContext(){return Object.assign(Object.assign({},super.logContext),{rpID:this.sid,remoteParticipant:this.identity})}constructor(e,t,r,i,n,o,a){super(t,r||"",i,n,o,a,arguments.length>7&&void 0!==arguments[7]?arguments[7]:Xc.STANDARD),this.signalClient=e,this.trackPublications=new Map,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.volumeMap=new Map}addTrackPublication(e){super.addTrackPublication(e),e.on(Rp.UpdateSettings,t=>{this.log.debug("send update settings",Object.assign(Object.assign(Object.assign({},this.logContext),lm(e)),{settings:t})),this.signalClient.sendUpdateTrackSettings(t)}),e.on(Rp.UpdateSubscription,e=>{e.participantTracks.forEach(e=>{e.participantSid=this.sid}),this.signalClient.sendUpdateSubscription(e)}),e.on(Rp.SubscriptionPermissionChanged,t=>{this.emit(Ip.TrackSubscriptionPermissionChanged,e,t)}),e.on(Rp.SubscriptionStatusChanged,t=>{this.emit(Ip.TrackSubscriptionStatusChanged,e,t)}),e.on(Rp.Subscribed,t=>{this.emit(Ip.TrackSubscribed,t,e)}),e.on(Rp.Unsubscribed,t=>{this.emit(Ip.TrackUnsubscribed,t,e)}),e.on(Rp.SubscriptionFailed,t=>{this.emit(Ip.TrackSubscriptionFailed,e.trackSid,t)})}getTrackPublication(e){const t=super.getTrackPublication(e);if(t)return t}getTrackPublicationByName(e){const t=super.getTrackPublicationByName(e);if(t)return t}setVolume(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:eg.Source.Microphone;this.volumeMap.set(t,e);const r=this.getTrackPublication(t);r&&r.track&&r.track.setVolume(e)}getVolume(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:eg.Source.Microphone;const t=this.getTrackPublication(e);return t&&t.track?t.track.getVolume():this.volumeMap.get(e)}addSubscribedMediaTrack(e,t,r,i,n,o){let a,s=this.getTrackPublicationBySid(t);return s||t.startsWith("TR")||this.trackPublications.forEach(t=>{s||e.kind!==t.kind.toString()||(s=t)}),s?"ended"===e.readyState?(this.log.error("unable to subscribe because MediaStreamTrack is ended. Do not call MediaStreamTrack.stop()",Object.assign(Object.assign({},this.logContext),lm(s))),void this.emit(Ip.TrackSubscriptionFailed,t)):(a="video"===e.kind?new tf(e,t,i,n):new ef(e,t,i,this.audioContext,this.audioOutput),a.source=s.source,a.isMuted=s.isMuted,a.setMediaStream(r),a.start(),s.setTrack(a),this.volumeMap.has(s.source)&&Zg(a)&&Gg(a)&&a.setVolume(this.volumeMap.get(s.source)),s):0===o?(this.log.error("could not find published track",Object.assign(Object.assign({},this.logContext),{trackSid:t})),void this.emit(Ip.TrackSubscriptionFailed,t)):(void 0===o&&(o=20),void setTimeout(()=>{this.addSubscribedMediaTrack(e,t,r,i,n,o-1)},150))}get hasMetadata(){return!!this.participantInfo}getTrackPublicationBySid(e){return this.trackPublications.get(e)}updateInfo(e){if(!super.updateInfo(e))return!1;const t=new Map,r=new Map;return e.tracks.forEach(e=>{var i,n;let o=this.getTrackPublicationBySid(e.sid);if(o)o.updateInfo(e);else{const t=eg.kindFromProto(e.type);if(!t)return;o=new hf(t,e,null===(i=this.signalClient.connectOptions)||void 0===i?void 0:i.autoSubscribe,{loggerContextCb:()=>this.logContext,loggerName:null===(n=this.loggerOptions)||void 0===n?void 0:n.loggerName}),o.updateInfo(e),r.set(e.sid,o);const a=Array.from(this.trackPublications.values()).find(e=>e.source===(null==o?void 0:o.source));a&&o.source!==eg.Source.Unknown&&this.log.debug("received a second track publication for ".concat(this.identity," with the same source: ").concat(o.source),Object.assign(Object.assign({},this.logContext),{oldTrack:lm(a),newTrack:lm(o)})),this.addTrackPublication(o)}t.set(e.sid,o)}),this.trackPublications.forEach(e=>{t.has(e.trackSid)||(this.log.trace("detected removed track on remote participant, unpublishing",Object.assign(Object.assign({},this.logContext),lm(e))),this.unpublishTrack(e.trackSid,!0))}),r.forEach(e=>{this.emit(Ip.TrackPublished,e)}),!0}unpublishTrack(e,t){const r=this.trackPublications.get(e);if(!r)return;const{track:i}=r;switch(i&&(i.stop(),r.setTrack(void 0)),this.trackPublications.delete(e),r.kind){case eg.Kind.Audio:this.audioTrackPublications.delete(e);break;case eg.Kind.Video:this.videoTrackPublications.delete(e)}t&&this.emit(Ip.TrackUnpublished,r)}setAudioOutput(e){return eu(this,void 0,void 0,function*(){this.audioOutput=e;const t=[];this.audioTrackPublications.forEach(r=>{var i;Gg(r.track)&&Zg(r.track)&&t.push(r.track.setSinkId(null!==(i=e.deviceId)&&void 0!==i?i:"default"))}),yield Promise.all(t)})}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return this.log.trace("participant event",Object.assign(Object.assign({},this.logContext),{event:e,args:r})),super.emit(e,...r)}}(Uv=jv||(jv={})).Disconnected="disconnected",Uv.Connecting="connecting",Uv.Connected="connected",Uv.Reconnecting="reconnecting",Uv.SignalReconnecting="signalReconnecting";class pf extends nu.EventEmitter{get hasE2EESetup(){return void 0!==this.e2eeManager}constructor(e){var t,r,i,n;if(super(),t=this,this.state=jv.Disconnected,this.activeSpeakers=[],this.isE2EEEnabled=!1,this.audioEnabled=!0,this.isVideoPlaybackBlocked=!1,this.log=Kh,this.bufferedEvents=[],this.isResuming=!1,this.rpcHandlers=new Map,this.connect=(e,t,r)=>eu(this,void 0,void 0,function*(){var i;if("undefined"==typeof RTCPeerConnection||!vg()&&!fg())throw Tg()?Error("WebRTC isn't detected, have you called registerGlobals?"):Error("LiveKit doesn't seem to be supported on this browser. Try to update your browser and make sure no browser extensions are disabling webRTC.");const n=yield this.disconnectLock.lock();if(this.state===jv.Connected)return this.log.info("already connected to room ".concat(this.name),this.logContext),n(),Promise.resolve();if(this.connectFuture)return n(),this.connectFuture.promise;this.setAndEmitConnectionState(jv.Connecting),(null===(i=this.regionUrlProvider)||void 0===i?void 0:i.getServerUrl().toString())!==e&&(this.regionUrl=void 0,this.regionUrlProvider=void 0),Eg(new URL(e))&&(void 0===this.regionUrlProvider?this.regionUrlProvider=new Hv(e,t):this.regionUrlProvider.updateToken(t),this.regionUrlProvider.fetchRegionSettings().then(e=>{var t;null===(t=this.regionUrlProvider)||void 0===t||t.setServerReportedRegions(e)}).catch(e=>{this.log.warn("could not fetch region settings",Object.assign(Object.assign({},this.logContext),{error:e}))}));const o=(i,a,s)=>eu(this,void 0,void 0,function*(){var l,c;this.abortController&&this.abortController.abort();const d=new AbortController;this.abortController=d,null==n||n();try{yield this.attemptConnection(null!=s?s:e,t,r,d),this.abortController=void 0,i()}catch(Py){if(this.regionUrlProvider&&Py instanceof Lp&&Py.reason!==fp.Cancelled&&Py.reason!==fp.NotAllowed){let t=null;try{t=yield this.regionUrlProvider.getNextBestRegionUrl(null===(l=this.abortController)||void 0===l?void 0:l.signal)}catch(h){if(h instanceof Lp&&(401===h.status||h.reason===fp.Cancelled))return this.handleDisconnect(this.options.stopLocalTrackOnUnpublish),void a(h)}t&&!(null===(c=this.abortController)||void 0===c?void 0:c.signal.aborted)?(this.log.info("Initial connection failed with ConnectionError: ".concat(Py.message,". Retrying with another region: ").concat(t),this.logContext),this.recreateEngine(),yield o(i,a,t)):(this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,qg(Py)),a(Py))}else{let t=Hc.UNKNOWN_REASON;Py instanceof Lp&&(t=qg(Py)),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,t),a(Py)}}}),a=this.regionUrl;return this.regionUrl=void 0,this.connectFuture=new Fg((e,t)=>{o(e,t,a)},()=>{this.clearConnectionFutures()}),this.connectFuture.promise}),this.connectSignal=(e,t,r,i,n,o)=>eu(this,void 0,void 0,function*(){var a,s,l;const c=yield r.join(e,t,{autoSubscribe:i.autoSubscribe,adaptiveStream:"object"==typeof n.adaptiveStream||n.adaptiveStream,maxRetries:i.maxRetries,e2eeEnabled:!!this.e2eeManager,websocketTimeout:i.websocketTimeout,singlePeerConnection:n.singlePeerConnection},o.signal);let d=c.serverInfo;if(d||(d={version:c.serverVersion,region:c.serverRegion}),this.serverInfo=d,this.log.debug("connected to Livekit Server ".concat(Object.entries(d).map(e=>{let[t,r]=e;return"".concat(t,": ").concat(r)}).join(", ")),{room:null===(a=c.room)||void 0===a?void 0:a.name,roomSid:null===(s=c.room)||void 0===s?void 0:s.sid,identity:null===(l=c.participant)||void 0===l?void 0:l.identity}),!d.version)throw new Up("unknown server version");return"0.15.1"===d.version&&this.options.dynacast&&(this.log.debug("disabling dynacast due to server version",this.logContext),n.dynacast=!1),c}),this.applyJoinResponse=e=>{const t=e.participant;if(this.localParticipant.sid=t.sid,this.localParticipant.identity=t.identity,this.localParticipant.setEnabledPublishCodecs(e.enabledPublishCodecs),this.e2eeManager)try{this.e2eeManager.setSifTrailer(e.sifTrailer)}catch(Py){this.log.error(Py instanceof Error?Py.message:"Could not set SifTrailer",Object.assign(Object.assign({},this.logContext),{error:Py}))}this.handleParticipantUpdates([t,...e.otherParticipants]),e.room&&this.handleRoomUpdate(e.room)},this.attemptConnection=(e,t,r,i)=>eu(this,void 0,void 0,function*(){var n,o;this.state===jv.Reconnecting||this.isResuming||(null===(n=this.engine)||void 0===n?void 0:n.pendingReconnect)?(this.log.info("Reconnection attempt replaced by new connection attempt",this.logContext),this.recreateEngine()):this.maybeCreateEngine(),(null===(o=this.regionUrlProvider)||void 0===o?void 0:o.isCloud())&&this.engine.setRegionUrlProvider(this.regionUrlProvider),this.acquireAudioContext(),this.connOptions=Object.assign(Object.assign({},Ym),r),this.connOptions.rtcConfig&&(this.engine.rtcConfig=this.connOptions.rtcConfig),this.connOptions.peerConnectionTimeout&&(this.engine.peerConnectionTimeout=this.connOptions.peerConnectionTimeout);try{const r=yield this.connectSignal(e,t,this.engine,this.connOptions,this.options,i);this.applyJoinResponse(r),this.setupLocalParticipantEvents(),this.emit(Tp.SignalConnected)}catch(a){yield this.engine.close(),this.recreateEngine();const e=new Lp("could not establish signal connection",fp.ServerUnreachable);throw a instanceof Error&&(e.message="".concat(e.message,": ").concat(a.message)),a instanceof Lp&&(e.reason=a.reason,e.status=a.status),this.log.debug("error trying to establish signal connection",Object.assign(Object.assign({},this.logContext),{error:a})),e}if(i.signal.aborted)throw yield this.engine.close(),this.recreateEngine(),new Lp("Connection attempt aborted",fp.Cancelled);try{yield this.engine.waitForPCInitialConnection(this.connOptions.peerConnectionTimeout,i)}catch(Py){throw yield this.engine.close(),this.recreateEngine(),Py}Sg()&&this.options.disconnectOnPageLeave&&(window.addEventListener("pagehide",this.onPageLeave),window.addEventListener("beforeunload",this.onPageLeave)),Sg()&&document.addEventListener("freeze",this.onPageLeave),this.setAndEmitConnectionState(jv.Connected),this.emit(Tp.Connected),this.registerConnectionReconcile()}),this.disconnect=function(){for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return eu(t,[...r],void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){var r,i,n,o;const a=yield e.disconnectLock.lock();try{if(e.state===jv.Disconnected)return void e.log.debug("already disconnected",e.logContext);if(e.log.info("disconnect from room",Object.assign({},e.logContext)),e.state===jv.Connecting||e.state===jv.Reconnecting||e.isResuming){const t="Abort connection attempt due to user initiated disconnect";e.log.warn(t,e.logContext),null===(r=e.abortController)||void 0===r||r.abort(t),null===(n=null===(i=e.connectFuture)||void 0===i?void 0:i.reject)||void 0===n||n.call(i,new Lp("Client initiated disconnect",fp.Cancelled)),e.connectFuture=void 0}(null===(o=e.engine)||void 0===o?void 0:o.client.isDisconnected)||(yield e.engine.client.sendLeave()),e.engine&&(yield e.engine.close()),e.handleDisconnect(t,Hc.CLIENT_INITIATED),e.engine=void 0}finally{a()}}()})},this.onPageLeave=()=>eu(this,void 0,void 0,function*(){this.log.info("Page leave detected, disconnecting",this.logContext),yield this.disconnect()}),this.startAudio=()=>eu(this,void 0,void 0,function*(){const e=[],t=$p();if(t&&"iOS"===t.os){const t="livekit-dummy-audio-el";let r=document.getElementById(t);if(!r){r=document.createElement("audio"),r.id=t,r.autoplay=!0,r.hidden=!0;const e=zg();e.enabled=!0;const i=new MediaStream([e]);r.srcObject=i,document.addEventListener("visibilitychange",()=>{r&&(r.srcObject=document.hidden?null:i,document.hidden||(this.log.debug("page visible again, triggering startAudio to resume playback and update playback status",this.logContext),this.startAudio()))}),document.body.append(r),this.once(Tp.Disconnected,()=>{null==r||r.remove(),r=null})}e.push(r)}this.remoteParticipants.forEach(t=>{t.audioTrackPublications.forEach(t=>{t.track&&t.track.attachedElements.forEach(t=>{e.push(t)})})});try{yield Promise.all([this.acquireAudioContext(),...e.map(e=>(e.muted=!1,e.play()))]),this.handleAudioPlaybackStarted()}catch(r){throw this.handleAudioPlaybackFailed(r),r}}),this.startVideo=()=>eu(this,void 0,void 0,function*(){const e=[];for(const t of this.remoteParticipants.values())t.videoTrackPublications.forEach(t=>{var r;null===(r=t.track)||void 0===r||r.attachedElements.forEach(t=>{e.includes(t)||e.push(t)})});yield Promise.all(e.map(e=>e.play())).then(()=>{this.handleVideoPlaybackStarted()}).catch(e=>{"NotAllowedError"===e.name?this.handleVideoPlaybackFailed():this.log.warn("Resuming video playback failed, make sure you call `startVideo` directly in a user gesture handler",this.logContext)})}),this.handleRestarting=()=>{this.clearConnectionReconcile(),this.isResuming=!1;for(const e of this.remoteParticipants.values())this.handleParticipantDisconnected(e.identity,e);this.setAndEmitConnectionState(jv.Reconnecting)&&this.emit(Tp.Reconnecting)},this.handleSignalRestarted=e=>eu(this,void 0,void 0,function*(){this.log.debug("signal reconnected to server, region ".concat(e.serverRegion),Object.assign(Object.assign({},this.logContext),{region:e.serverRegion})),this.bufferedEvents=[],this.applyJoinResponse(e);try{yield this.localParticipant.republishAllTracks(void 0,!0)}catch(t){this.log.error("error trying to re-publish tracks after reconnection",Object.assign(Object.assign({},this.logContext),{error:t}))}try{yield this.engine.waitForRestarted(),this.log.debug("fully reconnected to server",Object.assign(Object.assign({},this.logContext),{region:e.serverRegion}))}catch(r){return}this.setAndEmitConnectionState(jv.Connected),this.emit(Tp.Reconnected),this.registerConnectionReconcile(),this.emitBufferedEvents()}),this.handleParticipantUpdates=e=>{e.forEach(e=>{var t;if(e.identity===this.localParticipant.identity)return void this.localParticipant.updateInfo(e);""===e.identity&&(e.identity=null!==(t=this.sidToIdentity.get(e.sid))&&void 0!==t?t:"");let r=this.remoteParticipants.get(e.identity);e.state===Yc.DISCONNECTED?this.handleParticipantDisconnected(e.identity,r):r=this.getOrCreateParticipant(e.identity,e)})},this.handleActiveSpeakersUpdate=e=>{const t=[],r={};e.forEach(e=>{if(r[e.sid]=!0,e.sid===this.localParticipant.sid)this.localParticipant.audioLevel=e.level,this.localParticipant.setIsSpeaking(!0),t.push(this.localParticipant);else{const r=this.getRemoteParticipantBySid(e.sid);r&&(r.audioLevel=e.level,r.setIsSpeaking(!0),t.push(r))}}),r[this.localParticipant.sid]||(this.localParticipant.audioLevel=0,this.localParticipant.setIsSpeaking(!1)),this.remoteParticipants.forEach(e=>{r[e.sid]||(e.audioLevel=0,e.setIsSpeaking(!1))}),this.activeSpeakers=t,this.emitWhenConnected(Tp.ActiveSpeakersChanged,t)},this.handleSpeakersChanged=e=>{const t=new Map;this.activeSpeakers.forEach(e=>{const r=this.remoteParticipants.get(e.identity);r&&r.sid!==e.sid||t.set(e.sid,e)}),e.forEach(e=>{let r=this.getRemoteParticipantBySid(e.sid);e.sid===this.localParticipant.sid&&(r=this.localParticipant),r&&(r.audioLevel=e.level,r.setIsSpeaking(e.active),e.active?t.set(e.sid,r):t.delete(e.sid))});const r=Array.from(t.values());r.sort((e,t)=>t.audioLevel-e.audioLevel),this.activeSpeakers=r,this.emitWhenConnected(Tp.ActiveSpeakersChanged,r)},this.handleStreamStateUpdate=e=>{e.streamStates.forEach(e=>{const t=this.getRemoteParticipantBySid(e.participantSid);if(!t)return;const r=t.getTrackPublicationBySid(e.trackSid);if(!r||!r.track)return;const i=eg.streamStateFromProto(e.state);r.track.setStreamState(i),i!==r.track.streamState&&(t.emit(Ip.TrackStreamStateChanged,r,r.track.streamState),this.emitWhenConnected(Tp.TrackStreamStateChanged,r,r.track.streamState,t))})},this.handleSubscriptionPermissionUpdate=e=>{const t=this.getRemoteParticipantBySid(e.participantSid);if(!t)return;const r=t.getTrackPublicationBySid(e.trackSid);r&&r.setAllowed(e.allowed)},this.handleSubscriptionError=e=>{const t=Array.from(this.remoteParticipants.values()).find(t=>t.trackPublications.has(e.trackSid));if(!t)return;const r=t.getTrackPublicationBySid(e.trackSid);r&&r.setSubscriptionError(e.err)},this.handleDataPacket=(e,t)=>{const r=this.remoteParticipants.get(e.participantIdentity);if("user"===e.value.case)this.handleUserPacket(r,e.value.value,e.kind,t);else if("transcription"===e.value.case)this.handleTranscription(r,e.value.value);else if("sipDtmf"===e.value.case)this.handleSipDtmf(r,e.value.value);else if("chatMessage"===e.value.case)this.handleChatMessage(r,e.value.value);else if("metrics"===e.value.case)this.handleMetrics(e.value.value,r);else if("streamHeader"===e.value.case||"streamChunk"===e.value.case||"streamTrailer"===e.value.case)this.handleDataStream(e,t);else if("rpcRequest"===e.value.case){const t=e.value.value;this.handleIncomingRpcRequest(e.participantIdentity,t.id,t.method,t.payload,t.responseTimeoutMs,t.version)}},this.handleUserPacket=(e,t,r,i)=>{this.emit(Tp.DataReceived,t.payload,e,r,t.topic,i),null==e||e.emit(Ip.DataReceived,t.payload,r,i)},this.handleSipDtmf=(e,t)=>{this.emit(Tp.SipDTMFReceived,t,e),null==e||e.emit(Ip.SipDTMFReceived,t)},this.handleTranscription=(e,t)=>{const r=t.transcribedParticipantIdentity===this.localParticipant.identity?this.localParticipant:this.getParticipantByIdentity(t.transcribedParticipantIdentity),i=null==r?void 0:r.trackPublications.get(t.trackId),n=function(e,t){return e.segments.map(e=>{let{id:r,text:i,language:n,startTime:o,endTime:a,final:s}=e;var l;const c=null!==(l=t.get(r))&&void 0!==l?l:Date.now(),d=Date.now();return s?t.delete(r):t.set(r,c),{id:r,text:i,startTime:Number.parseInt(o.toString()),endTime:Number.parseInt(a.toString()),final:s,language:n,firstReceivedTime:c,lastReceivedTime:d}})}(t,this.transcriptionReceivedTimes);null==i||i.emit(Rp.TranscriptionReceived,n),null==r||r.emit(Ip.TranscriptionReceived,n,i),this.emit(Tp.TranscriptionReceived,n,r,i)},this.handleChatMessage=(e,t)=>{const r=function(e){const{id:t,timestamp:r,message:i,editTimestamp:n}=e;return{id:t,timestamp:Number.parseInt(r.toString()),editTimestamp:n?Number.parseInt(n.toString()):void 0,message:i}}(t);this.emit(Tp.ChatMessage,r,e)},this.handleMetrics=(e,t)=>{this.emit(Tp.MetricsReceived,e,t)},this.handleDataStream=(e,t)=>{this.incomingDataStreamManager.handleDataStreamPacket(e,t)},this.bufferedSegments=new Map,this.handleAudioPlaybackStarted=()=>{this.canPlaybackAudio||(this.audioEnabled=!0,this.emit(Tp.AudioPlaybackStatusChanged,!0))},this.handleAudioPlaybackFailed=e=>{this.log.warn("could not playback audio",Object.assign(Object.assign({},this.logContext),{error:e})),this.canPlaybackAudio&&(this.audioEnabled=!1,this.emit(Tp.AudioPlaybackStatusChanged,!1))},this.handleVideoPlaybackStarted=()=>{this.isVideoPlaybackBlocked&&(this.isVideoPlaybackBlocked=!1,this.emit(Tp.VideoPlaybackStatusChanged,!0))},this.handleVideoPlaybackFailed=()=>{this.isVideoPlaybackBlocked||(this.isVideoPlaybackBlocked=!0,this.emit(Tp.VideoPlaybackStatusChanged,!1))},this.handleDeviceChange=()=>eu(this,void 0,void 0,function*(){var e;"iOS"!==(null===(e=$p())||void 0===e?void 0:e.os)&&(yield this.selectDefaultDevices()),this.emit(Tp.MediaDevicesChanged)}),this.handleRoomUpdate=e=>{const t=this.roomInfo;this.roomInfo=e,t&&t.metadata!==e.metadata&&this.emitWhenConnected(Tp.RoomMetadataChanged,e.metadata),(null==t?void 0:t.activeRecording)!==e.activeRecording&&this.emitWhenConnected(Tp.RecordingStatusChanged,e.activeRecording)},this.handleConnectionQualityUpdate=e=>{e.updates.forEach(e=>{if(e.participantSid===this.localParticipant.sid)return void this.localParticipant.setConnectionQuality(e.quality);const t=this.getRemoteParticipantBySid(e.participantSid);t&&t.setConnectionQuality(e.quality)})},this.onLocalParticipantMetadataChanged=e=>{this.emit(Tp.ParticipantMetadataChanged,e,this.localParticipant)},this.onLocalParticipantNameChanged=e=>{this.emit(Tp.ParticipantNameChanged,e,this.localParticipant)},this.onLocalAttributesChanged=e=>{this.emit(Tp.ParticipantAttributesChanged,e,this.localParticipant)},this.onLocalTrackMuted=e=>{this.emit(Tp.TrackMuted,e,this.localParticipant)},this.onLocalTrackUnmuted=e=>{this.emit(Tp.TrackUnmuted,e,this.localParticipant)},this.onTrackProcessorUpdate=e=>{var t;null===(t=null==e?void 0:e.onPublish)||void 0===t||t.call(e,this)},this.onLocalTrackPublished=e=>eu(this,void 0,void 0,function*(){var t,r,i,n,o,a;null===(t=e.track)||void 0===t||t.on(Rp.TrackProcessorUpdate,this.onTrackProcessorUpdate),null===(r=e.track)||void 0===r||r.on(Rp.Restarted,this.onLocalTrackRestarted),null===(o=null===(n=null===(i=e.track)||void 0===i?void 0:i.getProcessor())||void 0===n?void 0:n.onPublish)||void 0===o||o.call(n,this),this.emit(Tp.LocalTrackPublished,e,this.localParticipant),Qg(e.track)&&(yield e.track.checkForSilence())&&this.emit(Tp.LocalAudioSilenceDetected,e);const s=yield null===(a=e.track)||void 0===a?void 0:a.getDeviceId(!1),l=om(e.source);l&&s&&s!==this.localParticipant.activeDeviceMap.get(l)&&(this.localParticipant.activeDeviceMap.set(l,s),this.emit(Tp.ActiveDeviceChanged,l,s))}),this.onLocalTrackUnpublished=e=>{var t,r;null===(t=e.track)||void 0===t||t.off(Rp.TrackProcessorUpdate,this.onTrackProcessorUpdate),null===(r=e.track)||void 0===r||r.off(Rp.Restarted,this.onLocalTrackRestarted),this.emit(Tp.LocalTrackUnpublished,e,this.localParticipant)},this.onLocalTrackRestarted=e=>eu(this,void 0,void 0,function*(){const t=yield e.getDeviceId(!1),r=om(e.source);r&&t&&t!==this.localParticipant.activeDeviceMap.get(r)&&(this.log.debug("local track restarted, setting ".concat(r," ").concat(t," active"),this.logContext),this.localParticipant.activeDeviceMap.set(r,t),this.emit(Tp.ActiveDeviceChanged,r,t))}),this.onLocalConnectionQualityChanged=e=>{this.emit(Tp.ConnectionQualityChanged,e,this.localParticipant)},this.onMediaDevicesError=(e,t)=>{this.emit(Tp.MediaDevicesError,e,t)},this.onLocalParticipantPermissionsChanged=e=>{this.emit(Tp.ParticipantPermissionsChanged,e,this.localParticipant)},this.onLocalChatMessageSent=e=>{this.emit(Tp.ChatMessage,e,this.localParticipant)},this.setMaxListeners(100),this.remoteParticipants=new Map,this.sidToIdentity=new Map,this.options=Object.assign(Object.assign({},Zm),e),this.log=Qh(null!==(r=this.options.loggerName)&&void 0!==r?r:Vh.Room),this.transcriptionReceivedTimes=new Map,this.options.audioCaptureDefaults=Object.assign(Object.assign({},Km),null==e?void 0:e.audioCaptureDefaults),this.options.videoCaptureDefaults=Object.assign(Object.assign({},Qm),null==e?void 0:e.videoCaptureDefaults),this.options.publishDefaults=Object.assign(Object.assign({},Jm),null==e?void 0:e.publishDefaults),this.maybeCreateEngine(),this.incomingDataStreamManager=new Jv,this.outgoingDataStreamManager=new Yv(this.engine,this.log),this.disconnectLock=new il,this.localParticipant=new df("","",this.engine,this.options,this.rpcHandlers,this.outgoingDataStreamManager),(this.options.e2ee||this.options.encryption)&&this.setupE2EE(),this.engine.e2eeManager=this.e2eeManager,this.options.videoCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("videoinput",Bg(this.options.videoCaptureDefaults.deviceId)),this.options.audioCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("audioinput",Bg(this.options.audioCaptureDefaults.deviceId)),(null===(i=this.options.audioOutput)||void 0===i?void 0:i.deviceId)&&this.switchActiveDevice("audiooutput",Bg(this.options.audioOutput.deviceId)).catch(e=>this.log.warn("Could not set audio output: ".concat(e.message),this.logContext)),Sg()){const e=new AbortController;null===(n=navigator.mediaDevices)||void 0===n||n.addEventListener("devicechange",this.handleDeviceChange,{signal:e.signal}),pf.cleanupRegistry&&pf.cleanupRegistry.register(this,()=>{e.abort()})}}registerTextStreamHandler(e,t){return this.incomingDataStreamManager.registerTextStreamHandler(e,t)}unregisterTextStreamHandler(e){return this.incomingDataStreamManager.unregisterTextStreamHandler(e)}registerByteStreamHandler(e,t){return this.incomingDataStreamManager.registerByteStreamHandler(e,t)}unregisterByteStreamHandler(e){return this.incomingDataStreamManager.unregisterByteStreamHandler(e)}registerRpcMethod(e,t){if(this.rpcHandlers.has(e))throw Error("RPC handler already registered for method ".concat(e,", unregisterRpcMethod before trying to register again"));this.rpcHandlers.set(e,t)}unregisterRpcMethod(e){this.rpcHandlers.delete(e)}setE2EEEnabled(e){return eu(this,void 0,void 0,function*(){if(!this.e2eeManager)throw Error("e2ee not configured, please set e2ee settings within the room options");yield Promise.all([this.localParticipant.setE2EEEnabled(e)]),""!==this.localParticipant.identity&&this.e2eeManager.setParticipantCryptorEnabled(e,this.localParticipant.identity)})}setupE2EE(){var e;const t=!!this.options.encryption,r=this.options.encryption||this.options.e2ee;r&&("e2eeManager"in r?(this.e2eeManager=r.e2eeManager,this.e2eeManager.isDataChannelEncryptionEnabled=t):this.e2eeManager=new hm(r,t),this.e2eeManager.on(gp.ParticipantEncryptionStatusChanged,(e,t)=>{t.isLocal&&(this.isE2EEEnabled=e),this.emit(Tp.ParticipantEncryptionStatusChanged,e,t)}),this.e2eeManager.on(gp.EncryptionError,e=>this.emit(Tp.EncryptionError,e)),null===(e=this.e2eeManager)||void 0===e||e.setup(this))}get logContext(){var e;return{room:this.name,roomID:null===(e=this.roomInfo)||void 0===e?void 0:e.sid,participant:this.localParticipant.identity,pID:this.localParticipant.sid}}get isRecording(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.activeRecording)&&void 0!==t&&t}getSid(){return eu(this,void 0,void 0,function*(){return this.state===jv.Disconnected?"":this.roomInfo&&""!==this.roomInfo.sid?this.roomInfo.sid:new Promise((e,t)=>{const r=t=>{""!==t.sid&&(this.engine.off(_p.RoomUpdate,r),e(t.sid))};this.engine.on(_p.RoomUpdate,r),this.once(Tp.Disconnected,()=>{this.engine.off(_p.RoomUpdate,r),t("Room disconnected before room server id was available")})})})}get name(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.name)&&void 0!==t?t:""}get metadata(){var e;return null===(e=this.roomInfo)||void 0===e?void 0:e.metadata}get numParticipants(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.numParticipants)&&void 0!==t?t:0}get numPublishers(){var e,t;return null!==(t=null===(e=this.roomInfo)||void 0===e?void 0:e.numPublishers)&&void 0!==t?t:0}maybeCreateEngine(){this.engine&&!this.engine.isClosed||(this.engine=new Bv(this.options),this.engine.e2eeManager=this.e2eeManager,this.engine.on(_p.ParticipantUpdate,this.handleParticipantUpdates).on(_p.RoomUpdate,this.handleRoomUpdate).on(_p.SpeakersChanged,this.handleSpeakersChanged).on(_p.StreamStateChanged,this.handleStreamStateUpdate).on(_p.ConnectionQualityUpdate,this.handleConnectionQualityUpdate).on(_p.SubscriptionError,this.handleSubscriptionError).on(_p.SubscriptionPermissionUpdate,this.handleSubscriptionPermissionUpdate).on(_p.MediaTrackAdded,(e,t,r)=>{this.onTrackAdded(e,t,r)}).on(_p.Disconnected,e=>{this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,e)}).on(_p.ActiveSpeakersUpdate,this.handleActiveSpeakersUpdate).on(_p.DataPacketReceived,this.handleDataPacket).on(_p.Resuming,()=>{this.clearConnectionReconcile(),this.isResuming=!0,this.log.info("Resuming signal connection",this.logContext),this.setAndEmitConnectionState(jv.SignalReconnecting)&&this.emit(Tp.SignalReconnecting)}).on(_p.Resumed,()=>{this.registerConnectionReconcile(),this.isResuming=!1,this.log.info("Resumed signal connection",this.logContext),this.updateSubscriptions(),this.emitBufferedEvents(),this.setAndEmitConnectionState(jv.Connected)&&this.emit(Tp.Reconnected)}).on(_p.SignalResumed,()=>{this.bufferedEvents=[],(this.state===jv.Reconnecting||this.isResuming)&&this.sendSyncState()}).on(_p.Restarting,this.handleRestarting).on(_p.SignalRestarted,this.handleSignalRestarted).on(_p.Offline,()=>{this.setAndEmitConnectionState(jv.Reconnecting)&&this.emit(Tp.Reconnecting)}).on(_p.DCBufferStatusChanged,(e,t)=>{this.emit(Tp.DCBufferStatusChanged,e,t)}).on(_p.LocalTrackSubscribed,e=>{const t=this.localParticipant.getTrackPublications().find(t=>{let{trackSid:r}=t;return r===e});t?(this.localParticipant.emit(Ip.LocalTrackSubscribed,t),this.emitWhenConnected(Tp.LocalTrackSubscribed,t,this.localParticipant)):this.log.warn("could not find local track subscription for subscribed event",this.logContext)}).on(_p.RoomMoved,e=>{this.log.debug("room moved",e),e.room&&this.handleRoomUpdate(e.room),this.remoteParticipants.forEach((e,t)=>{this.handleParticipantDisconnected(t,e)}),this.emit(Tp.Moved,e.room.name),e.participant?this.handleParticipantUpdates([e.participant,...e.otherParticipants]):this.handleParticipantUpdates(e.otherParticipants)}),this.localParticipant&&this.localParticipant.setupEngine(this.engine),this.e2eeManager&&this.e2eeManager.setupEngine(this.engine),this.outgoingDataStreamManager&&this.outgoingDataStreamManager.setupEngine(this.engine))}static getLocalDevices(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return pm.getInstance().getDevices(e,t)}prepareConnection(e,t){return eu(this,void 0,void 0,function*(){if(this.state===jv.Disconnected){this.log.debug("prepareConnection to ".concat(e),this.logContext);try{if(Eg(new URL(e))&&t){this.regionUrlProvider=new Hv(e,t);const r=yield this.regionUrlProvider.getNextBestRegionUrl();r&&this.state===jv.Disconnected&&(this.regionUrl=r,yield fetch(Vg(r),{method:"HEAD"}),this.log.debug("prepared connection to ".concat(r),this.logContext))}else yield fetch(Vg(e),{method:"HEAD"})}catch(Py){this.log.warn("could not prepare connection",Object.assign(Object.assign({},this.logContext),{error:Py}))}}})}getParticipantByIdentity(e){return this.localParticipant.identity===e?this.localParticipant:this.remoteParticipants.get(e)}clearConnectionFutures(){this.connectFuture=void 0}simulateScenario(e,t){return eu(this,void 0,void 0,function*(){let r,i=()=>eu(this,void 0,void 0,function*(){});switch(e){case"signal-reconnect":yield this.engine.client.handleOnClose("simulate disconnect");break;case"speaker":r=new Sh({scenario:{case:"speakerUpdate",value:3}});break;case"node-failure":r=new Sh({scenario:{case:"nodeFailure",value:!0}});break;case"server-leave":r=new Sh({scenario:{case:"serverLeave",value:!0}});break;case"migration":r=new Sh({scenario:{case:"migration",value:!0}});break;case"resume-reconnect":this.engine.failNext(),yield this.engine.client.handleOnClose("simulate resume-disconnect");break;case"disconnect-signal-on-resume":i=()=>eu(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),r=new Sh({scenario:{case:"disconnectSignalOnResume",value:!0}});break;case"disconnect-signal-on-resume-no-messages":i=()=>eu(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),r=new Sh({scenario:{case:"disconnectSignalOnResumeNoMessages",value:!0}});break;case"full-reconnect":this.engine.fullReconnectOnNext=!0,yield this.engine.client.handleOnClose("simulate full-reconnect");break;case"force-tcp":case"force-tls":r=new Sh({scenario:{case:"switchCandidateProtocol",value:"force-tls"===e?2:1}}),i=()=>eu(this,void 0,void 0,function*(){const e=this.engine.client.onLeave;e&&e(new rh({reason:Hc.CLIENT_INITIATED,action:ih.RECONNECT}))});break;case"subscriber-bandwidth":if(void 0===t||"number"!=typeof t)throw new Error("subscriber-bandwidth requires a number as argument");r=new Sh({scenario:{case:"subscriberBandwidth",value:Wg(t)}});break;case"leave-full-reconnect":r=new Sh({scenario:{case:"leaveRequestFullReconnect",value:!0}})}r&&(yield this.engine.client.sendSimulateScenario(r),yield i())})}get canPlaybackAudio(){return this.audioEnabled}get canPlaybackVideo(){return!this.isVideoPlaybackBlocked}getActiveDevice(e){return this.localParticipant.activeDeviceMap.get(e)}switchActiveDevice(e,t){return eu(this,arguments,void 0,function(e,t){var r=this;let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function*(){var n,o,a,s,l,c,d;let h=!0,u=!1;const p=i?{exact:t}:t;if("audioinput"===e){u=0===r.localParticipant.audioTrackPublications.size;const t=null!==(n=r.getActiveDevice(e))&&void 0!==n?n:r.options.audioCaptureDefaults.deviceId;r.options.audioCaptureDefaults.deviceId=p;const i=Array.from(r.localParticipant.audioTrackPublications.values()).filter(e=>e.source===eg.Source.Microphone);try{h=(yield Promise.all(i.map(e=>{var t;return null===(t=e.audioTrack)||void 0===t?void 0:t.setDeviceId(p)}))).every(e=>!0===e)}catch(Py){throw r.options.audioCaptureDefaults.deviceId=t,Py}const o=i.some(e=>{var t,r;return null!==(r=null===(t=e.track)||void 0===t?void 0:t.isMuted)&&void 0!==r&&r});h&&o&&(u=!0)}else if("videoinput"===e){u=0===r.localParticipant.videoTrackPublications.size;const t=null!==(o=r.getActiveDevice(e))&&void 0!==o?o:r.options.videoCaptureDefaults.deviceId;r.options.videoCaptureDefaults.deviceId=p;const i=Array.from(r.localParticipant.videoTrackPublications.values()).filter(e=>e.source===eg.Source.Camera);try{h=(yield Promise.all(i.map(e=>{var t;return null===(t=e.videoTrack)||void 0===t?void 0:t.setDeviceId(p)}))).every(e=>!0===e)}catch(Py){throw r.options.videoCaptureDefaults.deviceId=t,Py}const n=i.some(e=>{var t,r;return null!==(r=null===(t=e.track)||void 0===t?void 0:t.isMuted)&&void 0!==r&&r});h&&n&&(u=!0)}else if("audiooutput"===e){if(u=!0,!kg()&&!r.options.webAudioMix||r.options.webAudioMix&&r.audioContext&&!("setSinkId"in r.audioContext))throw new Error("cannot switch audio output, the current browser does not support it");r.options.webAudioMix&&(t=null!==(a=yield pm.getInstance().normalizeDeviceId("audiooutput",t))&&void 0!==a?a:""),null!==(s=(d=r.options).audioOutput)&&void 0!==s||(d.audioOutput={});const i=null!==(l=r.getActiveDevice(e))&&void 0!==l?l:r.options.audioOutput.deviceId;r.options.audioOutput.deviceId=t;try{r.options.webAudioMix&&(null===(c=r.audioContext)||void 0===c||c.setSinkId(t)),yield Promise.all(Array.from(r.remoteParticipants.values()).map(e=>e.setAudioOutput({deviceId:t})))}catch(Py){throw r.options.audioOutput.deviceId=i,Py}}return u&&(r.localParticipant.activeDeviceMap.set(e,t),r.emit(Tp.ActiveDeviceChanged,e,t)),h}()})}setupLocalParticipantEvents(){this.localParticipant.on(Ip.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).on(Ip.ParticipantNameChanged,this.onLocalParticipantNameChanged).on(Ip.AttributesChanged,this.onLocalAttributesChanged).on(Ip.TrackMuted,this.onLocalTrackMuted).on(Ip.TrackUnmuted,this.onLocalTrackUnmuted).on(Ip.LocalTrackPublished,this.onLocalTrackPublished).on(Ip.LocalTrackUnpublished,this.onLocalTrackUnpublished).on(Ip.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).on(Ip.MediaDevicesError,this.onMediaDevicesError).on(Ip.AudioStreamAcquired,this.startAudio).on(Ip.ChatMessage,this.onLocalChatMessageSent).on(Ip.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged)}recreateEngine(){var e;null===(e=this.engine)||void 0===e||e.close(),this.engine=void 0,this.isResuming=!1,this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.bufferedEvents=[],this.maybeCreateEngine()}onTrackAdded(e,t,r){if(this.state===jv.Connecting||this.state===jv.Reconnecting){const i=()=>{this.onTrackAdded(e,t,r),n()},n=()=>{this.off(Tp.Reconnected,i),this.off(Tp.Connected,i),this.off(Tp.Disconnected,n)};return this.once(Tp.Reconnected,i),this.once(Tp.Connected,i),void this.once(Tp.Disconnected,n)}if(this.state===jv.Disconnected)return void this.log.warn("skipping incoming track after Room disconnected",this.logContext);if("ended"===e.readyState)return void this.log.info("skipping incoming track as it already ended",this.logContext);const i=function(e){const t=e.split("|");return t.length>1?[t[0],e.substr(t[0].length+1)]:[e,""]}(t.id),n=i[0];let o=i[1],a=e.id;if(o&&o.startsWith("TR")&&(a=o),n===this.localParticipant.sid)return void this.log.warn("tried to create RemoteParticipant for local participant",this.logContext);const s=Array.from(this.remoteParticipants.values()).find(e=>e.sid===n);if(!s)return void this.log.error("Tried to add a track for a participant, that's not present. Sid: ".concat(n),this.logContext);let l;this.options.adaptiveStream&&(l="object"==typeof this.options.adaptiveStream?this.options.adaptiveStream:{});const c=s.addSubscribedMediaTrack(e,a,t,r,l);(null==c?void 0:c.isEncrypted)&&!this.e2eeManager&&this.emit(Tp.EncryptionError,new Error("Encrypted ".concat(c.source," track received from participant ").concat(s.sid,", but room does not have encryption enabled!")))}handleDisconnect(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1?arguments[1]:void 0;var r;if(this.clearConnectionReconcile(),this.isResuming=!1,this.bufferedEvents=[],this.transcriptionReceivedTimes.clear(),this.incomingDataStreamManager.clearHandlersAndControllers(),this.state!==jv.Disconnected){this.regionUrl=void 0;try{this.remoteParticipants.forEach(e=>{e.trackPublications.forEach(t=>{e.unpublishTrack(t.trackSid)})}),this.localParticipant.trackPublications.forEach(t=>{var r,i,n;t.track&&this.localParticipant.unpublishTrack(t.track,e),e?(null===(r=t.track)||void 0===r||r.detach(),null===(i=t.track)||void 0===i||i.stop()):null===(n=t.track)||void 0===n||n.stopMonitor()}),this.localParticipant.off(Ip.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).off(Ip.ParticipantNameChanged,this.onLocalParticipantNameChanged).off(Ip.AttributesChanged,this.onLocalAttributesChanged).off(Ip.TrackMuted,this.onLocalTrackMuted).off(Ip.TrackUnmuted,this.onLocalTrackUnmuted).off(Ip.LocalTrackPublished,this.onLocalTrackPublished).off(Ip.LocalTrackUnpublished,this.onLocalTrackUnpublished).off(Ip.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).off(Ip.MediaDevicesError,this.onMediaDevicesError).off(Ip.AudioStreamAcquired,this.startAudio).off(Ip.ChatMessage,this.onLocalChatMessageSent).off(Ip.ParticipantPermissionsChanged,this.onLocalParticipantPermissionsChanged),this.localParticipant.trackPublications.clear(),this.localParticipant.videoTrackPublications.clear(),this.localParticipant.audioTrackPublications.clear(),this.remoteParticipants.clear(),this.sidToIdentity.clear(),this.activeSpeakers=[],this.audioContext&&"boolean"==typeof this.options.webAudioMix&&(this.audioContext.close(),this.audioContext=void 0),Sg()&&(window.removeEventListener("beforeunload",this.onPageLeave),window.removeEventListener("pagehide",this.onPageLeave),window.removeEventListener("freeze",this.onPageLeave),null===(r=navigator.mediaDevices)||void 0===r||r.removeEventListener("devicechange",this.handleDeviceChange))}finally{this.setAndEmitConnectionState(jv.Disconnected),this.emit(Tp.Disconnected,t)}}}handleParticipantDisconnected(e,t){var r;this.remoteParticipants.delete(e),t&&(this.incomingDataStreamManager.validateParticipantHasNoActiveDataStreams(e),t.trackPublications.forEach(e=>{t.unpublishTrack(e.trackSid,!0)}),this.emit(Tp.ParticipantDisconnected,t),t.setDisconnected(),null===(r=this.localParticipant)||void 0===r||r.handleParticipantDisconnected(t.identity))}handleIncomingRpcRequest(e,t,r,i,n,o){return eu(this,void 0,void 0,function*(){if(yield this.engine.publishRpcAck(e,t),1!==o)return void(yield this.engine.publishRpcResponse(e,t,null,rv.builtIn("UNSUPPORTED_VERSION")));const a=this.rpcHandlers.get(r);if(!a)return void(yield this.engine.publishRpcResponse(e,t,null,rv.builtIn("UNSUPPORTED_METHOD")));let s=null,l=null;try{const r=yield a({requestId:t,callerIdentity:e,payload:i,responseTimeout:n});iv(r)>15360?s=rv.builtIn("RESPONSE_PAYLOAD_TOO_LARGE"):l=r}catch(c){s=c instanceof rv?c:rv.builtIn("APPLICATION_ERROR")}yield this.engine.publishRpcResponse(e,t,l,s)})}selectDefaultDevices(){return eu(this,void 0,void 0,function*(){var e,t,r;const i=pm.getInstance().previousDevices,n=yield pm.getInstance().getDevices(void 0,!1),o=$p();if("Chrome"===(null==o?void 0:o.name)&&"iOS"!==o.os)for(let s of n){const e=i.find(e=>e.deviceId===s.deviceId);e&&""!==e.label&&e.kind===s.kind&&e.label!==s.label&&"default"===this.getActiveDevice(s.kind)&&this.emit(Tp.ActiveDeviceChanged,s.kind,s.deviceId)}const a=["audiooutput","audioinput","videoinput"];for(let s of a){const o=nm(s),a=this.localParticipant.getTrackPublication(o);if(a&&(null===(e=a.track)||void 0===e?void 0:e.isUserProvided))continue;const l=n.filter(e=>e.kind===s),c=this.getActiveDevice(s);c===(null===(t=i.filter(e=>e.kind===s)[0])||void 0===t?void 0:t.deviceId)&&l.length>0&&(null===(r=l[0])||void 0===r?void 0:r.deviceId)!==c?yield this.switchActiveDevice(s,l[0].deviceId):"audioinput"===s&&!xg()||"videoinput"===s||!(l.length>0)||l.find(e=>e.deviceId===this.getActiveDevice(s))||"audiooutput"===s&&xg()||(yield this.switchActiveDevice(s,l[0].deviceId))}})}acquireAudioContext(){return eu(this,void 0,void 0,function*(){var e,t;if("boolean"!=typeof this.options.webAudioMix&&this.options.webAudioMix.audioContext?this.audioContext=this.options.webAudioMix.audioContext:this.audioContext&&"closed"!==this.audioContext.state||(this.audioContext=null!==(e=im())&&void 0!==e?e:void 0),this.options.webAudioMix&&this.remoteParticipants.forEach(e=>e.setAudioContext(this.audioContext)),this.localParticipant.setAudioContext(this.audioContext),this.audioContext&&"suspended"===this.audioContext.state)try{yield Promise.race([this.audioContext.resume(),mg(200)])}catch(Py){this.log.warn("Could not resume audio context",Object.assign(Object.assign({},this.logContext),{error:Py}))}const r="running"===(null===(t=this.audioContext)||void 0===t?void 0:t.state);r!==this.canPlaybackAudio&&(this.audioEnabled=r,this.emit(Tp.AudioPlaybackStatusChanged,r))})}createParticipant(e,t){var r;let i;return i=t?uf.fromParticipantInfo(this.engine.client,t,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}):new uf(this.engine.client,"",e,void 0,void 0,void 0,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}),this.options.webAudioMix&&i.setAudioContext(this.audioContext),(null===(r=this.options.audioOutput)||void 0===r?void 0:r.deviceId)&&i.setAudioOutput(this.options.audioOutput).catch(e=>this.log.warn("Could not set audio output: ".concat(e.message),this.logContext)),i}getOrCreateParticipant(e,t){if(this.remoteParticipants.has(e)){const r=this.remoteParticipants.get(e);return t&&r.updateInfo(t)&&this.sidToIdentity.set(t.sid,t.identity),r}const r=this.createParticipant(e,t);return this.remoteParticipants.set(e,r),this.sidToIdentity.set(t.sid,t.identity),this.emitWhenConnected(Tp.ParticipantConnected,r),r.on(Ip.TrackPublished,e=>{this.emitWhenConnected(Tp.TrackPublished,e,r)}).on(Ip.TrackSubscribed,(e,t)=>{e.kind===eg.Kind.Audio?(e.on(Rp.AudioPlaybackStarted,this.handleAudioPlaybackStarted),e.on(Rp.AudioPlaybackFailed,this.handleAudioPlaybackFailed)):e.kind===eg.Kind.Video&&(e.on(Rp.VideoPlaybackFailed,this.handleVideoPlaybackFailed),e.on(Rp.VideoPlaybackStarted,this.handleVideoPlaybackStarted)),this.emit(Tp.TrackSubscribed,e,t,r)}).on(Ip.TrackUnpublished,e=>{this.emit(Tp.TrackUnpublished,e,r)}).on(Ip.TrackUnsubscribed,(e,t)=>{this.emit(Tp.TrackUnsubscribed,e,t,r)}).on(Ip.TrackMuted,e=>{this.emitWhenConnected(Tp.TrackMuted,e,r)}).on(Ip.TrackUnmuted,e=>{this.emitWhenConnected(Tp.TrackUnmuted,e,r)}).on(Ip.ParticipantMetadataChanged,e=>{this.emitWhenConnected(Tp.ParticipantMetadataChanged,e,r)}).on(Ip.ParticipantNameChanged,e=>{this.emitWhenConnected(Tp.ParticipantNameChanged,e,r)}).on(Ip.AttributesChanged,e=>{this.emitWhenConnected(Tp.ParticipantAttributesChanged,e,r)}).on(Ip.ConnectionQualityChanged,e=>{this.emitWhenConnected(Tp.ConnectionQualityChanged,e,r)}).on(Ip.ParticipantPermissionsChanged,e=>{this.emitWhenConnected(Tp.ParticipantPermissionsChanged,e,r)}).on(Ip.TrackSubscriptionStatusChanged,(e,t)=>{this.emitWhenConnected(Tp.TrackSubscriptionStatusChanged,e,t,r)}).on(Ip.TrackSubscriptionFailed,(e,t)=>{this.emit(Tp.TrackSubscriptionFailed,e,r,t)}).on(Ip.TrackSubscriptionPermissionChanged,(e,t)=>{this.emitWhenConnected(Tp.TrackSubscriptionPermissionChanged,e,t,r)}).on(Ip.Active,()=>{this.emitWhenConnected(Tp.ParticipantActive,r),r.kind===Xc.AGENT&&this.localParticipant.setActiveAgent(r)}),t&&r.updateInfo(t),r}sendSyncState(){const e=Array.from(this.remoteParticipants.values()).reduce((e,t)=>(e.push(...t.getTrackPublications()),e),[]),t=this.localParticipant.getTrackPublications();this.engine.sendSyncState(e,t)}updateSubscriptions(){for(const e of this.remoteParticipants.values())for(const t of e.videoTrackPublications.values())t.isSubscribed&&Yg(t)&&t.emitTrackUpdate()}getRemoteParticipantBySid(e){const t=this.sidToIdentity.get(e);if(t)return this.remoteParticipants.get(t)}registerConnectionReconcile(){this.clearConnectionReconcile();let e=0;this.connectionReconcileInterval=Qp.setInterval(()=>{this.engine&&!this.engine.isClosed&&this.engine.verifyTransport()?e=0:(e++,this.log.warn("detected connection state mismatch",Object.assign(Object.assign({},this.logContext),{numFailures:e,engine:this.engine?{closed:this.engine.isClosed,transportsConnected:this.engine.verifyTransport()}:void 0})),e>=3&&(this.recreateEngine(),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,Hc.STATE_MISMATCH)))},4e3)}clearConnectionReconcile(){this.connectionReconcileInterval&&Qp.clearInterval(this.connectionReconcileInterval)}setAndEmitConnectionState(e){return e!==this.state&&(this.state=e,this.emit(Tp.ConnectionStateChanged,this.state),!0)}emitBufferedEvents(){this.bufferedEvents.forEach(e=>{let[t,r]=e;this.emit(t,...r)}),this.bufferedEvents=[]}emitWhenConnected(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];if(this.state===jv.Reconnecting||this.isResuming||!this.engine||this.engine.pendingReconnect)this.bufferedEvents.push([e,r]);else if(this.state===jv.Connected)return this.emit(e,...r);return!1}simulateParticipants(e){return eu(this,void 0,void 0,function*(){var t,r;const i=Object.assign({audio:!0,video:!0,useRealTracks:!1},e.publish),n=Object.assign({count:9,audio:!1,video:!0,aspectRatios:[1.66,1.7,1.3]},e.participants);if(this.handleDisconnect(),this.roomInfo=new Jc({sid:"RM_SIMULATED",name:"simulated-room",emptyTimeout:0,maxParticipants:0,creationTime:Cl.parse((new Date).getTime()),metadata:"",numParticipants:1,numPublishers:1,turnPassword:"",enabledCodecs:[],activeRecording:!1}),this.localParticipant.updateInfo(new Zc({identity:"simulated-local",name:"local-name"})),this.setupLocalParticipantEvents(),this.emit(Tp.SignalConnected),this.emit(Tp.Connected),this.setAndEmitConnectionState(jv.Connected),i.video){const e=new sf(eg.Kind.Video,new id({source:Fc.CAMERA,sid:Math.floor(1e4*Math.random()).toString(),type:zc.AUDIO,name:"video-dummy"}),new Cv(i.useRealTracks?(yield window.navigator.mediaDevices.getUserMedia({video:!0})).getVideoTracks()[0]:jg(160*(null!==(t=n.aspectRatios[0])&&void 0!==t?t:1),160,!0,!0),void 0,!1,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(e),this.localParticipant.emit(Ip.LocalTrackPublished,e)}if(i.audio){const e=new sf(eg.Kind.Audio,new id({source:Fc.MICROPHONE,sid:Math.floor(1e4*Math.random()).toString(),type:zc.AUDIO}),new hv(i.useRealTracks?(yield navigator.mediaDevices.getUserMedia({audio:!0})).getAudioTracks()[0]:zg(),void 0,!1,this.audioContext,{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext}),{loggerName:this.options.loggerName,loggerContextCb:()=>this.logContext});this.localParticipant.addTrackPublication(e),this.localParticipant.emit(Ip.LocalTrackPublished,e)}for(let e=0;e<n.count-1;e+=1){let t=new Zc({sid:Math.floor(1e4*Math.random()).toString(),identity:"simulated-".concat(e),state:Yc.ACTIVE,tracks:[],joinedAt:Cl.parse(Date.now())});const i=this.getOrCreateParticipant(t.identity,t);if(n.video){const o=jg(160*(null!==(r=n.aspectRatios[e%n.aspectRatios.length])&&void 0!==r?r:1),160,!1,!0),a=new id({source:Fc.CAMERA,sid:Math.floor(1e4*Math.random()).toString(),type:zc.AUDIO});i.addSubscribedMediaTrack(o,a.sid,new MediaStream([o]),new RTCRtpReceiver),t.tracks=[...t.tracks,a]}if(n.audio){const e=zg(),r=new id({source:Fc.MICROPHONE,sid:Math.floor(1e4*Math.random()).toString(),type:zc.AUDIO});i.addSubscribedMediaTrack(e,r.sid,new MediaStream([e]),new RTCRtpReceiver),t.tracks=[...t.tracks,r]}i.updateInfo(t)}})}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];if(e!==Tp.ActiveSpeakersChanged&&e!==Tp.TranscriptionReceived){const t=gf(r).filter(e=>void 0!==e);this.log.debug("room event ".concat(e),Object.assign(Object.assign({},this.logContext),{event:e,args:t}))}return super.emit(e,...r)}}function gf(e){return e.map(e=>{if(e)return Array.isArray(e)?gf(e):"object"==typeof e?"logContext"in e?e.logContext:void 0:e})}function mf(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}pf.cleanupRegistry="undefined"!=typeof FinalizationRegistry&&new FinalizationRegistry(e=>{e()}),(Fv=zv||(zv={}))[Fv.IDLE=0]="IDLE",Fv[Fv.RUNNING=1]="RUNNING",Fv[Fv.SKIPPED=2]="SKIPPED",Fv[Fv.SUCCESS=3]="SUCCESS",Fv[Fv.FAILED=4]="FAILED",nu.EventEmitter,nu.EventEmitter,new TextEncoder,new TextDecoder;class vf extends Error{constructor(e,t){var r;super(e,t),mf(this,"code","ERR_JOSE_GENERIC"),this.name=this.constructor.name,null===(r=Error.captureStackTrace)||void 0===r||r.call(Error,this,this.constructor)}}function ff(){return ff=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)({}).hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},ff.apply(null,arguments)}mf(vf,"code","ERR_JOSE_GENERIC"),mf(class extends vf{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"unspecified",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"unspecified";super(e,{cause:{claim:r,reason:i,payload:t}}),mf(this,"code","ERR_JWT_CLAIM_VALIDATION_FAILED"),mf(this,"claim",void 0),mf(this,"reason",void 0),mf(this,"payload",void 0),this.claim=r,this.reason=i,this.payload=t}},"code","ERR_JWT_CLAIM_VALIDATION_FAILED"),mf(class extends vf{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"unspecified",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"unspecified";super(e,{cause:{claim:r,reason:i,payload:t}}),mf(this,"code","ERR_JWT_EXPIRED"),mf(this,"claim",void 0),mf(this,"reason",void 0),mf(this,"payload",void 0),this.claim=r,this.reason=i,this.payload=t}},"code","ERR_JWT_EXPIRED"),mf(class extends vf{constructor(){super(...arguments),mf(this,"code","ERR_JOSE_ALG_NOT_ALLOWED")}},"code","ERR_JOSE_ALG_NOT_ALLOWED"),mf(class extends vf{constructor(){super(...arguments),mf(this,"code","ERR_JOSE_NOT_SUPPORTED")}},"code","ERR_JOSE_NOT_SUPPORTED"),mf(class extends vf{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"decryption operation failed",arguments.length>1?arguments[1]:void 0),mf(this,"code","ERR_JWE_DECRYPTION_FAILED")}},"code","ERR_JWE_DECRYPTION_FAILED"),mf(class extends vf{constructor(){super(...arguments),mf(this,"code","ERR_JWE_INVALID")}},"code","ERR_JWE_INVALID"),mf(class extends vf{constructor(){super(...arguments),mf(this,"code","ERR_JWS_INVALID")}},"code","ERR_JWS_INVALID"),mf(class extends vf{constructor(){super(...arguments),mf(this,"code","ERR_JWT_INVALID")}},"code","ERR_JWT_INVALID"),mf(class extends vf{constructor(){super(...arguments),mf(this,"code","ERR_JWK_INVALID")}},"code","ERR_JWK_INVALID"),mf(class extends vf{constructor(){super(...arguments),mf(this,"code","ERR_JWKS_INVALID")}},"code","ERR_JWKS_INVALID"),mf(class extends vf{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"no applicable key found in the JSON Web Key Set",arguments.length>1?arguments[1]:void 0),mf(this,"code","ERR_JWKS_NO_MATCHING_KEY")}},"code","ERR_JWKS_NO_MATCHING_KEY"),mf(class extends vf{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"multiple matching keys found in the JSON Web Key Set",arguments.length>1?arguments[1]:void 0),mf(this,Symbol.asyncIterator,void 0),mf(this,"code","ERR_JWKS_MULTIPLE_MATCHING_KEYS")}},"code","ERR_JWKS_MULTIPLE_MATCHING_KEYS"),mf(class extends vf{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"request timed out",arguments.length>1?arguments[1]:void 0),mf(this,"code","ERR_JWKS_TIMEOUT")}},"code","ERR_JWKS_TIMEOUT"),mf(class extends vf{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"signature verification failed",arguments.length>1?arguments[1]:void 0),mf(this,"code","ERR_JWS_SIGNATURE_VERIFICATION_FAILED")}},"code","ERR_JWS_SIGNATURE_VERIFICATION_FAILED");const bf=new Uint8Array(0);let kf=class{static getFullOptions(e){return ff({clientTools:{},onConnect:()=>{},onDebug:()=>{},onDisconnect:()=>{},onError:()=>{},onMessage:()=>{},onAudio:()=>{},onModeChange:()=>{},onStatusChange:()=>{},onCanSendFeedbackChange:()=>{},onInterruption:()=>{}},e)}constructor(e,t){var r=this;this.options=void 0,this.connection=void 0,this.lastInterruptTimestamp=0,this.mode="listening",this.status="connecting",this.volume=1,this.currentEventId=1,this.lastFeedbackEventId=0,this.canSendFeedback=!1,this.endSessionWithDetails=async function(e){"connected"!==r.status&&"connecting"!==r.status||(r.updateStatus("disconnecting"),await r.handleEndSession(),r.updateStatus("disconnected"),r.options.onDisconnect&&r.options.onDisconnect(e))},this.onMessage=async function(e){switch(e.type){case"interruption":return void r.handleInterruption(e);case"agent_response":return void r.handleAgentResponse(e);case"user_transcript":return void r.handleUserTranscript(e);case"internal_tentative_agent_response":return void r.handleTentativeAgentResponse(e);case"client_tool_call":try{await r.handleClientToolCall(e)}catch(t){r.onError(`Unexpected error in client tool call handling: ${t instanceof Error?t.message:String(t)}`,{clientToolName:e.client_tool_call.tool_name,toolCallId:e.client_tool_call.tool_call_id})}return;case"audio":return void r.handleAudio(e);case"vad_score":return void r.handleVadScore(e);case"ping":return void r.connection.sendMessage({type:"pong",event_id:e.ping_event.event_id});case"mcp_tool_call":return void r.handleMCPToolCall(e);case"mcp_connection_status":return void r.handleMCPConnectionStatus(e);case"agent_tool_response":return void r.handleAgentToolResponse(e);case"conversation_initiation_metadata":return void r.handleConversationMetadata(e);case"asr_initiation_metadata":return void r.handleAsrInitiationMetadata(e);default:return void(r.options.onDebug&&r.options.onDebug(e))}},this.setVolume=({volume:e})=>{this.volume=e},this.options=e,this.connection=t,this.options.onConnect&&this.options.onConnect({conversationId:t.conversationId}),this.connection.onMessage(this.onMessage),this.connection.onDisconnect(this.endSessionWithDetails),this.connection.onModeChange(e=>this.updateMode(e)),this.updateStatus("connected")}endSession(){return this.endSessionWithDetails({reason:"user"})}async handleEndSession(){this.connection.close()}updateMode(e){e!==this.mode&&(this.mode=e,this.options.onModeChange&&this.options.onModeChange({mode:e}))}updateStatus(e){e!==this.status&&(this.status=e,this.options.onStatusChange&&this.options.onStatusChange({status:e}))}updateCanSendFeedback(){const e=this.currentEventId!==this.lastFeedbackEventId;this.canSendFeedback!==e&&(this.canSendFeedback=e,this.options.onCanSendFeedbackChange&&this.options.onCanSendFeedbackChange({canSendFeedback:e}))}handleInterruption(e){e.interruption_event&&(this.lastInterruptTimestamp=e.interruption_event.event_id,this.options.onInterruption&&this.options.onInterruption({event_id:e.interruption_event.event_id}))}handleAgentResponse(e){this.options.onMessage&&this.options.onMessage({source:"ai",message:e.agent_response_event.agent_response})}handleUserTranscript(e){this.options.onMessage&&this.options.onMessage({source:"user",message:e.user_transcription_event.user_transcript})}handleTentativeAgentResponse(e){this.options.onDebug&&this.options.onDebug({type:"tentative_agent_response",response:e.tentative_agent_response_internal_event.tentative_agent_response})}handleVadScore(e){this.options.onVadScore&&this.options.onVadScore({vadScore:e.vad_score_event.vad_score})}async handleClientToolCall(e){if(Object.prototype.hasOwnProperty.call(this.options.clientTools,e.client_tool_call.tool_name))try{var t;const r=null!=(t=await this.options.clientTools[e.client_tool_call.tool_name](e.client_tool_call.parameters))?t:"Client tool execution successful.",i="object"==typeof r?JSON.stringify(r):String(r);this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:i,is_error:!1})}catch(r){this.onError(`Client tool execution failed with following error: ${null==r?void 0:r.message}`,{clientToolName:e.client_tool_call.tool_name}),this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:`Client tool execution failed: ${null==r?void 0:r.message}`,is_error:!0})}else{if(this.options.onUnhandledClientToolCall)return void this.options.onUnhandledClientToolCall(e.client_tool_call);this.onError(`Client tool with name ${e.client_tool_call.tool_name} is not defined on client`,{clientToolName:e.client_tool_call.tool_name}),this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:`Client tool with name ${e.client_tool_call.tool_name} is not defined on client`,is_error:!0})}}handleAudio(e){}handleMCPToolCall(e){this.options.onMCPToolCall&&this.options.onMCPToolCall(e.mcp_tool_call)}handleMCPConnectionStatus(e){this.options.onMCPConnectionStatus&&this.options.onMCPConnectionStatus(e.mcp_connection_status)}handleAgentToolResponse(e){this.options.onAgentToolResponse&&this.options.onAgentToolResponse(e.agent_tool_response)}handleConversationMetadata(e){this.options.onConversationMetadata&&this.options.onConversationMetadata(e.conversation_initiation_metadata_event)}handleAsrInitiationMetadata(e){this.options.onAsrInitiationMetadata&&this.options.onAsrInitiationMetadata(e.asr_initiation_metadata_event)}onError(e,t){this.options.onError&&this.options.onError(e,t)}getId(){return this.connection.conversationId}isOpen(){return"connected"===this.status}setMicMuted(e){this.connection.setMicMuted(e)}getInputByteFrequencyData(){return bf}getOutputByteFrequencyData(){return bf}getInputVolume(){return 0}getOutputVolume(){return 0}sendFeedback(e){this.canSendFeedback&&(this.connection.sendMessage({type:"feedback",score:e?"like":"dislike",event_id:this.currentEventId}),this.lastFeedbackEventId=this.currentEventId,this.updateCanSendFeedback())}sendContextualUpdate(e){this.connection.sendMessage({type:"contextual_update",text:e})}sendUserMessage(e){this.connection.sendMessage({type:"user_message",text:e})}sendUserActivity(){this.connection.sendMessage({type:"user_activity"})}sendMCPToolApprovalResult(e,t){this.connection.sendMessage({type:"mcp_tool_approval_result",tool_call_id:e,is_approved:t})}},wf=class{constructor(e={}){this.queue=[],this.disconnectionDetails=null,this.onDisconnectCallback=null,this.onMessageCallback=null,this.onModeChangeCallback=null,this.onDebug=void 0,this.onDebug=e.onDebug}debug(e){this.onDebug&&this.onDebug(e)}onMessage(e){this.onMessageCallback=e;const t=this.queue;this.queue=[],t.length>0&&queueMicrotask(()=>{t.forEach(e)})}onDisconnect(e){this.onDisconnectCallback=e;const t=this.disconnectionDetails;t&&queueMicrotask(()=>{e(t)})}onModeChange(e){this.onModeChangeCallback=e}updateMode(e){var t;null==(t=this.onModeChangeCallback)||t.call(this,e)}disconnect(e){var t;this.disconnectionDetails||(this.disconnectionDetails=e,null==(t=this.onDisconnectCallback)||t.call(this,e))}handleMessage(e){this.onMessageCallback?this.onMessageCallback(e):this.queue.push(e)}};function yf(e){const[t,r]=e.split("_");if(!["pcm","ulaw"].includes(t))throw new Error(`Invalid format: ${e}`);const i=Number.parseInt(r);if(Number.isNaN(i))throw new Error(`Invalid sample rate: ${r}`);return{format:t,sampleRate:i}}const xf="0.7.1";function Cf(e){return!!e.type}const Sf="conversation_initiation_client_data";function Tf(e){var t;const r={type:Sf};var i,n,o,a,s;return e.overrides&&(r.conversation_config_override={agent:{prompt:null==(i=e.overrides.agent)?void 0:i.prompt,first_message:null==(n=e.overrides.agent)?void 0:n.firstMessage,language:null==(o=e.overrides.agent)?void 0:o.language},tts:{voice_id:null==(a=e.overrides.tts)?void 0:a.voiceId},conversation:{text_only:null==(s=e.overrides.conversation)?void 0:s.textOnly}}),e.customLlmExtraBody&&(r.custom_llm_extra_body=e.customLlmExtraBody),e.dynamicVariables&&(r.dynamic_variables=e.dynamicVariables),e.userId&&(r.user_id=e.userId),null!=(t=e.overrides)&&t.client&&(r.source_info={source:e.overrides.client.source,version:e.overrides.client.version}),r}class Ef extends wf{constructor(e,t,r,i){super(),this.socket=void 0,this.conversationId=void 0,this.inputFormat=void 0,this.outputFormat=void 0,this.socket=e,this.conversationId=t,this.inputFormat=r,this.outputFormat=i,this.socket.addEventListener("error",e=>{setTimeout(()=>this.disconnect({reason:"error",message:"The connection was closed due to a socket error.",context:e}),0)}),this.socket.addEventListener("close",e=>{this.disconnect(1e3===e.code?{reason:"agent",context:e}:{reason:"error",message:e.reason||"The connection was closed by the server.",context:e})}),this.socket.addEventListener("message",e=>{try{const t=JSON.parse(e.data);if(!Cf(t))return void this.debug({type:"invalid_event",message:"Received invalid socket event",data:e.data});this.handleMessage(t)}catch(t){this.debug({type:"parsing_error",message:"Failed to parse socket message",error:t instanceof Error?t.message:String(t),data:e.data})}})}static async create(e){let t=null;try{var r,i,n;const o=null!=(r=e.origin)?r:"wss://api.elevenlabs.io";let a;const s=(null==(i=e.overrides)||null==(i=i.client)?void 0:i.version)||xf,l=(null==(n=e.overrides)||null==(n=n.client)?void 0:n.source)||"js_sdk";if(e.signedUrl){const t=e.signedUrl.includes("?")?"&":"?";a=`${e.signedUrl}${t}source=${l}&version=${s}`}else a=`${o}/v1/convai/conversation?agent_id=${e.agentId}&source=${l}&version=${s}`;const c=["convai"];e.authorization&&c.push(`bearer.${e.authorization}`),t=new WebSocket(a,c);const d=await new Promise((r,i)=>{t.addEventListener("open",()=>{var r;const i=Tf(e);null==(r=t)||r.send(JSON.stringify(i))},{once:!0}),t.addEventListener("error",e=>{setTimeout(()=>i(e),0)}),t.addEventListener("close",i),t.addEventListener("message",e=>{const t=JSON.parse(e.data);Cf(t)&&"conversation_initiation_metadata"===t.type&&r(t.conversation_initiation_metadata_event)},{once:!0})}),{conversation_id:h,agent_output_audio_format:u,user_input_audio_format:p}=d,g=yf(null!=p?p:"pcm_16000"),m=yf(u);return new Ef(t,h,g,m)}catch(a){var o;throw null==(o=t)||o.close(),a}}close(){this.socket.close()}sendMessage(e){this.socket.send(JSON.stringify(e))}async setMicMuted(e){}}function If(e){const t=new Uint8Array(e);return window.btoa(String.fromCharCode(...t))}function Pf(e){const t=window.atob(e),r=t.length,i=new Uint8Array(r);for(let n=0;n<r;n++)i[n]=t.charCodeAt(n);return i.buffer}const _f=new Map;function Mf(e,t){return async(r,i)=>{const n=_f.get(e);if(n)return r.addModule(n);if(i)try{return await r.addModule(i),void _f.set(e,i)}catch(s){throw new Error(`Failed to load the ${e} worklet module from path: ${i}. Error: ${s}`)}const o=new Blob([t],{type:"application/javascript"}),a=URL.createObjectURL(o);try{return await r.addModule(a),void _f.set(e,a)}catch(l){URL.revokeObjectURL(a)}try{const i=`data:application/javascript;base64,${btoa(t)}`;await r.addModule(i),_f.set(e,i)}catch(s){throw new Error(`Failed to load the ${e} worklet module. Make sure the browser supports AudioWorklets. If you are using a strict CSP, you may need to self-host the worklet files.`)}}}const Rf=Mf("rawAudioProcessor",'/*\n * ulaw encoding logic taken from the wavefile library\n * https://github.com/rochars/wavefile/blob/master/lib/codecs/mulaw.js\n * USED BY @elevenlabs/client\n */\n\nconst BIAS = 0x84;\nconst CLIP = 32635;\nconst encodeTable = [\n 0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,\n 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,\n 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,\n 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,\n 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,\n 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7\n];\n\nfunction encodeSample(sample) {\n let sign;\n let exponent;\n let mantissa;\n let muLawSample;\n sign = (sample >> 8) & 0x80;\n if (sign !== 0) sample = -sample;\n sample = sample + BIAS;\n if (sample > CLIP) sample = CLIP;\n exponent = encodeTable[(sample>>7) & 0xFF];\n mantissa = (sample >> (exponent+3)) & 0x0F;\n muLawSample = ~(sign | (exponent << 4) | mantissa);\n \n return muLawSample;\n}\n\nclass RawAudioProcessor extends AudioWorkletProcessor {\n constructor() {\n super();\n \n this.port.onmessage = ({ data }) => {\n switch (data.type) {\n case "setFormat":\n this.isMuted = false;\n this.buffer = []; // Initialize an empty buffer\n this.bufferSize = data.sampleRate / 4;\n this.format = data.format;\n\n if (globalThis.LibSampleRate && sampleRate !== data.sampleRate) {\n globalThis.LibSampleRate.create(1, sampleRate, data.sampleRate).then(resampler => {\n this.resampler = resampler;\n });\n }\n break;\n case "setMuted":\n this.isMuted = data.isMuted;\n break;\n }\n };\n }\n process(inputs) {\n if (!this.buffer) {\n return true;\n }\n \n const input = inputs[0]; // Get the first input node\n if (input.length > 0) {\n let channelData = input[0]; // Get the first channel\'s data\n\n // Resample the audio if necessary\n if (this.resampler) {\n channelData = this.resampler.full(channelData);\n }\n\n // Add channel data to the buffer\n this.buffer.push(...channelData);\n // Get max volume \n let sum = 0.0;\n for (let i = 0; i < channelData.length; i++) {\n sum += channelData[i] * channelData[i];\n }\n const maxVolume = Math.sqrt(sum / channelData.length);\n // Check if buffer size has reached or exceeded the threshold\n if (this.buffer.length >= this.bufferSize) {\n const float32Array = this.isMuted \n ? new Float32Array(this.buffer.length)\n : new Float32Array(this.buffer);\n\n let encodedArray = this.format === "ulaw"\n ? new Uint8Array(float32Array.length)\n : new Int16Array(float32Array.length);\n\n // Iterate through the Float32Array and convert each sample to PCM16\n for (let i = 0; i < float32Array.length; i++) {\n // Clamp the value to the range [-1, 1]\n let sample = Math.max(-1, Math.min(1, float32Array[i]));\n\n // Scale the sample to the range [-32768, 32767]\n let value = sample < 0 ? sample * 32768 : sample * 32767;\n if (this.format === "ulaw") {\n value = encodeSample(Math.round(value));\n }\n\n encodedArray[i] = value;\n }\n\n // Send the buffered data to the main script\n this.port.postMessage([encodedArray, maxVolume]);\n\n // Clear the buffer after sending\n this.buffer = [];\n }\n }\n return true; // Continue processing\n }\n}\nregisterProcessor("rawAudioProcessor", RawAudioProcessor);\n');class Af extends wf{constructor(e,t,r,i,n={}){super(n),this.conversationId=void 0,this.inputFormat=void 0,this.outputFormat=void 0,this.room=void 0,this.isConnected=!1,this.audioEventId=1,this.audioCaptureContext=null,this.audioElements=[],this.outputDeviceId=null,this.outputAnalyser=null,this.outputFrequencyData=null,this.room=e,this.conversationId=t,this.inputFormat=r,this.outputFormat=i,this.setupRoomEventListeners()}static async create(e){let t;if("conversationToken"in e&&e.conversationToken)t=e.conversationToken;else{if(!("agentId"in e)||!e.agentId)throw new Error("Either conversationToken or agentId is required for WebRTC connection");try{var r,i,n;const a=(null==(r=e.overrides)||null==(r=r.client)?void 0:r.version)||xf,s=(null==(i=e.overrides)||null==(i=i.client)?void 0:i.source)||"js_sdk",l=`${o=null!=(n=e.origin)?n:"https://api.elevenlabs.io",o.replace(/^wss:\/\//,"https://")}/v1/convai/conversation/token?agent_id=${e.agentId}&source=${s}&version=${a}`,c=await fetch(l);if(!c.ok)throw new Error(`ElevenLabs API returned ${c.status} ${c.statusText}`);if(t=(await c.json()).token,!t)throw new Error("No conversation token received from API")}catch(Py){let r=Py instanceof Error?Py.message:String(Py);throw Py instanceof Error&&Py.message.includes("401")&&(r="Your agent has authentication enabled, but no signed URL or conversation token was provided."),new Error(`Failed to fetch conversation token for agent ${e.agentId}: ${r}`)}}var o;const a=new pf;try{const r=`room_${Date.now()}`,i=yf("pcm_48000"),n=yf("pcm_48000"),o=new Af(a,r,i,n,e),l=e.livekitUrl||"wss://livekit.rtc.elevenlabs.io";var s;await a.connect(l,t),await new Promise(e=>{if(o.isConnected)e();else{const t=()=>{a.off(Tp.Connected,t),e()};a.on(Tp.Connected,t)}}),a.name&&(o.conversationId=(null==(s=a.name.match(/(conv_[a-zA-Z0-9]+)/))?void 0:s[0])||a.name),await a.localParticipant.setMicrophoneEnabled(!0);const c=Tf(e);return o.debug({type:Sf,message:c}),await o.sendMessage(c),o}catch(Py){throw await a.disconnect(),Py}}setupRoomEventListeners(){var e=this;this.room.on(Tp.Connected,async function(){e.isConnected=!0}),this.room.on(Tp.Disconnected,e=>{this.isConnected=!1,this.disconnect({reason:"agent",context:new CloseEvent("close",{reason:null==e?void 0:e.toString()})})}),this.room.on(Tp.ConnectionStateChanged,e=>{e===jv.Disconnected&&(this.isConnected=!1,this.disconnect({reason:"error",message:`LiveKit connection state changed to ${e}`,context:new Event("connection_state_changed")}))}),this.room.on(Tp.DataReceived,(e,t)=>{try{const t=JSON.parse((new TextDecoder).decode(e));if("audio"===t.type)return;Cf(t)&&this.handleMessage(t)}catch(r){}}),this.room.on(Tp.TrackSubscribed,async function(t,r,i){if(t.kind===eg.Kind.Audio&&i.identity.includes("agent")){const r=t,i=r.attach();if(i.autoplay=!0,i.controls=!1,e.outputDeviceId&&i.setSinkId)try{await i.setSinkId(e.outputDeviceId)}catch(n){}i.style.display="none",document.body.appendChild(i),e.audioElements.push(i),1===e.audioElements.length&&(null==e.onDebug||e.onDebug({type:"audio_element_ready"})),await e.setupAudioCapture(r)}}),this.room.on(Tp.ActiveSpeakersChanged,async function(t){e.updateMode(t.length>0&&t[0].identity.startsWith("agent")?"speaking":"listening")})}close(){if(this.isConnected){try{this.room.localParticipant.audioTrackPublications.forEach(e=>{e.track&&e.track.stop()})}catch(Py){}this.audioCaptureContext&&(this.audioCaptureContext.close().catch(e=>{}),this.audioCaptureContext=null),this.audioElements.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)}),this.audioElements=[],this.room.disconnect()}}async sendMessage(e){if(this.isConnected&&this.room.localParticipant&&!("user_audio_chunk"in e))try{const t=(new TextEncoder).encode(JSON.stringify(e));await this.room.localParticipant.publishData(t,{reliable:!0})}catch(t){this.debug({type:"send_message_error",message:{message:e,error:t}})}}getRoom(){return this.room}async setMicMuted(e){if(!this.isConnected||!this.room.localParticipant)return;const t=this.room.localParticipant.getTrackPublication(eg.Source.Microphone);if(null!=t&&t.track)try{e?await t.track.mute():await t.track.unmute()}catch(r){await this.room.localParticipant.setMicrophoneEnabled(!e)}else await this.room.localParticipant.setMicrophoneEnabled(!e)}async setupAudioCapture(e){try{const t=new AudioContext;this.audioCaptureContext=t,this.outputAnalyser=t.createAnalyser(),this.outputAnalyser.fftSize=2048,this.outputAnalyser.smoothingTimeConstant=.8;const r=new MediaStream([e.mediaStreamTrack]),i=t.createMediaStreamSource(r);i.connect(this.outputAnalyser),await Rf(t.audioWorklet);const n=new AudioWorkletNode(t,"rawAudioProcessor");this.outputAnalyser.connect(n),n.port.postMessage({type:"setFormat",format:this.outputFormat.format,sampleRate:this.outputFormat.sampleRate}),n.port.onmessage=e=>{const[t,r]=e.data;if(r>.01){const e=If(t.buffer),r=this.audioEventId++;this.handleMessage({type:"audio",audio_event:{audio_base_64:e,event_id:r}})}},i.connect(n)}catch(t){}}setAudioVolume(e){this.audioElements.forEach(t=>{t.volume=e})}async setAudioOutputDevice(e){if(!("setSinkId"in HTMLAudioElement.prototype))throw new Error("setSinkId is not supported in this browser");const t=this.audioElements.map(async function(t){try{await t.setSinkId(e)}catch(r){throw r}});await Promise.all(t),this.outputDeviceId=e}async setAudioInputDevice(e){if(!this.isConnected||!this.room.localParticipant)throw new Error("Cannot change input device: room not connected or no local participant");try{const t=this.room.localParticipant.getTrackPublication(eg.Source.Microphone);null!=t&&t.track&&(await t.track.stop(),await this.room.localParticipant.unpublishTrack(t.track));const r={deviceId:{exact:e},echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,channelCount:{ideal:1}},i=await function(e){return eu(this,void 0,void 0,function*(){return(yield lf({audio:null==e||e,video:!1}))[0]})}(r);await this.room.localParticipant.publishTrack(i,{name:"microphone",source:eg.Source.Microphone})}catch(t){try{await this.room.localParticipant.setMicrophoneEnabled(!0)}catch(r){}throw t}}getOutputByteFrequencyData(){return this.outputAnalyser?(null!=this.outputFrequencyData||(this.outputFrequencyData=new Uint8Array(this.outputAnalyser.frequencyBinCount)),this.outputAnalyser.getByteFrequencyData(this.outputFrequencyData),this.outputFrequencyData):null}}async function Of(e){const t=(r=e).connectionType?r.connectionType:"conversationToken"in r&&r.conversationToken?"webrtc":"websocket";var r;switch(t){case"websocket":return Ef.create(e);case"webrtc":return Af.create(e);default:throw new Error(`Unknown connection type: ${t}`)}}function Df(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}async function Lf(e={default:0,android:3e3}){let t=e.default;var r;if(/android/i.test(navigator.userAgent))t=null!=(r=e.android)?r:t;else if(Df()){var i;t=null!=(i=e.ios)?i:t}t>0&&await new Promise(e=>setTimeout(e,t))}let Nf=class e extends kf{static async startSession(t){const r=kf.getFullOptions(t);r.onStatusChange&&r.onStatusChange({status:"connecting"}),r.onCanSendFeedbackChange&&r.onCanSendFeedbackChange({canSendFeedback:!1}),r.onModeChange&&r.onModeChange({mode:"listening"}),r.onCanSendFeedbackChange&&r.onCanSendFeedbackChange({canSendFeedback:!1});let i=null;try{return await Lf(r.connectionDelay),i=await Of(t),new e(r,i)}catch(o){var n;throw r.onStatusChange&&r.onStatusChange({status:"disconnected"}),null==(n=i)||n.close(),o}}};const jf={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,channelCount:{ideal:1}};let Uf=class e{static async create({sampleRate:t,format:r,preferHeadphonesForIosDevices:i,inputDeviceId:n,workletPaths:o,libsampleratePath:a}){let s=null,l=null;try{const c=ff({sampleRate:{ideal:t}},jf);if(Df()&&i){const e=(await window.navigator.mediaDevices.enumerateDevices()).find(e=>"audioinput"===e.kind&&["airpod","headphone","earphone"].find(t=>e.label.toLowerCase().includes(t)));e&&(c.deviceId={ideal:e.deviceId})}n&&(c.deviceId={exact:n});const d=navigator.mediaDevices.getSupportedConstraints().sampleRate;s=new window.AudioContext(d?{sampleRate:t}:{});const h=s.createAnalyser();if(!d){const e=a||"https://cdn.jsdelivr.net/npm/@alexanderolsen/libsamplerate-js@2.1.2/dist/libsamplerate.worklet.js";await s.audioWorklet.addModule(e)}await Rf(s.audioWorklet,null==o?void 0:o.rawAudioProcessor);const u=ff({voiceIsolation:!0},c);l=await navigator.mediaDevices.getUserMedia({audio:u});const p=s.createMediaStreamSource(l),g=new AudioWorkletNode(s,"rawAudioProcessor");return g.port.postMessage({type:"setFormat",format:r,sampleRate:t}),p.connect(h),h.connect(g),await s.resume(),new e(s,h,g,l,p)}catch(h){var c,d;throw null==(c=l)||c.getTracks().forEach(e=>{e.stop()}),null==(d=s)||d.close(),h}}constructor(e,t,r,i,n){this.context=void 0,this.analyser=void 0,this.worklet=void 0,this.inputStream=void 0,this.mediaStreamSource=void 0,this.context=e,this.analyser=t,this.worklet=r,this.inputStream=i,this.mediaStreamSource=n}async close(){this.inputStream.getTracks().forEach(e=>{e.stop()}),this.mediaStreamSource.disconnect(),await this.context.close()}setMuted(e){this.worklet.port.postMessage({type:"setMuted",isMuted:e})}async setInputDevice(e){try{const t=ff({},jf);e&&(t.deviceId={exact:e});const r=ff({voiceIsolation:!0},t),i=await navigator.mediaDevices.getUserMedia({audio:r});this.inputStream.getTracks().forEach(e=>{e.stop()}),this.mediaStreamSource.disconnect(),this.inputStream=i,this.mediaStreamSource=this.context.createMediaStreamSource(i),this.mediaStreamSource.connect(this.analyser)}catch(t){throw t}}};const zf=Mf("audioConcatProcessor",'/*\n * ulaw decoding logic taken from the wavefile library\n * https://github.com/rochars/wavefile/blob/master/lib/codecs/mulaw.js\n * USED BY @elevenlabs/client\n */\n\nconst decodeTable = [0,132,396,924,1980,4092,8316,16764];\n\nfunction decodeSample(muLawSample) {\n let sign;\n let exponent;\n let mantissa;\n let sample;\n muLawSample = ~muLawSample;\n sign = (muLawSample & 0x80);\n exponent = (muLawSample >> 4) & 0x07;\n mantissa = muLawSample & 0x0F;\n sample = decodeTable[exponent] + (mantissa << (exponent+3));\n if (sign !== 0) sample = -sample;\n\n return sample;\n}\n\nclass AudioConcatProcessor extends AudioWorkletProcessor {\n constructor() {\n super();\n this.buffers = []; // Initialize an empty buffer\n this.cursor = 0;\n this.currentBuffer = null;\n this.wasInterrupted = false;\n this.finished = false;\n \n this.port.onmessage = ({ data }) => {\n switch (data.type) {\n case "setFormat":\n this.format = data.format;\n break;\n case "buffer":\n this.wasInterrupted = false;\n this.buffers.push(\n this.format === "ulaw"\n ? new Uint8Array(data.buffer)\n : new Int16Array(data.buffer)\n );\n break;\n case "interrupt":\n this.wasInterrupted = true;\n break;\n case "clearInterrupted":\n if (this.wasInterrupted) {\n this.wasInterrupted = false;\n this.buffers = [];\n this.currentBuffer = null;\n }\n }\n };\n }\n process(_, outputs) {\n let finished = false;\n const output = outputs[0][0];\n for (let i = 0; i < output.length; i++) {\n if (!this.currentBuffer) {\n if (this.buffers.length === 0) {\n finished = true;\n break;\n }\n this.currentBuffer = this.buffers.shift();\n this.cursor = 0;\n }\n\n let value = this.currentBuffer[this.cursor];\n if (this.format === "ulaw") {\n value = decodeSample(value);\n }\n output[i] = value / 32768;\n this.cursor++;\n\n if (this.cursor >= this.currentBuffer.length) {\n this.currentBuffer = null;\n }\n }\n\n if (this.finished !== finished) {\n this.finished = finished;\n this.port.postMessage({ type: "process", finished });\n }\n\n return true; // Continue processing\n }\n}\n\nregisterProcessor("audioConcatProcessor", AudioConcatProcessor);\n');class Ff{static async create({sampleRate:e,format:t,outputDeviceId:r,workletPaths:i}){let n=null,o=null;try{n=new AudioContext({sampleRate:e});const a=n.createAnalyser(),s=n.createGain();o=new Audio,o.src="",o.load(),o.autoplay=!0,o.style.display="none",document.body.appendChild(o);const l=n.createMediaStreamDestination();o.srcObject=l.stream,s.connect(a),a.connect(l),await zf(n.audioWorklet,null==i?void 0:i.audioConcatProcessor);const c=new AudioWorkletNode(n,"audioConcatProcessor");return c.port.postMessage({type:"setFormat",format:t}),c.connect(s),await n.resume(),r&&o.setSinkId&&await o.setSinkId(r),new Ff(n,a,s,c,o)}catch(l){var a,s;throw null!=(a=o)&&a.parentNode&&o.parentNode.removeChild(o),null==(s=o)||s.pause(),n&&"closed"!==n.state&&await n.close(),l}}constructor(e,t,r,i,n){this.context=void 0,this.analyser=void 0,this.gain=void 0,this.worklet=void 0,this.audioElement=void 0,this.context=e,this.analyser=t,this.gain=r,this.worklet=i,this.audioElement=n}async setOutputDevice(e){if(!("setSinkId"in HTMLAudioElement.prototype))throw new Error("setSinkId is not supported in this browser");await this.audioElement.setSinkId(e||"")}async close(){this.audioElement.parentNode&&this.audioElement.parentNode.removeChild(this.audioElement),this.audioElement.pause(),await this.context.close()}}class Bf extends kf{static async startSession(e){var t;const r=kf.getFullOptions(e);r.onStatusChange&&r.onStatusChange({status:"connecting"}),r.onCanSendFeedbackChange&&r.onCanSendFeedbackChange({canSendFeedback:!1});let i=null,n=null,o=null,a=null,s=null;if(null==(t=e.useWakeLock)||t)try{s=await navigator.wakeLock.request("screen")}catch(g){}try{var l;return a=await navigator.mediaDevices.getUserMedia({audio:!0}),await Lf(r.connectionDelay),n=await Of(e),[i,o]=await Promise.all([Uf.create(ff({},n.inputFormat,{preferHeadphonesForIosDevices:e.preferHeadphonesForIosDevices,inputDeviceId:e.inputDeviceId,workletPaths:e.workletPaths,libsampleratePath:e.libsampleratePath})),Ff.create(ff({},n.outputFormat,{outputDeviceId:e.outputDeviceId,workletPaths:e.workletPaths}))]),null==(l=a)||l.getTracks().forEach(e=>{e.stop()}),a=null,new Bf(r,n,i,o,s)}catch(g){var c,d,h,u;r.onStatusChange&&r.onStatusChange({status:"disconnected"}),null==(c=a)||c.getTracks().forEach(e=>{e.stop()}),null==(d=n)||d.close(),await(null==(h=i)?void 0:h.close()),await(null==(u=o)?void 0:u.close());try{var p;await(null==(p=s)?void 0:p.release()),s=null}catch(m){}throw g}}constructor(e,t,r,i,n){super(e,t),this.input=void 0,this.output=void 0,this.wakeLock=void 0,this.inputFrequencyData=void 0,this.outputFrequencyData=void 0,this.onInputWorkletMessage=e=>{"connected"===this.status&&this.connection.sendMessage({user_audio_chunk:If(e.data[0].buffer)})},this.onOutputWorkletMessage=({data:e})=>{"process"===e.type&&this.updateMode(e.finished?"listening":"speaking")},this.addAudioBase64Chunk=e=>{this.output.gain.gain.value=this.volume,this.output.worklet.port.postMessage({type:"clearInterrupted"}),this.output.worklet.port.postMessage({type:"buffer",buffer:Pf(e)})},this.fadeOutAudio=()=>{this.updateMode("listening"),this.output.worklet.port.postMessage({type:"interrupt"}),this.output.gain.gain.exponentialRampToValueAtTime(1e-4,this.output.context.currentTime+2),setTimeout(()=>{this.output.gain.gain.value=this.volume,this.output.worklet.port.postMessage({type:"clearInterrupted"})},2e3)},this.calculateVolume=e=>{if(0===e.length)return 0;let t=0;for(let r=0;r<e.length;r++)t+=e[r]/255;return t/=e.length,t<0?0:t>1?1:t},this.setVolume=({volume:e})=>{const t=Number.isFinite(e)?Math.min(1,Math.max(0,e)):1;this.volume=t,this.connection instanceof Af?this.connection.setAudioVolume(t):this.output.gain.gain.value=t},this.input=r,this.output=i,this.wakeLock=n,this.input.worklet.port.onmessage=this.onInputWorkletMessage,this.output.worklet.port.onmessage=this.onOutputWorkletMessage}async handleEndSession(){await super.handleEndSession();try{var e;await(null==(e=this.wakeLock)?void 0:e.release()),this.wakeLock=null}catch(t){}await this.input.close(),await this.output.close()}handleInterruption(e){super.handleInterruption(e),this.fadeOutAudio()}handleAudio(e){var t,r;this.lastInterruptTimestamp<=e.audio_event.event_id&&(null==(t=(r=this.options).onAudio)||t.call(r,e.audio_event.audio_base_64),this.connection instanceof Af||this.addAudioBase64Chunk(e.audio_event.audio_base_64),this.currentEventId=e.audio_event.event_id,this.updateCanSendFeedback(),this.updateMode("speaking"))}setMicMuted(e){this.connection instanceof Af?this.connection.setMicMuted(e):this.input.setMuted(e)}getInputByteFrequencyData(){return null!=this.inputFrequencyData||(this.inputFrequencyData=new Uint8Array(this.input.analyser.frequencyBinCount)),this.input.analyser.getByteFrequencyData(this.inputFrequencyData),this.inputFrequencyData}getOutputByteFrequencyData(){return this.connection instanceof Af?this.connection.getOutputByteFrequencyData()||new Uint8Array(1024):(null!=this.outputFrequencyData||(this.outputFrequencyData=new Uint8Array(this.output.analyser.frequencyBinCount)),this.output.analyser.getByteFrequencyData(this.outputFrequencyData),this.outputFrequencyData)}getInputVolume(){return this.calculateVolume(this.getInputByteFrequencyData())}getOutputVolume(){return this.calculateVolume(this.getOutputByteFrequencyData())}async changeInputDevice({sampleRate:e,format:t,preferHeadphonesForIosDevices:r,inputDeviceId:i}){try{if(this.connection instanceof Ef)try{return await this.input.setInputDevice(i),this.input}catch(n){}this.connection instanceof Af&&await this.connection.setAudioInputDevice(i||""),await this.input.close();const o=await Uf.create({sampleRate:null!=e?e:this.connection.inputFormat.sampleRate,format:null!=t?t:this.connection.inputFormat.format,preferHeadphonesForIosDevices:r,inputDeviceId:i,workletPaths:this.options.workletPaths,libsampleratePath:this.options.libsampleratePath});return this.input=o,this.input.worklet.port.onmessage=this.onInputWorkletMessage,this.input}catch(n){throw n}}async changeOutputDevice({sampleRate:e,format:t,outputDeviceId:r}){try{if(this.connection instanceof Ef)try{return await this.output.setOutputDevice(r),this.output}catch(i){}this.connection instanceof Af&&await this.connection.setAudioOutputDevice(r||""),await this.output.close();const n=await Ff.create({sampleRate:null!=e?e:this.connection.outputFormat.sampleRate,format:null!=t?t:this.connection.outputFormat.format,outputDeviceId:r,workletPaths:this.options.workletPaths});return this.output=n,this.output}catch(i){throw i}}}class Vf extends kf{static startSession(e){return e.textOnly?Nf.startSession(e):Bf.startSession(e)}}var qf=Object.defineProperty,Hf=(e,t)=>qf(e,"name",{value:t,configurable:!0}),Wf=(e,t,r)=>((e,t,r)=>t in e?qf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);const $f={class:"spinner max-w-sm"},Gf={class:"ring-circular h-full w-full origin-center",viewBox:"25 25 50 50"},Jf=$r({__name:"FSpinner",props:{width:{type:String,default:""},colorMode:{type:String,default:"primary"}},setup:e=>(t,r)=>(An(),Nn("div",$f,[(An(),Nn("svg",Gf,[Vn("circle",{class:ge([e.colorMode,"ring-path"]),cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":"5","stroke-miterlimit":"30"},null,2)]))]))}),Kf={green:{50:"oklch(98.2% 0.018 155.826)",100:"oklch(96.2% 0.044 156.743)",200:"oklch(92.5% 0.084 155.995)",300:"oklch(87.1% 0.15 154.449)",400:"oklch(79.2% 0.209 151.711)",500:"oklch(72.3% 0.219 149.579)",600:"oklch(62.7% 0.194 149.214)",700:"oklch(52.7% 0.154 150.069)",800:"oklch(44.8% 0.119 151.328)",900:"oklch(39.3% 0.095 152.535)",950:"oklch(26.6% 0.065 152.934)"},blue:{50:"oklch(97% 0.014 254.604)",100:"oklch(93.2% 0.032 255.585)",200:"oklch(88.2% 0.059 254.128)",300:"oklch(80.9% 0.105 251.813)",400:"oklch(70.7% 0.165 254.624)",500:"oklch(62.3% 0.214 259.815)",600:"oklch(54.6% 0.245 262.881)",700:"oklch(48.8% 0.243 264.376)",800:"oklch(42.4% 0.199 265.638)",900:"oklch(37.9% 0.146 265.522)",950:"oklch(28.2% 0.091 267.935)"},rose:{50:"oklch(96.9% 0.015 12.422)",100:"oklch(94.1% 0.03 12.58)",200:"oklch(89.2% 0.058 10.001)",300:"oklch(81% 0.117 11.638)",400:"oklch(71.2% 0.194 13.428)",500:"oklch(64.5% 0.246 16.439)",600:"oklch(58.6% 0.253 17.585)",700:"oklch(51.4% 0.222 16.935)",800:"oklch(45.5% 0.188 13.697)",900:"oklch(41% 0.159 10.272)",950:"oklch(27.1% 0.105 12.094)"},cyan:{50:"oklch(98.4% 0.019 200.873)",100:"oklch(95.6% 0.045 203.388)",200:"oklch(91.7% 0.08 205.041)",300:"oklch(86.5% 0.127 207.078)",400:"oklch(78.9% 0.154 211.53)",500:"oklch(71.5% 0.143 215.221)",600:"oklch(60.9% 0.126 221.723)",700:"oklch(52% 0.105 223.128)",800:"oklch(45% 0.085 224.283)",900:"oklch(39.8% 0.07 227.392)",950:"oklch(30.2% 0.056 229.695)"},purple:{50:"oklch(97.7% 0.014 308.299)",100:"oklch(94.6% 0.033 307.174)",200:"oklch(90.2% 0.063 306.703)",300:"oklch(82.7% 0.119 306.383)",400:"oklch(71.4% 0.203 305.504)",500:"oklch(62.7% 0.265 303.9)",600:"oklch(55.8% 0.288 302.321)",700:"oklch(49.6% 0.265 301.924)",800:"oklch(43.8% 0.218 303.724)",900:"oklch(38.1% 0.176 304.987)",950:"oklch(29.1% 0.149 302.717)"},amber:{50:"oklch(98.7% 0.022 95.277)",100:"oklch(96.2% 0.059 95.617)",200:"oklch(92.4% 0.12 95.746)",300:"oklch(87.9% 0.169 91.605)",400:"oklch(82.8% 0.189 84.429)",500:"oklch(76.9% 0.188 70.08)",600:"oklch(66.6% 0.179 58.318)",700:"oklch(55.5% 0.163 48.998)",800:"oklch(47.3% 0.137 46.201)",900:"oklch(41.4% 0.112 45.904)",950:"oklch(27.9% 0.077 45.635)"},indigo:{50:"oklch(96.2% 0.018 272.314)",100:"oklch(93% 0.034 272.788)",200:"oklch(87% 0.065 274.039)",300:"oklch(78.5% 0.115 274.713)",400:"oklch(67.3% 0.182 276.935)",500:"oklch(58.5% 0.233 277.117)",600:"oklch(51.1% 0.262 276.966)",700:"oklch(45.7% 0.24 277.023)",800:"oklch(39.8% 0.195 277.366)",900:"oklch(35.9% 0.144 278.697)",950:"oklch(25.7% 0.09 281.288)"},pink:{50:"oklch(97.1% 0.014 343.198)",100:"oklch(94.8% 0.028 342.258)",200:"oklch(89.9% 0.061 343.231)",300:"oklch(82.3% 0.12 346.018)",400:"oklch(71.8% 0.202 349.761)",500:"oklch(65.6% 0.241 354.308)",600:"oklch(59.2% 0.249 0.584)",700:"oklch(52.5% 0.223 3.958)",800:"oklch(45.9% 0.187 3.815)",900:"oklch(40.8% 0.153 2.432)",950:"oklch(28.4% 0.109 3.907)"},teal:{50:"oklch(98.4% 0.014 180.72)",100:"oklch(95.3% 0.051 180.801)",200:"oklch(91% 0.096 180.426)",300:"oklch(85.5% 0.138 181.071)",400:"oklch(77.7% 0.152 181.912)",500:"oklch(70.4% 0.14 182.503)",600:"oklch(60% 0.118 184.704)",700:"oklch(51.1% 0.096 186.391)",800:"oklch(43.7% 0.078 188.216)",900:"oklch(38.6% 0.063 188.416)",950:"oklch(27.7% 0.046 192.524)"},sky:{50:"oklch(97.7% 0.013 236.62)",100:"oklch(95.1% 0.026 236.824)",200:"oklch(90.1% 0.058 230.902)",300:"oklch(82.8% 0.111 230.318)",400:"oklch(74.6% 0.16 232.661)",500:"oklch(68.5% 0.169 237.323)",600:"oklch(58.8% 0.158 241.966)",700:"oklch(50% 0.134 242.749)",800:"oklch(44.3% 0.11 240.79)",900:"oklch(39.1% 0.09 240.876)",950:"oklch(29.3% 0.066 243.157)"}};function Qf(e){return Kf[e]||Kf.blue}Hf(Qf,"getColorSchemeOklch");const Zf=[{mode:"self",label:"Mode",icon:"i-tabler-north-star"},{mode:"talk",label:"Talk",icon:"i-tabler-phone"},{mode:"chat",label:"Chat",icon:"i-tabler-message-circle"},{mode:"info",label:"About",icon:"i-tabler-user-circle"}],Yf=class extends Qa{constructor(e){super("ClientAudio",e),Wf(this,"audioContext"),Wf(this,"analyser"),Wf(this,"microphone"),Wf(this,"audioLevelInterval"),Wf(this,"stream"),Wf(this,"visibilityChangeHandler"),Wf(this,"vadTimeout"),Wf(this,"lastSpeechTime",0),Wf(this,"VAD_SILENCE_THRESHOLD",.03),Wf(this,"VAD_SILENCE_DURATION",1200),Wf(this,"audioLevels",Ft({inputLevel:0,outputLevel:0})),this.setupVisibilityHandler()}setupVisibilityHandler(){typeof document>"u"||(this.visibilityChangeHandler=()=>{document.hidden?(this.logger.info("App backgrounded, suspending audio context"),this.handleAppBackground()):(this.logger.info("App foregrounded, resuming audio context"),this.handleAppForeground())},document.addEventListener("visibilitychange",this.visibilityChangeHandler,{passive:!0}),window.addEventListener("beforeunload",()=>{this.cleanup().catch(this.logger.error.bind(this,"Error during beforeunload cleanup"))},{passive:!0}))}handleAppBackground(){this.logger.info("App backgrounded - stopping microphone for privacy"),this.stopMicrophone().catch(this.logger.error.bind(this,"Error stopping microphone on background"))}handleAppForeground(){this.logger.info("App foregrounded - microphone remains off until user re-enables (security best practice)")}async requestMicrophonePermission(e={}){try{const{noiseSuppression:t=!0,echoCancellation:r=!0,autoGainControl:i=!0,voiceIsolation:n=!0}=e,o={audio:{noiseSuppression:{ideal:t,exact:t},echoCancellation:{ideal:r,exact:r},autoGainControl:{ideal:i,exact:i},voiceIsolation:{ideal:n,exact:n},advanced:[{googAudioMirroring:!1},{googAutoGainControl:i},{googAutoGainControl2:i},{googNoiseSuppression:t},{googNoiseSuppression2:t},{googEchoCancellation:r},{googEchoCancellation2:r},{googHighpassFilter:!0},{googTypingNoiseDetection:!0}]}};this.stream=await navigator.mediaDevices.getUserMedia(o);const a=this.stream.getAudioTracks()[0].getSettings();return this.logger.info("Microphone permission granted with settings:",{noiseSuppression:a.noiseSuppression,echoCancellation:a.echoCancellation,autoGainControl:a.autoGainControl,voiceIsolation:a.voiceIsolation,sampleRate:a.sampleRate}),await this.setupAudioAnalysis(),!0}catch(t){return this.logger.error("Microphone permission denied:",t),!1}}getMicrophoneStream(){return this.stream}async setupAudioAnalysis(){if(!this.stream)throw new Error("No audio stream available");try{this.audioContext=new AudioContext,this.analyser=this.audioContext.createAnalyser(),this.microphone=this.audioContext.createMediaStreamSource(this.stream),this.analyser.fftSize=256,this.analyser.smoothingTimeConstant=.8,this.microphone.connect(this.analyser),this.logger.info("Audio analysis setup complete",{fftSize:this.analyser.fftSize,frequencyBinCount:this.analyser.frequencyBinCount,sampleRate:this.audioContext.sampleRate})}catch(e){throw this.logger.error("Failed to setup audio analysis:",e),e}}detectVoiceActivity(e){const t=e>this.VAD_SILENCE_THRESHOLD;return t&&(this.lastSpeechTime=Date.now()),t}hasUserStoppedSpeaking(){return 0!==this.lastSpeechTime&&Date.now()-this.lastSpeechTime>this.VAD_SILENCE_DURATION}startAudioLevelMonitoring(e,t){if(!this.analyser)return void this.logger.info("Audio level monitoring not started - missing analyser");this.logger.info("Starting audio level monitoring with VAD at timestamp:",Date.now());const r=new Uint8Array(this.analyser.frequencyBinCount),i=Hf(async()=>{if(this.analyser)try{this.analyser.getByteFrequencyData(r);const i=r.reduce((e,t)=>e+t,0)/r.length,n=Math.min(i/128,1);!this.detectVoiceActivity(n)&&this.hasUserStoppedSpeaking()&&t&&(this.logger.info("VAD: User stopped speaking (silence detected)"),t(),this.lastSpeechTime=0);const o=e?.()?.3:0;this.audioLevels.value={inputLevel:n,outputLevel:o}}catch(i){this.logger.error("Error in audio level monitoring:",i),this.stopAudioLevelMonitoring()}else this.logger.info("Stopping audio level monitoring - missing analyser")},"updateLevels"),n=Hf(()=>{i().catch(e=>{this.logger.error("Async error in audio level monitoring:",e)})},"intervalWrapper");this.audioLevelInterval=window.setInterval(n,50)}stopAudioLevelMonitoring(){this.audioLevelInterval?(this.logger.info("Stopping audio level monitoring interval"),clearInterval(this.audioLevelInterval),this.audioLevelInterval=void 0):this.logger.info("No audio level monitoring interval to stop"),this.lastSpeechTime=0,this.vadTimeout&&(clearTimeout(this.vadTimeout),this.vadTimeout=void 0)}resetAudioLevels(){this.audioLevels.value={inputLevel:0,outputLevel:0},this.lastSpeechTime=0}isAudioContextAvailable(){return!!this.audioContext}getAudioContextState(){return this.audioContext?.state}getSharedAnalyser(){return this.analyser}async stopMicrophone(){this.stream&&(this.logger.info("Stopping microphone stream"),this.stream.getTracks().forEach(e=>{e.stop(),e.enabled=!1}),this.stream=void 0),this.stopAudioLevelMonitoring(),this.resetAudioLevels(),this.audioContext&&"closed"!==this.audioContext.state&&(await this.audioContext.close(),this.audioContext=void 0),this.analyser=void 0,this.microphone=void 0,this.logger.info("Microphone stopped")}async cleanup(){await this.stopMicrophone(),this.visibilityChangeHandler&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityChangeHandler),this.visibilityChangeHandler=void 0),this.logger.info("Audio resources cleaned up")}};Hf(Yf,"ClientAudio");let Xf=Yf;function eb(e){return e?"string"==typeof e?e:e.src||"":""}function tb(e){return eb(e.cover)||eb(e.avatar)||"/img/placeholder-avatar.png"}function rb(){return"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+"}function ib(e){const t=e.target;t.dataset.fallbackUsed||(t.dataset.fallbackUsed="true",t.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+")}function nb(e){const{message:t,source:r}=e;if(!t)return null;const i={user:"user",ai:"agent",agent:"agent"},n=i[r]||"agent";if("string"==typeof t)return t.trim()?{text:t.trim(),sender:n}:null;if("object"!=typeof t)return null;const o=[e=>{if(!("source"in e))return null;const t=i[e.source];return t?{text:e.message||"",sender:t}:null}];for(const a of o){const e=a(t);if(e&&e.text.trim())return{text:e.text.trim(),sender:e.sender}}return null}Hf(eb,"getImageSrc"),Hf(tb,"getSelfAvatarUrl"),Hf(rb,"getFallbackAvatarDataUrl"),Hf(ib,"handleImageError"),Hf(nb,"parseVoiceMessage"),Hf(function(e){const{name:t,context:r}=e;return"welcome"===r?`Welcome to Fiction! I'm ${t}, your digital self. I'm here to help you understand how I can represent you and assist with your daily tasks. What would you like to know about how I work?`:"onboarding"===r?`Hi! I'm ${t}, your newly created digital self. I can handle conversations, answer questions about your expertise, and represent you professionally. Ready to see what I can do?`:`Hello! I'm ${t}. How can I help you today?`},"generateFirstMessage");const ob=class extends Qa{constructor(e){if(super("SelfController",e),Wf(this,"conversation"),Wf(this,"isTextMode",!1),Wf(this,"lastMessage",{hash:"",time:0}),Wf(this,"clientAudio"),Wf(this,"unwatchAudio"),Wf(this,"isConnecting",!1),Wf(this,"lastUserSpeechTime",0),Wf(this,"lastUserMessageTime",0),Wf(this,"sessionId"),Wf(this,"conversationStartTime"),Wf(this,"chatCharacterCount",0),Wf(this,"hostParticipantId"),Wf(this,"visitorParticipantId"),Wf(this,"voiceState",Ft({isActive:!1,isConnected:!1,isSpeaking:!1,isListening:!1,isProcessing:!1,transcript:"Tap to begin voice conversation",connectionStatus:"disconnected"})),Wf(this,"textState",Ft({isActive:!1,isConnected:!1,isThinking:!1,connectionStatus:"disconnected"})),Wf(this,"agentMode",Ft("self")),Wf(this,"sharedMessages",Ft([])),!e.self.elevenlabsAgentId||""===e.self.elevenlabsAgentId.trim())throw new Error(`Agent ID is required for SelfController. Self "${e.self.name}" (${e.self.selfId}) does not have a valid elevenlabsAgentId.`);this.clientAudio=new Xf(e),this.setupModeWatcher()}get audioLevels(){return this.clientAudio.audioLevels}getClientAudio(){return this.clientAudio}getOutputFrequencyData(){if(!this.conversation)return null;try{const e=this.conversation.getOutputByteFrequencyData();if(e&&e.length>0)return new Uint8Array(e)}catch{}return null}getInputFrequencyData(){if(this.conversation)try{const e=this.conversation.getInputByteFrequencyData?.();if(e&&e.length>0)return new Uint8Array(e)}catch{}const e=this.clientAudio.getSharedAnalyser();if(e)try{const t=new Uint8Array(e.frequencyBinCount);return e.getByteFrequencyData(t),t}catch{}return null}isDuplicateMessage(e,t){const r=`${t}:${e.toLowerCase().trim()}`,i=Date.now(),n=r===this.lastMessage.hash&&i-this.lastMessage.time<500;return n||(this.lastMessage={hash:r,time:i}),n}addMessage(e,t){this.isDuplicateMessage(e,t)||(this.sharedMessages.value=[...this.sharedMessages.value,{id:Date.now().toString(),text:e,sender:t,timestamp:new Date}])}getDynamicSettings(){const{sdk:e}=this.settings,t=e.activeUser.value,r=t?.selves?.find(e=>e.selfId===t.primarySelfId),i=t?`\n\nCurrent User:\n- Name: ${r?.name||"Anonymous"}\n- Email: ${t.email}\n- Title: ${r?.title||""}\n- About: ${r?.summary||""}\n`:"";return{dynamicVariables:{context:`${this.settings.context||""}${i}`.trim(),firstMessage:this.settings.firstMessage||""},overrides:{agent:this.settings.firstMessage?{firstMessage:this.settings.firstMessage}:{}}}}updateState(e,t){e.value={...e.value,...t}}resetState(e){e?this.updateState(this.textState,{isActive:!1,isConnected:!1,isThinking:!1,connectionStatus:"disconnected",error:void 0}):(this.updateState(this.voiceState,{isActive:!1,isConnected:!1,isSpeaking:!1,isListening:!1,isProcessing:!1,transcript:"Ready to start a call...",connectionStatus:"disconnected",error:void 0}),this.clientAudio.resetAudioLevels(),this.lastUserSpeechTime=0,this.lastUserMessageTime=0)}setupModeWatcher(){un(this.agentMode,async(e,t)=>{this.logger.info(`Mode changed from ${t} to ${e}`),this.conversation&&("talk"===t||"chat"===t)&&await this.endConversation()})}handleMessage(e,t){const r=nb(e);if(r&&(t&&"user"===r.sender&&(this.lastUserMessageTime=Date.now(),this.logger.info("User transcription received",{text:r.text})),this.addMessage(r.text,r.sender),!t&&"agent"===r.sender&&this.updateState(this.textState,{isThinking:!1}),this.sessionId&&this.hostParticipantId&&this.visitorParticipantId)){const e="agent"===r.sender?this.hostParticipantId:this.visitorParticipantId,{sdk:t}=this.settings;t.saveMessage({conversationId:this.sessionId,participantId:e,content:r.text,role:"agent"===r.sender?"agent":"user"}).catch(e=>{this.logger.warn("Failed to save message",{error:e})})}}handleError(e,t){const r=e.message;this.logger.error("Conversation error:",e),this.resetState(t),t?this.updateState(this.voiceState,{error:r,connectionStatus:"error",transcript:"Failed to start call."}):this.updateState(this.textState,{error:r,connectionStatus:"error"})}async setMode(e){this.agentMode.value!==e&&(this.agentMode.value=e)}async startVoiceConversation(e={}){if(this.isConnecting)return void this.logger.info("Voice conversation already connecting, ignoring duplicate request");if(this.isConnecting=!0,this.isTextMode=!1,this.updateState(this.voiceState,{isActive:!0,transcript:"Connecting...",connectionStatus:"connecting"}),!(await this.clientAudio.requestMicrophonePermission()))throw this.isConnecting=!1,this.updateState(this.voiceState,{isActive:!1,error:"Microphone permission required",transcript:"Failed to get microphone permission",connectionStatus:"error"}),new Error("Microphone permission required");await this.startSession("voice");const t=this.getDynamicSettings(),r=this.settings.self.elevenlabsAgentId;this.logger.info("Starting voice conversation...",{agentId:r,dynamicSettings:t});try{this.conversation=await Vf.startSession({agentId:r,connectionType:"websocket",...t,onConnect:Hf(()=>{this.isConnecting=!1,this.clientAudio.startAudioLevelMonitoring(()=>this.isVoiceConnected(),()=>{this.logger.info("Client-side VAD: User has stopped speaking"),this.conversation&&(this.conversation.sendUserActivity(),this.logger.info("Sent user activity signal to ElevenLabs"))}),this.unwatchAudio=un(this.audioLevels,t=>{t.inputLevel>.03&&(this.lastUserSpeechTime=Date.now()),e.onAudioLevel?.(t)},{immediate:!0}),this.updateState(this.voiceState,{isConnected:!0,isListening:!0,isProcessing:!1,transcript:"Connected! Start speaking...",connectionStatus:"connected"}),e.onConnect?.(),this.logger.info("Voice conversation connected",{audioContextAvailable:this.clientAudio.isAudioContextAvailable(),audioContextState:this.clientAudio.getAudioContextState()})},"onConnect"),onDisconnect:Hf(()=>{this.logger.info("Voice conversation disconnected"),this.conversation=void 0,this.clientAudio.stopAudioLevelMonitoring(),this.endSession().catch(e=>{}),this.resetState(!1),e.onDisconnect?.()},"onDisconnect"),onError:Hf(t=>{let r=t;t.includes("does not exist")?r=`Agent not found: ${this.settings.self.elevenlabsAgentId}. Check ElevenLabs configuration.`:t.includes("limit")||t.includes("quota")?r="ElevenLabs account limit reached. Check your subscription and usage.":(t.includes("unauthorized")||t.includes("invalid"))&&(r="ElevenLabs API authentication failed. Check ELEVENLABS_API_KEY."),this.endSession().catch(e=>{}),this.handleError(new Error(r),!0),e.onError?.(new Error(r))},"onError"),onModeChange:Hf(t=>{const r="speaking"===t.mode,i=Date.now(),n=i-this.lastUserSpeechTime,o=i-this.lastUserMessageTime,a=!r&&(n<3e3||o<3e3);let s;s=r?"Speaking...":a?"Thinking...":"Listening...",this.updateState(this.voiceState,{isSpeaking:r,isListening:!r,isProcessing:a,transcript:s}),this.logger.info("Voice mode changed",{mode:t.mode,isSpeaking:r,isListening:!r,isProcessing:a,timeSinceUserSpeech:n,timeSinceUserMessage:o,detectionSource:o<n?"message":"audio"}),e.onModeChange?.(t.mode)},"onModeChange"),onMessage:Hf(t=>{this.handleMessage(t,!0),e.onMessage?.(t)},"onMessage")})}catch(i){throw this.isConnecting=!1,this.endSession().catch(e=>{}),this.handleError(i,!0),i}}async startTextConversation(e={}){if(this.isConnecting)this.logger.info("Text conversation already connecting, ignoring duplicate request");else{this.isConnecting=!0,this.isTextMode=!0,this.updateState(this.textState,{isActive:!0,connectionStatus:"connecting"}),await this.startSession("chat");try{this.conversation=await Vf.startSession({agentId:this.settings.self.elevenlabsAgentId,connectionType:"websocket",...this.getDynamicSettings(),textOnly:!0,onConnect:Hf(()=>{this.isConnecting=!1,this.updateState(this.textState,{isConnected:!0,connectionStatus:"connected"}),e.onConnect?.()},"onConnect"),onDisconnect:Hf(()=>{this.conversation=void 0,this.endSession().catch(e=>{}),this.resetState(!0),e.onDisconnect?.()},"onDisconnect"),onError:Hf(t=>{let r=t;t.includes("does not exist")?r=`Agent not found: ${this.settings.self.elevenlabsAgentId}. Check ElevenLabs configuration.`:t.includes("limit")||t.includes("quota")?r="ElevenLabs account limit reached. Check your subscription and usage.":(t.includes("unauthorized")||t.includes("invalid"))&&(r="ElevenLabs API authentication failed. Check ELEVENLABS_API_KEY."),this.endSession().catch(e=>{}),this.handleError(new Error(r),!1),e.onError?.(new Error(r))},"onError"),onModeChange:Hf(t=>{e.onModeChange?.(t.mode)},"onModeChange"),onMessage:Hf(t=>{this.handleMessage(t,!1),e.onMessage?.(t)},"onMessage")})}catch(t){throw this.isConnecting=!1,this.endSession().catch(e=>{}),this.handleError(t,!1),t}}}async endConversation(){if(!this.conversation)return this.resetState(this.isTextMode),void(await this.clientAudio.stopMicrophone());try{await this.conversation.endSession()}finally{this.conversation=void 0,this.unwatchAudio?.(),this.unwatchAudio=void 0,this.resetState(this.isTextMode),this.isTextMode=!1,await this.clientAudio.stopMicrophone()}}async sendChatMessage(e){if(this.conversation&&this.isTextMode){this.addMessage(e,"user"),this.chatCharacterCount+=e.length;try{this.updateState(this.textState,{isThinking:!0}),this.conversation.sendUserMessage(e)}catch(t){this.handleError(t,!1)}}}isConnected(){return!!this.conversation}isVoiceConnected(){return this.isConnected()&&!this.isTextMode}isTextConnected(){return this.isConnected()&&this.isTextMode}async destroy(){await this.endConversation(),await this.clientAudio.cleanup(),this.endSession().catch(e=>{})}async startSession(e){const{self:t,sdk:r}=this.settings;if(this.conversationStartTime=new Date,this.chatCharacterCount=0,t.selfId&&t.orgId){const i=r.activeUser.value?.userId?void 0:r.generateAnonId(),n=await r.startConversation({selfId:t.selfId,userId:r.activeUser.value?.userId,anonId:i});if(n)return this.sessionId=n.conversationId,this.hostParticipantId=n.hostParticipantId,this.visitorParticipantId=n.visitorParticipantId,void this.logger.info("Started conversation session",{sessionId:this.sessionId,type:e,userId:r.activeUser.value?.userId,anonId:i,hostParticipantId:this.hostParticipantId,visitorParticipantId:this.visitorParticipantId})}this.sessionId=l(),this.logger.info("Started conversation session (fallback)",{sessionId:this.sessionId,type:e})}async endSession(){!this.sessionId||!this.conversationStartTime||(this.logger.info("Session ended",{sessionId:this.sessionId,duration:Math.round((Date.now()-this.conversationStartTime.getTime())/1e3),type:this.isTextMode?"chat":"voice"}),this.resetSession())}resetSession(){this.sessionId=void 0,this.conversationStartTime=void 0,this.chatCharacterCount=0}};Hf(ob,"SelfController");let ab=ob;const sb=$r({__name:"EffectTransitionList",props:{disabled:{type:Boolean,default:!1},mode:{default:"block"}},setup:e=>(t,r)=>(An(),jn(ca,{name:e.disabled?"":"nlist"},{default:fr(()=>[ki(t.$slots,"default")]),_:3},8,["name"]))}),lb={key:0,class:"absolute inset-0 flex items-center justify-center"},cb=$r({__name:"ElSelfButton",props:{theme:{default:"primary"},size:{default:"lg"},loading:{type:Boolean,default:!1},icon:{},iconAfter:{}},setup(e){const t=go(()=>({primary:"bg-primary-600 border-primary-400 hover:border-primary-300 hover:bg-primary-500",green:"bg-green-600 border-green-400 hover:border-green-300 hover:bg-green-500",red:"bg-red-600 border-red-400 hover:border-red-300 hover:bg-red-500",default:"bg-white/10 border-white/20 hover:border-white/40 hover:bg-white/20"}[e.theme])),r=go(()=>({sm:"px-4 py-2 text-sm",md:"px-6 py-3 text-base",lg:"px-8 py-4 text-base"}[e.size])),i=go(()=>({sm:"size-4",md:"size-4",lg:"size-5"}[e.size]));return(n,o)=>(An(),Nn("button",{class:ge(["relative inline-flex items-center justify-center gap-2 font-medium rounded-full backdrop-blur-sm border-2 text-white transition-all duration-200 focus:outline-none active:opacity-80 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer",[t.value,r.value]])},[e.loading?(An(),Nn("div",lb,[...o[0]||(o[0]=[Vn("i",{class:"i-svg-spinners-90-ring-with-bg size-5"},null,-1)])])):Gn("",!0),Vn("span",{class:ge(["flex items-center gap-2 transition-opacity duration-200",e.loading?"opacity-0":"opacity-100"])},[e.icon?(An(),Nn("i",{key:0,class:ge([e.icon,i.value])},null,2)):Gn("",!0),ki(n.$slots,"default"),e.iconAfter?(An(),Nn("i",{key:1,class:ge([e.iconAfter,i.value])},null,2)):Gn("",!0)],2)],2))}}),db=["value"],hb=$r({__name:"SelfInputEmail",props:{modelValue:{default:""}},emits:["update:modelValue"],setup(e,{emit:t}){const r=t;return(t,i)=>(An(),Nn("input",{type:"email",autocomplete:"email",placeholder:"Enter Your Email",value:e.modelValue,class:"w-full px-6 py-3 text-theme-900 placeholder-theme-500 bg-white border border-white rounded-full focus:outline-none transition-all",style:{"font-size":"16px"},onInput:i[0]||(i[0]=e=>r("update:modelValue",e.target.value))},null,40,db))}}),ub={class:"flex gap-1.5 justify-center"},pb=["onUpdate:modelValue","onInput","onKeydown","onPaste","onFocus"],gb=$r({__name:"SelfInputOneTimeCode",props:{modelValue:{},length:{},focusFirst:{type:Boolean}},emits:["update:modelValue","autoSubmit"],setup(e,{emit:t}){const r=e,i=t,n=Ft([]),o=Ft(Array.from({length:r.length}).fill("")),a=Ft(!1);function s(e,t){t.preventDefault(),a.value=!0;const i=(t.clipboardData?.getData("text")||"").replace(/\D/g,"");if(i.length===r.length)o.value=i.split(""),setTimeout(()=>{n.value[r.length-1]?.focus(),a.value=!1},10);else{const t=[...o.value];i.split("").slice(0,r.length-e).forEach((r,i)=>{t[e+i]=r}),o.value=t;const s=Math.min(e+i.length,r.length-1);setTimeout(()=>{n.value[s]?.focus(),a.value=!1},10)}}function l(e,t){const i=t.target.value.slice(-1).replace(/\D/g,"");o.value[e]=i,i&&e<r.length-1&&n.value[e+1]?.focus()}function c(e,t){"Backspace"===t.key?(t.preventDefault(),o.value[e]="",e>0&&n.value[e-1]?.focus()):"ArrowLeft"===t.key&&e>0?n.value[e-1]?.focus():"ArrowRight"===t.key&&e<r.length-1&&n.value[e+1]?.focus()}function d(e){if(n.value[e]?.select(),!a.value&&o.value[e])for(let t=e;t<r.length;t++)o.value[t]=""}return ai(()=>{r.modelValue&&(o.value=r.modelValue.split("").slice(0,r.length)),r.focusFirst&&!("ontouchstart"in window)&&n.value[0]?.focus()}),un(()=>r.modelValue,e=>{o.value=e?e.split("").slice(0,r.length):Array.from({length:r.length}).fill("")}),un(o,()=>{const e=o.value.filter(Boolean).join("");i("update:modelValue",e),e.length===r.length&&i("autoSubmit",e)},{deep:!0}),Hf(s,"onPaste"),Hf(l,"onInput"),Hf(c,"onKeydown"),Hf(d,"onFocus"),(t,r)=>(An(),Nn("div",ub,[(An(!0),Nn(En,null,bi(e.length,e=>br((An(),Nn("input",{key:e,ref_for:!0,ref:Hf(t=>n.value[e-1]=t,"ref"),"onUpdate:modelValue":Hf(t=>o.value[e-1]=t,"onUpdate:modelValue"),type:"text",inputmode:"numeric",autocomplete:"one-time-code",class:"size-11 text-center font-mono text-theme-900 bg-white border border-white rounded-lg focus:outline-none transition-all",style:{"font-size":"16px"},maxlength:"1",onInput:Hf(t=>l(e-1,t),"onInput"),onKeydown:Hf(t=>c(e-1,t),"onKeydown"),onPaste:Hf(t=>s(e-1,t),"onPaste"),onFocus:Hf(t=>d(e-1),"onFocus")},null,40,pb)),[[fa,o.value[e-1]]])),128))]))}}),mb={class:"flex flex-col items-center justify-center h-full p-6"},vb={class:"w-full max-w-xs space-y-12"},fb={key:0,class:"text-xs text-theme-400 text-center"},bb={class:"text-base font-light text-white text-center"},kb={class:"space-y-6 relative"},wb={key:"email-field",class:"w-full"},yb={key:"code-field",class:"w-full"},xb=$r({__name:"ElAuthGate",props:{sdk:{}},setup(e){const t=Ft({email:"",code:""}),r=Ft("email"),i=Ft(!1),n={email:{title:"Enter Your Email",button:{label:"Continue",disabled:Hf(()=>!t.value.email||i.value,"disabled")},action:Hf(async()=>{if(!i.value){i.value=!0;try{await e.sdk.requestAuthCode({email:t.value.email})&&(r.value="code")}finally{i.value=!1}}},"action")},code:{title:"Enter Verification Code",button:{label:"Verify",disabled:Hf(()=>6!==t.value.code.length||i.value,"disabled")},action:Hf(async()=>{if(!i.value){i.value=!0;try{await e.sdk.loginWithCode({email:t.value.email,code:t.value.code})}finally{i.value=!1}}},"action")}},o=go(()=>n[r.value]);return(i,n)=>(An(),Nn("div",mb,[Vn("div",vb,[e.sdk.error.value?(An(),Nn("p",fb,ke(e.sdk.error.value),1)):Gn("",!0),Vn("h3",bb,ke(o.value.title),1),Vn("div",kb,[qn(sb,null,{default:fr(()=>["email"===r.value?(An(),Nn("div",wb,[qn(hb,{modelValue:t.value.email,"onUpdate:modelValue":n[0]||(n[0]=e=>t.value.email=e),onKeyup:xa(o.value.action,["enter"])},null,8,["modelValue","onKeyup"])])):(An(),Nn("div",yb,[qn(gb,{modelValue:t.value.code,"onUpdate:modelValue":n[1]||(n[1]=e=>t.value.code=e),length:6,"focus-first":!0,onAutoSubmit:o.value.action},null,8,["modelValue","onAutoSubmit"])])),(An(),Nn("div",{key:o.value.button.label,class:"space-y-4 w-full"},[qn(cb,{theme:"primary",size:"md",class:"w-full",loading:e.sdk.loading.value,disabled:o.value.button.disabled()||e.sdk.loading.value,onClick:o.value.action},{default:fr(()=>[$n(ke(o.value.button.label),1)]),_:1},8,["loading","disabled","onClick"]),"code"===r.value?(An(),Nn("button",{key:0,class:"w-full text-xs text-white/50 hover:text-white/70 transition-colors py-2",onClick:n[2]||(n[2]=e=>r.value="email")}," Change Email ")):Gn("",!0)]))]),_:1})])])]))}}),Cb={class:"relative flex-shrink-0"},Sb=["src","alt"],Tb={key:0,class:"absolute top-1 right-1"},Eb={class:"min-w-0"},Ib=$r({__name:"ElModeHeader",props:{self:{},size:{default:"md"},showOnlineIndicator:{type:Boolean,default:!0},layout:{default:"centered"}},setup(e){function t(){return e.self.avatar?.src?e.self.avatar.src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+"}return Hf(t,"getAvatarSrc"),(r,i)=>(An(),Nn("div",{class:ge(["flex gap-4",["centered"===e.layout?"flex-col items-center text-center":"flex-row items-center justify-center"]])},[Vn("div",Cb,[Vn("div",{class:ge(["rounded-full overflow-hidden border-white","lg"===e.size?"w-20 h-20 sm:w-24 sm:h-24 border-4":"w-16 sm:size-16 border-2"])},[Vn("img",{src:t(),alt:e.self.name,class:"w-full h-full object-cover",onError:i[0]||(i[0]=(...e)=>qt(ib)&&qt(ib)(...e))},null,40,Sb)],2),e.showOnlineIndicator?(An(),Nn("div",Tb,[...i[1]||(i[1]=[Vn("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white absolute animate-ping",style:{"animation-duration":"3s"}},null,-1),Vn("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white"},null,-1)])])):Gn("",!0)]),Vn("div",Eb,[Vn("h1",{class:ge(["font-light text-white mb-1 truncate",["lg"===e.size?"text-3xl mb-2":"text-xl sm:text-2xl tracking-wide leading-tight","horizontal"===e.layout?"text-white/95":""]])},ke(e.self.name),3),Vn("p",{class:ge(["font-light line-clamp-1",["lg"===e.size?"text-base text-white/60":"text-sm sm:text-base","horizontal"===e.layout?"text-white/70 truncate":"text-white/60"]])},ke("horizontal"===e.layout?e.self.title||"Digital Self":e.self.title),3)])],2))}}),Pb=Hf(e=>{const t=Ab(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:Hf(e=>{const r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),_b(r,t)||Rb(e)},"getClassGroupId"),getConflictingClassGroupIds:Hf((e,t)=>{const n=r[e]||[];return t&&i[e]?[...n,...i[e]]:n},"getConflictingClassGroupIds")}},"createClassGroupUtils"),_b=Hf((e,t)=>{if(0===e.length)return t.classGroupId;const r=e[0],i=t.nextPart.get(r),n=i?_b(e.slice(1),i):void 0;if(n)return n;if(0===t.validators.length)return;const o=e.join("-");return t.validators.find(({validator:e})=>e(o))?.classGroupId},"getGroupRecursive"),Mb=/^\[(.+)\]$/,Rb=Hf(e=>{if(Mb.test(e)){const t=Mb.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},"getGroupIdForArbitraryProperty"),Ab=Hf(e=>{const{theme:t,classGroups:r}=e,i={nextPart:new Map,validators:[]};for(const n in r)Ob(r[n],i,n,t);return i},"createClassMap"),Ob=Hf((e,t,r,i)=>{e.forEach(e=>{if("string"!=typeof e)return"function"==typeof e?Lb(e)?void Ob(e(i),t,r,i):void t.validators.push({validator:e,classGroupId:r}):void Object.entries(e).forEach(([e,n])=>{Ob(n,Db(t,e),r,i)});(""===e?t:Db(t,e)).classGroupId=r})},"processClassesRecursively"),Db=Hf((e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},"getPart"),Lb=Hf(e=>e.isThemeGetter,"isThemeGetter"),Nb=Hf(e=>{if(e<1)return{get:Hf(()=>{},"get"),set:Hf(()=>{},"set")};let t=0,r=new Map,i=new Map;const n=Hf((n,o)=>{r.set(n,o),t++,t>e&&(t=0,i=r,r=new Map)},"update");return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=i.get(e))?(n(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):n(e,t)}}},"createLruCache"),jb=Hf(e=>{const{prefix:t,experimentalParseClassName:r}=e;let i=Hf(e=>{const t=[];let r,i=0,n=0,o=0;for(let l=0;l<e.length;l++){let a=e[l];if(0===i&&0===n){if(":"===a){t.push(e.slice(o,l)),o=l+1;continue}if("/"===a){r=l;continue}}"["===a?i++:"]"===a?i--:"("===a?n++:")"===a&&n--}const a=0===t.length?e:e.substring(o),s=Ub(a);return{modifiers:t,hasImportantModifier:s!==a,baseClassName:s,maybePostfixModifierPosition:r&&r>o?r-o:void 0}},"parseClassName");if(t){const e=t+":",r=i;i=Hf(t=>t.startsWith(e)?r(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0},"parseClassName")}if(r){const e=i;i=Hf(t=>r({className:t,parseClassName:e}),"parseClassName")}return i},"createParseClassName"),Ub=Hf(e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,"stripImportantModifier"),zb=Hf(e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return Hf(e=>{if(e.length<=1)return e;const r=[];let i=[];return e.forEach(e=>{"["===e[0]||t[e]?(r.push(...i.sort(),e),i=[]):i.push(e)}),r.push(...i.sort()),r},"sortModifiers")},"createSortModifiers"),Fb=Hf(e=>({cache:Nb(e.cacheSize),parseClassName:jb(e),sortModifiers:zb(e),...Pb(e)}),"createConfigUtils"),Bb=/\s+/,Vb=Hf((e,t)=>{const{parseClassName:r,getClassGroupId:i,getConflictingClassGroupIds:n,sortModifiers:o}=t,a=[],s=e.trim().split(Bb);let l="";for(let c=s.length-1;c>=0;c-=1){const e=s[c],{isExternal:t,modifiers:d,hasImportantModifier:h,baseClassName:u,maybePostfixModifierPosition:p}=r(e);if(t){l=e+(l.length>0?" "+l:l);continue}let g=!!p,m=i(g?u.substring(0,p):u);if(!m){if(!g){l=e+(l.length>0?" "+l:l);continue}if(m=i(u),!m){l=e+(l.length>0?" "+l:l);continue}g=!1}const v=o(d).join(":"),f=h?v+"!":v,b=f+m;if(a.includes(b))continue;a.push(b);const k=n(m,g);for(let r=0;r<k.length;++r){const e=k[r];a.push(f+e)}l=e+(l.length>0?" "+l:l)}return l},"mergeClassList");function qb(){let e,t,r=0,i="";for(;r<arguments.length;)(e=arguments[r++])&&(t=Hb(e))&&(i&&(i+=" "),i+=t);return i}Hf(qb,"twJoin");const Hb=Hf(e=>{if("string"==typeof e)return e;let t,r="";for(let i=0;i<e.length;i++)e[i]&&(t=Hb(e[i]))&&(r&&(r+=" "),r+=t);return r},"toValue");function Wb(e,...t){let r,i,n,o=a;function a(a){const l=t.reduce((e,t)=>t(e),e());return r=Fb(l),i=r.cache.get,n=r.cache.set,o=s,s(a)}function s(e){const t=i(e);if(t)return t;const o=Vb(e,r);return n(e,o),o}return Hf(a,"initTailwindMerge"),Hf(s,"tailwindMerge"),Hf(function(){return o(qb.apply(null,arguments))},"callTailwindMerge")}Hf(Wb,"createTailwindMerge");const $b=Hf(e=>{const t=Hf(t=>t[e]||[],"themeGetter");return t.isThemeGetter=!0,t},"fromTheme"),Gb=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Jb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Kb=/^\d+\/\d+$/,Qb=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Zb=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Yb=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Xb=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ek=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,tk=Hf(e=>Kb.test(e),"isFraction"),rk=Hf(e=>!!e&&!Number.isNaN(Number(e)),"isNumber"),ik=Hf(e=>!!e&&Number.isInteger(Number(e)),"isInteger"),nk=Hf(e=>e.endsWith("%")&&rk(e.slice(0,-1)),"isPercent"),ok=Hf(e=>Qb.test(e),"isTshirtSize"),ak=Hf(()=>!0,"isAny"),sk=Hf(e=>Zb.test(e)&&!Yb.test(e),"isLengthOnly"),lk=Hf(()=>!1,"isNever"),ck=Hf(e=>Xb.test(e),"isShadow"),dk=Hf(e=>ek.test(e),"isImage"),hk=Hf(e=>!pk(e)&&!kk(e),"isAnyNonArbitrary"),uk=Hf(e=>Ek(e,Mk,lk),"isArbitrarySize"),pk=Hf(e=>Gb.test(e),"isArbitraryValue"),gk=Hf(e=>Ek(e,Rk,sk),"isArbitraryLength"),mk=Hf(e=>Ek(e,Ak,rk),"isArbitraryNumber"),vk=Hf(e=>Ek(e,Pk,lk),"isArbitraryPosition"),fk=Hf(e=>Ek(e,_k,dk),"isArbitraryImage"),bk=Hf(e=>Ek(e,Dk,ck),"isArbitraryShadow"),kk=Hf(e=>Jb.test(e),"isArbitraryVariable"),wk=Hf(e=>Ik(e,Rk),"isArbitraryVariableLength"),yk=Hf(e=>Ik(e,Ok),"isArbitraryVariableFamilyName"),xk=Hf(e=>Ik(e,Pk),"isArbitraryVariablePosition"),Ck=Hf(e=>Ik(e,Mk),"isArbitraryVariableSize"),Sk=Hf(e=>Ik(e,_k),"isArbitraryVariableImage"),Tk=Hf(e=>Ik(e,Dk,!0),"isArbitraryVariableShadow"),Ek=Hf((e,t,r)=>{const i=Gb.exec(e);return!!i&&(i[1]?t(i[1]):r(i[2]))},"getIsArbitraryValue"),Ik=Hf((e,t,r=!1)=>{const i=Jb.exec(e);return!!i&&(i[1]?t(i[1]):r)},"getIsArbitraryVariable"),Pk=Hf(e=>"position"===e||"percentage"===e,"isLabelPosition"),_k=Hf(e=>"image"===e||"url"===e,"isLabelImage"),Mk=Hf(e=>"length"===e||"size"===e||"bg-size"===e,"isLabelSize"),Rk=Hf(e=>"length"===e,"isLabelLength"),Ak=Hf(e=>"number"===e,"isLabelNumber"),Ok=Hf(e=>"family-name"===e,"isLabelFamilyName"),Dk=Hf(e=>"shadow"===e,"isLabelShadow"),Lk=Wb(Hf(()=>{const e=$b("color"),t=$b("font"),r=$b("text"),i=$b("font-weight"),n=$b("tracking"),o=$b("leading"),a=$b("breakpoint"),s=$b("container"),l=$b("spacing"),c=$b("radius"),d=$b("shadow"),h=$b("inset-shadow"),u=$b("text-shadow"),p=$b("drop-shadow"),g=$b("blur"),m=$b("perspective"),v=$b("aspect"),f=$b("ease"),b=$b("animate"),k=Hf(()=>["auto","avoid","all","avoid-page","page","left","right","column"],"scaleBreak"),w=Hf(()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],"scalePosition"),y=Hf(()=>[...w(),kk,pk],"scalePositionWithArbitrary"),x=Hf(()=>["auto","hidden","clip","visible","scroll"],"scaleOverflow"),C=Hf(()=>["auto","contain","none"],"scaleOverscroll"),S=Hf(()=>[kk,pk,l],"scaleUnambiguousSpacing"),T=Hf(()=>[tk,"full","auto",...S()],"scaleInset"),E=Hf(()=>[ik,"none","subgrid",kk,pk],"scaleGridTemplateColsRows"),I=Hf(()=>["auto",{span:["full",ik,kk,pk]},ik,kk,pk],"scaleGridColRowStartAndEnd"),P=Hf(()=>[ik,"auto",kk,pk],"scaleGridColRowStartOrEnd"),_=Hf(()=>["auto","min","max","fr",kk,pk],"scaleGridAutoColsRows"),M=Hf(()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],"scaleAlignPrimaryAxis"),R=Hf(()=>["start","end","center","stretch","center-safe","end-safe"],"scaleAlignSecondaryAxis"),A=Hf(()=>["auto",...S()],"scaleMargin"),O=Hf(()=>[tk,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],"scaleSizing"),D=Hf(()=>[e,kk,pk],"scaleColor"),L=Hf(()=>[...w(),xk,vk,{position:[kk,pk]}],"scaleBgPosition"),N=Hf(()=>["no-repeat",{repeat:["","x","y","space","round"]}],"scaleBgRepeat"),j=Hf(()=>["auto","cover","contain",Ck,uk,{size:[kk,pk]}],"scaleBgSize"),U=Hf(()=>[nk,wk,gk],"scaleGradientStopPosition"),z=Hf(()=>["","none","full",c,kk,pk],"scaleRadius"),F=Hf(()=>["",rk,wk,gk],"scaleBorderWidth"),B=Hf(()=>["solid","dashed","dotted","double"],"scaleLineStyle"),V=Hf(()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],"scaleBlendMode"),q=Hf(()=>[rk,nk,xk,vk],"scaleMaskImagePosition"),H=Hf(()=>["","none",g,kk,pk],"scaleBlur"),W=Hf(()=>["none",rk,kk,pk],"scaleRotate"),$=Hf(()=>["none",rk,kk,pk],"scaleScale"),G=Hf(()=>[rk,kk,pk],"scaleSkew"),J=Hf(()=>[tk,"full",...S()],"scaleTranslate");return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ok],breakpoint:[ok],color:[ak],container:[ok],"drop-shadow":[ok],ease:["in","out","in-out"],font:[hk],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ok],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ok],shadow:[ok],spacing:["px",rk],text:[ok],"text-shadow":[ok],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",tk,pk,kk,v]}],container:["container"],columns:[{columns:[rk,pk,kk,s]}],"break-after":[{"break-after":k()}],"break-before":[{"break-before":k()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:y()}],overflow:[{overflow:x()}],"overflow-x":[{"overflow-x":x()}],"overflow-y":[{"overflow-y":x()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{start:T()}],end:[{end:T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:["visible","invisible","collapse"],z:[{z:[ik,"auto",kk,pk]}],basis:[{basis:[tk,"full","auto",s,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[rk,tk,"auto","initial","none",pk]}],grow:[{grow:["",rk,kk,pk]}],shrink:[{shrink:["",rk,kk,pk]}],order:[{order:[ik,"first","last","none",kk,pk]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:I()}],"col-start":[{"col-start":P()}],"col-end":[{"col-end":P()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:I()}],"row-start":[{"row-start":P()}],"row-end":[{"row-end":P()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":_()}],"auto-rows":[{"auto-rows":_()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...M(),"normal"]}],"justify-items":[{"justify-items":[...R(),"normal"]}],"justify-self":[{"justify-self":["auto",...R()]}],"align-content":[{content:["normal",...M()]}],"align-items":[{items:[...R(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...R(),{baseline:["","last"]}]}],"place-content":[{"place-content":M()}],"place-items":[{"place-items":[...R(),"baseline"]}],"place-self":[{"place-self":["auto",...R()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:A()}],mx:[{mx:A()}],my:[{my:A()}],ms:[{ms:A()}],me:[{me:A()}],mt:[{mt:A()}],mr:[{mr:A()}],mb:[{mb:A()}],ml:[{ml:A()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],w:[{w:[s,"screen",...O()]}],"min-w":[{"min-w":[s,"screen","none",...O()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[a]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",r,wk,gk]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,kk,mk]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",nk,pk]}],"font-family":[{font:[yk,pk,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,kk,pk]}],"line-clamp":[{"line-clamp":[rk,"none",kk,mk]}],leading:[{leading:[o,...S()]}],"list-image":[{"list-image":["none",kk,pk]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",kk,pk]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...B(),"wavy"]}],"text-decoration-thickness":[{decoration:[rk,"from-font","auto",kk,gk]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[rk,"auto",kk,pk]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",kk,pk]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",kk,pk]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:L()}],"bg-repeat":[{bg:N()}],"bg-size":[{bg:j()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ik,kk,pk],radial:["",kk,pk],conic:[ik,kk,pk]},Sk,fk]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:U()}],"gradient-via-pos":[{via:U()}],"gradient-to-pos":[{to:U()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:z()}],"rounded-s":[{"rounded-s":z()}],"rounded-e":[{"rounded-e":z()}],"rounded-t":[{"rounded-t":z()}],"rounded-r":[{"rounded-r":z()}],"rounded-b":[{"rounded-b":z()}],"rounded-l":[{"rounded-l":z()}],"rounded-ss":[{"rounded-ss":z()}],"rounded-se":[{"rounded-se":z()}],"rounded-ee":[{"rounded-ee":z()}],"rounded-es":[{"rounded-es":z()}],"rounded-tl":[{"rounded-tl":z()}],"rounded-tr":[{"rounded-tr":z()}],"rounded-br":[{"rounded-br":z()}],"rounded-bl":[{"rounded-bl":z()}],"border-w":[{border:F()}],"border-w-x":[{"border-x":F()}],"border-w-y":[{"border-y":F()}],"border-w-s":[{"border-s":F()}],"border-w-e":[{"border-e":F()}],"border-w-t":[{"border-t":F()}],"border-w-r":[{"border-r":F()}],"border-w-b":[{"border-b":F()}],"border-w-l":[{"border-l":F()}],"divide-x":[{"divide-x":F()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":F()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...B(),"hidden","none"]}],"divide-style":[{divide:[...B(),"hidden","none"]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...B(),"none","hidden"]}],"outline-offset":[{"outline-offset":[rk,kk,pk]}],"outline-w":[{outline:["",rk,wk,gk]}],"outline-color":[{outline:D()}],shadow:[{shadow:["","none",d,Tk,bk]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":["none",h,Tk,bk]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:F()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[rk,gk]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":F()}],"inset-ring-color":[{"inset-ring":D()}],"text-shadow":[{"text-shadow":["none",u,Tk,bk]}],"text-shadow-color":[{"text-shadow":D()}],opacity:[{opacity:[rk,kk,pk]}],"mix-blend":[{"mix-blend":[...V(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":V()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[rk]}],"mask-image-linear-from-pos":[{"mask-linear-from":q()}],"mask-image-linear-to-pos":[{"mask-linear-to":q()}],"mask-image-linear-from-color":[{"mask-linear-from":D()}],"mask-image-linear-to-color":[{"mask-linear-to":D()}],"mask-image-t-from-pos":[{"mask-t-from":q()}],"mask-image-t-to-pos":[{"mask-t-to":q()}],"mask-image-t-from-color":[{"mask-t-from":D()}],"mask-image-t-to-color":[{"mask-t-to":D()}],"mask-image-r-from-pos":[{"mask-r-from":q()}],"mask-image-r-to-pos":[{"mask-r-to":q()}],"mask-image-r-from-color":[{"mask-r-from":D()}],"mask-image-r-to-color":[{"mask-r-to":D()}],"mask-image-b-from-pos":[{"mask-b-from":q()}],"mask-image-b-to-pos":[{"mask-b-to":q()}],"mask-image-b-from-color":[{"mask-b-from":D()}],"mask-image-b-to-color":[{"mask-b-to":D()}],"mask-image-l-from-pos":[{"mask-l-from":q()}],"mask-image-l-to-pos":[{"mask-l-to":q()}],"mask-image-l-from-color":[{"mask-l-from":D()}],"mask-image-l-to-color":[{"mask-l-to":D()}],"mask-image-x-from-pos":[{"mask-x-from":q()}],"mask-image-x-to-pos":[{"mask-x-to":q()}],"mask-image-x-from-color":[{"mask-x-from":D()}],"mask-image-x-to-color":[{"mask-x-to":D()}],"mask-image-y-from-pos":[{"mask-y-from":q()}],"mask-image-y-to-pos":[{"mask-y-to":q()}],"mask-image-y-from-color":[{"mask-y-from":D()}],"mask-image-y-to-color":[{"mask-y-to":D()}],"mask-image-radial":[{"mask-radial":[kk,pk]}],"mask-image-radial-from-pos":[{"mask-radial-from":q()}],"mask-image-radial-to-pos":[{"mask-radial-to":q()}],"mask-image-radial-from-color":[{"mask-radial-from":D()}],"mask-image-radial-to-color":[{"mask-radial-to":D()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":w()}],"mask-image-conic-pos":[{"mask-conic":[rk]}],"mask-image-conic-from-pos":[{"mask-conic-from":q()}],"mask-image-conic-to-pos":[{"mask-conic-to":q()}],"mask-image-conic-from-color":[{"mask-conic-from":D()}],"mask-image-conic-to-color":[{"mask-conic-to":D()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:L()}],"mask-repeat":[{mask:N()}],"mask-size":[{mask:j()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",kk,pk]}],filter:[{filter:["","none",kk,pk]}],blur:[{blur:H()}],brightness:[{brightness:[rk,kk,pk]}],contrast:[{contrast:[rk,kk,pk]}],"drop-shadow":[{"drop-shadow":["","none",p,Tk,bk]}],"drop-shadow-color":[{"drop-shadow":D()}],grayscale:[{grayscale:["",rk,kk,pk]}],"hue-rotate":[{"hue-rotate":[rk,kk,pk]}],invert:[{invert:["",rk,kk,pk]}],saturate:[{saturate:[rk,kk,pk]}],sepia:[{sepia:["",rk,kk,pk]}],"backdrop-filter":[{"backdrop-filter":["","none",kk,pk]}],"backdrop-blur":[{"backdrop-blur":H()}],"backdrop-brightness":[{"backdrop-brightness":[rk,kk,pk]}],"backdrop-contrast":[{"backdrop-contrast":[rk,kk,pk]}],"backdrop-grayscale":[{"backdrop-grayscale":["",rk,kk,pk]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[rk,kk,pk]}],"backdrop-invert":[{"backdrop-invert":["",rk,kk,pk]}],"backdrop-opacity":[{"backdrop-opacity":[rk,kk,pk]}],"backdrop-saturate":[{"backdrop-saturate":[rk,kk,pk]}],"backdrop-sepia":[{"backdrop-sepia":["",rk,kk,pk]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",kk,pk]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[rk,"initial",kk,pk]}],ease:[{ease:["linear","initial",f,kk,pk]}],delay:[{delay:[rk,kk,pk]}],animate:[{animate:["none",b,kk,pk]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,kk,pk]}],"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:W()}],"rotate-x":[{"rotate-x":W()}],"rotate-y":[{"rotate-y":W()}],"rotate-z":[{"rotate-z":W()}],scale:[{scale:$()}],"scale-x":[{"scale-x":$()}],"scale-y":[{"scale-y":$()}],"scale-z":[{"scale-z":$()}],"scale-3d":["scale-3d"],skew:[{skew:G()}],"skew-x":[{"skew-x":G()}],"skew-y":[{"skew-y":G()}],transform:[{transform:[kk,pk,"","none","gpu","cpu"]}],"transform-origin":[{origin:y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:J()}],"translate-x":[{"translate-x":J()}],"translate-y":[{"translate-y":J()}],"translate-z":[{"translate-z":J()}],"translate-none":["translate-none"],accent:[{accent:D()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",kk,pk]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",kk,pk]}],fill:[{fill:["none",...D()]}],"stroke-w":[{stroke:[rk,wk,gk,mk]}],stroke:[{stroke:["none",...D()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},"getDefaultConfig")),Nk={default:{solid:{base:"bg-theme-0 dark:bg-theme-700/40 text-theme-600 dark:text-theme-50",input:"bg-white dark:bg-theme-800/50\n ring-theme-200 dark:ring-theme-600/70\n focus:ring-theme-600 focus:bg-white\n dark:focus:ring-theme-500 dark:focus:bg-theme-800\n focus-within:ring-theme-600 dark:focus-within:ring-theme-500\n text-theme-900 dark:text-theme-100\n placeholder:text-theme-400 dark:placeholder:text-theme-500",border:"border-theme-300/80 dark:border-theme-600",hover:"hover:border-theme-300 dark:hover:border-theme-500",icon:"text-theme-600 dark:text-theme-50"},ghost:{base:"bg-theme-50 dark:bg-theme-600/30 text-theme-700 dark:text-theme-50",border:"border-theme-100 dark:border-theme-800/20",hover:"hover:bg-theme-200 dark:hover:bg-theme-600/50 hover:border-theme-200 dark:hover:border-theme-600",icon:"text-theme-500 dark:text-theme-500"},outline:{base:"bg-transparent text-theme-700 dark:text-theme-50",border:"border-theme-300 dark:border-theme-400",hover:"hover:opacity-70",icon:"text-theme-700 dark:text-theme-300"},link:{base:"bg-transparent text-theme-600 dark:text-theme-50",border:"border-transparent",hover:"hover:opacity-70",icon:"text-theme-600 dark:text-theme-400"}},muted:{solid:{base:"bg-gray-100 dark:bg-gray-700/40 text-gray-900 dark:text-gray-50",input:"bg-white dark:bg-gray-800/50\n ring-gray-200 dark:ring-gray-600/70\n focus:ring-gray-600 focus:bg-white\n dark:focus:ring-gray-500 dark:focus:bg-gray-800\n focus-within:ring-gray-600 dark:focus-within:ring-gray-500\n text-gray-900 dark:text-gray-100\n placeholder:text-gray-400 dark:placeholder:text-gray-500",border:"border-gray-300/80 dark:border-gray-600",hover:"hover:border-gray-300 dark:hover:border-gray-500",icon:"text-gray-600 dark:text-gray-50"},ghost:{base:"bg-gray-100 dark:bg-gray-600/30 text-gray-700 dark:text-gray-50",border:"border-gray-100 dark:border-gray-800/20",hover:"hover:bg-gray-200 dark:hover:bg-gray-600/50 hover:border-gray-200 dark:hover:border-gray-600",icon:"text-gray-500 dark:text-gray-500"},outline:{base:"bg-transparent text-gray-700 dark:text-gray-50",border:"border-gray-500 dark:border-gray-400",hover:"hover:opacity-70",icon:"text-gray-700 dark:text-gray-300"},link:{base:"bg-transparent text-gray-600 dark:text-gray-50",border:"border-transparent",hover:"hover:opacity-70",icon:"text-gray-600 dark:text-gray-400"}},overlay:{solid:{base:"bg-white/100 text-black backdrop-blur-sm shadow-sm mix-blend-overlay [text-shadow:_0_1px_1px_rgb(255_255_255_/_100%)]",border:"border-white/100",input:"bg-white/10 ring-white\n focus:ring-white/90 focus:bg-white/20\n dark:focus:ring-white/70\n text-white\n placeholder:text-white/60",hover:"hover:bg-white/70 ",icon:"text-black"},ghost:{base:"bg-white/70 text-black backdrop-blur-sm shadow-sm mix-blend-overlay [text-shadow:_0_1px_1px_rgb(255_255_255_/_100%)]",border:"border-white/100",hover:"hover:bg-white/70 hover:border-white/90",icon:"text-black"},outline:{base:"bg-white/10 text-white backdrop-blur-sm shadow-sm [text-shadow:_0_0.5px_0_rgb(0_0_0_/_40%)]",border:"border-white",hover:"hover:border-white/80",icon:"text-white"},link:{base:"bg-transparent text-white [text-shadow:_0_0.5px_0_rgb(0_0_0_/_40%)]",border:"border-transparent",hover:"hover:opacity-70",icon:"text-white"}},primary:{solid:{base:"bg-primary-500 dark:bg-primary-700/70 text-primary-0 dark:text-primary-50",border:"border-primary-600/80 dark:border-primary-600",input:"bg-primary-50 dark:bg-primary-800/20\n ring-primary-500 dark:ring-primary-600/70\n focus:ring-primary-700 focus:bg-primary-50/50\n dark:focus:ring-primary-600 dark:focus:bg-primary-800/40\n text-primary-800 dark:text-primary-0\n placeholder:text-primary-300 dark:placeholder:text-primary-600",hover:"hover:bg-primary-600 dark:hover:bg-primary-800",icon:"text-primary-0 dark:text-primary-50"},ghost:{base:"bg-primary-50 dark:bg-primary-800/40 text-primary-800 dark:text-primary-0",border:"border-primary-100 dark:border-primary-800/20",hover:"hover:bg-primary-100 dark:hover:bg-primary-800/60 hover:border-primary-200 dark:hover:border-primary-700",icon:"text-primary-500 dark:text-primary-500"},outline:{base:"bg-transparent text-primary-500 dark:text-primary-100",border:"border-primary-500 dark:border-primary-500",hover:"hover:bg-primary-500/10 dark:hover:bg-primary-500/20",icon:"text-primary-700 dark:text-primary-100"},link:{base:"bg-transparent text-primary-600 dark:text-primary-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-primary-600 dark:text-primary-400"}},theme:{solid:{base:"bg-theme-500 dark:bg-theme-600/70 text-theme-0 dark:text-theme-0",border:"border-theme-600/80 dark:border-theme-600",hover:"hover:bg-theme-600 dark:hover:bg-theme-800",icon:"text-theme-50 dark:text-theme-50"},ghost:{base:"bg-theme-100 dark:bg-theme-600/50 text-theme-900 dark:text-theme-100",border:"border-theme-100 dark:border-theme-800/20",hover:"hover:bg-theme-200 dark:hover:bg-theme-600/40 hover:border-theme-200 dark:hover:border-theme-600",icon:"text-theme-500 dark:text-theme-500"},outline:{base:"bg-transparent text-theme-500 dark:text-theme-300",border:"border-theme-500 dark:border-theme-400",hover:"hover:bg-theme-500/10 dark:hover:bg-theme-400/20",icon:"text-theme-500 dark:text-theme-300"},link:{base:"bg-transparent text-theme-600 dark:text-theme-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-theme-600 dark:text-theme-400"}},green:{solid:{base:"bg-green-600 dark:bg-green-700/70 text-green-50 dark:text-green-50",border:"border-green-600 dark:border-green-600",hover:"hover:bg-green-700 dark:hover:bg-green-800",icon:"text-green-50 dark:text-green-50"},ghost:{base:"bg-green-100 dark:bg-green-800/20 text-green-900 dark:text-green-100",border:"border-green-100 dark:border-green-800/20",hover:"hover:bg-green-200 dark:hover:bg-green-800/40 hover:border-green-200 dark:hover:border-green-700",icon:"text-green-500 dark:text-green-500"},outline:{base:"bg-transparent text-green-500 dark:text-green-50",border:"border-green-500 dark:border-green-600",hover:"hover:bg-green-500/10 dark:hover:bg-green-400/10",icon:"text-green-500 dark:text-green-50"},link:{base:"bg-transparent text-green-600 dark:text-green-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-green-600 dark:text-green-400"}},orange:{solid:{base:"bg-orange-500 dark:bg-orange-700/70 text-orange-50 dark:text-orange-50",border:"border-orange-700 dark:border-orange-600",hover:"hover:bg-orange-700 dark:hover:bg-orange-800",icon:"text-orange-50 dark:text-orange-50"},ghost:{base:"bg-orange-100 dark:bg-orange-800/20 text-orange-900 dark:text-orange-100",border:"border-orange-100 dark:border-orange-800/20",hover:"hover:bg-orange-200 dark:hover:bg-orange-800/40 hover:border-orange-200 dark:hover:border-orange-700",icon:"text-orange-500 dark:text-orange-500"},outline:{base:"bg-transparent text-orange-500 dark:text-orange-50",border:"border-orange-500 dark:border-orange-600",hover:"hover:bg-orange-500/10 dark:hover:bg-orange-400/10",icon:"text-orange-500 dark:text-orange-50"},link:{base:"bg-transparent text-orange-600 dark:text-orange-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-orange-600 dark:text-orange-400"}},rose:{solid:{base:"bg-rose-500 dark:bg-rose-700/70 text-rose-50 dark:text-rose-50",border:"border-rose-600/80 dark:border-rose-600",hover:"hover:bg-rose-600 dark:hover:bg-rose-800",icon:"text-rose-50 dark:text-rose-50"},ghost:{base:"bg-rose-100 dark:bg-rose-800/20 text-rose-900 dark:text-rose-100",border:"border-rose-100 dark:border-rose-800/20",hover:"hover:bg-rose-200 dark:hover:bg-rose-800/40 hover:border-rose-200 dark:hover:border-rose-700",icon:"text-rose-500 dark:text-rose-500"},outline:{base:"bg-transparent text-rose-500 dark:text-rose-50",border:"border-rose-500 dark:border-rose-600",hover:"hover:bg-rose-500/10 dark:hover:bg-rose-400/10",icon:"text-rose-500 dark:text-rose-50"},link:{base:"bg-transparent text-rose-600 dark:text-rose-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-rose-600 dark:text-rose-400"}},indigo:{solid:{base:"bg-indigo-500 dark:bg-indigo-700/70 text-indigo-50 dark:text-indigo-50",border:"border-indigo-600/80 dark:border-indigo-600",hover:"hover:bg-indigo-600 dark:hover:bg-indigo-800",icon:"text-indigo-50 dark:text-indigo-50"},ghost:{base:"bg-indigo-100 dark:bg-indigo-800/20 text-indigo-900 dark:text-indigo-100",border:"border-indigo-100 dark:border-indigo-800/20",hover:"hover:bg-indigo-200 dark:hover:bg-indigo-800/40 hover:border-indigo-200 dark:hover:border-indigo-700",icon:"text-indigo-500 dark:text-indigo-500"},outline:{base:"bg-transparent text-indigo-500 dark:text-indigo-50",border:"border-indigo-500 dark:border-indigo-600",hover:"hover:bg-indigo-500/10 dark:hover:bg-indigo-400/10",icon:"text-indigo-500 dark:text-indigo-50"},link:{base:"bg-transparent text-indigo-600 dark:text-indigo-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-indigo-600 dark:text-indigo-400"}},red:{solid:{base:"bg-red-500 dark:bg-red-700/70 text-red-50 dark:text-red-50",border:"border-red-600/80 dark:border-red-600",hover:"hover:bg-red-600 dark:hover:bg-red-800",icon:"text-red-50 dark:text-red-50"},ghost:{base:"bg-red-100 dark:bg-red-800/20 text-red-900 dark:text-red-100",border:"border-red-100 dark:border-red-800/20",hover:"hover:bg-red-200 dark:hover:bg-red-800/40 hover:border-red-200 dark:hover:border-red-700",icon:"text-red-500 dark:text-red-500"},outline:{base:"bg-transparent text-red-500 dark:text-red-50",border:"border-red-500 dark:border-red-600",hover:"hover:bg-red-500/10 dark:hover:bg-red-400/10",icon:"text-red-500 dark:text-red-50"},link:{base:"bg-transparent text-red-600 dark:text-red-400",border:"border-transparent",hover:"hover:opacity-70",icon:"text-red-600 dark:text-red-400"}}},jk={key:0,class:"absolute inset-0 flex items-center justify-center"},Uk=$r({__name:"FButton",props:{theme:{default:"default"},design:{default:"solid"},size:{default:"md"},rounding:{default:"full"},href:{},icon:{},iconAfter:{},tag:{default:"button"},loading:{type:Boolean,default:!1},class:{default:""}},setup(e){const t=go(()=>({icon:"string"==typeof e.icon?e.icon:e.icon?.className,iconAfter:"string"==typeof e.iconAfter?e.iconAfter:e.iconAfter?.className})),r=go(()=>e.href?"a":e.tag),i=go(()=>({xxs:"size-2.5",xs:"size-3",sm:"size-3.5",md:"size-4",lg:"size-5",xl:"size-6"}[e.size])),n=go(()=>Nk[e.theme]?.[e.design]||Nk.default[e.design]||{base:"",border:"",hover:"",icon:""}),o=go(()=>{const t="link"===e.design?"!px-1":"",r=n.value,i=["relative inline-flex items-center justify-center gap-2 font-medium transition-all duration-200 focus:outline-none active:opacity-80 cursor-pointer",{xxs:"px-2 py-0.5 text-[10px]",xs:"px-3 py-1 text-[11px]",sm:"px-3 py-1.5 text-xs",md:"px-4 py-2 text-sm",lg:"px-6 py-3 text-base",xl:"px-8 py-4 text-base"}[e.size],t,{md:"rounded-md",lg:"rounded-lg",full:"rounded-full"}[e.rounding],r.base,`border ${r.border}`,r.hover].filter(Boolean).join(" ");return Lk(i,e.class)}),a=go(()=>({design:n.value.icon||""}));return(n,s)=>(An(),jn(vi(r.value),{href:e.href,class:ge(o.value)},{default:fr(()=>[e.loading?(An(),Nn("div",jk,[qn(Jf,{class:ge(i.value)},null,8,["class"])])):Gn("",!0),Vn("span",{class:ge(["flex items-center gap-2 transition-opacity duration-200 whitespace-nowrap",e.loading?"opacity-0":"opacity-100"])},[t.value.icon?(An(),Nn("span",{key:0,class:ge(["flex items-center size-[1.1em] mt-[-.07em]",[t.value.icon,a.value]])},null,2)):Gn("",!0),ki(n.$slots,"default"),t.value.iconAfter?(An(),Nn("span",{key:1,class:ge(["flex items-center size-[1.1em] mt-[-.07em]",[t.value.iconAfter,a.value]])},null,2)):Gn("",!0)],2)]),_:3},8,["href","class"]))}}),zk={class:"flex-1 flex flex-col min-h-0 py-6 space-y-6 h-full overflow-scroll [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden relative"},Fk={class:"flex-1 space-y-6"},Bk={key:0,class:"bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"},Vk={class:"text-sm text-white/70 leading-relaxed"},qk={key:1,class:"bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"},Hk=["innerHTML"],Wk={key:2,class:"bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"},$k={class:"text-sm text-white/70 leading-relaxed"},Gk={key:3,class:"space-y-3"},Jk={class:"grid grid-cols-2 gap-3"},Kk=$r({__name:"ElSelfAbout",props:{self:{}},setup(e){const t=go(()=>[{key:"email",condition:Hf(()=>!!e.self.email,"condition"),generate:Hf(()=>({title:"Contact",url:`mailto:${e.self.email}`,icon:"i-heroicons-envelope"}),"generate")},{key:"linkedin",condition:Hf(()=>!!e.self.accounts?.linkedin?.handle,"condition"),generate:Hf(()=>({title:"LinkedIn",url:e.self.accounts?.linkedin?.url||`https://linkedin.com/in/${e.self.accounts?.linkedin?.handle}`,icon:"i-simple-icons-linkedin"}),"generate")},{key:"x",condition:Hf(()=>!!e.self.accounts?.x?.handle,"condition"),generate:Hf(()=>({title:"X (Twitter)",url:e.self.accounts?.x?.url||`https://x.com/${e.self.accounts?.x?.handle}`,icon:"i-simple-icons-x"}),"generate")},{key:"github",condition:Hf(()=>!!e.self.accounts?.github?.handle,"condition"),generate:Hf(()=>({title:"GitHub",url:e.self.accounts?.github?.url||`https://github.com/${e.self.accounts?.github?.handle}`,icon:"i-simple-icons-github"}),"generate")},{key:"website",condition:Hf(()=>!!e.self.accounts?.website?.url,"condition"),generate:Hf(()=>({title:"Website",url:e.self.accounts?.website?.url,icon:"i-heroicons-globe-alt"}),"generate")}].filter(e=>e.condition()).map(e=>e.generate()));return(r,i)=>(An(),Nn("div",zk,[Vn("div",Fk,[e.self.headline?(An(),Nn("div",Bk,[i[0]||(i[0]=Vn("h3",{class:"text-sm font-medium text-white/90 mb-2"}," Professional Tagline ",-1)),Vn("div",Vk,ke(e.self.headline),1)])):Gn("",!0),e.self.summary?(An(),Nn("div",qk,[i[1]||(i[1]=Vn("h3",{class:"text-sm font-medium text-white/90 mb-2"}," About ",-1)),Vn("div",{class:"text-sm text-white/70 leading-relaxed",innerHTML:e.self.summary},null,8,Hk)])):Gn("",!0),"company"===e.self.entityType?(An(),Nn("div",Wk,[i[2]||(i[2]=Vn("h3",{class:"text-sm font-medium text-white/90 mb-2"}," Company Info ",-1)),Vn("p",$k," This is a company digital self representing "+ke(e.self.name)+". ",1)])):Gn("",!0),t.value.length>0?(An(),Nn("div",Gk,[i[3]||(i[3]=Vn("h3",{class:"text-sm font-medium text-white/90"}," Connect ",-1)),Vn("div",Jk,[(An(!0),Nn(En,null,bi(t.value,e=>(An(),jn(Uk,{key:e.title,design:"ghost",theme:"default",size:"sm",class:"bg-white/5 hover:bg-white/10 border border-white/10 text-white/80 text-sm justify-start h-10",href:e.url,target:"_blank"},{default:fr(()=>[Vn("i",{class:ge([e.icon,"size-4 mr-2"])},null,2),$n(" "+ke(e.title),1)]),_:2},1032,["href"]))),128))])])):Gn("",!0)])]))}}),Qk={class:"flex flex-col h-full relative"},Zk={key:0,class:"text-theme-600 py-16 flex flex-col items-center justify-center gap-2 text-sm"},Yk={key:0,class:"flex-shrink-0 size-8"},Xk=["src","alt"],ew={class:"max-w-[70%]"},tw={class:"text-sm leading-[1.5] whitespace-pre-wrap break-words"},rw={key:0,class:"flex gap-2 justify-start items-end mb-4"},iw={class:"flex-shrink-0"},nw=["src","alt"],ow={class:"flex-shrink-0 pt-6 pb-2"},aw=["placeholder","disabled"],sw=$r({__name:"ElSelfChat",props:{selfController:{},self:{}},setup(e){const t=Ft(""),r=Ft(),i=Ft(),n=go(()=>tb(e.self));function o(e,t){const r=e[t],i=e[t+1];return!i||i.sender!==r.sender}async function a(){if(!t.value.trim()||!e.selfController||!e.selfController.textState.value.isConnected)return;const r=t.value;t.value="",i.value&&(i.value.style.height="auto",i.value.focus());try{await e.selfController.sendChatMessage(r),l()}catch(n){}}function s(e){"Enter"===e.key&&!e.shiftKey&&(e.preventDefault(),a())}function l(){r.value&&sr(()=>{const e=r.value;e.scrollTop=e.scrollHeight})}function c(){if(!i.value)return;i.value.style.height="auto";const e=Math.min(i.value.scrollHeight,150);i.value.style.height=`${e}px`}return Hf(o,"shouldShowAvatar"),ai(async()=>{if(e.selfController&&!e.selfController.textState.value.isConnected)try{await e.selfController.startTextConversation()}catch(t){}}),Hf(a,"sendMessage"),Hf(s,"handleKeydown"),Hf(l,"scrollToBottom"),Hf(c,"adjustTextareaHeight"),un(t,()=>{sr(()=>c())}),un(()=>e.selfController?.sharedMessages.value,e=>{e&&e.length>0&&sr(()=>l())},{immediate:!0,deep:!0}),(a,l)=>(An(),Nn("div",Qk,["connected"!==e.selfController?.textState.value.connectionStatus?(An(),Nn("div",Zk,[qn(Jf,{class:"size-4"})])):Gn("",!0),Vn("div",{ref_key:"messagesContainer",ref:r,class:"flex-1 overflow-y-auto overflow-x-hidden py-8 space-y-1 min-h-0 [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden"},[(An(!0),Nn(En,null,bi(e.selfController?.sharedMessages.value.filter(e=>"system"!==e.sender)??[],(t,r)=>(An(),Nn("div",{key:t.id,class:ge(["flex gap-2 items-end",{"justify-end":"user"===t.sender,"justify-start":"agent"===t.sender,"mb-4":o(e.selfController?.sharedMessages.value.filter(e=>"system"!==e.sender)??[],r)}])},["agent"===t.sender?(An(),Nn("div",Yk,[o(e.selfController?.sharedMessages.value.filter(e=>"system"!==e.sender)??[],r)?(An(),Nn("img",{key:0,src:n.value,alt:e.self.name,class:"size-7 rounded-full object-cover"},null,8,Xk)):Gn("",!0)])):Gn("",!0),Vn("div",ew,[Vn("div",{class:ge(["rounded-2xl px-3.5 py-1.5 backdrop-blur-sm","user"===t.sender?"bg-primary-500/80 text-white":"bg-white/15 text-white/95"])},[Vn("p",tw,ke(t.text),1)],2)])],2))),128)),e.selfController?.textState.value.isThinking?(An(),Nn("div",rw,[Vn("div",iw,[Vn("img",{src:n.value,alt:e.self.name,class:"size-8 rounded-full object-cover"},null,8,nw)]),l[1]||(l[1]=Vn("div",{class:"rounded-2xl px-4 py-2.5 bg-white/15 backdrop-blur-sm flex items-center"},[Vn("i",{class:"i-svg-spinners-3-dots-fade size-6 text-white/70"})],-1))])):Gn("",!0)],512),Vn("div",ow,[br(Vn("textarea",{ref_key:"textarea",ref:i,"onUpdate:modelValue":l[0]||(l[0]=e=>t.value=e),rows:"1",placeholder:e.selfController?.textState.value.isConnected?"Message":"Connecting...",disabled:!e.selfController?.textState.value.isConnected,style:{"font-size":"16px",resize:"none"},class:"w-full bg-white/10 backdrop-blur-sm border border-white/20 rounded-3xl px-5 py-3 text-white placeholder-white/50 focus:outline-none focus:border-white/40 disabled:opacity-50 overflow-y-auto [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden",onKeydown:s},null,40,aw),[[fa,t.value]]),l[2]||(l[2]=Vn("div",{class:"text-[10px] text-white/40 text-center mt-2"}," Press Enter to send, Shift+Enter for new line ",-1))])]))}}),lw={class:"flex flex-col items-center text-center gap-4"},cw={class:"relative flex-shrink-0"},dw={class:"w-20 h-20 sm:w-24 sm:h-24 rounded-full overflow-hidden border-4 border-white"},hw=["src","alt"],uw={class:"min-w-0"},pw={class:"text-3xl font-light text-white mb-2 truncate"},gw={class:"text-base font-light text-white/60 line-clamp-1"},mw=$r({__name:"ElSelfHeader",props:{self:{}},setup(e){function t(){return e.self.avatar?.src?e.self.avatar.src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+"}return Hf(t,"getAvatarSrc"),(r,i)=>(An(),Nn("div",lw,[Vn("div",cw,[Vn("div",dw,[Vn("img",{src:t(),alt:e.self.name,class:"w-full h-full object-cover",onError:i[0]||(i[0]=(...e)=>qt(ib)&&qt(ib)(...e))},null,40,hw)]),i[1]||(i[1]=Vn("div",{class:"absolute top-1.5 right-1.5"},[Vn("div",{class:"size-4 bg-green-500 rounded-full ring-2 ring-white absolute animate-ping",style:{"animation-duration":"3s"}}),Vn("div",{class:"size-4 bg-green-500 rounded-full ring-2 ring-white"})],-1))]),Vn("div",uw,[Vn("h1",pw,ke(e.self.name),1),Vn("p",gw,ke(e.self.title),1)])]))}}),vw={class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[28px] h-[28px] overflow-hidden"},fw=$r({name:"FClose",__name:"FClose",emits:["click"],setup(e){const t=Ft(!1);return ai(()=>{setTimeout(()=>{t.value=!0},100)}),(e,r)=>(An(),Nn("a",{class:"close block cursor-pointer w-[60px] h-[60px] rounded-full transition-all duration-1000 ease-[cubic-bezier(0.25,1,0.33,1)] hover:scale-110 active:scale-90 hover:rotate-90",onClick:r[0]||(r[0]=t=>e.$emit("click",t))},[r[1]||(r[1]=Vn("span",{class:"absolute inset-0 rounded-full transition-all"},null,-1)),Vn("span",vw,[Vn("span",{class:ge(["absolute h-full w-[3px] rounded-[5px] left-[13px] transition-all duration-[400ms] ease-[cubic-bezier(0.52,0.01,0.16,1)]",t.value?"translate-y-0 translate-x-0 rotate-45":"translate-y-[30px] -translate-x-[30px] rotate-0"]),style:{"background-color":"currentColor","transition-delay":"0.15s"}},null,2),Vn("span",{class:ge(["absolute h-full w-[3px] rounded-[5px] left-[13px] transition-all duration-[400ms] ease-[cubic-bezier(0.52,0.01,0.16,1)]",t.value?"translate-y-0 translate-x-0 -rotate-45":"-translate-y-[30px] -translate-x-[30px] rotate-0"]),style:{"background-color":"currentColor","transition-delay":"0.45s"}},null,2)])]))}}),bw={key:0,class:"px-9 pt-12 pb-4"},kw={class:"text-base font-medium text-theme-400"},ww={key:1,class:"px-4 pb-8 border-b border-white/10"},yw=["disabled","onClick"],xw={class:"flex items-center gap-3"},Cw={class:"flex-1"},Sw={key:0,class:"text-xs text-white/50 mt-0.5"},Tw={class:"p-6"},Ew=$r({name:"ElSidebar",__name:"ElSidebar",props:{modelValue:{type:Boolean},items:{},position:{},title:{},widthClasses:{}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,i=t,n=r.position||"left",o=r.widthClasses||"w-[80%] max-w-[300px]",a=go({get:Hf(()=>r.modelValue,"get"),set:Hf(e=>i("update:modelValue",e),"set")}),s=go(()=>r.items.filter(e=>!e.isHidden));function l(e){e.isDisabled||(e.onClick?e.onClick({item:e,event:new MouseEvent("click")}):e.href&&(e.href.includes("http")?window.open(e.href,e.target||"_self")?.focus():window.location.href=e.href),a.value=!1)}Hf(l,"handleItemClick");const c=go(()=>"left"===n?{enter:"-translate-x-full",leave:"-translate-x-full",position:"justify-start",closeButton:"-right-16"}:{enter:"translate-x-full",leave:"translate-x-full",position:"justify-end",closeButton:"-left-16"});return(t,r)=>(An(),Nn(En,null,[qn(Io,{"enter-active-class":"transition-opacity duration-300 ease-out","leave-active-class":"transition-opacity duration-200 ease-in","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:fr(()=>[a.value?(An(),Nn("div",{key:0,class:"absolute inset-0 z-40 bg-black/50 backdrop-blur-sm",onClick:r[0]||(r[0]=e=>a.value=!1)})):Gn("",!0)]),_:1}),qn(Io,{"enter-active-class":"transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)]","leave-active-class":"transition-all duration-400 ease-[cubic-bezier(0.25,1,0.33,1)]","enter-from-class":c.value.enter,"enter-to-class":"translate-x-0","leave-from-class":"translate-x-0","leave-to-class":c.value.leave},{default:fr(()=>[a.value?(An(),Nn("div",{key:0,class:ge(["absolute inset-0 z-50 flex",c.value.position]),onClick:r[3]||(r[3]=e=>a.value=!1)},[Vn("div",{class:ge(["relative h-full shadow-2xl bg-black/30 backdrop-blur-xl flex flex-col justify-center",qt(o)]),onClick:r[2]||(r[2]=wa(()=>{},["stop"]))},[qn(fw,{class:ge(["absolute top-4 z-10 text-white",c.value.closeButton]),onClick:r[1]||(r[1]=e=>a.value=!1)},null,8,["class"]),e.title?(An(),Nn("div",bw,[Vn("h3",kw,ke(e.title),1)])):Gn("",!0),t.$slots.header?(An(),Nn("div",ww,[ki(t.$slots,"header")])):Gn("",!0),Vn("div",{class:ge(["flex-1 p-6 space-y-2 overflow-y-auto",{"pt-6":!e.title&&!t.$slots.header,"pt-4":e.title||t.$slots.header}])},[qn(ca,{"enter-active-class":"transition-all duration-400 ease-[cubic-bezier(0.25,1,0.33,1)]","leave-active-class":"transition-all duration-200 ease-[cubic-bezier(0.25,1,0.33,1)]","enter-from-class":"left"===qt(n)?"-translate-x-4 opacity-0":"translate-x-4 opacity-0","enter-to-class":"translate-x-0 opacity-100","leave-from-class":"translate-x-0 opacity-100","leave-to-class":"left"===qt(n)?"-translate-x-4 opacity-0":"translate-x-4 opacity-0"},{default:fr(()=>[(An(!0),Nn(En,null,bi(s.value,(e,t)=>(An(),Nn("button",{key:e.key||e.label||t,style:ce({transitionDelay:40*t+"ms"}),class:ge(["cursor-pointer w-full text-left p-3 rounded-xl transition-all duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group",[e.isActive?"bg-primary-500/20 border border-primary-500/40":"hover:bg-white/10",e.isDisabled&&"opacity-50 cursor-not-allowed"]]),disabled:e.isDisabled,onClick:Hf(t=>l(e),"onClick")},[Vn("div",xw,[e.icon?.src?(An(),Nn("i",{key:0,class:ge(["size-5 flex-shrink-0 transition-transform duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group-hover:scale-110",[e.icon.src,e.isActive?"text-primary-400":"text-white/70 group-hover:text-white"]])},null,2)):Gn("",!0),Vn("div",Cw,[Vn("div",{class:ge(["font-medium text-sm",e.isActive?"text-primary-300":"text-white"])},ke(e.label),3),e.subLabel?(An(),Nn("div",Sw,ke(e.subLabel),1)):Gn("",!0)])])],14,yw))),128))]),_:1},8,["enter-from-class","leave-to-class"])],2),Vn("div",Tw,[ki(t.$slots,"footer",{},()=>[r[4]||(r[4]=Vn("div",{class:"text-center"},[Vn("p",{class:"text-[10px] text-white/40 font-sans"},[$n(" Digital Self by "),Vn("a",{href:"https://www.fiction.com",target:"_blank",class:"text-white/60 hover:text-white/80 transition-colors"},"Fiction")])],-1))])])],2)],2)):Gn("",!0)]),_:3},8,["enter-from-class","leave-to-class"])],64))}}),Iw=$r({name:"SelfModeSidebar",__name:"ElSelfModeSidebar",props:{modelValue:{type:Boolean},selfController:{}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,i=t,n=go({get:Hf(()=>r.modelValue,"get"),set:Hf(e=>i("update:modelValue",e),"set")}),o=go(()=>r.selfController?.agentMode?.value??"self"),a=go(()=>Zf.map(e=>({key:e.mode,icon:{src:e.icon},label:e.label,isActive:o.value===e.mode,onClick:Hf(()=>{r.selfController?.setMode(e.mode)},"onClick")})));return(e,t)=>(An(),jn(Ew,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=e=>n.value=e),items:a.value,position:"right",title:"Mode","width-classes":"w-[80%] max-w-[255px]"},null,8,["modelValue","items"]))}}),Pw=$r({name:"SelfSidebar",__name:"ElSelfSidebar",props:{modelValue:{type:Boolean},self:{},sdk:{},title:{}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,i=t,n=go({get:Hf(()=>r.modelValue,"get"),set:Hf(e=>i("update:modelValue",e),"set")}),o=go(()=>{const e=[{key:"share",icon:{src:"i-tabler-share"},label:"Share This Digital Self",onClick:Hf(()=>{const e=`${window.location.origin}/@${r.self.handle||r.self.selfId}`;navigator.clipboard.writeText(e)},"onClick")},{key:"profile",icon:{src:"i-tabler-user"},label:"Visit Full Profile",onClick:Hf(()=>{window.open(`/@${r.self.handle||r.self.selfId}`,"_blank")},"onClick")},{key:"create",icon:{src:"i-tabler-sparkles"},label:"Create Your Own",onClick:Hf(()=>{window.open("/auth","_blank")},"onClick")}];return r.sdk.activeUser.value&&e.push({key:"logout",icon:{src:"i-tabler-logout"},label:"Logout",onClick:Hf(async()=>{await r.sdk.logout()},"onClick")}),e});return(t,r)=>(An(),jn(Ew,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=e=>n.value=e),items:o.value,position:"left",title:e.title||"Menu"},null,8,["modelValue","items","title"]))}}),_w={class:"w-full max-w-full flex items-center justify-center"},Mw=$r({__name:"FAudioVisualizer",props:{audioState:{},color:{default:"auto"},size:{default:"md"},enableWaveMotion:{type:Boolean,default:!0},enableGlow:{type:Boolean,default:!1}},setup(e){const t=e,r={sm:{bars:68,barWidth:2,barSpacing:1,minHeight:3,maxHeight:40},md:{bars:68,barWidth:3,barSpacing:1,minHeight:4,maxHeight:80},lg:{bars:68,barWidth:4,barSpacing:2,minHeight:5,maxHeight:120}},i=go(()=>r[t.size]),n=[85,100,120,140,155,170,185,200,215,230,245,260,275,290,315,340,355,375,400,425,450,475,500,530,560,590,630,670,700,730,780,820,880,940,1e3,1100,1200,1300,1400,1500,1600,1700,1800,1900,2e3,2200,2300,2500,2600,2800,3e3,3200,3500,3800,4e3,4300,4500,4800,5e3,5300,5500,5800,6e3,6500,7e3,7500,8e3,8500],o=Ft();let a=null,s=null;const l=Ft(!1),c=Ft(!0),d=new Map;let h,u,p,g,m,v,f;function b(e){const{minHeight:t}=i.value;h=new Float32Array(e).fill(t),u=new Float32Array(e).fill(0),p=new Float32Array(e).fill(t),g=new Float32Array(e).fill(t),m=new Float32Array(e).fill(t),v=new Float32Array(e).fill(0),f=new Float32Array(e).fill(0)}Hf(b,"initPhysicsArrays");const k=go(()=>{if("auto"!==t.color)return t.color;const e=t.audioState?.mode??"idle";return"listening"===e?"blue":"processing"===e?"cyan":"speaking"===e?"green":"gray"}),w={blue:{primary:[59,130,246],glow:"rgba(59,130,246,0.4)"},cyan:{primary:[34,211,238],glow:"rgba(34,211,238,0.4)"},green:{primary:[34,197,94],glow:"rgba(34,197,94,0.4)"},gray:{primary:[156,163,175],glow:"rgba(156,163,175,0.2)"}};function y(e){return e<200?{stiffnessMultiplier:.7,dampingMultiplier:1.2}:e<1e3?{stiffnessMultiplier:1,dampingMultiplier:1}:e<4e3?{stiffnessMultiplier:1.3,dampingMultiplier:.8}:{stiffnessMultiplier:1.5,dampingMultiplier:.6}}Hf(y,"getFrequencyPhysics");let x=1;function C(){if(!o.value)return;typeof window<"u"&&(x=Math.max(1,Math.min(2,window.devicePixelRatio||1)));const{bars:e,barWidth:t,barSpacing:r,maxHeight:n}=i.value,s=(t+r)*e-r,l=n;o.value.width=Math.floor(s*x),o.value.height=Math.floor(l*x),o.value.style.width=`${s}px`,o.value.style.height=`${l}px`,a&&a.setTransform(x,0,0,x,0,0),M()}function S(e){return Array.from({length:n.length},(t,r)=>{const i=n[r],o=Math.floor(i/12e3*e.length),a=Math.max(1,Math.floor(e.length/n.length/2));let s=0;for(let n=0;n<a&&o+n<e.length;n++)s+=e[o+n];s=s/a/255;let l=1;l=i<150?.1:i<200?.3:i>=400&&i<=600?1.4:i>=1400&&i<=1600?1.3:i>=2400&&i<=2600?1.2:i>=200&&i<=2e3?1.1:i>=2e3&&i<=4e3?.9:i>6e3?.4:.7;const c=s**.5*.6*l;return Math.min(.85,c)})}function T(e){const t=Array.from({length:n.length},()=>0);if(e<=0)return t;for(let r=0;r<n.length;r++){const i=n[r];let o=0;o=i>=400&&i<=600?.9*e:i>=1400&&i<=1600?.8*e:i>=2400&&i<=2600?.7*e:i>=200&&i<=2e3?.6*e:i>=85&&i<=300?.4*e:.2*e,o*=.8+.4*Math.random(),t[r]=Math.max(0,Math.min(1,o))}return t}function E(e,r,i){if(!t.enableWaveMotion||typeof window>"u")return e;const n=.001*performance.now(),o=[...e];for(let t=0;t<e.length;t++){const a=t*(2*Math.PI)/e.length;let s=0;s="listening"===i||"speaking"===i?.15*Math.sin(4.2*n+.6*a-2*n)+.08*Math.sin(6.8*n+1.2*a-1.5*n)+.05*Math.sin(.8*n):"processing"===i?.12*Math.sin(3*n+.5*a-1.5*n)+.06*Math.sin(5*n+.8*a-1.2*n)+.04*Math.sin(.6*n):"connected"===i?.1*Math.sin(.6*n)+.05*Math.sin(2*n+.3*a):.12*Math.sin(1.5*n+a)+.05*Math.sin(.4*n);const l=Math.max(.3,r);o[t]=Math.max(0,Math.min(.9,e[t]+s*l))}return o}function I(){const e=t.audioState;if(!e)return Array.from({length:n.length},()=>0);let r=[];if(e.getFrequencyData){const t=e.getFrequencyData();t&&t.length>0&&Array.from(t).some(e=>e>5)&&(r=S(t))}return r.length||(r=T("listening"===e.mode?e.inputLevel??0:"speaking"===e.mode?e.outputLevel??0:"connected"===e.mode?.02:0)),E(r,Math.max(e.inputLevel??0,e.outputLevel??0),e.mode)}function P(){if(typeof window>"u")return;const e=navigator.userAgent.toLowerCase(),t=/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e);l.value=t}function _(e,t){return d.has(e)||d.set(e,t()),d.get(e)}function M(){d.clear()}function R(){if(typeof window>"u"||!a||!o.value)return;P();const e=o.value,{bars:r,barWidth:d,barSpacing:b,minHeight:C,maxHeight:S}=i.value,T=e.width/x,E=e.height/x;function M(e){if(!a)return;if(!c.value)return void(s=requestAnimationFrame(M));a.clearRect(0,0,T,E);const i=I();for(let t=0;t<r;t++){const e=C+i[t]*(S-C);g[t]=g[t]+.3*(e-g[t]),p[t]=g[t]}for(let t=0;t<r;t++){const e=y(n[t]),r=p[t]-h[t],i=.25*e.stiffnessMultiplier,o=.35*e.dampingMultiplier,a=r*i-u[t]*o;if(u[t]+=a,h[t]+=u[t],h[t]>m[t])m[t]=h[t],v[t]=500,f[t]=0;else if(v[t]=Math.max(0,v[t]-16.67),v[t]<=0){const e=.15*(Math.max(C,1.1*h[t])-m[t])-.4*f[t];f[t]+=e,m[t]=Math.max(C,m[t]+f[t])}}const o=.15*r,x=t.audioState?.mode??"idle";if(("listening"===x||"speaking"===x)&&t.enableGlow&&!l.value){const e=.001*performance.now(),t=.1+.05*Math.sin(2*e);a.save(),a.globalCompositeOperation="lighter",a.globalAlpha=t;const i=w[k.value];a.fillStyle=i.glow;for(let n=0;n<r;n++){const e=n*(d+b),t=h[n],r=E-t;a.beginPath(),a.roundRect(e-1,r-1,d+2,t+2,[2,2,0,0]),a.fill()}a.restore()}const P=w[k.value],[R,A,O]=P.primary;for(let t=0;t<r;t++){const e=t*(d+b),i=h[t],s=E-i,c=n[t],u=Math.min(t,r-1-t),p=Math.min(1,u/o),g=Math.min(1,i/S),f=(.8+.2*g)*p,w=(.6+.2*g)*p,y=(.3+.1*g)*p,T=Math.round(10*g)/10,I=Math.round(10*p)/10,M=_(`${k.value}-${T}-${I}-${i}`,()=>{const e=a.createLinearGradient(0,s,0,s+i);if("speaking"===x)e.addColorStop(0,`rgba(${R}, ${A}, ${O}, ${f})`),e.addColorStop(.5,`rgba(${R}, ${A}, ${O}, ${w})`),e.addColorStop(1,`rgba(${R}, ${A}, ${O}, ${y})`),(c>=400&&c<=600||c>=1400&&c<=1600)&&e.addColorStop(0,`rgba(74, 222, 128, ${Math.min(1,f+.2)})`);else if("listening"===x)e.addColorStop(0,`rgba(${R}, ${A}, ${O}, ${f})`),e.addColorStop(.5,`rgba(${R}, ${A}, ${O}, ${w})`),e.addColorStop(1,`rgba(${R}, ${A}, ${O}, ${y})`);else{const t=.6*p,r=.4*p,i=.2*p;e.addColorStop(0,`rgba(${R}, ${A}, ${O}, ${t})`),e.addColorStop(.6,`rgba(${R}, ${A}, ${O}, ${r})`),e.addColorStop(1,`rgba(${R}, ${A}, ${O}, ${i})`)}return e});if(a.fillStyle=M,a.beginPath(),a.roundRect(e,s,d,i,[1,1,0,0]),a.fill(),m[t]>C+2){const r=E-m[t],i=v[t]>0?.9:Math.max(.3,v[t]/500);a.fillStyle=`rgba(255, 255, 255, ${i})`,a.fillRect(e,r-1,d,2),i>.5&&!l.value&&(a.shadowColor=P.glow,a.shadowBlur=3,a.fillRect(e,r-1,d,2),a.shadowBlur=0)}}s=requestAnimationFrame(M)}Hf(M,"animate"),s=requestAnimationFrame(M)}function A(){if(typeof window<"u"){const e=Math.max(1,Math.min(2,window.devicePixelRatio||1));e!==x&&(x=e)}C()}return Hf(C,"resizeCanvas"),Hf(S,"mapFrequencyDataToBands"),Hf(T,"generateIntensityBasedBands"),Hf(E,"addWaveMotionOverlay"),Hf(I,"generateFrequencyBands"),Hf(P,"detectMobile"),Hf(_,"getGradient"),Hf(M,"clearGradientCache"),Hf(R,"startAnimation"),ai(()=>{if(b(i.value.bars),o.value){if(a=o.value.getContext("2d"),C(),typeof window<"u"){window.addEventListener("resize",A,{passive:!0});const e=Hf(()=>{c.value=!document.hidden},"handleVisibilityChange");document.addEventListener("visibilitychange",e,{passive:!0})}R()}}),Hf(A,"onResize"),di(()=>{s&&cancelAnimationFrame(s),typeof window<"u"&&(window.removeEventListener("resize",A),document.removeEventListener("visibilitychange",()=>{c.value=!document.hidden}))}),un([()=>t.audioState?.mode,()=>t.size],()=>{h.length!==i.value.bars&&b(i.value.bars),!a&&o.value&&(a=o.value.getContext("2d")),s&&cancelAnimationFrame(s),C(),R()},{immediate:!1}),un(o,e=>{e&&!a&&(a=e.getContext("2d"),C(),R())}),(e,t)=>(An(),Nn("div",_w,[Vn("canvas",{ref_key:"canvasRef",ref:o,class:"w-full max-w-full [image-rendering:-webkit-optimize-contrast]",style:ce({height:`${i.value.maxHeight}px`})},null,4)]))}}),Rw=$r({__name:"ElSelfAudioVisualizer",props:{selfController:{},size:{},color:{},enableWaveMotion:{type:Boolean},enableGlow:{type:Boolean}},setup(e){const t=function(e,t){const r={};for(const i in e)t.includes(i)||Object.defineProperty(r,i,{enumerable:!0,get:()=>e[i]});return r}(e,["selfController"]),r=go(()=>{if(!e.selfController)return{mode:"idle"};const t=e.selfController.voiceState.value,r=e.selfController.audioLevels.value,i=t.isSpeaking?"speaking":t.isProcessing?"processing":t.isListening?"listening":t.isConnected?"connected":"idle",n=Hf(()=>{try{if(t.isSpeaking){const t=e.selfController.getOutputFrequencyData();if(t&&t.length>0)return t}else if(t.isListening){const t=e.selfController.getInputFrequencyData();if(t&&t.length>0)return t}else if(t.isConnected){const t=e.selfController.getOutputFrequencyData();if(t&&t.length>0)return t}}catch{}},"getFrequencyData");return{mode:i,inputLevel:r.inputLevel,outputLevel:r.outputLevel,getFrequencyData:n}});return(e,i)=>(An(),jn(Mw,Zn({"audio-state":r.value},t),null,16,["audio-state"]))}}),Aw={class:"flex flex-col h-full items-center justify-center gap-4"},Ow={class:"flex-1 flex flex-col items-center justify-center space-y-8"},Dw={class:"w-full max-w-md"},Lw={class:"text-center flex gap-2 items-center text-xs"},Nw={class:"flex items-center justify-center gap-2"},jw={key:0,class:"size-2 bg-blue-500 rounded-full animate-pulse"},Uw={key:1,class:"size-2 bg-green-500 rounded-full animate-pulse"},zw={key:2,class:"size-2 bg-white/50 rounded-full"},Fw={key:3,class:"size-2 bg-red-500 rounded-full"},Bw={class:"text-white/70 text-sm max-w-xs leading-relaxed"},Vw={class:"flex flex-col items-center space-y-6"},qw=$r({__name:"ElSelfVoice",props:{selfController:{}},setup(e){const t=go(()=>e.selfController?.voiceState.value),r=go(()=>t.value?.isConnected?"red":"green"),i=go(()=>t.value?.isConnected?"i-heroicons-phone-x-mark":"i-heroicons-phone"),n=go(()=>t.value?.isConnected?"End Call":"Start a Call"),o=go(()=>{const t=e.selfController?.voiceState.value;return!!t?.error||"connecting"===t?.connectionStatus}),a=go(()=>"connecting"===t.value?.connectionStatus);async function s(){if(e.selfController)try{e.selfController.voiceState.value.isConnected?await e.selfController.endConversation():(e.selfController.isConnected()&&await e.selfController.endConversation(),await e.selfController.startVoiceConversation(),e.selfController.agentMode.value="talk")}catch(t){}}return Hf(s,"toggleCall"),(t,l)=>(An(),Nn("div",Aw,[Vn("div",Ow,[Vn("div",Dw,[qn(Rw,{"self-controller":e.selfController,"enable-wave-motion":"","enable-glow":""},null,8,["self-controller"])]),Vn("div",Lw,[Vn("div",Nw,[e.selfController?.voiceState.value.isListening?(An(),Nn("div",jw)):e.selfController?.voiceState.value.isSpeaking?(An(),Nn("div",Uw)):!e.selfController?.voiceState.value.isConnected||e.selfController?.voiceState.value.isListening||e.selfController?.voiceState.value.isSpeaking?e.selfController?.voiceState.value.error?(An(),Nn("div",Fw)):Gn("",!0):(An(),Nn("div",zw))]),Vn("p",Bw,ke(e.selfController?.voiceState.value.error?`Error: ${e.selfController.voiceState.value.error}`:e.selfController?.voiceState.value.transcript||"Ready to start a call..."),1)])]),Vn("div",Vw,[qn(cb,{theme:r.value,icon:i.value,size:"lg",loading:a.value,disabled:o.value,onClick:s},{default:fr(()=>[$n(ke(n.value),1)]),_:1},8,["theme","icon","loading","disabled"])])]))}}),Hw={key:0,class:"absolute inset-0 flex items-center justify-center bg-gradient-to-br from-theme-800 to-theme-950 rounded-3xl z-10"},Ww=["data-quality"],$w={class:"text-sm"},Gw={key:0,class:"flex-1 basis-0 flex justify-end"},Jw={key:0,class:"h-full pb-12 flex-1 flex flex-col relative z-20 min-h-0 px-4 @[480px]/agent:px-6 max-w-md mx-auto w-full"},Kw={class:"flex-1 basis-0 flex flex-col justify-start pt-6"},Qw={key:1,class:"flex-1 flex flex-col relative z-20 min-h-0 w-full gap-4 px-4"},Zw={class:"max-w-md mx-auto"},Yw={key:2,class:"flex-1 flex flex-col relative z-20 min-h-0 w-full px-4 @[480px]/agent:px-6"},Xw={class:"flex-1 min-h-0 max-w-md mx-auto w-full"},ey={key:2,class:"bg-gradient-to-br from-theme-800 to-theme-950 text-white flex items-center justify-center h-full p-8"},ty={class:"text-center max-w-md space-y-4"},ry={class:"text-sm text-white/70 leading-relaxed"},iy={key:3,class:"bg-white/10 backdrop-blur-sm text-white/70 flex items-center justify-center h-full"},ny=$r({__name:"SelfAgent",props:{sdk:{},self:{},context:{},firstMessage:{},hasClose:{type:Boolean,default:!1},isActive:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},theme:{default:"green"}},emits:["close","error"],setup(e,{emit:t}){const r=t,i=Bt(undefined,!0),n=Ft(!1),o=Ft(!1),a=Ft(),s=Ft(),l=go(()=>i.value?.agentMode?.value??"self"),c=go(()=>void 0!==e.sdk.activeUser.value),d=go(()=>Zf.find(e=>e.mode===l.value));function h(){i.value&&i.value.destroy();try{i.value=new ab({sdk:e.sdk,self:e.self,context:e.context,firstMessage:e.firstMessage})}catch(t){throw t}}function u(e){if(!s.value)return;const t=Qf(e);Object.entries(t).forEach(([e,t])=>{s.value.style.setProperty(`--primary-${e}`,t)})}return Hf(h,"createSelfController"),Hf(u,"applyTheme"),ai(()=>{try{h(),u(e.theme)}catch(t){const e=t instanceof Error?t.message:"Failed to initialize digital self";a.value=e,r("error",e)}}),di(()=>{i.value&&i.value.destroy()}),un(()=>e.theme,e=>{u(e)}),un(()=>e.sdk.activeUser.value,(e,t)=>{t&&!e&&i.value&&i.value.setMode("self")}),(t,h)=>(An(),Nn("div",{ref_key:"rootElement",ref:s,key:qt(tb)(e.self),class:"fiction-sdk @container/agent self-agent w-full h-full overflow-hidden relative","data-test":"self-agent"},[e.loading?(An(),Nn("div",Hw,[qn(Jf,{class:"text-white size-8"})])):e.self&&!a.value?(An(),Nn("div",{key:1,class:"absolute inset-0 bg-cover bg-center bg-no-repeat",style:ce({backgroundImage:`url(${qt(tb)(e.self)||qt(rb)()})`}),"data-quality":e.self.avatar?.quality||"none"},[Vn("div",{class:ge(["absolute inset-0 bg-gradient-to-br z-0",["low"===e.self.avatar?.quality||"low"===e.self.cover?.quality?"backdrop-blur-sm":"","self"===l.value?"from-black/70 via-black/50 to-black/80":"from-black/90 via-black/90 to-black/100"]])},null,2),Vn("div",{class:ge(["relative z-10 flex flex-col h-full transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)] will-change-transform",e.isActive?"opacity-100 translate-y-0":"opacity-0 translate-y-2"])},[Vn("div",{class:ge(["relative z-30 p-2","self"!==l.value?"backdrop-blur-lg":""])},[Vn("div",{class:ge(["flex items-center",e.hasClose?"":"justify-between"])},[Vn("div",{class:ge(e.hasClose?"flex-1 basis-0":"")},[Vn("button",{class:"cursor-pointer p-2 flex items-center gap-2 rounded-2xl text-white/70 hover:bg-white/10 transition-all duration-300 ease-[cubic-bezier(0.25,1,0.33,1)] hover:scale-105 active:scale-95",onClick:h[0]||(h[0]=e=>n.value=!0)},[...h[6]||(h[6]=[Vn("i",{class:"i-tabler-menu size-7"},null,-1)])])],2),Vn("button",{class:ge(["flex items-center gap-2 px-3.5 py-3 rounded-2xl text-white/90 hover:bg-white/10 transition-all cursor-pointer flex-grow-0",{"bg-white/10":o.value}]),onClick:h[1]||(h[1]=e=>o.value=!0)},[Vn("i",{class:ge([d.value?.icon,"size-4 opacity-60"])},null,2),Vn("span",$w,ke(d.value?.label),1),h[7]||(h[7]=Vn("i",{class:"i-tabler-chevron-down size-4"},null,-1))],2),e.hasClose?(An(),Nn("div",Gw,[Vn("button",{class:"cursor-pointer flex items-center p-3 rounded-2xl text-white/70 hover:bg-white/10 transition-colors",onClick:h[2]||(h[2]=wa(e=>r("close","button"),["stop"]))},[...h[8]||(h[8]=[Vn("i",{class:"size-6 i-tabler-x"},null,-1)])])])):Gn("",!0)],2)],2),"self"===l.value?(An(),Nn("div",Jw,[h[9]||(h[9]=Vn("div",{class:"flex-1 basis-0 mb-12"},null,-1)),qn(mw,{self:e.self},null,8,["self"]),Vn("div",Kw,[qn(cb,{theme:"primary",size:"lg",class:"w-full",icon:"i-heroicons-phone","data-test":"voice-button",onClick:h[3]||(h[3]=e=>i.value?.setMode("talk"))},{default:fr(()=>[$n(" Talk to "+ke(e.self.name),1)]),_:1})])])):"talk"===l.value?(An(),Nn("div",Qw,[c.value?(An(),Nn(En,{key:1},[Vn("div",null,[Vn("div",Zw,[qn(Ib,{self:e.self},null,8,["self"])])]),qn(qw,{"self-controller":i.value},null,8,["self-controller"])],64)):(An(),jn(xb,{key:0,sdk:e.sdk},null,8,["sdk"]))])):(An(),Nn("div",Yw,[Vn("div",Xw,["chat"===l.value?(An(),Nn(En,{key:0},[c.value?(An(),jn(sw,{key:1,"self-controller":i.value,self:e.self},null,8,["self-controller","self"])):(An(),jn(xb,{key:0,sdk:e.sdk},null,8,["sdk"]))],64)):"info"===l.value?(An(),jn(Kk,{key:1,self:e.self},null,8,["self"])):Gn("",!0)])])),Vn("div",{class:ge(["relative z-20 text-center py-5 px-6","info"===l.value?"hidden":""])},[...h[10]||(h[10]=[Vn("a",{href:"https://www.fiction.com",class:"flex items-center justify-center gap-1.5 text-[10px] font-sans font-normal text-white/50 hover:text-white/70 transition-colors"},[Vn("span",{class:""},"Digital Self\u2122"),Vn("span",{class:"text-white/20"},"by"),Vn("span",null,"Fiction.com")],-1)])],2)],2)],12,Ww)):a.value?(An(),Nn("div",ey,[Vn("div",ty,[h[11]||(h[11]=Vn("div",{class:"flex justify-center"},[Vn("div",{class:"rounded-full bg-red-500/20 flex items-center justify-center size-10"},[Vn("i",{class:"i-tabler-alert-circle size-6 text-red-400"})])],-1)),h[12]||(h[12]=Vn("h3",{class:"text-lg font-medium"}," Self Error ",-1)),Vn("p",ry,ke(a.value),1)])])):(An(),Nn("div",iy," There was an error loading the digital self. Please try again later. ")),qn(Pw,{modelValue:n.value,"onUpdate:modelValue":h[4]||(h[4]=e=>n.value=e),self:e.self,sdk:e.sdk,title:e.self.name},null,8,["modelValue","self","sdk","title"]),qn(Iw,{modelValue:o.value,"onUpdate:modelValue":h[5]||(h[5]=e=>o.value=e),"self-controller":i.value},null,8,["modelValue","self-controller"])]))}}),oy={class:"self-wrap"},ay={key:0,class:"flex items-center justify-center h-full"},sy=$r({__name:"SelfWrap",props:{sdk:{},self:{},handle:{},context:{},firstMessage:{},hasClose:{type:Boolean},apiBase:{}},setup(e){const t=Ga("SelfWrap"),r=e,i=r.sdk||new ls({isDev:typeof window<"u"&&("localhost"===window.location.hostname||window.location.hostname.includes("127.0.0.1")),apiBase:r.apiBase}),n=Ft(!r.self),o=Ft(r.self),a=Ft();return ai(async()=>{if(r.self)return t.debug("Self provided via props, skipping fetch",{selfId:r.self.selfId,handle:r.self.handle}),void(n.value=!1);if(!r.handle)return a.value="No handle or self provided",t.warn("SelfWrap mounted without handle or self",{propsReceived:{handle:r.handle,self:r.self,context:r.context,apiBase:r.apiBase},sdkState:{isDev:i.isDev,apiBase:i.apiBase}}),void(n.value=!1);try{n.value=!0,t.debug("Fetching public self",{handle:r.handle});const e=await i.getPublicSelf({handle:r.handle});e?(o.value=e,t.debug("Successfully fetched public self",{selfId:e.selfId,handle:e.handle}),e.selfId&&i.track({event:"view_profile",selfId:e.selfId,properties:{viewSource:"widget"}})):(a.value=i.error.value||"Self not found",t.error("Failed to fetch public self - no data returned",{handle:r.handle,sdkError:i.error.value,sdkState:{isDev:i.isDev,apiBase:i.apiBase,loading:i.loading.value}}))}catch(e){a.value=e instanceof Error?e.message:"Failed to fetch self",t.error("Exception while fetching public self",{handle:r.handle,error:e instanceof Error?{message:e.message,stack:e.stack}:e,sdkState:{isDev:i.isDev,apiBase:i.apiBase,error:i.error.value}})}finally{n.value=!1,o.value||t.debug("SelfWrap component will render empty (silent failure)",{state:{loading:n.value,hasSelf:!!o.value,error:a.value},props:{handle:r.handle,context:r.context,apiBase:r.apiBase},sdkState:{isDev:i.isDev,apiBase:i.apiBase,error:i.error.value}})}}),(t,r)=>(An(),Nn("div",oy,[n.value?(An(),Nn("div",ay,[...r[0]||(r[0]=[Vn("div",{class:"animate-spin rounded-full size-6 border-b-2 border-white"},null,-1)])])):o.value?ki(t.$slots,"default",{key:1,sdk:qt(i),self:o.value,context:e.context,firstMessage:e.firstMessage,loading:n.value}):Gn("",!0)]))}}),ly=$r({__name:"SelfProvider",props:{sdk:{},self:{},handle:{},context:{},firstMessage:{},hasClose:{type:Boolean},apiBase:{}},emits:["close","error"],setup(e,{emit:t}){const r=e,i=t;return(e,t)=>(An(),jn(sy,Zn(r,{class:"self-provider size-full relative"}),{default:fr(e=>[qn(ny,{sdk:e.sdk,self:e.self,context:e.context,"first-message":e.firstMessage,"has-close":r.hasClose,"is-active":!0,class:"size-full",onClose:t[0]||(t[0]=e=>i("close",e)),onError:t[1]||(t[1]=e=>i("error",e))},null,8,["sdk","self","context","first-message","has-close"])]),_:1},16))}});var cy=Object.defineProperty;const dy=$r({__name:"SelfWidgetInline",props:{sdk:{},handle:{},self:{},context:{},firstMessage:{}},setup(e,{expose:t}){const r=e,i=Ft(r.self),n=Ft(r.context),o=Ft(r.firstMessage);function a(e){void 0!==e.self&&(i.value=e.self),void 0!==e.context&&(n.value=e.context),void 0!==e.firstMessage&&(o.value=e.firstMessage)}return(e=>{cy(e,"name",{value:"update",configurable:!0})})(a),t({update:a}),(t,r)=>(An(),jn(ly,{sdk:e.sdk,handle:e.handle,self:i.value,context:n.value,"first-message":o.value},null,8,["sdk","handle","self","context","first-message"]))}}),hy=Object.freeze(Object.defineProperty({__proto__:null,default:dy},Symbol.toStringTag,{value:"Module"}));var uy=Object.defineProperty,py=(e,t)=>uy(e,"name",{value:t,configurable:!0});const gy={key:0,class:"relative h-full w-full"},my={class:"group relative h-full w-full rounded-3xl overflow-hidden shadow-lg transition-all duration-300 ease-[cubic-bezier(0.25,1,0.33,1)] hover:shadow-2xl hover:translate-y-[-1px] hover:brightness-110 active:scale-[1.06] active:-translate-y-0.5 active:duration-100"},vy=["src","alt"],fy=$r({__name:"SelfWidgetPopup",props:{sdk:{},handle:{},self:{},context:{},firstMessage:{},position:{}},setup(e,{expose:t}){const r=e,i=Ft(!1),n=Ft(!1),o=Ft(r.self),a=Ft(r.context),s=Ft(r.firstMessage);function l(){i.value=!i.value}function c(){i.value=!0}function d(){i.value=!1}function h(){d()}function u(e){void 0!==e.self&&(o.value=e.self),void 0!==e.context&&(a.value=e.context),void 0!==e.firstMessage&&(s.value=e.firstMessage)}return py(l,"toggle"),un(i,async e=>{e?(await sr(),setTimeout(()=>{n.value=!0},400)):n.value=!1}),py(c,"open"),py(d,"close"),py(h,"handleClose"),py(u,"update"),t({toggle:l,open:c,close:d,update:u}),(t,c)=>(An(),jn(sy,{sdk:e.sdk,handle:e.handle,self:o.value,context:a.value,"first-message":s.value},{default:fr(({self:e,sdk:t})=>[e?(An(),Nn("div",{key:0,class:ge(["fixed z-[999999] pointer-events-auto",["bottom-left"===r.position?"bottom-6 left-6":"top-right"===r.position?"top-6 right-6":"top-left"===r.position?"top-6 left-6":"bottom-6 right-6"]])},[Vn("div",{class:ge(["transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)] transform-gpu",[i.value?"widget-expanded w-96 h-[600px] max-w-[calc(100vw-48px)] max-h-[calc(100vh-48px)] rounded-3xl opacity-100 scale-100":"widget-button w-[80px] h-[80px] opacity-100 scale-100 flex items-center justify-center cursor-pointer"]]),style:ce({"transform-origin":"bottom-left"===r.position?"bottom left":"top-right"===r.position?"top right":"top-left"===r.position?"top left":"bottom right"}),onClick:c[0]||(c[0]=e=>i.value?void 0:l())},[i.value?Gn("",!0):(An(),Nn("div",gy,[Vn("div",my,[Vn("img",{src:qt(tb)(e)||qt(rb)(),alt:`${e.name} digital self`,class:"h-full w-full object-cover pointer-events-none",width:"80",height:"80"},null,8,vy),c[1]||(c[1]=Vn("div",{class:"absolute inset-0 pointer-events-none bg-gradient-to-br from-transparent via-black/10 to-black/40 opacity-60 transition-opacity duration-300 group-hover:opacity-40"},null,-1))]),c[2]||(c[2]=Vn("div",{class:"absolute top-0.5 right-0.5"},[Vn("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white absolute animate-ping",style:{"animation-duration":"3s"}}),Vn("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white"})],-1))])),i.value&&e?(An(),jn(ny,{key:1,class:"rounded-3xl shadow-2xl border border-white/10",sdk:t,self:e,context:a.value,"first-message":s.value,"has-close":!0,"is-active":n.value,onClose:h},null,8,["sdk","self","context","first-message","is-active"])):Gn("",!0)],6)],2)):Gn("",!0)]),_:1},8,["sdk","handle","self","context","first-message"]))}}),by=Object.freeze(Object.defineProperty({__proto__:null,default:fy},Symbol.toStringTag,{value:"Module"}));var ky=Object.defineProperty;const wy={class:"flex min-h-full items-center justify-center text-center p-4 py-8"},yy={key:0,class:"text-base p-4 font-semibold"},xy={key:1,class:"flex items-center gap-2 px-2"},Cy=$r({inheritAttrs:!1,name:"FModal",__name:"FModal",props:{vis:{type:Boolean,default:!1},modalClass:{},styleClass:{},fullScreen:{type:Boolean,default:!1},hasClose:{type:Boolean,default:!1},title:{default:""},transitionMode:{default:"modal"},teleportTo:{default:"body"},disableTeleport:{type:Boolean,default:!1}},emits:["update:vis","close","escape"],setup(e,{emit:t}){const r=t,i=Ft(!1);function n(e){const{reason:t}=e;r("update:vis",!1),r("close",!0),"escape"===t&&r("escape",!0)}(e=>{ky(e,"name",{value:"close",configurable:!0})})(n);const o=e.modalClass?[e.modalClass]:["max-w-screen-md p-24"],a=e.styleClass?[e.styleClass]:["bg-theme-0 text-theme-900","shadow-xl"];e.fullScreen?o.push("fixed inset-0"):o.push("rounded-2xl my-6 mx-3");const s=["relative","text-left","transform","transition-all","w-full","overflow-hidden",...o,...a],l=Ft(!1),c=[];ai(async()=>{i.value=!0;const t=un(()=>e.vis,e=>{e?setTimeout(()=>l.value=!0,300):l.value=!1},{immediate:!0});c.push(t)}),di(()=>{c.forEach(e=>e())});const d=go(()=>"slideUp"===e.transitionMode?{enterActiveClass:"ease-[cubic-bezier(0.25,1,0.33,1)] duration-500",enterFromClass:"opacity-0 translate-y-full scale-95",enterToClass:"opacity-100 translate-y-0 scale-100",leaveActiveClass:"ease-[cubic-bezier(0.25,1,0.33,1)] duration-500",leaveFromClass:"opacity-100 translate-y-0 scale-100",leaveToClass:"opacity-0 translate-y-full scale-95"}:{enterActiveClass:"ease-[cubic-bezier(0.25,1,0.33,1)] duration-500",enterFromClass:"opacity-0 scale-75",enterToClass:"opacity-100 translate-y-0 scale-100",leaveActiveClass:"ease-[cubic-bezier(0.25,1,0.33,1)] duration-500",leaveFromClass:"opacity-100 translate-y-0 scale-100",leaveToClass:"opacity-0 scale-75"});return(t,r)=>i.value?(An(),jn(_r,{key:0,to:e.teleportTo,disabled:e.disableTeleport},[Vn("div",{class:ge(["fixed inset-0 z-50",e.vis?"":"pointer-events-none"]),"aria-labelledby":"modal-title",role:"dialog","aria-modal":"true"},[qn(Io,{"enter-active-class":"ease-out duration-300","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"ease-in duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:fr(()=>[e.vis?(An(),Nn("div",{key:0,class:"fixed inset-0 bg-theme-800/60 active:bg-theme-800/80 cursor-pointer dark:bg-theme-600/90 backdrop-blur-sm transition-opacity",onClick:r[0]||(r[0]=e=>n({reason:"escape"}))})):Gn("",!0)]),_:1}),Vn("div",{class:"fixed inset-0 z-40 overflow-y-auto",onClick:r[3]||(r[3]=e=>n({reason:"escape"}))},[Vn("div",wy,[qn(Io,me(Hn(d.value)),{default:fr(()=>[e.vis?(An(),Nn("div",{key:0,class:ge([s,"w-full"]),onClick:r[2]||(r[2]=wa(()=>{},["stop"]))},[e.hasClose||e.title||t.$slots.actions?(An(),Nn("div",{key:0,class:ge(e.title||!e.hasClose&&!t.$slots.actions?"flex justify-between items-center":"absolute top-0 right-0 z-10")},[e.title?(An(),Nn("h2",yy,ke(e.title),1)):Gn("",!0),e.hasClose||t.$slots.actions?(An(),Nn("div",xy,[ki(t.$slots,"actions"),e.hasClose?(An(),jn(fw,{key:0,class:"relative","data-test-id":"close-modal",onClick:r[1]||(r[1]=wa(e=>n({reason:"escape"}),["stop"]))})):Gn("",!0)])):Gn("",!0)],2)):Gn("",!0),ki(t.$slots,"default")])):Gn("",!0)]),_:3},16)])])],2)],8,["to","disabled"])):Gn("",!0)}});var Sy=Object.defineProperty,Ty=(e,t)=>Sy(e,"name",{value:t,configurable:!0});const Ey=$r({__name:"SelfWidgetModal",props:{sdk:{},handle:{},self:{},context:{},firstMessage:{},onClose:{type:Function}},setup(e,{expose:t}){const r=e,i=Ft(r.self),n=Ft(r.context),o=Ft(r.firstMessage),a=Ft(!1);function s(e){void 0!==e.self&&(i.value=e.self),void 0!==e.context&&(n.value=e.context),void 0!==e.firstMessage&&(o.value=e.firstMessage)}function l(){a.value=!1,setTimeout(()=>{r.onClose&&r.onClose()},300)}function c(){a.value=!0}return ai(async()=>{await sr(),setTimeout(()=>{a.value=!0},10)}),Ty(s,"update"),Ty(l,"close"),Ty(c,"open"),t({update:s,close:l,open:c}),(t,r)=>(An(),jn(Cy,{vis:a.value,"disable-teleport":!0,"modal-class":"max-w-4xl h-[80vh] md:h-[600px]","has-close":!1,"onUpdate:vis":r[0]||(r[0]=e=>a.value=e),onClose:l},{default:fr(()=>[qn(ly,{sdk:e.sdk,handle:e.handle,self:i.value,context:n.value,"first-message":o.value,"has-close":!0,onClose:l},null,8,["sdk","handle","self","context","first-message"])]),_:1},8,["vis"]))}}),Iy=Object.freeze(Object.defineProperty({__proto__:null,default:Ey},Symbol.toStringTag,{value:"Module"}));return e.FictionWidget=gs,e.default=gs,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),e}({});
|