@fiction/widget 0.1.50 → 0.1.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 +1 -1
package/dist/widget.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
var __defProp=Object.defineProperty,__defNormalProp=(e,t,i)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,__publicField=(e,t,i)=>__defNormalProp(e,"symbol"!=typeof t?t+"":t,i),FictionWidget=function(e){"use strict";
|
|
2
2
|
/*! #__NO_SIDE_EFFECTS__ */function t(e){const t=Object.create(null);for(const i of e.split(","))t[i]=1;return e=>e in t}const i={},n=[],r=()=>{},a=()=>!1,o=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=e=>e.startsWith("onUpdate:"),c=Object.assign,l=(e,t)=>{const i=e.indexOf(t);i>-1&&e.splice(i,1)},d=Object.prototype.hasOwnProperty,u=(e,t)=>d.call(e,t),h=Array.isArray,p=e=>"[object Map]"===y(e),g=e=>"[object Set]"===y(e),m=e=>"function"==typeof e,v=e=>"string"==typeof e,f=e=>"symbol"==typeof e,b=e=>null!==e&&"object"==typeof e,k=e=>(b(e)||m(e))&&m(e.then)&&m(e.catch),w=Object.prototype.toString,y=e=>w.call(e),x=e=>"[object Object]"===y(e),C=e=>v(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,S=t(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),T=e=>{const t=Object.create(null);return i=>t[i]||(t[i]=e(i))},E=/-(\w)/g,P=T(e=>e.replace(E,(e,t)=>t?t.toUpperCase():"")),M=/\B([A-Z])/g,_=T(e=>e.replace(M,"-$1").toLowerCase()),I=T(e=>e.charAt(0).toUpperCase()+e.slice(1)),R=T(e=>e?`on${I(e)}`:""),A=(e,t)=>!Object.is(e,t),O=(e,...t)=>{for(let i=0;i<e.length;i++)e[i](...t)},D=(e,t,i,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:i})},L=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let N;const j=()=>N||(N="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function F(e){if(h(e)){const t={};for(let i=0;i<e.length;i++){const n=e[i],r=v(n)?V(n):F(n);if(r)for(const e in r)t[e]=r[e]}return t}if(v(e)||b(e))return e}const U=/;(?![^(]*\))/g,z=/:([^]+)/,B=/\/\*[^]*?\*\//g;function V(e){const t={};return e.replace(B,"").split(U).forEach(e=>{if(e){const i=e.split(z);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function q(e){let t="";if(v(e))t=e;else if(h(e))for(let i=0;i<e.length;i++){const n=q(e[i]);n&&(t+=n+" ")}else if(b(e))for(const i in e)e[i]&&(t+=i+" ");return t.trim()}const H=t("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function G(e){return!!e||""===e}const W=e=>!(!e||!0!==e.__v_isRef),$=e=>v(e)?e:null==e?"":h(e)||b(e)&&(e.toString===w||!m(e.toString))?W(e)?$(e.value):JSON.stringify(e,J,2):String(e),J=(e,t)=>W(t)?J(e,t.value):p(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,i],n)=>(e[K(t,n)+" =>"]=i,e),{})}:g(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>K(e))}:f(t)?K(t):!b(t)||h(t)||x(t)?t:String(t),K=(e,t="")=>{var i;return f(e)?`Symbol(${null!=(i=e.description)?i:t})`:e};let Q,Z;class Y{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Q,!e&&Q&&(this.index=(Q.scopes||(Q.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=Q;try{return Q=this,e()}finally{Q=t}}}on(){1===++this._on&&(this.prevScope=Q,Q=this)}off(){this._on>0&&0===--this._on&&(Q=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,i;for(this._active=!1,t=0,i=this.effects.length;t<i;t++)this.effects[t].stop();for(this.effects.length=0,t=0,i=this.cleanups.length;t<i;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,i=this.scopes.length;t<i;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 X=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,Q&&Q.active&&Q.effects.push(this)}pause(){this.flags|=64}resume(){64&this.flags&&(this.flags&=-65,X.has(this)&&(X.delete(this),this.trigger()))}notify(){2&this.flags&&!(32&this.flags)||8&this.flags||re(this)}run(){if(!(1&this.flags))return this.fn();this.flags|=2,fe(this),se(this);const e=Z,t=pe;Z=this,pe=!0;try{return this.fn()}finally{ce(this),Z=e,pe=t,this.flags&=-3}}stop(){if(1&this.flags){for(let e=this.deps;e;e=e.nextDep)ue(e);this.deps=this.depsTail=void 0,fe(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){64&this.flags?X.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){le(this)&&this.run()}get dirty(){return le(this)}}let te,ie,ne=0;function re(e,t=!1){if(e.flags|=8,t)return e.next=ie,void(ie=e);e.next=te,te=e}function ae(){ne++}function oe(){if(--ne>0)return;if(ie){let e=ie;for(ie=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;te;){let i=te;for(te=void 0;i;){const n=i.next;if(i.next=void 0,i.flags&=-9,1&i.flags)try{i.trigger()}catch(t){e||(e=t)}i=n}}if(e)throw e}function se(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ce(e){let t,i=e.depsTail,n=i;for(;n;){const e=n.prevDep;-1===n.version?(n===i&&(i=e),ue(n),he(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=e}e.deps=t,e.depsTail=i}function le(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(de(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function de(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===be)return;if(e.globalVersion=be,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!le(e)))return;e.flags|=2;const t=e.dep,i=Z,n=pe;Z=e,pe=!0;try{se(e);const i=e.fn(e._value);(0===t.version||A(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(r){throw t.version++,r}finally{Z=i,pe=n,ce(e),e.flags&=-3}}function ue(e,t=!1){const{dep:i,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),i.subs===e&&(i.subs=n,!n&&i.computed)){i.computed.flags&=-5;for(let e=i.computed.deps;e;e=e.nextDep)ue(e,!0)}t||--i.sc||!i.map||i.map.delete(i.key)}function he(e){const{prevDep:t,nextDep:i}=e;t&&(t.nextDep=i,e.prevDep=void 0),i&&(i.prevDep=t,e.nextDep=void 0)}let pe=!0;const ge=[];function me(){ge.push(pe),pe=!1}function ve(){const e=ge.pop();pe=void 0===e||e}function fe(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=Z;Z=void 0;try{t()}finally{Z=e}}}let be=0;class ke{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 we{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(!Z||!pe||Z===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==Z)t=this.activeLink=new ke(Z,this),Z.deps?(t.prevDep=Z.depsTail,Z.depsTail.nextDep=t,Z.depsTail=t):Z.deps=Z.depsTail=t,ye(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=Z.depsTail,t.nextDep=void 0,Z.depsTail.nextDep=t,Z.depsTail=t,Z.deps===t&&(Z.deps=e)}return t}trigger(e){this.version++,be++,this.notify(e)}notify(e){ae();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{oe()}}}function ye(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)ye(e)}const i=e.dep.subs;i!==e&&(e.prevSub=i,i&&(i.nextSub=e)),e.dep.subs=e}}const xe=new WeakMap,Ce=Symbol(""),Se=Symbol(""),Te=Symbol("");function Ee(e,t,i){if(pe&&Z){let t=xe.get(e);t||xe.set(e,t=new Map);let n=t.get(i);n||(t.set(i,n=new we),n.map=t,n.key=i),n.track()}}function Pe(e,t,i,n,r,a){const o=xe.get(e);if(!o)return void be++;const s=e=>{e&&e.trigger()};if(ae(),"clear"===t)o.forEach(s);else{const r=h(e),a=r&&C(i);if(r&&"length"===i){const e=Number(n);o.forEach((t,i)=>{("length"===i||i===Te||!f(i)&&i>=e)&&s(t)})}else switch((void 0!==i||o.has(void 0))&&s(o.get(i)),a&&s(o.get(Te)),t){case"add":r?a&&s(o.get("length")):(s(o.get(Ce)),p(e)&&s(o.get(Se)));break;case"delete":r||(s(o.get(Ce)),p(e)&&s(o.get(Se)));break;case"set":p(e)&&s(o.get(Ce))}}oe()}function Me(e){const t=dt(e);return t===e?t:(Ee(t,0,Te),ct(e)?t:t.map(ut))}function _e(e){return Ee(e=dt(e),0,Te),e}const Ie={__proto__:null,[Symbol.iterator](){return Re(this,Symbol.iterator,ut)},concat(...e){return Me(this).concat(...e.map(e=>h(e)?Me(e):e))},entries(){return Re(this,"entries",e=>(e[1]=ut(e[1]),e))},every(e,t){return Oe(this,"every",e,t,void 0,arguments)},filter(e,t){return Oe(this,"filter",e,t,e=>e.map(ut),arguments)},find(e,t){return Oe(this,"find",e,t,ut,arguments)},findIndex(e,t){return Oe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Oe(this,"findLast",e,t,ut,arguments)},findLastIndex(e,t){return Oe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Oe(this,"forEach",e,t,void 0,arguments)},includes(...e){return Le(this,"includes",e)},indexOf(...e){return Le(this,"indexOf",e)},join(e){return Me(this).join(e)},lastIndexOf(...e){return Le(this,"lastIndexOf",e)},map(e,t){return Oe(this,"map",e,t,void 0,arguments)},pop(){return Ne(this,"pop")},push(...e){return Ne(this,"push",e)},reduce(e,...t){return De(this,"reduce",e,t)},reduceRight(e,...t){return De(this,"reduceRight",e,t)},shift(){return Ne(this,"shift")},some(e,t){return Oe(this,"some",e,t,void 0,arguments)},splice(...e){return Ne(this,"splice",e)},toReversed(){return Me(this).toReversed()},toSorted(e){return Me(this).toSorted(e)},toSpliced(...e){return Me(this).toSpliced(...e)},unshift(...e){return Ne(this,"unshift",e)},values(){return Re(this,"values",ut)}};function Re(e,t,i){const n=_e(e),r=n[t]();return n===e||ct(e)||(r._next=r.next,r.next=()=>{const e=r._next();return e.value&&(e.value=i(e.value)),e}),r}const Ae=Array.prototype;function Oe(e,t,i,n,r,a){const o=_e(e),s=o!==e&&!ct(e),c=o[t];if(c!==Ae[t]){const t=c.apply(e,a);return s?ut(t):t}let l=i;o!==e&&(s?l=function(t,n){return i.call(this,ut(t),n,e)}:i.length>2&&(l=function(t,n){return i.call(this,t,n,e)}));const d=c.call(o,l,n);return s&&r?r(d):d}function De(e,t,i,n){const r=_e(e);let a=i;return r!==e&&(ct(e)?i.length>3&&(a=function(t,n,r){return i.call(this,t,n,r,e)}):a=function(t,n,r){return i.call(this,t,ut(n),r,e)}),r[t](a,...n)}function Le(e,t,i){const n=dt(e);Ee(n,0,Te);const r=n[t](...i);return-1!==r&&!1!==r||!lt(i[0])?r:(i[0]=dt(i[0]),n[t](...i))}function Ne(e,t,i=[]){me(),ae();const n=dt(e)[t].apply(e,i);return oe(),ve(),n}const je=t("__proto__,__v_isRef,__isVue"),Fe=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(f));function Ue(e){f(e)||(e=String(e));const t=dt(this);return Ee(t,0,e),t.hasOwnProperty(e)}class ze{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,i){if("__v_skip"===t)return e.__v_skip;const n=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!n;if("__v_isReadonly"===t)return n;if("__v_isShallow"===t)return r;if("__v_raw"===t)return i===(n?r?it:tt:r?et:Xe).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(i)?e:void 0;const a=h(e);if(!n){let e;if(a&&(e=Ie[t]))return e;if("hasOwnProperty"===t)return Ue}const o=Reflect.get(e,t,pt(e)?e:i);return(f(t)?Fe.has(t):je(t))?o:(n||Ee(e,0,t),r?o:pt(o)?a&&C(t)?o:o.value:b(o)?n?rt(o):nt(o):o)}}class Be extends ze{constructor(e=!1){super(!1,e)}set(e,t,i,n){let r=e[t];if(!this._isShallow){const t=st(r);if(ct(i)||st(i)||(r=dt(r),i=dt(i)),!h(e)&&pt(r)&&!pt(i))return t||(r.value=i),!0}const a=h(e)&&C(t)?Number(t)<e.length:u(e,t),o=Reflect.set(e,t,i,pt(e)?e:n);return e===dt(n)&&(a?A(i,r)&&Pe(e,"set",t,i):Pe(e,"add",t,i)),o}deleteProperty(e,t){const i=u(e,t);e[t];const n=Reflect.deleteProperty(e,t);return n&&i&&Pe(e,"delete",t,void 0),n}has(e,t){const i=Reflect.has(e,t);return f(t)&&Fe.has(t)||Ee(e,0,t),i}ownKeys(e){return Ee(e,0,h(e)?"length":Ce),Reflect.ownKeys(e)}}class Ve extends ze{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}}const qe=new Be,He=new Ve,Ge=new Be(!0),We=e=>e,$e=e=>Reflect.getPrototypeOf(e);function Je(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function Ke(e,t){const i=function(e,t){const i={get(i){const n=this.__v_raw,r=dt(n),a=dt(i);e||(A(i,a)&&Ee(r,0,i),Ee(r,0,a));const{has:o}=$e(r),s=t?We:e?ht:ut;return o.call(r,i)?s(n.get(i)):o.call(r,a)?s(n.get(a)):void(n!==r&&n.get(i))},get size(){const t=this.__v_raw;return!e&&Ee(dt(t),0,Ce),Reflect.get(t,"size",t)},has(t){const i=this.__v_raw,n=dt(i),r=dt(t);return e||(A(t,r)&&Ee(n,0,t),Ee(n,0,r)),t===r?i.has(t):i.has(t)||i.has(r)},forEach(i,n){const r=this,a=r.__v_raw,o=dt(a),s=t?We:e?ht:ut;return!e&&Ee(o,0,Ce),a.forEach((e,t)=>i.call(n,s(e),s(t),r))}};return c(i,e?{add:Je("add"),set:Je("set"),delete:Je("delete"),clear:Je("clear")}:{add(e){t||ct(e)||st(e)||(e=dt(e));const i=dt(this);return $e(i).has.call(i,e)||(i.add(e),Pe(i,"add",e,e)),this},set(e,i){t||ct(i)||st(i)||(i=dt(i));const n=dt(this),{has:r,get:a}=$e(n);let o=r.call(n,e);o||(e=dt(e),o=r.call(n,e));const s=a.call(n,e);return n.set(e,i),o?A(i,s)&&Pe(n,"set",e,i):Pe(n,"add",e,i),this},delete(e){const t=dt(this),{has:i,get:n}=$e(t);let r=i.call(t,e);r||(e=dt(e),r=i.call(t,e)),n&&n.call(t,e);const a=t.delete(e);return r&&Pe(t,"delete",e,void 0),a},clear(){const e=dt(this),t=0!==e.size,i=e.clear();return t&&Pe(e,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(n=>{i[n]=function(e,t,i){return function(...n){const r=this.__v_raw,a=dt(r),o=p(a),s="entries"===e||e===Symbol.iterator&&o,c="keys"===e&&o,l=r[e](...n),d=i?We:t?ht:ut;return!t&&Ee(a,0,c?Se:Ce),{next(){const{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[d(e[0]),d(e[1])]:d(e),done:t}},[Symbol.iterator](){return this}}}}(n,e,t)}),i}(e,t);return(t,n,r)=>"__v_isReactive"===n?!e:"__v_isReadonly"===n?e:"__v_raw"===n?t:Reflect.get(u(i,n)&&n in t?i:t,n,r)}const Qe={get:Ke(!1,!1)},Ze={get:Ke(!1,!0)},Ye={get:Ke(!0,!1)},Xe=new WeakMap,et=new WeakMap,tt=new WeakMap,it=new WeakMap;function nt(e){return st(e)?e:at(e,!1,qe,Qe,Xe)}function rt(e){return at(e,!0,He,Ye,tt)}function at(e,t,i,n,r){if(!b(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const a=(o=e).__v_skip||!Object.isExtensible(o)?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=>y(e).slice(8,-1))(o));var o;if(0===a)return e;const s=r.get(e);if(s)return s;const c=new Proxy(e,2===a?n:i);return r.set(e,c),c}function ot(e){return st(e)?ot(e.__v_raw):!(!e||!e.__v_isReactive)}function st(e){return!(!e||!e.__v_isReadonly)}function ct(e){return!(!e||!e.__v_isShallow)}function lt(e){return!!e&&!!e.__v_raw}function dt(e){const t=e&&e.__v_raw;return t?dt(t):e}const ut=e=>b(e)?nt(e):e,ht=e=>b(e)?rt(e):e;function pt(e){return!!e&&!0===e.__v_isRef}function gt(e){return mt(e,!1)}function mt(e,t){return pt(e)?e:new vt(e,t)}class vt{constructor(e,t){this.dep=new we,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:dt(e),this._value=t?e:ut(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,i=this.__v_isShallow||ct(e)||st(e);e=i?e:dt(e),A(e,t)&&(this._rawValue=e,this._value=i?e:ut(e),this.dep.trigger())}}function ft(e){return pt(e)?e.value:e}const bt={get:(e,t,i)=>"__v_raw"===t?e:ft(Reflect.get(e,t,i)),set:(e,t,i,n)=>{const r=e[t];return pt(r)&&!pt(i)?(r.value=i,!0):Reflect.set(e,t,i,n)}};function kt(e){return ot(e)?e:new Proxy(e,bt)}class wt{constructor(e,t,i){this.fn=e,this.setter=t,this._value=void 0,this.dep=new we(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=be-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=i}notify(){if(this.flags|=16,!(8&this.flags)&&Z!==this)return re(this,!0),!0}get value(){const e=this.dep.track();return de(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const yt={},xt=new WeakMap;let Ct;function St(e,t=1/0,i){if(t<=0||!b(e)||e.__v_skip)return e;if((i=i||new Set).has(e))return e;if(i.add(e),t--,pt(e))St(e.value,t,i);else if(h(e))for(let n=0;n<e.length;n++)St(e[n],t,i);else if(g(e)||p(e))e.forEach(e=>{St(e,t,i)});else if(x(e)){for(const n in e)St(e[n],t,i);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&St(e[n],t,i)}return e}function Tt(e,t,i,n){try{return n?e(...n):e()}catch(r){Pt(r,t,i)}}function Et(e,t,i,n){if(m(e)){const r=Tt(e,t,i,n);return r&&k(r)&&r.catch(e=>{Pt(e,t,i)}),r}if(h(e)){const r=[];for(let a=0;a<e.length;a++)r.push(Et(e[a],t,i,n));return r}}function Pt(e,t,n,r=!0){t&&t.vnode;const{errorHandler:a,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||i;if(t){let i=t.parent;const r=t.proxy,o=`https://vuejs.org/error-reference/#runtime-${n}`;for(;i;){const t=i.ec;if(t)for(let i=0;i<t.length;i++)if(!1===t[i](e,r,o))return;i=i.parent}if(a)return me(),Tt(a,null,10,[e,r,o]),void ve()}!function(e,t,i,n=!0,r=!1){if(r)throw e}(e,0,0,r,o)}const Mt=[];let _t=-1;const It=[];let Rt=null,At=0;const Ot=Promise.resolve();let Dt=null;function Lt(e){const t=Dt||Ot;return e?t.then(this?e.bind(this):e):t}function Nt(e){if(!(1&e.flags)){const t=zt(e),i=Mt[Mt.length-1];!i||!(2&e.flags)&&t>=zt(i)?Mt.push(e):Mt.splice(function(e){let t=_t+1,i=Mt.length;for(;t<i;){const n=t+i>>>1,r=Mt[n],a=zt(r);a<e||a===e&&2&r.flags?t=n+1:i=n}return t}(t),0,e),e.flags|=1,jt()}}function jt(){Dt||(Dt=Ot.then(Bt))}function Ft(e,t,i=_t+1){for(;i<Mt.length;i++){const t=Mt[i];if(t&&2&t.flags){if(e&&t.id!==e.uid)continue;Mt.splice(i,1),i--,4&t.flags&&(t.flags&=-2),t(),4&t.flags||(t.flags&=-2)}}}function Ut(e){if(It.length){const e=[...new Set(It)].sort((e,t)=>zt(e)-zt(t));if(It.length=0,Rt)return void Rt.push(...e);for(Rt=e,At=0;At<Rt.length;At++){const e=Rt[At];4&e.flags&&(e.flags&=-2),8&e.flags||e(),e.flags&=-2}Rt=null,At=0}}const zt=e=>null==e.id?2&e.flags?-1:1/0:e.id;function Bt(e){try{for(_t=0;_t<Mt.length;_t++){const e=Mt[_t];!e||8&e.flags||(4&e.flags&&(e.flags&=-2),Tt(e,e.i,e.i?15:14),4&e.flags||(e.flags&=-2))}}finally{for(;_t<Mt.length;_t++){const e=Mt[_t];e&&(e.flags&=-2)}_t=-1,Mt.length=0,Ut(),Dt=null,(Mt.length||It.length)&&Bt()}}let Vt=null,qt=null;function Ht(e){const t=Vt;return Vt=e,qt=e&&e.type.__scopeId||null,t}function Gt(e,t=Vt,i){if(!t)return e;if(e._n)return e;const n=(...i)=>{n._d&&Qn(-1);const r=Ht(t);let a;try{a=e(...i)}finally{Ht(r),n._d&&Qn(1)}return a};return n._n=!0,n._c=!0,n._d=!0,n}function Wt(e,t){if(null===Vt)return e;const n=Er(Vt),r=e.dirs||(e.dirs=[]);for(let a=0;a<t.length;a++){let[e,o,s,c=i]=t[a];e&&(m(e)&&(e={mounted:e,updated:e}),e.deep&&St(o),r.push({dir:e,instance:n,value:o,oldValue:void 0,arg:s,modifiers:c}))}return e}function $t(e,t,i,n){const r=e.dirs,a=t&&t.dirs;for(let o=0;o<r.length;o++){const s=r[o];a&&(s.oldValue=a[o].value);let c=s.dir[n];c&&(me(),Et(c,i,8,[e.el,s,e,t]),ve())}}const Jt=Symbol("_vte"),Kt=e=>e.__isTeleport,Qt=Symbol("_leaveCb"),Zt=Symbol("_enterCb");function Yt(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return xi(()=>{e.isMounted=!0}),Ti(()=>{e.isUnmounting=!0}),e}const Xt=[Function,Array],ei={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Xt,onEnter:Xt,onAfterEnter:Xt,onEnterCancelled:Xt,onBeforeLeave:Xt,onLeave:Xt,onAfterLeave:Xt,onLeaveCancelled:Xt,onBeforeAppear:Xt,onAppear:Xt,onAfterAppear:Xt,onAppearCancelled:Xt},ti=e=>{const t=e.subTree;return t.component?ti(t.component):t};function ii(e){let t=e[0];if(e.length>1)for(const i of e)if(i.type!==Hn){t=i;break}return t}const ni={name:"BaseTransition",props:ei,setup(e,{slots:t}){const i=vr(),n=Yt();return()=>{const r=t.default&&li(t.default(),!0);if(!r||!r.length)return;const a=ii(r),o=dt(e),{mode:s}=o;if(n.isLeaving)return oi(a);const c=si(a);if(!c)return oi(a);let l=ai(c,o,n,i,e=>l=e);c.type!==Hn&&ci(c,l);let d=i.subTree&&si(i.subTree);if(d&&d.type!==Hn&&!tr(c,d)&&ti(i).type!==Hn){let e=ai(d,o,n,i);if(ci(d,e),"out-in"===s&&c.type!==Hn)return n.isLeaving=!0,e.afterLeave=()=>{n.isLeaving=!1,8&i.job.flags||i.update(),delete e.afterLeave,d=void 0},oi(a);"in-out"===s&&c.type!==Hn?e.delayLeave=(e,t,i)=>{ri(n,d)[String(d.key)]=d,e[Qt]=()=>{t(),e[Qt]=void 0,delete l.delayedLeave,d=void 0},l.delayedLeave=()=>{i(),delete l.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return a}}};function ri(e,t){const{leavingVNodes:i}=e;let n=i.get(t.type);return n||(n=Object.create(null),i.set(t.type,n)),n}function ai(e,t,i,n,r){const{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:d,onEnterCancelled:u,onBeforeLeave:p,onLeave:g,onAfterLeave:m,onLeaveCancelled:v,onBeforeAppear:f,onAppear:b,onAfterAppear:k,onAppearCancelled:w}=t,y=String(e.key),x=ri(i,e),C=(e,t)=>{e&&Et(e,n,9,t)},S=(e,t)=>{const i=t[1];C(e,t),h(e)?e.every(e=>e.length<=1)&&i():e.length<=1&&i()},T={mode:o,persisted:s,beforeEnter(t){let n=c;if(!i.isMounted){if(!a)return;n=f||c}t[Qt]&&t[Qt](!0);const r=x[y];r&&tr(e,r)&&r.el[Qt]&&r.el[Qt](),C(n,[t])},enter(e){let t=l,n=d,r=u;if(!i.isMounted){if(!a)return;t=b||l,n=k||d,r=w||u}let o=!1;const s=e[Zt]=t=>{o||(o=!0,C(t?r:n,[e]),T.delayedLeave&&T.delayedLeave(),e[Zt]=void 0)};t?S(t,[e,s]):s()},leave(t,n){const r=String(e.key);if(t[Zt]&&t[Zt](!0),i.isUnmounting)return n();C(p,[t]);let a=!1;const o=t[Qt]=i=>{a||(a=!0,n(),C(i?v:m,[t]),t[Qt]=void 0,x[r]===e&&delete x[r])};x[r]=e,g?S(g,[t,o]):o()},clone(e){const a=ai(e,t,i,n,r);return r&&r(a),a}};return T}function oi(e){if(gi(e))return(e=or(e)).children=null,e}function si(e){if(!gi(e))return Kt(e.type)&&e.children?ii(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:i}=e;if(i){if(16&t)return i[0];if(32&t&&m(i.default))return i.default()}}function ci(e,t){6&e.shapeFlag&&e.component?(e.transition=t,ci(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 li(e,t=!1,i){let n=[],r=0;for(let a=0;a<e.length;a++){let o=e[a];const s=null==i?o.key:String(i)+String(null!=o.key?o.key:a);o.type===Vn?(128&o.patchFlag&&r++,n=n.concat(li(o.children,t,s))):(t||o.type!==Hn)&&n.push(null!=s?or(o,{key:s}):o)}if(r>1)for(let a=0;a<n.length;a++)n[a].patchFlag=-2;return n}
|
|
3
|
-
/*! #__NO_SIDE_EFFECTS__ */function di(e,t){return m(e)?(()=>c({name:e.name},t,{setup:e}))():e}function ui(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function hi(e,t,n,r,o=!1){if(h(e))return void e.forEach((e,i)=>hi(e,t&&(h(t)?t[i]:t),n,r,o));if(pi(r)&&!o)return void(512&r.shapeFlag&&r.type.__asyncResolved&&r.component.subTree.component&&hi(e,t,n,r.component.subTree));const s=4&r.shapeFlag?Er(r.component):r.el,c=o?null:s,{i:d,r:p}=e,g=t&&t.r,f=d.refs===i?d.refs={}:d.refs,b=d.setupState,k=dt(b),w=b===i?a:e=>u(k,e);if(null!=g&&g!==p)if(v(g))f[g]=null,w(g)&&(b[g]=null);else if(pt(g)){g.value=null;const e=t;e.k&&(f[e.k]=null)}if(m(p))Tt(p,d,12,[c,f]);else{const t=v(p),i=pt(p);if(t||i){const r=()=>{if(e.f){const i=t?w(p)?b[p]:f[p]:p.value;if(o)h(i)&&l(i,s);else if(h(i))i.includes(s)||i.push(s);else if(t)f[p]=[s],w(p)&&(b[p]=f[p]);else{const t=[s];p.value=t,e.k&&(f[e.k]=t)}}else t?(f[p]=c,w(p)&&(b[p]=c)):i&&(p.value=c,e.k&&(f[e.k]=c))};c?(r.id=-1,wn(r,n)):r()}}}j().requestIdleCallback,j().cancelIdleCallback;const pi=e=>!!e.type.__asyncLoader,gi=e=>e.type.__isKeepAlive;function mi(e,t){fi(e,"a",t)}function vi(e,t){fi(e,"da",t)}function fi(e,t,i=mr){const n=e.__wdc||(e.__wdc=()=>{let t=i;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(ki(t,n,i),i){let e=i.parent;for(;e&&e.parent;)gi(e.parent.vnode)&&bi(n,t,i,e),e=e.parent}}function bi(e,t,i,n){const r=ki(t,e,n,!0);Ei(()=>{l(n[t],r)},i)}function ki(e,t,i=mr,n=!1){if(i){const r=i[e]||(i[e]=[]),a=t.__weh||(t.__weh=(...n)=>{me();const r=kr(i),a=Et(t,i,e,n);return r(),ve(),a});return n?r.unshift(a):r.push(a),a}}const wi=e=>(t,i=mr)=>{xr&&"sp"!==e||ki(e,(...e)=>t(...e),i)},yi=wi("bm"),xi=wi("m"),Ci=wi("bu"),Si=wi("u"),Ti=wi("bum"),Ei=wi("um"),Pi=wi("sp"),Mi=wi("rtg"),_i=wi("rtc");function Ii(e,t=mr){ki("ec",e,t)}const Ri=Symbol.for("v-ndc");function Ai(e){return v(e)?function(e,t,i=!0,n=!1){const r=Vt||mr;if(r){const i=r.type;{const e=function(e,t=!0){return m(e)?e.displayName||e.name:e.name||t&&e.__name}(i,!1);if(e&&(e===t||e===P(t)||e===I(P(t))))return i}const a=Oi(r[e]||i[e],t)||Oi(r.appContext[e],t);return!a&&n?i:a}}("components",e,!1)||e:e||Ri}function Oi(e,t){return e&&(e[t]||e[P(t)]||e[I(P(t))])}function Di(e,t,i,n){let r;const a=i,o=h(e);if(o||v(e)){let i=!1,n=!1;o&&ot(e)&&(i=!ct(e),n=st(e),e=_e(e)),r=new Array(e.length);for(let o=0,s=e.length;o<s;o++)r[o]=t(i?n?ht(ut(e[o])):ut(e[o]):e[o],o,void 0,a)}else if("number"==typeof e){r=new Array(e);for(let i=0;i<e;i++)r[i]=t(i+1,i,void 0,a)}else if(b(e))if(e[Symbol.iterator])r=Array.from(e,(e,i)=>t(e,i,void 0,a));else{const i=Object.keys(e);r=new Array(i.length);for(let n=0,o=i.length;n<o;n++){const o=i[n];r[n]=t(e[o],o,n,a)}}else r=[];return r}function Li(e,t,i={},n,r){if(Vt.ce||Vt.parent&&pi(Vt.parent)&&Vt.parent.ce)return Jn(),Xn(Vn,null,[ar("slot",i,n)],64);let a=e[t];a&&a._c&&(a._d=!1),Jn();const o=a&&Ni(a(i)),s=i.key||o&&o.key,c=Xn(Vn,{key:(s&&!f(s)?s:`_${t}`)+(!o&&n?"_fb":"")},o||[],o&&1===e._?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),a&&a._c&&(a._d=!0),c}function Ni(e){return e.some(e=>!er(e)||e.type!==Hn&&!(e.type===Vn&&!Ni(e.children)))?e:null}const ji=e=>e?yr(e)?Er(e):ji(e.parent):null,Fi=c(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=>ji(e.parent),$root:e=>ji(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Gi(e),$forceUpdate:e=>e.f||(e.f=()=>{Nt(e.update)}),$nextTick:e=>e.n||(e.n=Lt.bind(e.proxy)),$watch:e=>Rn.bind(e)}),Ui=(e,t)=>e!==i&&!e.__isScriptSetup&&u(e,t),zi={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:r,data:a,props:o,accessCache:s,type:c,appContext:l}=e;let d;if("$"!==t[0]){const c=s[t];if(void 0!==c)switch(c){case 1:return r[t];case 2:return a[t];case 4:return n[t];case 3:return o[t]}else{if(Ui(r,t))return s[t]=1,r[t];if(a!==i&&u(a,t))return s[t]=2,a[t];if((d=e.propsOptions[0])&&u(d,t))return s[t]=3,o[t];if(n!==i&&u(n,t))return s[t]=4,n[t];Vi&&(s[t]=0)}}const h=Fi[t];let p,g;return h?("$attrs"===t&&Ee(e.attrs,0,""),h(e)):(p=c.__cssModules)&&(p=p[t])?p:n!==i&&u(n,t)?(s[t]=4,n[t]):(g=l.config.globalProperties,u(g,t)?g[t]:void 0)},set({_:e},t,n){const{data:r,setupState:a,ctx:o}=e;return Ui(a,t)?(a[t]=n,!0):r!==i&&u(r,t)?(r[t]=n,!0):!(u(e.props,t)||"$"===t[0]&&t.slice(1)in e||(o[t]=n,0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:a,propsOptions:o,type:s}},c){let l,d;return!!(n[c]||e!==i&&"$"!==c[0]&&u(e,c)||Ui(t,c)||(l=o[0])&&u(l,c)||u(r,c)||u(Fi,c)||u(a.config.globalProperties,c)||(d=s.__cssModules)&&d[c])},defineProperty(e,t,i){return null!=i.get?e._.accessCache[t]=0:u(i,"value")&&this.set(e,t,i.value,null),Reflect.defineProperty(e,t,i)}};function Bi(e){return h(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}let Vi=!0;function qi(e,t,i){Et(h(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,i)}function Hi(e,t,i,n){let r=n.includes(".")?An(i,n):()=>i[n];if(v(e)){const i=t[e];m(i)&&_n(r,i)}else if(m(e))_n(r,e.bind(i));else if(b(e))if(h(e))e.forEach(e=>Hi(e,t,i,n));else{const n=m(e.handler)?e.handler.bind(i):t[e.handler];m(n)&&_n(r,n,e)}}function Gi(e){const t=e.type,{mixins:i,extends:n}=t,{mixins:r,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t);let c;return s?c=s:r.length||i||n?(c={},r.length&&r.forEach(e=>Wi(c,e,o,!0)),Wi(c,t,o)):c=t,b(t)&&a.set(t,c),c}function Wi(e,t,i,n=!1){const{mixins:r,extends:a}=t;a&&Wi(e,a,i,!0),r&&r.forEach(t=>Wi(e,t,i,!0));for(const o in t)if(n&&"expose"===o);else{const n=$i[o]||i&&i[o];e[o]=n?n(e[o],t[o]):t[o]}return e}const $i={data:Ji,props:Yi,emits:Yi,methods:Zi,computed:Zi,beforeCreate:Qi,created:Qi,beforeMount:Qi,mounted:Qi,beforeUpdate:Qi,updated:Qi,beforeDestroy:Qi,beforeUnmount:Qi,destroyed:Qi,unmounted:Qi,activated:Qi,deactivated:Qi,errorCaptured:Qi,serverPrefetch:Qi,components:Zi,directives:Zi,watch:function(e,t){if(!e)return t;if(!t)return e;const i=c(Object.create(null),e);for(const n in t)i[n]=Qi(e[n],t[n]);return i},provide:Ji,inject:function(e,t){return Zi(Ki(e),Ki(t))}};function Ji(e,t){return t?e?function(){return c(m(e)?e.call(this,this):e,m(t)?t.call(this,this):t)}:t:e}function Ki(e){if(h(e)){const t={};for(let i=0;i<e.length;i++)t[e[i]]=e[i];return t}return e}function Qi(e,t){return e?[...new Set([].concat(e,t))]:t}function Zi(e,t){return e?c(Object.create(null),e,t):t}function Yi(e,t){return e?h(e)&&h(t)?[...new Set([...e,...t])]:c(Object.create(null),Bi(e),Bi(null!=t?t:{})):t}function Xi(){return{app:null,config:{isNativeTag:a,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 en=0;function tn(e,t){return function(t,i=null){m(t)||(t=c({},t)),null==i||b(i)||(i=null);const n=Xi(),r=new WeakSet,a=[];let o=!1;const s=n.app={_uid:en++,_component:t,_props:i,_container:null,_context:n,_instance:null,version:Mr,get config(){return n.config},set config(e){},use:(e,...t)=>(r.has(e)||(e&&m(e.install)?(r.add(e),e.install(s,...t)):m(e)&&(r.add(e),e(s,...t))),s),mixin:e=>(n.mixins.includes(e)||n.mixins.push(e),s),component:(e,t)=>t?(n.components[e]=t,s):n.components[e],directive:(e,t)=>t?(n.directives[e]=t,s):n.directives[e],mount(r,a,c){if(!o){const a=s._ceVNode||ar(t,i);return a.appContext=n,!0===c?c="svg":!1===c&&(c=void 0),e(a,r,c),o=!0,s._container=r,r.__vue_app__=s,Er(a.component)}},onUnmount(e){a.push(e)},unmount(){o&&(Et(a,s._instance,16),e(null,s._container),delete s._container.__vue_app__)},provide:(e,t)=>(n.provides[e]=t,s),runWithContext(e){const t=nn;nn=s;try{return e()}finally{nn=t}}};return s}}let nn=null;function rn(e,t){if(mr){let i=mr.provides;const n=mr.parent&&mr.parent.provides;n===i&&(i=mr.provides=Object.create(n)),i[e]=t}}function an(e,t,i=!1){const n=vr();if(n||nn){let r=nn?nn._context.provides:n?null==n.parent||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return i&&m(t)?t.call(n&&n.proxy):t}}const on={},sn=()=>Object.create(on),cn=e=>Object.getPrototypeOf(e)===on;function ln(e,t,n,r){const[a,o]=e.propsOptions;let s,c=!1;if(t)for(let i in t){if(S(i))continue;const l=t[i];let d;a&&u(a,d=P(i))?o&&o.includes(d)?(s||(s={}))[d]=l:n[d]=l:Nn(e.emitsOptions,i)||i in r&&l===r[i]||(r[i]=l,c=!0)}if(o){const t=dt(n),r=s||i;for(let i=0;i<o.length;i++){const s=o[i];n[s]=dn(a,t,s,r[s],e,!u(r,s))}}return c}function dn(e,t,i,n,r,a){const o=e[i];if(null!=o){const e=u(o,"default");if(e&&void 0===n){const e=o.default;if(o.type!==Function&&!o.skipFactory&&m(e)){const{propsDefaults:a}=r;if(i in a)n=a[i];else{const o=kr(r);n=a[i]=e.call(null,t),o()}}else n=e;r.ce&&r.ce._setProp(i,n)}o[0]&&(a&&!e?n=!1:!o[1]||""!==n&&n!==_(i)||(n=!0))}return n}const un=new WeakMap;function hn(e,t,r=!1){const a=r?un:t.propsCache,o=a.get(e);if(o)return o;const s=e.props,l={},d=[];let p=!1;if(!m(e)){const i=e=>{p=!0;const[i,n]=hn(e,t,!0);c(l,i),n&&d.push(...n)};!r&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!s&&!p)return b(e)&&a.set(e,n),n;if(h(s))for(let n=0;n<s.length;n++){const e=P(s[n]);pn(e)&&(l[e]=i)}else if(s)for(const i in s){const e=P(i);if(pn(e)){const t=s[i],n=l[e]=h(t)||m(t)?{type:t}:c({},t),r=n.type;let a=!1,o=!0;if(h(r))for(let e=0;e<r.length;++e){const t=r[e],i=m(t)&&t.name;if("Boolean"===i){a=!0;break}"String"===i&&(o=!1)}else a=m(r)&&"Boolean"===r.name;n[0]=a,n[1]=o,(a||u(n,"default"))&&d.push(e)}}const g=[l,d];return b(e)&&a.set(e,g),g}function pn(e){return"$"!==e[0]&&!S(e)}const gn=e=>"_"===e||"_ctx"===e||"$stable"===e,mn=e=>h(e)?e.map(lr):[lr(e)],vn=(e,t,i)=>{if(t._n)return t;const n=Gt((...e)=>mn(t(...e)),i);return n._c=!1,n},fn=(e,t,i)=>{const n=e._ctx;for(const r in e){if(gn(r))continue;const i=e[r];if(m(i))t[r]=vn(0,i,n);else if(null!=i){const e=mn(i);t[r]=()=>e}}},bn=(e,t)=>{const i=mn(t);e.slots.default=()=>i},kn=(e,t,i)=>{for(const n in t)!i&&gn(n)||(e[n]=t[n])},wn=function(e,t){var i;t&&t.pendingBranch?h(e)?t.effects.push(...e):t.effects.push(e):(h(i=e)?It.push(...i):Rt&&-1===i.id?Rt.splice(At+1,0,i):1&i.flags||(It.push(i),i.flags|=1),jt())};function yn(e){return function(e){j().__VUE__=!0;const{insert:t,remove:a,patchProp:o,createElement:s,createText:c,createComment:l,setText:d,setElementText:h,parentNode:p,nextSibling:g,setScopeId:m=r,insertStaticContent:v}=e,f=(e,t,i,n=null,r=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!tr(e,t)&&(n=Q(e),G(e,r,a,!0),e=null),-2===t.patchFlag&&(c=!1,t.dynamicChildren=null);const{type:l,ref:d,shapeFlag:u}=t;switch(l){case qn:b(e,t,i,n);break;case Hn:w(e,t,i,n);break;case Gn:null==e&&y(t,i,n,o);break;case Vn:A(e,t,i,n,r,a,o,s,c);break;default:1&u?x(e,t,i,n,r,a,o,s,c):6&u?L(e,t,i,n,r,a,o,s,c):(64&u||128&u)&&l.process(e,t,i,n,r,a,o,s,c,te)}null!=d&&r?hi(d,e&&e.ref,a,t||e,!t):null==d&&e&&null!=e.ref&&hi(e.ref,null,a,e,!0)},b=(e,i,n,r)=>{if(null==e)t(i.el=c(i.children),n,r);else{const t=i.el=e.el;i.children!==e.children&&d(t,i.children)}},w=(e,i,n,r)=>{null==e?t(i.el=l(i.children||""),n,r):i.el=e.el},y=(e,t,i,n)=>{[e.el,e.anchor]=v(e.children,t,i,n,e.el,e.anchor)},x=(e,t,i,n,r,a,o,s,c)=>{"svg"===t.type?o="svg":"math"===t.type&&(o="mathml"),null==e?C(t,i,n,r,a,o,s,c):M(e,t,r,a,o,s,c)},C=(e,i,n,r,a,c,l,d)=>{let u,p;const{props:g,shapeFlag:m,transition:v,dirs:f}=e;if(u=e.el=s(e.type,c,g&&g.is,g),8&m?h(u,e.children):16&m&&E(e.children,u,null,r,a,xn(e,c),l,d),f&&$t(e,null,r,"created"),T(u,e,e.scopeId,l,r),g){for(const e in g)"value"===e||S(e)||o(u,e,null,g[e],c,r);"value"in g&&o(u,"value",null,g.value,c),(p=g.onVnodeBeforeMount)&&hr(p,r,e)}f&&$t(e,null,r,"beforeMount");const b=function(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}(a,v);b&&v.beforeEnter(u),t(u,i,n),((p=g&&g.onVnodeMounted)||b||f)&&wn(()=>{p&&hr(p,r,e),b&&v.enter(u),f&&$t(e,null,r,"mounted")},a)},T=(e,t,i,n,r)=>{if(i&&m(e,i),n)for(let a=0;a<n.length;a++)m(e,n[a]);if(r){let i=r.subTree;if(t===i||Bn(i.type)&&(i.ssContent===t||i.ssFallback===t)){const t=r.vnode;T(e,t,t.scopeId,t.slotScopeIds,r.parent)}}},E=(e,t,i,n,r,a,o,s,c=0)=>{for(let l=c;l<e.length;l++){const c=e[l]=s?dr(e[l]):lr(e[l]);f(null,c,t,i,n,r,a,o,s)}},M=(e,t,n,r,a,s,c)=>{const l=t.el=e.el;let{patchFlag:d,dynamicChildren:u,dirs:p}=t;d|=16&e.patchFlag;const g=e.props||i,m=t.props||i;let v;if(n&&Cn(n,!1),(v=m.onVnodeBeforeUpdate)&&hr(v,n,t,e),p&&$t(t,e,n,"beforeUpdate"),n&&Cn(n,!0),(g.innerHTML&&null==m.innerHTML||g.textContent&&null==m.textContent)&&h(l,""),u?I(e.dynamicChildren,u,l,n,r,xn(t,a),s):c||B(e,t,l,null,n,r,xn(t,a),s,!1),d>0){if(16&d)R(l,g,m,n,a);else if(2&d&&g.class!==m.class&&o(l,"class",null,m.class,a),4&d&&o(l,"style",g.style,m.style,a),8&d){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const i=e[t],r=g[i],s=m[i];s===r&&"value"!==i||o(l,i,r,s,a,n)}}1&d&&e.children!==t.children&&h(l,t.children)}else c||null!=u||R(l,g,m,n,a);((v=m.onVnodeUpdated)||p)&&wn(()=>{v&&hr(v,n,t,e),p&&$t(t,e,n,"updated")},r)},I=(e,t,i,n,r,a,o)=>{for(let s=0;s<t.length;s++){const c=e[s],l=t[s],d=c.el&&(c.type===Vn||!tr(c,l)||198&c.shapeFlag)?p(c.el):i;f(c,l,d,null,n,r,a,o,!0)}},R=(e,t,n,r,a)=>{if(t!==n){if(t!==i)for(const i in t)S(i)||i in n||o(e,i,t[i],null,a,r);for(const i in n){if(S(i))continue;const s=n[i],c=t[i];s!==c&&"value"!==i&&o(e,i,c,s,a,r)}"value"in n&&o(e,"value",t.value,n.value,a)}},A=(e,i,n,r,a,o,s,l,d)=>{const u=i.el=e?e.el:c(""),h=i.anchor=e?e.anchor:c("");let{patchFlag:p,dynamicChildren:g,slotScopeIds:m}=i;m&&(l=l?l.concat(m):m),null==e?(t(u,n,r),t(h,n,r),E(i.children||[],n,h,a,o,s,l,d)):p>0&&64&p&&g&&e.dynamicChildren?(I(e.dynamicChildren,g,n,a,o,s,l),(null!=i.key||a&&i===a.subTree)&&Sn(e,i,!0)):B(e,i,n,h,a,o,s,l,d)},L=(e,t,i,n,r,a,o,s,c)=>{t.slotScopeIds=s,null==e?512&t.shapeFlag?r.ctx.activate(t,i,n,o,c):N(t,i,n,r,a,o,c):F(e,t,c)},N=(e,t,n,r,a,o,s)=>{const c=e.component=function(e,t,n){const r=e.type,a=(t?t.appContext:e.appContext)||pr,o={uid:gr++,vnode:e,type:r,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Y(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(a.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:hn(r,a),emitsOptions:Ln(r,a),emit:null,emitted:null,propsDefaults:i,inheritAttrs:r.inheritAttrs,ctx:i,data:i,props:i,attrs:i,slots:i,refs:i,setupState:i,setupContext:null,suspense:n,suspenseId:n?n.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=Dn.bind(null,o),e.ce&&e.ce(o),o}(e,r,a);if(gi(e)&&(c.ctx.renderer=te),function(e,t=!1,i=!1){t&&br(t);const{props:n,children:r}=e.vnode,a=yr(e);(function(e,t,i,n=!1){const r={},a=sn();e.propsDefaults=Object.create(null),ln(e,t,r,a);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);i?e.props=n?r:at(r,!1,Ge,Ze,et):e.type.props?e.props=r:e.props=a,e.attrs=a})(e,n,a,t),((e,t,i)=>{const n=e.slots=sn();if(32&e.vnode.shapeFlag){const e=t._;e?(kn(n,t,i),i&&D(n,"_",e,!0)):fn(t,n)}else t&&bn(e,t)})(e,r,i||t);a&&function(e,t){const i=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,zi);const{setup:n}=i;if(n){me();const i=e.setupContext=n.length>1?function(e){return{attrs:new Proxy(e.attrs,Tr),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}(e):null,r=kr(e),a=Tt(n,e,0,[e.props,i]),o=k(a);if(ve(),r(),!o&&!e.sp||pi(e)||ui(e),o){if(a.then(wr,wr),t)return a.then(t=>{Cr(e,t)}).catch(t=>{Pt(t,e,0)});e.asyncDep=a}else Cr(e,a)}else Sr(e)}(e,t);t&&br(!1)}(c,!1,s),c.asyncDep){if(a&&a.registerDep(c,U,s),!e.el){const i=c.subTree=ar(Hn);w(null,i,t,n),e.placeholder=i.el}}else U(c,e,t,n,a,o,s)},F=(e,t,i)=>{const n=t.component=e.component;if(function(e,t,i){const{props:n,children:r,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(!(i&&c>=0))return!(!r&&!s||s&&s.$stable)||n!==o&&(n?!o||zn(n,o,l):!!o);if(1024&c)return!0;if(16&c)return n?zn(n,o,l):!!o;if(8&c){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const i=e[t];if(o[i]!==n[i]&&!Nn(l,i))return!0}}return!1}(e,t,i)){if(n.asyncDep&&!n.asyncResolved)return void z(n,t,i);n.next=t,n.update()}else t.el=e.el,n.vnode=t},U=(e,t,i,n,r,a,o)=>{const s=()=>{if(e.isMounted){let{next:t,bu:i,u:n,parent:c,vnode:l}=e;{const i=Tn(e);if(i)return t&&(t.el=l.el,z(e,t,o)),void i.asyncDep.then(()=>{e.isUnmounted||s()})}let d,u=t;Cn(e,!1),t?(t.el=l.el,z(e,t,o)):t=l,i&&O(i),(d=t.props&&t.props.onVnodeBeforeUpdate)&&hr(d,c,t,l),Cn(e,!0);const h=jn(e),g=e.subTree;e.subTree=h,f(g,h,p(g.el),Q(g),e,r,a),t.el=h.el,null===u&&function({vnode:e,parent:t},i){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n!==e)break;(e=t.vnode).el=i,t=t.parent}}(e,h.el),n&&wn(n,r),(d=t.props&&t.props.onVnodeUpdated)&&wn(()=>hr(d,c,t,l),r)}else{let o;const{el:s,props:c}=t,{bm:l,m:d,parent:u,root:h,type:p}=e,g=pi(t);Cn(e,!1),l&&O(l),!g&&(o=c&&c.onVnodeBeforeMount)&&hr(o,u,t),Cn(e,!0);{h.ce&&!1!==h.ce._def.shadowRoot&&h.ce._injectChildStyle(p);const o=e.subTree=jn(e);f(null,o,i,n,e,r,a),t.el=o.el}if(d&&wn(d,r),!g&&(o=c&&c.onVnodeMounted)){const e=t;wn(()=>hr(o,u,e),r)}(256&t.shapeFlag||u&&pi(u.vnode)&&256&u.vnode.shapeFlag)&&e.a&&wn(e.a,r),e.isMounted=!0,t=i=n=null}};e.scope.on();const c=e.effect=new ee(s);e.scope.off();const l=e.update=c.run.bind(c),d=e.job=c.runIfDirty.bind(c);d.i=e,d.id=e.uid,c.scheduler=()=>Nt(d),Cn(e,!0),l()},z=(e,t,n)=>{t.component=e;const r=e.vnode.props;e.vnode=t,e.next=null,function(e,t,i,n){const{props:r,attrs:a,vnode:{patchFlag:o}}=e,s=dt(r),[c]=e.propsOptions;let l=!1;if(!(n||o>0)||16&o){let n;ln(e,t,r,a)&&(l=!0);for(const a in s)t&&(u(t,a)||(n=_(a))!==a&&u(t,n))||(c?!i||void 0===i[a]&&void 0===i[n]||(r[a]=dn(c,s,a,void 0,e,!0)):delete r[a]);if(a!==s)for(const e in a)t&&u(t,e)||(delete a[e],l=!0)}else if(8&o){const i=e.vnode.dynamicProps;for(let n=0;n<i.length;n++){let o=i[n];if(Nn(e.emitsOptions,o))continue;const d=t[o];if(c)if(u(a,o))d!==a[o]&&(a[o]=d,l=!0);else{const t=P(o);r[t]=dn(c,s,t,d,e,!1)}else d!==a[o]&&(a[o]=d,l=!0)}}l&&Pe(e.attrs,"set","")}(e,t.props,r,n),((e,t,n)=>{const{vnode:r,slots:a}=e;let o=!0,s=i;if(32&r.shapeFlag){const e=t._;e?n&&1===e?o=!1:kn(a,t,n):(o=!t.$stable,fn(t,a)),s=t}else t&&(bn(e,t),s={default:1});if(o)for(const i in a)gn(i)||null!=s[i]||delete a[i]})(e,t.children,n),me(),Ft(e),ve()},B=(e,t,i,n,r,a,o,s,c=!1)=>{const l=e&&e.children,d=e?e.shapeFlag:0,u=t.children,{patchFlag:p,shapeFlag:g}=t;if(p>0){if(128&p)return void q(l,u,i,n,r,a,o,s,c);if(256&p)return void V(l,u,i,n,r,a,o,s,c)}8&g?(16&d&&K(l,r,a),u!==l&&h(i,u)):16&d?16&g?q(l,u,i,n,r,a,o,s,c):K(l,r,a,!0):(8&d&&h(i,""),16&g&&E(u,i,n,r,a,o,s,c))},V=(e,t,i,r,a,o,s,c,l)=>{t=t||n;const d=(e=e||n).length,u=t.length,h=Math.min(d,u);let p;for(p=0;p<h;p++){const n=t[p]=l?dr(t[p]):lr(t[p]);f(e[p],n,i,null,a,o,s,c,l)}d>u?K(e,a,o,!0,!1,h):E(t,i,r,a,o,s,c,l,h)},q=(e,t,i,r,a,o,s,c,l)=>{let d=0;const u=t.length;let h=e.length-1,p=u-1;for(;d<=h&&d<=p;){const n=e[d],r=t[d]=l?dr(t[d]):lr(t[d]);if(!tr(n,r))break;f(n,r,i,null,a,o,s,c,l),d++}for(;d<=h&&d<=p;){const n=e[h],r=t[p]=l?dr(t[p]):lr(t[p]);if(!tr(n,r))break;f(n,r,i,null,a,o,s,c,l),h--,p--}if(d>h){if(d<=p){const e=p+1,n=e<u?t[e].el:r;for(;d<=p;)f(null,t[d]=l?dr(t[d]):lr(t[d]),i,n,a,o,s,c,l),d++}}else if(d>p)for(;d<=h;)G(e[d],a,o,!0),d++;else{const g=d,m=d,v=new Map;for(d=m;d<=p;d++){const e=t[d]=l?dr(t[d]):lr(t[d]);null!=e.key&&v.set(e.key,d)}let b,k=0;const w=p-m+1;let y=!1,x=0;const C=new Array(w);for(d=0;d<w;d++)C[d]=0;for(d=g;d<=h;d++){const n=e[d];if(k>=w){G(n,a,o,!0);continue}let r;if(null!=n.key)r=v.get(n.key);else for(b=m;b<=p;b++)if(0===C[b-m]&&tr(n,t[b])){r=b;break}void 0===r?G(n,a,o,!0):(C[r-m]=d+1,r>=x?x=r:y=!0,f(n,t[r],i,null,a,o,s,c,l),k++)}const S=y?function(e){const t=e.slice(),i=[0];let n,r,a,o,s;const c=e.length;for(n=0;n<c;n++){const c=e[n];if(0!==c){if(r=i[i.length-1],e[r]<c){t[n]=r,i.push(n);continue}for(a=0,o=i.length-1;a<o;)s=a+o>>1,e[i[s]]<c?a=s+1:o=s;c<e[i[a]]&&(a>0&&(t[n]=i[a-1]),i[a]=n)}}for(a=i.length,o=i[a-1];a-- >0;)i[a]=o,o=t[o];return i}(C):n;for(b=S.length-1,d=w-1;d>=0;d--){const e=m+d,n=t[e],h=t[e+1],p=e+1<u?h.el||h.placeholder:r;0===C[d]?f(null,n,i,p,a,o,s,c,l):y&&(b<0||d!==S[b]?H(n,i,p,2):b--)}}},H=(e,i,n,r,o=null)=>{const{el:s,type:c,transition:l,children:d,shapeFlag:u}=e;if(6&u)H(e.component.subTree,i,n,r);else if(128&u)e.suspense.move(i,n,r);else if(64&u)c.move(e,i,n,te);else if(c!==Vn)if(c!==Gn)if(2!==r&&1&u&&l)if(0===r)l.beforeEnter(s),t(s,i,n),wn(()=>l.enter(s),o);else{const{leave:r,delayLeave:o,afterLeave:c}=l,d=()=>{e.ctx.isUnmounted?a(s):t(s,i,n)},u=()=>{s._isLeaving&&s[Qt](!0),r(s,()=>{d(),c&&c()})};o?o(s,d,u):u()}else t(s,i,n);else(({el:e,anchor:i},n,r)=>{let a;for(;e&&e!==i;)a=g(e),t(e,n,r),e=a;t(i,n,r)})(e,i,n);else{t(s,i,n);for(let e=0;e<d.length;e++)H(d[e],i,n,r);t(e.anchor,i,n)}},G=(e,t,i,n=!1,r=!1)=>{const{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:d,patchFlag:u,dirs:h,cacheIndex:p}=e;if(-2===u&&(r=!1),null!=s&&(me(),hi(s,null,i,e,!0),ve()),null!=p&&(t.renderCache[p]=void 0),256&d)return void t.ctx.deactivate(e);const g=1&d&&h,m=!pi(e);let v;if(m&&(v=o&&o.onVnodeBeforeUnmount)&&hr(v,t,e),6&d)J(e.component,i,n);else{if(128&d)return void e.suspense.unmount(i,n);g&&$t(e,null,t,"beforeUnmount"),64&d?e.type.remove(e,t,i,te,n):l&&!l.hasOnce&&(a!==Vn||u>0&&64&u)?K(l,t,i,!1,!0):(a===Vn&&384&u||!r&&16&d)&&K(c,t,i),n&&W(e)}(m&&(v=o&&o.onVnodeUnmounted)||g)&&wn(()=>{v&&hr(v,t,e),g&&$t(e,null,t,"unmounted")},i)},W=e=>{const{type:t,el:i,anchor:n,transition:r}=e;if(t===Vn)return void $(i,n);if(t===Gn)return void(({el:e,anchor:t})=>{let i;for(;e&&e!==t;)i=g(e),a(e),e=i;a(t)})(e);const o=()=>{a(i),r&&!r.persisted&&r.afterLeave&&r.afterLeave()};if(1&e.shapeFlag&&r&&!r.persisted){const{leave:t,delayLeave:n}=r,a=()=>t(i,o);n?n(e.el,o,a):a()}else o()},$=(e,t)=>{let i;for(;e!==t;)i=g(e),a(e),e=i;a(t)},J=(e,t,i)=>{const{bum:n,scope:r,job:a,subTree:o,um:s,m:c,a:l}=e;En(c),En(l),n&&O(n),r.stop(),a&&(a.flags|=8,G(o,e,t,i)),s&&wn(s,t),wn(()=>{e.isUnmounted=!0},t)},K=(e,t,i,n=!1,r=!1,a=0)=>{for(let o=a;o<e.length;o++)G(e[o],t,i,n,r)},Q=e=>{if(6&e.shapeFlag)return Q(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=g(e.anchor||e.el),i=t&&t[Jt];return i?g(i):t};let Z=!1;const X=(e,t,i)=>{null==e?t._vnode&&G(t._vnode,null,null,!0):f(t._vnode||null,e,t,null,null,null,i),t._vnode=e,Z||(Z=!0,Ft(),Ut(),Z=!1)},te={p:f,um:G,m:H,r:W,mt:N,mc:E,pc:B,pbc:I,n:Q,o:e};return{render:X,hydrate:undefined,createApp:tn(X)}}(e)}function xn({type:e,props:t},i){return"svg"===i&&"foreignObject"===e||"mathml"===i&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:i}function Cn({effect:e,job:t},i){i?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Sn(e,t,i=!1){const n=e.children,r=t.children;if(h(n)&&h(r))for(let a=0;a<n.length;a++){const e=n[a];let t=r[a];1&t.shapeFlag&&!t.dynamicChildren&&((t.patchFlag<=0||32===t.patchFlag)&&(t=r[a]=dr(r[a]),t.el=e.el),i||-2===t.patchFlag||Sn(e,t)),t.type===qn&&-1!==t.patchFlag&&(t.el=e.el),t.type!==Hn||t.el||(t.el=e.el)}}function Tn(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Tn(t)}function En(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}const Pn=Symbol.for("v-scx"),Mn=()=>an(Pn);function _n(e,t,i){return In(e,t,i)}function In(e,t,n=i){const{immediate:a,deep:o,flush:s,once:d}=n,u=c({},n),p=t&&a||!t&&"post"!==s;let g;if(xr)if("sync"===s){const e=Mn();g=e.__watcherHandles||(e.__watcherHandles=[])}else if(!p){const e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}const v=mr;u.call=(e,t,i)=>Et(e,v,t,i);let f=!1;"post"===s?u.scheduler=e=>{wn(e,v&&v.suspense)}:"sync"!==s&&(f=!0,u.scheduler=(e,t)=>{t?e():Nt(e)}),u.augmentJob=e=>{t&&(e.flags|=4),f&&(e.flags|=2,v&&(e.id=v.uid,e.i=v))};const b=function(e,t,n=i){const{immediate:a,deep:o,once:s,scheduler:c,augmentJob:d,call:u}=n,p=e=>o?e:ct(e)||!1===o||0===o?St(e,1):St(e);let g,v,f,b,k=!1,w=!1;if(pt(e)?(v=()=>e.value,k=ct(e)):ot(e)?(v=()=>p(e),k=!0):h(e)?(w=!0,k=e.some(e=>ot(e)||ct(e)),v=()=>e.map(e=>pt(e)?e.value:ot(e)?p(e):m(e)?u?u(e,2):e():void 0)):v=m(e)?t?u?()=>u(e,2):e:()=>{if(f){me();try{f()}finally{ve()}}const t=Ct;Ct=g;try{return u?u(e,3,[b]):e(b)}finally{Ct=t}}:r,t&&o){const e=v,t=!0===o?1/0:o;v=()=>St(e(),t)}const y=Q,x=()=>{g.stop(),y&&y.active&&l(y.effects,g)};if(s&&t){const e=t;t=(...t)=>{e(...t),x()}}let C=w?new Array(e.length).fill(yt):yt;const S=e=>{if(1&g.flags&&(g.dirty||e))if(t){const e=g.run();if(o||k||(w?e.some((e,t)=>A(e,C[t])):A(e,C))){f&&f();const i=Ct;Ct=g;try{const i=[e,C===yt?void 0:w&&C[0]===yt?[]:C,b];C=e,u?u(t,3,i):t(...i)}finally{Ct=i}}}else g.run()};return d&&d(S),g=new ee(v),g.scheduler=c?()=>c(S,!1):S,b=e=>function(e,t=!1,i=Ct){if(i){let t=xt.get(i);t||xt.set(i,t=[]),t.push(e)}}(e,!1,g),f=g.onStop=()=>{const e=xt.get(g);if(e){if(u)u(e,4);else for(const t of e)t();xt.delete(g)}},t?a?S(!0):C=g.run():c?c(S.bind(null,!0),!0):g.run(),x.pause=g.pause.bind(g),x.resume=g.resume.bind(g),x.stop=x,x}(e,t,u);return xr&&(g?g.push(b):p&&b()),b}function Rn(e,t,i){const n=this.proxy,r=v(e)?e.includes(".")?An(n,e):()=>n[e]:e.bind(n,n);let a;m(t)?a=t:(a=t.handler,i=t);const o=kr(this),s=In(r,a.bind(n),i);return o(),s}function An(e,t){const i=t.split(".");return()=>{let t=e;for(let e=0;e<i.length&&t;e++)t=t[i[e]];return t}}const On=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${P(t)}Modifiers`]||e[`${_(t)}Modifiers`];function Dn(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||i;let a=n;const o=t.startsWith("update:"),s=o&&On(r,t.slice(7));let c;s&&(s.trim&&(a=n.map(e=>v(e)?e.trim():e)),s.number&&(a=n.map(L)));let l=r[c=R(t)]||r[c=R(P(t))];!l&&o&&(l=r[c=R(_(t))]),l&&Et(l,e,6,a);const d=r[c+"Once"];if(d){if(e.emitted){if(e.emitted[c])return}else e.emitted={};e.emitted[c]=!0,Et(d,e,6,a)}}function Ln(e,t,i=!1){const n=t.emitsCache,r=n.get(e);if(void 0!==r)return r;const a=e.emits;let o={},s=!1;if(!m(e)){const n=e=>{const i=Ln(e,t,!0);i&&(s=!0,c(o,i))};!i&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}return a||s?(h(a)?a.forEach(e=>o[e]=null):c(o,a),b(e)&&n.set(e,o),o):(b(e)&&n.set(e,null),null)}function Nn(e,t){return!(!e||!o(t))&&(t=t.slice(2).replace(/Once$/,""),u(e,t[0].toLowerCase()+t.slice(1))||u(e,_(t))||u(e,t))}function jn(e){const{type:t,vnode:i,proxy:n,withProxy:r,propsOptions:[a],slots:o,attrs:c,emit:l,render:d,renderCache:u,props:h,data:p,setupState:g,ctx:m,inheritAttrs:v}=e,f=Ht(e);let b,k;try{if(4&i.shapeFlag){const e=r||n,t=e;b=lr(d.call(t,e,u,h,g,p,m)),k=c}else{const e=t;b=lr(e.length>1?e(h,{attrs:c,slots:o,emit:l}):e(h,null)),k=t.props?c:Fn(c)}}catch(y){Wn.length=0,Pt(y,e,1),b=ar(Hn)}let w=b;if(k&&!1!==v){const e=Object.keys(k),{shapeFlag:t}=w;e.length&&7&t&&(a&&e.some(s)&&(k=Un(k,a)),w=or(w,k,!1,!0))}return i.dirs&&(w=or(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(i.dirs):i.dirs),i.transition&&ci(w,i.transition),b=w,Ht(f),b}const Fn=e=>{let t;for(const i in e)("class"===i||"style"===i||o(i))&&((t||(t={}))[i]=e[i]);return t},Un=(e,t)=>{const i={};for(const n in e)s(n)&&n.slice(9)in t||(i[n]=e[n]);return i};function zn(e,t,i){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;r<n.length;r++){const a=n[r];if(t[a]!==e[a]&&!Nn(i,a))return!0}return!1}const Bn=e=>e.__isSuspense,Vn=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),Hn=Symbol.for("v-cmt"),Gn=Symbol.for("v-stc"),Wn=[];let $n=null;function Jn(e=!1){Wn.push($n=e?null:[])}let Kn=1;function Qn(e,t=!1){Kn+=e,e<0&&$n&&t&&($n.hasOnce=!0)}function Zn(e){return e.dynamicChildren=Kn>0?$n||n:null,Wn.pop(),$n=Wn[Wn.length-1]||null,Kn>0&&$n&&$n.push(e),e}function Yn(e,t,i,n,r,a){return Zn(rr(e,t,i,n,r,a,!0))}function Xn(e,t,i,n,r){return Zn(ar(e,t,i,n,r,!0))}function er(e){return!!e&&!0===e.__v_isVNode}function tr(e,t){return e.type===t.type&&e.key===t.key}const ir=({key:e})=>null!=e?e:null,nr=({ref:e,ref_key:t,ref_for:i})=>("number"==typeof e&&(e=""+e),null!=e?v(e)||pt(e)||m(e)?{i:Vt,r:e,k:t,f:!!i}:e:null);function rr(e,t=null,i=null,n=0,r=null,a=(e===Vn?0:1),o=!1,s=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ir(t),ref:t&&nr(t),scopeId:qt,slotScopeIds:null,children:i,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:a,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Vt};return s?(ur(c,i),128&a&&e.normalize(c)):i&&(c.shapeFlag|=v(i)?8:16),Kn>0&&!o&&$n&&(c.patchFlag>0||6&a)&&32!==c.patchFlag&&$n.push(c),c}const ar=function(e,t=null,i=null,n=0,r=null,a=!1){if(e&&e!==Ri||(e=Hn),er(e)){const n=or(e,t,!0);return i&&ur(n,i),Kn>0&&!a&&$n&&(6&n.shapeFlag?$n[$n.indexOf(e)]=n:$n.push(n)),n.patchFlag=-2,n}var o;if(m(o=e)&&"__vccOpts"in o&&(e=e.__vccOpts),t){t=function(e){return e?lt(e)||cn(e)?c({},e):e:null}(t);let{class:e,style:i}=t;e&&!v(e)&&(t.class=q(e)),b(i)&&(lt(i)&&!h(i)&&(i=c({},i)),t.style=F(i))}return rr(e,t,i,n,r,v(e)?1:Bn(e)?128:Kt(e)?64:b(e)?4:m(e)?2:0,a,!0)};function or(e,t,i=!1,n=!1){const{props:r,ref:a,patchFlag:s,children:c,transition:l}=e,d=t?function(...e){const t={};for(let i=0;i<e.length;i++){const n=e[i];for(const e in n)if("class"===e)t.class!==n.class&&(t.class=q([t.class,n.class]));else if("style"===e)t.style=F([t.style,n.style]);else if(o(e)){const i=t[e],r=n[e];!r||i===r||h(i)&&i.includes(r)||(t[e]=i?[].concat(i,r):r)}else""!==e&&(t[e]=n[e])}return t}(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&ir(d),ref:t&&t.ref?i&&a?h(a)?a.concat(nr(t)):[a,nr(t)]:nr(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Vn?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&or(e.ssContent),ssFallback:e.ssFallback&&or(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ci(u,l.clone(u)),u}function sr(e=" ",t=0){return ar(qn,null,e,t)}function cr(e="",t=!1){return t?(Jn(),Xn(Hn,null,e)):ar(Hn,null,e)}function lr(e){return null==e||"boolean"==typeof e?ar(Hn):h(e)?ar(Vn,null,e.slice()):er(e)?dr(e):ar(qn,null,String(e))}function dr(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:or(e)}function ur(e,t){let i=0;const{shapeFlag:n}=e;if(null==t)t=null;else if(h(t))i=16;else if("object"==typeof t){if(65&n){const i=t.default;return void(i&&(i._c&&(i._d=!1),ur(e,i()),i._c&&(i._d=!0)))}{i=32;const n=t._;n||cn(t)?3===n&&Vt&&(1===Vt.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Vt}}else m(t)?(t={default:t,_ctx:Vt},i=32):(t=String(t),64&n?(i=16,t=[sr(t)]):i=8);e.children=t,e.shapeFlag|=i}function hr(e,t,i,n=null){Et(e,t,7,[i,n])}const pr=Xi();let gr=0,mr=null;const vr=()=>mr||Vt;let fr,br;{const e=j(),t=(t,i)=>{let n;return(n=e[t])||(n=e[t]=[]),n.push(i),e=>{n.length>1?n.forEach(t=>t(e)):n[0](e)}};fr=t("__VUE_INSTANCE_SETTERS__",e=>mr=e),br=t("__VUE_SSR_SETTERS__",e=>xr=e)}const kr=e=>{const t=mr;return fr(e),e.scope.on(),()=>{e.scope.off(),fr(t)}},wr=()=>{mr&&mr.scope.off(),fr(null)};function yr(e){return 4&e.vnode.shapeFlag}let xr=!1;function Cr(e,t,i){m(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:b(t)&&(e.setupState=kt(t)),Sr(e)}function Sr(e,t,i){const n=e.type;e.render||(e.render=n.render||r);{const t=kr(e);me();try{!function(e){const t=Gi(e),i=e.proxy,n=e.ctx;Vi=!1,t.beforeCreate&&qi(t.beforeCreate,e,"bc");const{data:a,computed:o,methods:s,watch:c,provide:l,inject:d,created:u,beforeMount:p,mounted:g,beforeUpdate:v,updated:f,activated:k,deactivated:w,beforeDestroy:y,beforeUnmount:x,destroyed:C,unmounted:S,render:T,renderTracked:E,renderTriggered:P,errorCaptured:M,serverPrefetch:_,expose:I,inheritAttrs:R,components:A,directives:O,filters:D}=t;if(d&&function(e,t){h(e)&&(e=Ki(e));for(const i in e){const n=e[i];let r;r=b(n)?"default"in n?an(n.from||i,n.default,!0):an(n.from||i):an(n),pt(r)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[i]=r}}(d,n),s)for(const r in s){const e=s[r];m(e)&&(n[r]=e.bind(i))}if(a){const t=a.call(i,i);b(t)&&(e.data=nt(t))}if(Vi=!0,o)for(const h in o){const e=o[h],t=m(e)?e.bind(i,i):m(e.get)?e.get.bind(i,i):r,a=!m(e)&&m(e.set)?e.set.bind(i):r,s=Pr({get:t,set:a});Object.defineProperty(n,h,{enumerable:!0,configurable:!0,get:()=>s.value,set:e=>s.value=e})}if(c)for(const r in c)Hi(c[r],n,i,r);if(l){const e=m(l)?l.call(i):l;Reflect.ownKeys(e).forEach(t=>{rn(t,e[t])})}function L(e,t){h(t)?t.forEach(t=>e(t.bind(i))):t&&e(t.bind(i))}if(u&&qi(u,e,"c"),L(yi,p),L(xi,g),L(Ci,v),L(Si,f),L(mi,k),L(vi,w),L(Ii,M),L(_i,E),L(Mi,P),L(Ti,x),L(Ei,S),L(Pi,_),h(I))if(I.length){const t=e.exposed||(e.exposed={});I.forEach(e=>{Object.defineProperty(t,e,{get:()=>i[e],set:t=>i[e]=t,enumerable:!0})})}else e.exposed||(e.exposed={});T&&e.render===r&&(e.render=T),null!=R&&(e.inheritAttrs=R),A&&(e.components=A),O&&(e.directives=O),_&&ui(e)}(e)}finally{ve(),t()}}}const Tr={get:(e,t)=>(Ee(e,0,""),e[t])};function Er(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(kt((t=e.exposed,!u(t,"__v_skip")&&Object.isExtensible(t)&&D(t,"__v_skip",!0),t)),{get:(t,i)=>i in t?t[i]:i in Fi?Fi[i](e):void 0,has:(e,t)=>t in e||t in Fi})):e.proxy;var t}const Pr=(e,t)=>{const i=function(e,t,i=!1){let n,r;return m(e)?n=e:(n=e.get,r=e.set),new wt(n,r,i)}(e,0,xr);return i},Mr="3.5.19";let _r;const Ir="undefined"!=typeof window&&window.trustedTypes;if(Ir)try{_r=Ir.createPolicy("vue",{createHTML:e=>e})}catch(Gb){}const Rr=_r?e=>_r.createHTML(e):e=>e,Ar="undefined"!=typeof document?document:null,Or=Ar&&Ar.createElement("template"),Dr={insert:(e,t,i)=>{t.insertBefore(e,i||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,i,n)=>{const r="svg"===t?Ar.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?Ar.createElementNS("http://www.w3.org/1998/Math/MathML",e):i?Ar.createElement(e,{is:i}):Ar.createElement(e);return"select"===e&&n&&null!=n.multiple&&r.setAttribute("multiple",n.multiple),r},createText:e=>Ar.createTextNode(e),createComment:e=>Ar.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ar.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,i,n,r,a){const o=i?i.previousSibling:t.lastChild;if(r&&(r===a||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),i),r!==a&&(r=r.nextSibling););else{Or.innerHTML=Rr("svg"===n?`<svg>${e}</svg>`:"mathml"===n?`<math>${e}</math>`:e);const r=Or.content;if("svg"===n||"mathml"===n){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,i)}return[o?o.nextSibling:t.firstChild,i?i.previousSibling:t.lastChild]}},Lr="transition",Nr="animation",jr=Symbol("_vtc"),Fr={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},Ur=c({},ei,Fr),zr=(e=>(e.displayName="Transition",e.props=Ur,e))((e,{slots:t})=>function(e,t,i){const n=arguments.length;return 2===n?b(t)&&!h(t)?er(t)?ar(e,null,[t]):ar(e,t):ar(e,null,t):(n>3?i=Array.prototype.slice.call(arguments,2):3===n&&er(i)&&(i=[i]),ar(e,t,i))}(ni,qr(e),t)),Br=(e,t=[])=>{h(e)?e.forEach(e=>e(...t)):e&&e(...t)},Vr=e=>!!e&&(h(e)?e.some(e=>e.length>1):e.length>1);function qr(e){const t={};for(const c in e)c in Fr||(t[c]=e[c]);if(!1===e.css)return t;const{name:i="v",type:n,duration:r,enterFromClass:a=`${i}-enter-from`,enterActiveClass:o=`${i}-enter-active`,enterToClass:s=`${i}-enter-to`,appearFromClass:l=a,appearActiveClass:d=o,appearToClass:u=s,leaveFromClass:h=`${i}-leave-from`,leaveActiveClass:p=`${i}-leave-active`,leaveToClass:g=`${i}-leave-to`}=e,m=function(e){if(null==e)return null;if(b(e))return[Hr(e.enter),Hr(e.leave)];{const t=Hr(e);return[t,t]}}(r),v=m&&m[0],f=m&&m[1],{onBeforeEnter:k,onEnter:w,onEnterCancelled:y,onLeave:x,onLeaveCancelled:C,onBeforeAppear:S=k,onAppear:T=w,onAppearCancelled:E=y}=t,P=(e,t,i,n)=>{e._enterCancelled=n,Wr(e,t?u:s),Wr(e,t?d:o),i&&i()},M=(e,t)=>{e._isLeaving=!1,Wr(e,h),Wr(e,g),Wr(e,p),t&&t()},_=e=>(t,i)=>{const r=e?T:w,o=()=>P(t,e,i);Br(r,[t,o]),$r(()=>{Wr(t,e?l:a),Gr(t,e?u:s),Vr(r)||Kr(t,n,v,o)})};return c(t,{onBeforeEnter(e){Br(k,[e]),Gr(e,a),Gr(e,o)},onBeforeAppear(e){Br(S,[e]),Gr(e,l),Gr(e,d)},onEnter:_(!1),onAppear:_(!0),onLeave(e,t){e._isLeaving=!0;const i=()=>M(e,t);Gr(e,h),e._enterCancelled?(Gr(e,p),Xr()):(Xr(),Gr(e,p)),$r(()=>{e._isLeaving&&(Wr(e,h),Gr(e,g),Vr(x)||Kr(e,n,f,i))}),Br(x,[e,i])},onEnterCancelled(e){P(e,!1,void 0,!0),Br(y,[e])},onAppearCancelled(e){P(e,!0,void 0,!0),Br(E,[e])},onLeaveCancelled(e){M(e),Br(C,[e])}})}function Hr(e){const t=(e=>{const t=v(e)?Number(e):NaN;return isNaN(t)?e:t})(e);return t}function Gr(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[jr]||(e[jr]=new Set)).add(t)}function Wr(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const i=e[jr];i&&(i.delete(t),i.size||(e[jr]=void 0))}function $r(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Jr=0;function Kr(e,t,i,n){const r=e._endId=++Jr,a=()=>{r===e._endId&&n()};if(null!=i)return setTimeout(a,i);const{type:o,timeout:s,propCount:c}=Qr(e,t);if(!o)return n();const l=o+"end";let d=0;const u=()=>{e.removeEventListener(l,h),a()},h=t=>{t.target===e&&++d>=c&&u()};setTimeout(()=>{d<c&&u()},s+1),e.addEventListener(l,h)}function Qr(e,t){const i=window.getComputedStyle(e),n=e=>(i[e]||"").split(", "),r=n(`${Lr}Delay`),a=n(`${Lr}Duration`),o=Zr(r,a),s=n(`${Nr}Delay`),c=n(`${Nr}Duration`),l=Zr(s,c);let d=null,u=0,h=0;return t===Lr?o>0&&(d=Lr,u=o,h=a.length):t===Nr?l>0&&(d=Nr,u=l,h=c.length):(u=Math.max(o,l),d=u>0?o>l?Lr:Nr:null,h=d?d===Lr?a.length:c.length:0),{type:d,timeout:u,propCount:h,hasTransform:d===Lr&&/\b(transform|all)(,|$)/.test(n(`${Lr}Property`).toString())}}function Zr(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,i)=>Yr(t)+Yr(e[i])))}function Yr(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Xr(){return document.body.offsetHeight}const ea=Symbol("_vod"),ta=Symbol("_vsh"),ia=Symbol(""),na=/(^|;)\s*display\s*:/,ra=/\s*!important$/;function aa(e,t,i){if(h(i))i.forEach(i=>aa(e,t,i));else if(null==i&&(i=""),t.startsWith("--"))e.setProperty(t,i);else{const n=function(e,t){const i=sa[t];if(i)return i;let n=P(t);if("filter"!==n&&n in e)return sa[t]=n;n=I(n);for(let r=0;r<oa.length;r++){const i=oa[r]+n;if(i in e)return sa[t]=i}return t}(e,t);ra.test(i)?e.setProperty(_(n),i.replace(ra,""),"important"):e[n]=i}}const oa=["Webkit","Moz","ms"],sa={},ca="http://www.w3.org/1999/xlink";function la(e,t,i,n,r,a=H(t)){n&&t.startsWith("xlink:")?null==i?e.removeAttributeNS(ca,t.slice(6,t.length)):e.setAttributeNS(ca,t,i):null==i||a&&!G(i)?e.removeAttribute(t):e.setAttribute(t,a?"":f(i)?String(i):i)}function da(e,t,i,n,r){if("innerHTML"===t||"textContent"===t)return void(null!=i&&(e[t]="innerHTML"===t?Rr(i):i));const a=e.tagName;if("value"===t&&"PROGRESS"!==a&&!a.includes("-")){const n="OPTION"===a?e.getAttribute("value")||"":e.value,r=null==i?"checkbox"===e.type?"on":"":String(i);return n===r&&"_value"in e||(e.value=r),null==i&&e.removeAttribute(t),void(e._value=i)}let o=!1;if(""===i||null==i){const n=typeof e[t];"boolean"===n?i=G(i):null==i&&"string"===n?(i="",o=!0):"number"===n&&(i=0,o=!0)}try{e[t]=i}catch(Gb){}o&&e.removeAttribute(r||t)}function ua(e,t,i,n){e.addEventListener(t,i,n)}const ha=Symbol("_vei");const pa=/(?:Once|Passive|Capture)$/;let ga=0;const ma=Promise.resolve(),va=()=>ga||(ma.then(()=>ga=0),ga=Date.now()),fa=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ba=new WeakMap,ka=new WeakMap,wa=Symbol("_moveCb"),ya=Symbol("_enterCb"),xa=(e=>(delete e.props.mode,e))({name:"TransitionGroup",props:c({},Ur,{tag:String,moveClass:String}),setup(e,{slots:t}){const i=vr(),n=Yt();let r,a;return Si(()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,i){const n=e.cloneNode(),r=e[jr];r&&r.forEach(e=>{e.split(/\s+/).forEach(e=>e&&n.classList.remove(e))}),i.split(/\s+/).forEach(e=>e&&n.classList.add(e)),n.style.display="none";const a=1===t.nodeType?t:t.parentNode;a.appendChild(n);const{hasTransform:o}=Qr(n);return a.removeChild(n),o}(r[0].el,i.vnode.el,t))return void(r=[]);r.forEach(Sa),r.forEach(Ta);const n=r.filter(Ea);Xr(),n.forEach(e=>{const i=e.el,n=i.style;Gr(i,t),n.transform=n.webkitTransform=n.transitionDuration="";const r=i[wa]=e=>{e&&e.target!==i||e&&!/transform$/.test(e.propertyName)||(i.removeEventListener("transitionend",r),i[wa]=null,Wr(i,t))};i.addEventListener("transitionend",r)}),r=[]}),()=>{const o=dt(e),s=qr(o);let c=o.tag||Vn;if(r=[],a)for(let e=0;e<a.length;e++){const t=a[e];t.el&&t.el instanceof Element&&(r.push(t),ci(t,ai(t,s,n,i)),ba.set(t,t.el.getBoundingClientRect()))}a=t.default?li(t.default()):[];for(let e=0;e<a.length;e++){const t=a[e];null!=t.key&&ci(t,ai(t,s,n,i))}return ar(c,null,a)}}}),Ca=xa;function Sa(e){const t=e.el;t[wa]&&t[wa](),t[ya]&&t[ya]()}function Ta(e){ka.set(e,e.el.getBoundingClientRect())}function Ea(e){const t=ba.get(e),i=ka.get(e),n=t.left-i.left,r=t.top-i.top;if(n||r){const t=e.el.style;return t.transform=t.webkitTransform=`translate(${n}px,${r}px)`,t.transitionDuration="0s",e}}const Pa=e=>{const t=e.props["onUpdate:modelValue"]||!1;return h(t)?e=>O(t,e):t};function Ma(e){e.target.composing=!0}function _a(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ia=Symbol("_assign"),Ra={created(e,{modifiers:{lazy:t,trim:i,number:n}},r){e[Ia]=Pa(r);const a=n||r.props&&"number"===r.props.type;ua(e,t?"change":"input",t=>{if(t.target.composing)return;let n=e.value;i&&(n=n.trim()),a&&(n=L(n)),e[Ia](n)}),i&&ua(e,"change",()=>{e.value=e.value.trim()}),t||(ua(e,"compositionstart",Ma),ua(e,"compositionend",_a),ua(e,"change",_a))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:i,modifiers:{lazy:n,trim:r,number:a}},o){if(e[Ia]=Pa(o),e.composing)return;const s=null==t?"":t;if((!a&&"number"!==e.type||/^0\d/.test(e.value)?e.value:L(e.value))!==s){if(document.activeElement===e&&"range"!==e.type){if(n&&t===i)return;if(r&&e.value.trim()===s)return}e.value=s}}},Aa=["ctrl","shift","alt","meta"],Oa={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)=>Aa.some(i=>e[`${i}Key`]&&!t.includes(i))},Da=(e,t)=>{const i=e._withMods||(e._withMods={}),n=t.join(".");return i[n]||(i[n]=(i,...n)=>{for(let e=0;e<t.length;e++){const n=Oa[t[e]];if(n&&n(i,t))return}return e(i,...n)})},La={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Na=(e,t)=>{const i=e._withKeys||(e._withKeys={}),n=t.join(".");return i[n]||(i[n]=i=>{if(!("key"in i))return;const n=_(i.key);return t.some(e=>e===n||La[e]===n)?e(i):void 0})},ja=c({patchProp:(e,t,i,n,r,a)=>{const c="svg"===r;"class"===t?function(e,t,i){const n=e[jr];n&&(t=(t?[t,...n]:[...n]).join(" ")),null==t?e.removeAttribute("class"):i?e.setAttribute("class",t):e.className=t}(e,n,c):"style"===t?function(e,t,i){const n=e.style,r=v(i);let a=!1;if(i&&!r){if(t)if(v(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==i[t]&&aa(n,t,"")}else for(const e in t)null==i[e]&&aa(n,e,"");for(const e in i)"display"===e&&(a=!0),aa(n,e,i[e])}else if(r){if(t!==i){const e=n[ia];e&&(i+=";"+e),n.cssText=i,a=na.test(i)}}else t&&e.removeAttribute("style");ea in e&&(e[ea]=a?n.display:"",e[ta]&&(n.display="none"))}(e,i,n):o(t)?s(t)||function(e,t,i,n,r=null){const a=e[ha]||(e[ha]={}),o=a[t];if(n&&o)o.value=n;else{const[i,s]=function(e){let t;if(pa.test(e)){let i;for(t={};i=e.match(pa);)e=e.slice(0,e.length-i[0].length),t[i[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):_(e.slice(2)),t]}(t);if(n){const o=a[t]=function(e,t){const i=e=>{if(e._vts){if(e._vts<=i.attached)return}else e._vts=Date.now();Et(function(e,t){if(h(t)){const i=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{i.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,i.value),t,5,[e])};return i.value=e,i.attached=va(),i}(n,r);ua(e,i,o,s)}else o&&(function(e,t,i,n){e.removeEventListener(t,i,n)}(e,i,o,s),a[t]=void 0)}}(e,t,0,n,a):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,i,n){if(n)return"innerHTML"===t||"textContent"===t||!!(t in e&&fa(t)&&m(i));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(!fa(t)||!v(i))&&t in e}(e,t,n,c))?(da(e,t,n),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||la(e,t,n,c,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&v(n)?("true-value"===t?e._trueValue=n:"false-value"===t&&(e._falseValue=n),la(e,t,n,c)):da(e,P(t),n,0,t)}},Dr);let Fa;const Ua="undefined"!=typeof window,za="undefined"!=typeof process&&!Ua,Ba=Ua?"undefined"!=typeof window&&window.location&&!window.location.hostname.includes("localhost"):za&&"undefined"!=typeof process&&!0,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"],Ga=class e{constructor(e={},t){__publicField(this,"settings"),__publicField(this,"enabledInBrowser",!1),__publicField(this,"context"),this.context=t,this.settings={enabled:e.enabled??!0,minLevel:e.minLevel??this.getDefaultLevel(),timestamps:e.timestamps??!0},Ua&&this.initBrowserLogging()}getDefaultLevel(){if(za&&"undefined"!=typeof process&&process.env?.LOG_LEVEL)return process.env.LOG_LEVEL;if(Ua&&"undefined"!=typeof localStorage){const e=localStorage.getItem("FICTION_LOG_LEVEL");if(e)return e}return Ba?"info":"debug"}initBrowserLogging(){if(!Ua)return;const t="true"===localStorage.getItem("FICTION_LOG"),i=window.location?.hostname||"";this.enabledInBrowser=Va||t||"localhost"===i||i.includes("127.0.0.1"),!Ba||t||e.hasShownHelp||(e.hasShownHelp=!0)}shouldLog(e){return!!this.settings.enabled&&(!(Ua&&!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[i,n]of Object.entries(e)){const e=i.toLowerCase();Ha.some(t=>e.includes(t))?t[i]="[REDACTED]":t[i]="object"==typeof n&&null!==n?this.redactSensitive(n):n}return t}formatData(e,t=3,i=0){if(i>=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,i+1)).join(", ")}, ...]`:e.map(e=>this.formatData(e,t,i+1));try{const n={},r=Object.entries(e),a=Ba?50:200;for(const[e,o]of r.slice(0,a))n[e]=this.formatData(o,t,i+1);return r.length>a&&(n["..."]=r.length-a+" more properties"),this.redactSensitive(n)}catch{return"[Unserializable]"}}logToBrowser(e){if(!Ua||!this.shouldLog(e.level))return;const{level:t,description:i,context:n,data:r,error:a}=e,o=qa[t];n||this.context,t.toUpperCase(),o.color,a&&Error}async logToNode(e){if(!za||!this.shouldLog(e.level))return;const{level:t,description:i,context:n,data:r,error:a}=e,o=n||this.context||"www";if(Ba){const e={timestamp:this.formatISOTimestamp(),level:t.toUpperCase()};r&&(e.data=this.formatData(r)),a&&(e.error=this.formatData(a))}else try{const e=await Promise.resolve().then(()=>Hb).catch(()=>null),i=e?.default,n=qa[t],r=this.formatTimestamp();if(i){i.reset;const e=i.dim,s=i.hex(n.color);e(`${r} `),s(`${t.toUpperCase()} `);s(`(${o}): `),a&&a instanceof Error&&i&&a.stack}}catch{}}log(e){Ua?this.logToBrowser(e):za&&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!Ua||this.enabledInBrowser}setLevel(e){this.settings.minLevel=e}createContextLogger(t){const i=new e(this.settings,t);return{error:(e,t)=>i.error(e,t),warn:(e,t)=>i.warn(e,t),info:(e,t)=>i.info(e,t),debug:(e,t)=>i.debug(e,t),trace:(e,t)=>i.trace(e,t),isEnabled:()=>i.isEnabled(),setLevel:e=>i.setLevel(e)}}};__publicField(Ga,"hasShownHelp",!1);let Wa=Ga;const $a=new Wa;$a.error.bind($a),$a.warn.bind($a),$a.info.bind($a),$a.debug.bind($a),$a.trace.bind($a);class Ja{constructor(e,t){var i;__publicField(this,"name"),__publicField(this,"settings"),__publicField(this,"logger"),this.name=e,this.settings=t,this.logger=new Wa({},i=e).createContextLogger(i)}}class Ka extends Ja{constructor(e,t){super(e,t),__publicField(this,"env"),this.env=t.env}}class Qa extends Ja{constructor(e){super("EnvClient",{}),__publicField(this,"vars"),__publicField(this,"services",new Map),this.vars=e}get(e){return this.vars[e]}getAll(){return this.vars}getPublicEnv(){return Object.fromEntries(Object.entries(this.vars).filter(([e])=>e.startsWith("PUBLIC_")).map(([e,t])=>[e,String(t||"")]))}isDev(){return"development"===this.vars.NODE_ENV}isProd(){return"production"===this.vars.NODE_ENV}isTest(){return"test"===this.vars.NODE_ENV}registerService(e,t){this.services.set(e,t)}getService(e){return this.services.get(e)}}const Za=e=>{const t=to(e),{conflictingClassGroups:i,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{const i=e.split("-");return""===i[0]&&1!==i.length&&i.shift(),Ya(i,t)||eo(e)},getConflictingClassGroupIds:(e,t)=>{const r=i[e]||[];return t&&n[e]?[...r,...n[e]]:r}}},Ya=(e,t)=>{if(0===e.length)return t.classGroupId;const i=e[0],n=t.nextPart.get(i),r=n?Ya(e.slice(1),n):void 0;if(r)return r;if(0===t.validators.length)return;const a=e.join("-");return t.validators.find(({validator:e})=>e(a))?.classGroupId},Xa=/^\[(.+)\]$/,eo=e=>{if(Xa.test(e)){const t=Xa.exec(e)[1],i=t?.substring(0,t.indexOf(":"));if(i)return"arbitrary.."+i}},to=e=>{const{theme:t,classGroups:i}=e,n={nextPart:new Map,validators:[]};for(const r in i)io(i[r],n,r,t);return n},io=(e,t,i,n)=>{e.forEach(e=>{if("string"!=typeof e)return"function"==typeof e?ro(e)?void io(e(n),t,i,n):void t.validators.push({validator:e,classGroupId:i}):void Object.entries(e).forEach(([e,r])=>{io(r,no(t,e),i,n)});(""===e?t:no(t,e)).classGroupId=i})},no=(e,t)=>{let i=e;return t.split("-").forEach(e=>{i.nextPart.has(e)||i.nextPart.set(e,{nextPart:new Map,validators:[]}),i=i.nextPart.get(e)}),i},ro=e=>e.isThemeGetter,ao=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,i=new Map,n=new Map;const r=(r,a)=>{i.set(r,a),t++,t>e&&(t=0,n=i,i=new Map)};return{get(e){let t=i.get(e);return void 0!==t?t:void 0!==(t=n.get(e))?(r(e,t),t):void 0},set(e,t){i.has(e)?i.set(e,t):r(e,t)}}},oo=e=>{const{prefix:t,experimentalParseClassName:i}=e;let n=e=>{const t=[];let i,n=0,r=0,a=0;for(let c=0;c<e.length;c++){let o=e[c];if(0===n&&0===r){if(":"===o){t.push(e.slice(a,c)),a=c+1;continue}if("/"===o){i=c;continue}}"["===o?n++:"]"===o?n--:"("===o?r++:")"===o&&r--}const o=0===t.length?e:e.substring(a),s=so(o);return{modifiers:t,hasImportantModifier:s!==o,baseClassName:s,maybePostfixModifierPosition:i&&i>a?i-a:void 0}};if(t){const e=t+":",i=n;n=t=>t.startsWith(e)?i(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(i){const e=n;n=t=>i({className:t,parseClassName:e})}return n},so=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,co=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;const i=[];let n=[];return e.forEach(e=>{"["===e[0]||t[e]?(i.push(...n.sort(),e),n=[]):n.push(e)}),i.push(...n.sort()),i}},lo=/\s+/;function uo(){let e,t,i=0,n="";for(;i<arguments.length;)(e=arguments[i++])&&(t=ho(e))&&(n&&(n+=" "),n+=t);return n}const ho=e=>{if("string"==typeof e)return e;let t,i="";for(let n=0;n<e.length;n++)e[n]&&(t=ho(e[n]))&&(i&&(i+=" "),i+=t);return i};function po(e,...t){let i,n,r,a=function(s){const c=t.reduce((e,t)=>t(e),e());return i=(e=>({cache:ao(e.cacheSize),parseClassName:oo(e),sortModifiers:co(e),...Za(e)}))(c),n=i.cache.get,r=i.cache.set,a=o,o(s)};function o(e){const t=n(e);if(t)return t;const a=((e,t)=>{const{parseClassName:i,getClassGroupId:n,getConflictingClassGroupIds:r,sortModifiers:a}=t,o=[],s=e.trim().split(lo);let c="";for(let l=s.length-1;l>=0;l-=1){const e=s[l],{isExternal:t,modifiers:d,hasImportantModifier:u,baseClassName:h,maybePostfixModifierPosition:p}=i(e);if(t){c=e+(c.length>0?" "+c:c);continue}let g=!!p,m=n(g?h.substring(0,p):h);if(!m){if(!g){c=e+(c.length>0?" "+c:c);continue}if(m=n(h),!m){c=e+(c.length>0?" "+c:c);continue}g=!1}const v=a(d).join(":"),f=u?v+"!":v,b=f+m;if(o.includes(b))continue;o.push(b);const k=r(m,g);for(let i=0;i<k.length;++i){const e=k[i];o.push(f+e)}c=e+(c.length>0?" "+c:c)}return c})(e,i);return r(e,a),a}return function(){return a(uo.apply(null,arguments))}}const go=e=>{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},mo=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,vo=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fo=/^\d+\/\d+$/,bo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ko=/\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$/,wo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,yo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Co=e=>fo.test(e),So=e=>!!e&&!Number.isNaN(Number(e)),To=e=>!!e&&Number.isInteger(Number(e)),Eo=e=>e.endsWith("%")&&So(e.slice(0,-1)),Po=e=>bo.test(e),Mo=()=>!0,_o=e=>ko.test(e)&&!wo.test(e),Io=()=>!1,Ro=e=>yo.test(e),Ao=e=>xo.test(e),Oo=e=>!Lo(e)&&!Bo(e),Do=e=>Jo(e,Yo,Io),Lo=e=>mo.test(e),No=e=>Jo(e,Xo,_o),jo=e=>Jo(e,es,So),Fo=e=>Jo(e,Qo,Io),Uo=e=>Jo(e,Zo,Ao),zo=e=>Jo(e,is,Ro),Bo=e=>vo.test(e),Vo=e=>Ko(e,Xo),qo=e=>Ko(e,ts),Ho=e=>Ko(e,Qo),Go=e=>Ko(e,Yo),Wo=e=>Ko(e,Zo),$o=e=>Ko(e,is,!0),Jo=(e,t,i)=>{const n=mo.exec(e);return!!n&&(n[1]?t(n[1]):i(n[2]))},Ko=(e,t,i=!1)=>{const n=vo.exec(e);return!!n&&(n[1]?t(n[1]):i)},Qo=e=>"position"===e||"percentage"===e,Zo=e=>"image"===e||"url"===e,Yo=e=>"length"===e||"size"===e||"bg-size"===e,Xo=e=>"length"===e,es=e=>"number"===e,ts=e=>"family-name"===e,is=e=>"shadow"===e,ns=po(()=>{const e=go("color"),t=go("font"),i=go("text"),n=go("font-weight"),r=go("tracking"),a=go("leading"),o=go("breakpoint"),s=go("container"),c=go("spacing"),l=go("radius"),d=go("shadow"),u=go("inset-shadow"),h=go("text-shadow"),p=go("drop-shadow"),g=go("blur"),m=go("perspective"),v=go("aspect"),f=go("ease"),b=go("animate"),k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",Bo,Lo],w=()=>[Bo,Lo,c],y=()=>[Co,"full","auto",...w()],x=()=>[To,"none","subgrid",Bo,Lo],C=()=>["auto",{span:["full",To,Bo,Lo]},To,Bo,Lo],S=()=>[To,"auto",Bo,Lo],T=()=>["auto","min","max","fr",Bo,Lo],E=()=>["auto",...w()],P=()=>[Co,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...w()],M=()=>[e,Bo,Lo],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",Ho,Fo,{position:[Bo,Lo]}],I=()=>["auto","cover","contain",Go,Do,{size:[Bo,Lo]}],R=()=>[Eo,Vo,No],A=()=>["","none","full",l,Bo,Lo],O=()=>["",So,Vo,No],D=()=>[So,Eo,Ho,Fo],L=()=>["","none",g,Bo,Lo],N=()=>["none",So,Bo,Lo],j=()=>["none",So,Bo,Lo],F=()=>[So,Bo,Lo],U=()=>[Co,"full",...w()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Po],breakpoint:[Po],color:[Mo],container:[Po],"drop-shadow":[Po],ease:["in","out","in-out"],font:[Oo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Po],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Po],shadow:[Po],spacing:["px",So],text:[Po],"text-shadow":[Po],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Co,Lo,Bo,v]}],container:["container"],columns:[{columns:[So,Lo,Bo,s]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"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:k()}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:y()}],"inset-x":[{"inset-x":y()}],"inset-y":[{"inset-y":y()}],start:[{start:y()}],end:[{end:y()}],top:[{top:y()}],right:[{right:y()}],bottom:[{bottom:y()}],left:[{left:y()}],visibility:["visible","invisible","collapse"],z:[{z:[To,"auto",Bo,Lo]}],basis:[{basis:[Co,"full","auto",s,...w()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[So,Co,"auto","initial","none",Lo]}],grow:[{grow:["",So,Bo,Lo]}],shrink:[{shrink:["",So,Bo,Lo]}],order:[{order:[To,"first","last","none",Bo,Lo]}],"grid-cols":[{"grid-cols":x()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":S()}],"col-end":[{"col-end":S()}],"grid-rows":[{"grid-rows":x()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":S()}],"row-end":[{"row-end":S()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":T()}],"auto-rows":[{"auto-rows":T()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe","normal"]}],"justify-items":[{"justify-items":["start","end","center","stretch","center-safe","end-safe","normal"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"align-items":[{items:["start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"align-self":[{self:["auto","start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"place-items":[{"place-items":["start","end","center","stretch","center-safe","end-safe","baseline"]}],"place-self":[{"place-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:E()}],mx:[{mx:E()}],my:[{my:E()}],ms:[{ms:E()}],me:[{me:E()}],mt:[{mt:E()}],mr:[{mr:E()}],mb:[{mb:E()}],ml:[{ml:E()}],"space-x":[{"space-x":w()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":w()}],"space-y-reverse":["space-y-reverse"],size:[{size:P()}],w:[{w:[s,"screen",...P()]}],"min-w":[{"min-w":[s,"screen","none",...P()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[o]},...P()]}],h:[{h:["screen","lh",...P()]}],"min-h":[{"min-h":["screen","lh","none",...P()]}],"max-h":[{"max-h":["screen","lh",...P()]}],"font-size":[{text:["base",i,Vo,No]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,Bo,jo]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Eo,Lo]}],"font-family":[{font:[qo,Lo,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:[r,Bo,Lo]}],"line-clamp":[{"line-clamp":[So,"none",Bo,jo]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":["none",Bo,Lo]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Bo,Lo]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","wavy"]}],"text-decoration-thickness":[{decoration:[So,"from-font","auto",Bo,No]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[So,"auto",Bo,Lo]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:w()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Bo,Lo]}],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",Bo,Lo]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:_()}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:I()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},To,Bo,Lo],radial:["",Bo,Lo],conic:[To,Bo,Lo]},Wo,Uo]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:R()}],"gradient-via-pos":[{via:R()}],"gradient-to-pos":[{to:R()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:A()}],"rounded-s":[{"rounded-s":A()}],"rounded-e":[{"rounded-e":A()}],"rounded-t":[{"rounded-t":A()}],"rounded-r":[{"rounded-r":A()}],"rounded-b":[{"rounded-b":A()}],"rounded-l":[{"rounded-l":A()}],"rounded-ss":[{"rounded-ss":A()}],"rounded-se":[{"rounded-se":A()}],"rounded-ee":[{"rounded-ee":A()}],"rounded-es":[{"rounded-es":A()}],"rounded-tl":[{"rounded-tl":A()}],"rounded-tr":[{"rounded-tr":A()}],"rounded-br":[{"rounded-br":A()}],"rounded-bl":[{"rounded-bl":A()}],"border-w":[{border:O()}],"border-w-x":[{"border-x":O()}],"border-w-y":[{"border-y":O()}],"border-w-s":[{"border-s":O()}],"border-w-e":[{"border-e":O()}],"border-w-t":[{"border-t":O()}],"border-w-r":[{"border-r":O()}],"border-w-b":[{"border-b":O()}],"border-w-l":[{"border-l":O()}],"divide-x":[{"divide-x":O()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":O()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:["solid","dashed","dotted","double","hidden","none"]}],"divide-style":[{divide:["solid","dashed","dotted","double","hidden","none"]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:["solid","dashed","dotted","double","none","hidden"]}],"outline-offset":[{"outline-offset":[So,Bo,Lo]}],"outline-w":[{outline:["",So,Vo,No]}],"outline-color":[{outline:M()}],shadow:[{shadow:["","none",d,$o,zo]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":["none",u,$o,zo]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:O()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[So,No]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":O()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":["none",h,$o,zo]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[So,Bo,Lo]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],"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":[So]}],"mask-image-linear-from-pos":[{"mask-linear-from":D()}],"mask-image-linear-to-pos":[{"mask-linear-to":D()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":D()}],"mask-image-t-to-pos":[{"mask-t-to":D()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":D()}],"mask-image-r-to-pos":[{"mask-r-to":D()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":D()}],"mask-image-b-to-pos":[{"mask-b-to":D()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":D()}],"mask-image-l-to-pos":[{"mask-l-to":D()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":D()}],"mask-image-x-to-pos":[{"mask-x-to":D()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":D()}],"mask-image-y-to-pos":[{"mask-y-to":D()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[Bo,Lo]}],"mask-image-radial-from-pos":[{"mask-radial-from":D()}],"mask-image-radial-to-pos":[{"mask-radial-to":D()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"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":["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"]}],"mask-image-conic-pos":[{"mask-conic":[So]}],"mask-image-conic-from-pos":[{"mask-conic-from":D()}],"mask-image-conic-to-pos":[{"mask-conic-to":D()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:_()}],"mask-repeat":[{mask:["no-repeat",{repeat:["","x","y","space","round"]}]}],"mask-size":[{mask:I()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Bo,Lo]}],filter:[{filter:["","none",Bo,Lo]}],blur:[{blur:L()}],brightness:[{brightness:[So,Bo,Lo]}],contrast:[{contrast:[So,Bo,Lo]}],"drop-shadow":[{"drop-shadow":["","none",p,$o,zo]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:["",So,Bo,Lo]}],"hue-rotate":[{"hue-rotate":[So,Bo,Lo]}],invert:[{invert:["",So,Bo,Lo]}],saturate:[{saturate:[So,Bo,Lo]}],sepia:[{sepia:["",So,Bo,Lo]}],"backdrop-filter":[{"backdrop-filter":["","none",Bo,Lo]}],"backdrop-blur":[{"backdrop-blur":L()}],"backdrop-brightness":[{"backdrop-brightness":[So,Bo,Lo]}],"backdrop-contrast":[{"backdrop-contrast":[So,Bo,Lo]}],"backdrop-grayscale":[{"backdrop-grayscale":["",So,Bo,Lo]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[So,Bo,Lo]}],"backdrop-invert":[{"backdrop-invert":["",So,Bo,Lo]}],"backdrop-opacity":[{"backdrop-opacity":[So,Bo,Lo]}],"backdrop-saturate":[{"backdrop-saturate":[So,Bo,Lo]}],"backdrop-sepia":[{"backdrop-sepia":["",So,Bo,Lo]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Bo,Lo]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[So,"initial",Bo,Lo]}],ease:[{ease:["linear","initial",f,Bo,Lo]}],delay:[{delay:[So,Bo,Lo]}],animate:[{animate:["none",b,Bo,Lo]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,Bo,Lo]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:N()}],"rotate-x":[{"rotate-x":N()}],"rotate-y":[{"rotate-y":N()}],"rotate-z":[{"rotate-z":N()}],scale:[{scale:j()}],"scale-x":[{"scale-x":j()}],"scale-y":[{"scale-y":j()}],"scale-z":[{"scale-z":j()}],"scale-3d":["scale-3d"],skew:[{skew:F()}],"skew-x":[{"skew-x":F()}],"skew-y":[{"skew-y":F()}],transform:[{transform:[Bo,Lo,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:U()}],"translate-x":[{"translate-x":U()}],"translate-y":[{"translate-y":U()}],"translate-z":[{"translate-z":U()}],"translate-none":["translate-none"],accent:[{accent:M()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:M()}],"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",Bo,Lo]}],"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":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"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",Bo,Lo]}],fill:[{fill:["none",...M()]}],"stroke-w":[{stroke:[So,Vo,No,jo]}],stroke:[{stroke:["none",...M()]}],"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"]}}),rs={class:"spinner max-w-sm"},as={class:"ring-circular h-full w-full origin-center",viewBox:"25 25 50 50"},os=di({__name:"FSpinner",props:{width:{type:String,default:""},colorMode:{type:String,default:"primary"}},setup:e=>(t,i)=>(Jn(),Yn("div",rs,[(Jn(),Yn("svg",as,[rr("circle",{class:q([e.colorMode,"ring-path"]),cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":"5","stroke-miterlimit":"30"},null,2)]))]))}),ss={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"}}},cs={key:0,class:"absolute inset-0 flex items-center justify-center"},ls=di({__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=Pr(()=>({icon:"string"==typeof e.icon?e.icon:e.icon?.className,iconAfter:"string"==typeof e.iconAfter?e.iconAfter:e.iconAfter?.className})),i=Pr(()=>e.href?"a":e.tag),n=Pr(()=>({xxs:"size-2.5",xs:"size-3",sm:"size-3.5",md:"size-4",lg:"size-5",xl:"size-6"}[e.size])),r=Pr(()=>{const t="link"===e.design?"!px-1":"",i=ss[e.theme]?.[e.design]||ss.default[e.design],n=["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],i.base,`border ${i.border}`,i.hover].filter(Boolean).join(" ");return ns(n,e.class)}),a=Pr(()=>({design:(ss[e.theme]?.[e.design]||ss.default[e.design]).icon||""}));return(e,o)=>(Jn(),Xn(Ai(i.value),{href:e.href,class:q(r.value)},{default:Gt(()=>[e.loading?(Jn(),Yn("div",cs,[ar(os,{class:q(n.value)},null,8,["class"])])):cr("",!0),rr("span",{class:q(["flex items-center gap-2 transition-opacity duration-200",e.loading?"opacity-0":"opacity-100"])},[t.value.icon?(Jn(),Yn("span",{key:0,class:q(["flex items-center size-[1.1em] mt-[-.07em]",[t.value.icon,a.value]])},null,2)):cr("",!0),Li(e.$slots,"default"),t.value.iconAfter?(Jn(),Yn("span",{key:1,class:q(["flex items-center size-[1.1em] mt-[-.07em]",[t.value.iconAfter,a.value]])},null,2)):cr("",!0)],2)]),_:3},8,["href","class"]))}}),ds={class:"close-wrap overflow-hidden top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[28px] h-[28px] absolute"},us=(e,t)=>{const i=e.__vccOpts||e;for(const[n,r]of t)i[n]=r;return i},hs=us(di({name:"FClose",__name:"FClose",props:{colorMode:{default:"auto"}},emits:["click"],setup(e){const t=gt(!1),i=`close-${Math.random().toString(36).substr(2,9)}`;xi(()=>{setTimeout(()=>{t.value=!0},100)}),Ti(()=>{t.value=!1});const n=Pr(()=>"light"===e.colorMode?"bg-white":"dark"===e.colorMode?"bg-theme-950":"bg-theme-950 dark:bg-white");return(e,r)=>(Jn(),Yn("a",{id:i,class:q(["close block cursor-pointer duration-1000 hover:scale-110 active:scale-90 hover:rotate-90 transition-all ease-[cubic-bezier(0.25,1,0.33,1)] w-[60px] h-[60px] rounded-full",t.value?"in-view":"out-view"]),onClick:r[0]||(r[0]=t=>e.$emit("click",t))},[r[1]||(r[1]=rr("span",{class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[60px] h-[60px] rounded-full transition-all"},null,-1)),rr("span",ds,[rr("span",{class:q([n.value,"close-line close-line1 h-full w-[3px] absolute rounded-[5px] left-[13px] transition-all"])},null,2),rr("span",{class:q([n.value,"close-line close-line2 h-full w-[3px] absolute rounded-[5px] left-[13px] transition-all"])},null,2)])],2))}}),[["__scopeId","data-v-bbf0f1cb"]]),ps=["src","alt"],gs={key:0,class:"absolute top-1 right-1"},ms={class:"min-w-0"},vs=di({__name:"ProfileHeader",props:{person:{},size:{default:"md"},showOnlineIndicator:{type:Boolean,default:!0},layout:{default:"centered"}},setup(e){function t(e){const t=e.target;t.dataset.fallbackUsed||(t.dataset.fallbackUsed="true",t.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+")}return(e,i)=>(Jn(),Yn("div",{class:q(["flex gap-4",["centered"===e.layout?"flex-col items-center text-center":"flex-row items-center justify-center"]])},[rr("div",{class:q(["relative flex-shrink-0","lg"===e.size?"mb-6":""])},[rr("div",{class:q(["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"])},[rr("img",{src:"string"==typeof e.person.avatar?e.person.avatar:e.person.avatar?.src||"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+",alt:e.person.name,class:"w-full h-full object-cover",onError:t},null,40,ps)],2),e.showOnlineIndicator?(Jn(),Yn("div",gs,[...i[0]||(i[0]=[rr("div",{class:"w-4 h-4 bg-green-500 rounded-full ring-2 ring-white absolute",style:{animation:"ping 3s cubic-bezier(0, 0, 0.2, 1) infinite"}},null,-1),rr("div",{class:"w-4 h-4 bg-green-500 rounded-full ring-2 ring-white"},null,-1)])])):cr("",!0)],2),rr("div",ms,[rr("h1",{class:q(["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":""]])},$(e.person.name),3),rr("p",{class:q(["font-light",["lg"===e.size?"text-base text-white/60 mb-8":"text-sm sm:text-base","horizontal"===e.layout?"text-white/70 truncate":"text-white/60"]])},$("horizontal"===e.layout?e.person.title||"Digital Self":e.person.title),3)])],2))}}),fs={class:"px-4 pt-12 pb-8 border-b border-white/10"},bs={class:"flex-1 p-6 space-y-2"},ks=["onClick"],ws={class:"flex items-center gap-3"},ys={class:"flex-1"},xs={class:"font-medium text-white"},Cs={class:"flex items-start gap-3"},Ss={class:"flex-1"},Ts={class:"font-medium text-white mb-2"},Es=di({name:"AgentSidebar",__name:"AgentSidebar",props:{modelValue:{type:Boolean},self:{}},emits:["update:modelValue"],setup(e,{emit:t}){const i=e,n=t,r=gt(!1);xi(()=>{r.value=!0});const a=Pr({get:()=>i.modelValue,set:e=>n("update:modelValue",e)}),o=[{icon:"i-tabler-share",label:"Share This Digital Self",action:"share"},{icon:"i-tabler-user",label:"Visit Full Profile",action:"profile"},{icon:"i-tabler-sparkles",label:"Create Your Own",action:"create"},{icon:"i-tabler-bug",label:"Report an Issue",action:"report"}];return(e,t)=>(Jn(),Yn(Vn,null,[ar(zr,{"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:Gt(()=>[a.value?(Jn(),Yn("div",{key:0,class:"absolute inset-0 z-40 bg-black/50 backdrop-blur-sm",onClick:t[0]||(t[0]=e=>a.value=!1)})):cr("",!0)]),_:1}),ar(zr,{"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":"-translate-x-full","enter-to-class":"translate-x-0","leave-from-class":"translate-x-0","leave-to-class":"-translate-x-full"},{default:Gt(()=>[a.value?(Jn(),Yn("div",{key:0,class:"absolute inset-0 z-50 flex",onClick:t[3]||(t[3]=e=>a.value=!1)},[rr("div",{class:"relative w-[80%] max-w-[420px] h-full shadow-2xl bg-black/70 backdrop-blur-xl flex flex-col justify-center",onClick:t[2]||(t[2]=Da(()=>{},["stop"]))},[ar(hs,{class:"absolute -right-16 top-4 z-10","color-mode":"light",onClick:t[1]||(t[1]=e=>a.value=!1)}),rr("div",fs,[ar(vs,{person:{...e.self,title:`@${e.self.handle||e.self.agentId}`},size:"md","show-online-indicator":!1,layout:"horizontal"},null,8,["person"])]),rr("div",bs,[ar(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":"-translate-x-4 opacity-0","enter-to-class":"translate-x-0 opacity-100","leave-from-class":"translate-x-0 opacity-100","leave-to-class":"-translate-x-4 opacity-0"},{default:Gt(()=>[(Jn(),Yn(Vn,null,Di(o,(e,t)=>(Jn(),Yn(Vn,{key:e.action},["about"!==e.action?(Jn(),Yn("button",{key:0,style:F({transitionDelay:40*t+"ms"}),class:"cursor-pointer w-full text-left p-3 rounded-xl hover:bg-white/10 transition-all duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group",onClick:t=>{!function(e){const{action:t,self:n=i.self}=e;switch(t){case"share":{const e=`https://www.fiction.com/@${n.handle||n.agentId}`;navigator.clipboard.writeText(e);break}case"profile":window.open(`https://www.fiction.com/@${n.handle||n.agentId}`,"_blank");break;case"create":window.open("https://www.fiction.com","_blank");break;case"report":window.location.href="mailto:issues@fiction.com"}a.value=!1}({action:e.action})}},[rr("div",ws,[rr("i",{class:q([e.icon,"size-5 transition-transform duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group-hover:scale-110 text-white/70 group-hover:text-white"])},null,2),rr("div",ys,[rr("div",xs,$(e.label),1)])])],12,ks)):(Jn(),Yn("div",{key:1,style:F({transitionDelay:40*t+"ms"}),class:"p-3 rounded-xl bg-white/5"},[rr("div",Cs,[rr("i",{class:q([e.icon,"size-5 text-white/70 mt-0.5 flex-shrink-0"])},null,2),rr("div",Ss,[rr("div",Ts,$(e.label),1)])])],4))],64))),64))]),_:1})]),t[4]||(t[4]=rr("div",{class:"p-6"},[rr("div",{class:"text-center"},[rr("p",{class:"text-xs text-white/50"},[sr(" Digital Self by "),rr("a",{href:"https://www.fiction.com",class:"text-white/70 hover:text-white transition-colors ml-0.5",target:"_blank"}," Fiction.com ")])])],-1))])])):cr("",!0)]),_:1})],64))}});function Ps(e,t){return t.forEach(function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach(function(i){if("default"!==i&&!(i in e)){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}})}),Object.freeze(e)}var Ms=Object.defineProperty,_s=(e,t,i)=>((e,t,i)=>t in e?Ms(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);let Is=class{constructor(){_s(this,"_locking"),_s(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()}),i=this._locking.then(()=>e);return this._locking=this._locking.then(()=>t),i}};function Rs(e,t){if(!e)throw new Error(t)}function As(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 Os(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 Ds(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 Ls=Symbol("@bufbuild/protobuf/enum-type");function Ns(e,t,i,n){e[Ls]=js(t,i.map(t=>({no:t.no,name:t.name,localName:e[t.no]})))}function js(e,t,i){const n=Object.create(null),r=Object.create(null),a=[];for(const o of t){const e=Fs(o);a.push(e),n[o.name]=e,r[o.no]=e}return{typeName:e,values:a,findName:e=>n[e],findNumber:e=>r[e]}}function Fs(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}class Us{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){const i=this.getType().runtime.bin,n=i.makeReadOptions(t);return i.readMessage(this,n.readerFactory(e),e.byteLength,n),this}fromJson(e,t){const i=this.getType(),n=i.runtime.json,r=n.makeReadOptions(t);return n.readMessage(i,e,r,this),this}fromJsonString(e,t){let i;try{i=JSON.parse(e)}catch(Gb){throw new Error("cannot decode ".concat(this.getType().typeName," from JSON: ").concat(Gb instanceof Error?Gb.message:String(Gb)))}return this.fromJson(i,t)}toBinary(e){const t=this.getType().runtime.bin,i=t.makeWriteOptions(e),n=i.writerFactory();return t.writeMessage(this,n,i),n.finish()}toJson(e){const t=this.getType().runtime.json,i=t.makeWriteOptions(e);return t.writeMessage(this,i)}toJsonString(e){var t;const i=this.toJson(e);return JSON.stringify(i,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 zs(){let e=0,t=0;for(let n=0;n<28;n+=7){let i=this.buf[this.pos++];if(e|=(127&i)<<n,!(128&i))return this.assertBounds(),[e,t]}let i=this.buf[this.pos++];if(e|=(15&i)<<28,t=(112&i)>>4,!(128&i))return this.assertBounds(),[e,t];for(let n=3;n<=31;n+=7){let i=this.buf[this.pos++];if(t|=(127&i)<<n,!(128&i))return this.assertBounds(),[e,t]}throw new Error("invalid varint")}function Bs(e,t,i){for(let a=0;a<28;a+=7){const n=e>>>a,r=!(n>>>7==0&&0==t),o=255&(r?128|n:n);if(i.push(o),!r)return}const n=e>>>28&15|(7&t)<<4,r=!!(t>>3);if(i.push(255&(r?128|n:n)),r){for(let e=3;e<31;e+=7){const n=t>>>e,r=!(n>>>7==0),a=255&(r?128|n:n);if(i.push(a),!r)return}i.push(t>>>31&1)}}const Vs=4294967296;function qs(e){const t="-"===e[0];t&&(e=e.slice(1));const i=1e6;let n=0,r=0;function a(t,a){const o=Number(e.slice(t,a));r*=i,n=n*i+o,n>=Vs&&(r+=n/Vs|0,n%=Vs)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?Ws(n,r):Gs(n,r)}function Hs(e,t){if(({lo:e,hi:t}=function(e,t){return{lo:e>>>0,hi:t>>>0}}(e,t)),t<=2097151)return String(Vs*t+e);const i=16777215&(e>>>24|t<<8),n=t>>16&65535;let r=(16777215&e)+6777216*i+6710656*n,a=i+8147497*n,o=2*n;const s=1e7;return r>=s&&(a+=Math.floor(r/s),r%=s),a>=s&&(o+=Math.floor(a/s),a%=s),o.toString()+$s(a)+$s(r)}function Gs(e,t){return{lo:0|e,hi:0|t}}function Ws(e,t){return t=~t,e?e=1+~e:t+=1,Gs(e,t)}const $s=e=>{const t=String(e);return"0000000".slice(t.length)+t};function Js(e,t){if(e>=0){for(;e>127;)t.push(127&e|128),e>>>=7;t.push(e)}else{for(let i=0;i<9;i++)t.push(127&e|128),e>>=7;t.push(1)}}function Ks(){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 i=5;128&e&&i<10;i++)e=this.buf[this.pos++];if(128&e)throw new Error("invalid varint");return this.assertBounds(),t>>>0}const Qs=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"),i=BigInt("9223372036854775807"),n=BigInt("0"),r=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(e){const n="bigint"==typeof e?e:BigInt(e);if(n>i||n<t)throw new Error("int64 invalid: ".concat(e));return n},uParse(e){const t="bigint"==typeof e?e:BigInt(e);if(t>r||t<n)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,i)=>(e.setInt32(0,t,!0),e.setInt32(4,i,!0),e.getBigInt64(0,!0)),uDec:(t,i)=>(e.setInt32(0,t,!0),e.setInt32(4,i,!0),e.getBigUint64(0,!0))}}const t=e=>Rs(/^-?[0-9]+$/.test(e),"int64 invalid: ".concat(e)),i=e=>Rs(/^[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()),i(e),e),enc:e=>("string"!=typeof e&&(e=e.toString()),t(e),qs(e)),uEnc:e=>("string"!=typeof e&&(e=e.toString()),i(e),qs(e)),dec:(e,t)=>function(e,t){let i=Gs(e,t);const n=2147483648&i.hi;n&&(i=Ws(i.lo,i.hi));const r=Hs(i.lo,i.hi);return n?"-"+r:r}(e,t),uDec:(e,t)=>Hs(e,t)}}();var Zs,Ys,Xs,ec,tc,ic;function nc(e,t,i){if(t===i)return!0;if(e==Zs.BYTES){if(!(t instanceof Uint8Array&&i instanceof Uint8Array))return!1;if(t.length!==i.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==i[e])return!1;return!0}switch(e){case Zs.UINT64:case Zs.FIXED64:case Zs.INT64:case Zs.SFIXED64:case Zs.SINT64:return t==i}return!1}function rc(e,t){switch(e){case Zs.BOOL:return!1;case Zs.UINT64:case Zs.FIXED64:case Zs.INT64:case Zs.SFIXED64:case Zs.SINT64:return 0==t?Qs.zero:"0";case Zs.DOUBLE:case Zs.FLOAT:return 0;case Zs.BYTES:return new Uint8Array(0);case Zs.STRING:return"";default:return 0}}function ac(e,t){switch(e){case Zs.BOOL:return!1===t;case Zs.STRING:return""===t;case Zs.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return 0==t}}(Ys=Zs||(Zs={}))[Ys.DOUBLE=1]="DOUBLE",Ys[Ys.FLOAT=2]="FLOAT",Ys[Ys.INT64=3]="INT64",Ys[Ys.UINT64=4]="UINT64",Ys[Ys.INT32=5]="INT32",Ys[Ys.FIXED64=6]="FIXED64",Ys[Ys.FIXED32=7]="FIXED32",Ys[Ys.BOOL=8]="BOOL",Ys[Ys.STRING=9]="STRING",Ys[Ys.BYTES=12]="BYTES",Ys[Ys.UINT32=13]="UINT32",Ys[Ys.SFIXED32=15]="SFIXED32",Ys[Ys.SFIXED64=16]="SFIXED64",Ys[Ys.SINT32=17]="SINT32",Ys[Ys.SINT64=18]="SINT64",(ec=Xs||(Xs={}))[ec.BIGINT=0]="BIGINT",ec[ec.STRING=1]="STRING",(ic=tc||(tc={}))[ic.Varint=0]="Varint",ic[ic.Bit64=1]="Bit64",ic[ic.LengthDelimited=2]="LengthDelimited",ic[ic.StartGroup=3]="StartGroup",ic[ic.EndGroup=4]="EndGroup",ic[ic.Bit32=5]="Bit32";class oc{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 n=0;n<this.chunks.length;n++)e+=this.chunks[n].length;let t=new Uint8Array(e),i=0;for(let n=0;n<this.chunks.length;n++)t.set(this.chunks[n],i),i+=this.chunks[n].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(Os(e);e>127;)this.buf.push(127&e|128),e>>>=7;return this.buf.push(e),this}int32(e){return As(e),Js(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){Ds(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){Os(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){As(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return As(e),Js(e=(e<<1^e>>31)>>>0,this.buf),this}sfixed64(e){let t=new Uint8Array(8),i=new DataView(t.buffer),n=Qs.enc(e);return i.setInt32(0,n.lo,!0),i.setInt32(4,n.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),i=new DataView(t.buffer),n=Qs.uEnc(e);return i.setInt32(0,n.lo,!0),i.setInt32(4,n.hi,!0),this.raw(t)}int64(e){let t=Qs.enc(e);return Bs(t.lo,t.hi,this.buf),this}sint64(e){let t=Qs.enc(e),i=t.hi>>31;return Bs(t.lo<<1^i,(t.hi<<1|t.lo>>>31)^i,this.buf),this}uint64(e){let t=Qs.uEnc(e);return Bs(t.lo,t.hi,this.buf),this}}class sc{constructor(e,t){this.varint64=zs,this.uint32=Ks,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,i=7&e;if(t<=0||i<0||i>5)throw new Error("illegal tag: field no "+t+" wire type "+i);return[t,i]}skip(e,t){let i=this.pos;switch(e){case tc.Varint:for(;128&this.buf[this.pos++];);break;case tc.Bit64:this.pos+=4;case tc.Bit32:this.pos+=4;break;case tc.LengthDelimited:let i=this.uint32();this.pos+=i;break;case tc.StartGroup:for(;;){const[e,i]=this.tag();if(i===tc.EndGroup){if(void 0!==t&&e!==t)throw new Error("invalid end group tag");break}this.skip(i,e)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(i,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 Qs.dec(...this.varint64())}uint64(){return Qs.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),i=-(1&e);return e=(e>>>1|(1&t)<<31)^i,t=t>>>1^i,Qs.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 Qs.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return Qs.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 cc(e){const t=e.field.localName,i=Object.create(null);return i[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 rc(t.T,t.L);case"message":const e=t.T,i=new e;return e.fieldWrapper?e.fieldWrapper.unwrapField(i):i;case"map":throw"map fields are not allowed to be extensions"}}(e),[i,()=>i[t]]}let lc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),dc=[];for(let Wb=0;Wb<lc.length;Wb++)dc[lc[Wb].charCodeAt(0)]=Wb;dc["-".charCodeAt(0)]=lc.indexOf("+"),dc["_".charCodeAt(0)]=lc.indexOf("/");const uc={dec(e){let t=3*e.length/4;"="==e[e.length-2]?t-=2:"="==e[e.length-1]&&(t-=1);let i,n=new Uint8Array(t),r=0,a=0,o=0;for(let s=0;s<e.length;s++){if(i=dc[e.charCodeAt(s)],void 0===i)switch(e[s]){case"=":a=0;case"\n":case"\r":case"\t":case" ":continue;default:throw Error("invalid base64 string.")}switch(a){case 0:o=i,a=1;break;case 1:n[r++]=o<<2|(48&i)>>4,o=i,a=2;break;case 2:n[r++]=(15&o)<<4|(60&i)>>2,o=i,a=3;break;case 3:n[r++]=(3&o)<<6|i,a=0}}if(1==a)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(e){let t,i="",n=0,r=0;for(let a=0;a<e.length;a++)switch(t=e[a],n){case 0:i+=lc[t>>2],r=(3&t)<<4,n=1;break;case 1:i+=lc[r|t>>4],r=(15&t)<<2,n=2;break;case 2:i+=lc[r|t>>6],i+=lc[63&t],n=0}return n&&(i+=lc[r],i+="=",1==n&&(i+="=")),i}};function hc(e,t,i){mc(t,e);const n=t.runtime.bin.makeReadOptions(i),r=function(e,t){if(!t.repeated&&("enum"==t.kind||"scalar"==t.kind)){for(let i=e.length-1;i>=0;--i)if(e[i].no==t.no)return[e[i]];return[]}return e.filter(e=>e.no===t.no)}(e.getType().runtime.bin.listUnknownFields(e),t.field),[a,o]=cc(t);for(const s of r)t.runtime.bin.readField(a,n.readerFactory(s.data),t.field,s.wireType,n);return o()}function pc(e,t,i,n){mc(t,e);const r=t.runtime.bin.makeReadOptions(n),a=t.runtime.bin.makeWriteOptions(n);if(gc(e,t)){const i=e.getType().runtime.bin.listUnknownFields(e).filter(e=>e.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(const t of i)e.getType().runtime.bin.onUnknownField(e,t.no,t.wireType,t.data)}const o=a.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,i,o,a);const c=r.readerFactory(o.finish());for(;c.pos<c.len;){const[t,i]=c.tag(),n=c.skip(i,t);e.getType().runtime.bin.onUnknownField(e,t,i,n)}}function gc(e,t){const i=e.getType();return t.extendee.typeName===i.typeName&&!!i.runtime.bin.listUnknownFields(e).find(e=>e.no==t.field.no)}function mc(e,t){Rs(e.extendee.typeName==t.getType().typeName,"extension ".concat(e.typeName," can only be applied to message ").concat(e.extendee.typeName))}function vc(e,t){const i=e.localName;if(e.repeated)return t[i].length>0;if(e.oneof)return t[e.oneof.localName].case===i;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?void 0!==t[i]:"enum"==e.kind?t[i]!==e.T.values[0].no:!ac(e.T,t[i]);case"message":return void 0!==t[i];case"map":return Object.keys(t[i]).length>0}}function fc(e,t){const i=e.localName,n=!e.opt&&!e.req;if(e.repeated)t[i]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[i]={};break;case"enum":t[i]=n?e.T.values[0].no:void 0;break;case"scalar":t[i]=n?rc(e.T,e.L):void 0;break;case"message":t[i]=void 0}}function bc(e,t){if(null===e||"object"!=typeof e)return!1;if(!Object.getOwnPropertyNames(Us.prototype).every(t=>t in e&&"function"==typeof e[t]))return!1;const i=e.getType();return null!==i&&"function"==typeof i&&"typeName"in i&&"string"==typeof i.typeName&&(void 0===t||i.typeName==t.typeName)}function kc(e,t){return bc(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}Zs.DOUBLE,Zs.FLOAT,Zs.INT64,Zs.UINT64,Zs.INT32,Zs.UINT32,Zs.BOOL,Zs.STRING,Zs.BYTES;const wc={ignoreUnknownFields:!1},yc={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};const xc=Symbol(),Cc=Symbol();function Sc(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 Tc(e,t,i,n,r){let a=i.localName;if(i.repeated){if(Rs("map"!=i.kind),null===t)return;if(!Array.isArray(t))throw new Error("cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(t)));const o=e[a];for(const e of t){if(null===e)throw new Error("cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(e)));switch(i.kind){case"message":o.push(i.T.fromJson(e,n));break;case"enum":const t=Mc(i.T,e,n.ignoreUnknownFields,!0);t!==Cc&&o.push(t);break;case"scalar":try{o.push(Pc(i.T,e,i.L,!0))}catch(Gb){let n="cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(e));throw Gb instanceof Error&&Gb.message.length>0&&(n+=": ".concat(Gb.message)),new Error(n)}}}}else if("map"==i.kind){if(null===t)return;if("object"!=typeof t||Array.isArray(t))throw new Error("cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(t)));const o=e[a];for(const[e,a]of Object.entries(t)){if(null===a)throw new Error("cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: map value null"));let s;try{s=Ec(i.K,e)}catch(Gb){let n="cannot decode map key for field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(t));throw Gb instanceof Error&&Gb.message.length>0&&(n+=": ".concat(Gb.message)),new Error(n)}switch(i.V.kind){case"message":o[s]=i.V.T.fromJson(a,n);break;case"enum":const e=Mc(i.V.T,a,n.ignoreUnknownFields,!0);e!==Cc&&(o[s]=e);break;case"scalar":try{o[s]=Pc(i.V.T,a,Xs.BIGINT,!0)}catch(Gb){let n="cannot decode map value for field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(t));throw Gb instanceof Error&&Gb.message.length>0&&(n+=": ".concat(Gb.message)),new Error(n)}}}}else switch(i.oneof&&(e=e[i.oneof.localName]={case:a},a="value"),i.kind){case"message":const o=i.T;if(null===t&&"google.protobuf.Value"!=o.typeName)return;let s=e[a];bc(s)?s.fromJson(t,n):(e[a]=s=o.fromJson(t,n),o.fieldWrapper&&!i.oneof&&(e[a]=o.fieldWrapper.unwrapField(s)));break;case"enum":const c=Mc(i.T,t,n.ignoreUnknownFields,!1);switch(c){case xc:fc(i,e);break;case Cc:break;default:e[a]=c}break;case"scalar":try{const n=Pc(i.T,t,i.L,!1);n===xc?fc(i,e):e[a]=n}catch(Gb){let n="cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(t));throw Gb instanceof Error&&Gb.message.length>0&&(n+=": ".concat(Gb.message)),new Error(n)}}}function Ec(e,t){if(e===Zs.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1}return Pc(e,t,Xs.BIGINT,!0).toString()}function Pc(e,t,i,n){if(null===t)return n?rc(e,i):xc;switch(e){case Zs.DOUBLE:case Zs.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 n=Number(t);if(Number.isNaN(n))break;if(!Number.isFinite(n))break;return e==Zs.FLOAT&&Ds(n),n;case Zs.INT32:case Zs.FIXED32:case Zs.SFIXED32:case Zs.SINT32:case Zs.UINT32:let r;if("number"==typeof t?r=t:"string"==typeof t&&t.length>0&&t.trim().length===t.length&&(r=Number(t)),void 0===r)break;return e==Zs.UINT32||e==Zs.FIXED32?Os(r):As(r),r;case Zs.INT64:case Zs.SFIXED64:case Zs.SINT64:if("number"!=typeof t&&"string"!=typeof t)break;const a=Qs.parse(t);return i?a.toString():a;case Zs.FIXED64:case Zs.UINT64:if("number"!=typeof t&&"string"!=typeof t)break;const o=Qs.uParse(t);return i?o.toString():o;case Zs.BOOL:if("boolean"!=typeof t)break;return t;case Zs.STRING:if("string"!=typeof t)break;try{encodeURIComponent(t)}catch(Gb){throw new Error("invalid UTF8")}return t;case Zs.BYTES:if(""===t)return new Uint8Array(0);if("string"!=typeof t)break;return uc.dec(t)}throw new Error}function Mc(e,t,i,n){if(null===t)return"google.protobuf.NullValue"==e.typeName?0:n?e.values[0].no:xc;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":const n=e.findName(t);if(void 0!==n)return n.no;if(i)return Cc}throw new Error("cannot decode enum ".concat(e.typeName," from JSON: ").concat(Sc(t)))}function _c(e){return!(!e.repeated&&"map"!=e.kind&&(e.oneof||"message"==e.kind||e.opt||e.req))}function Ic(e,t,i){if("map"==e.kind){Rs("object"==typeof t&&null!=t);const n={},r=Object.entries(t);switch(e.V.kind){case"scalar":for(const[i,a]of r)n[i.toString()]=Ac(e.V.T,a);break;case"message":for(const[e,a]of r)n[e.toString()]=a.toJson(i);break;case"enum":const t=e.V.T;for(const[e,a]of r)n[e.toString()]=Rc(t,a,i.enumAsInteger)}return i.emitDefaultValues||r.length>0?n:void 0}if(e.repeated){Rs(Array.isArray(t));const n=[];switch(e.kind){case"scalar":for(let i=0;i<t.length;i++)n.push(Ac(e.T,t[i]));break;case"enum":for(let r=0;r<t.length;r++)n.push(Rc(e.T,t[r],i.enumAsInteger));break;case"message":for(let e=0;e<t.length;e++)n.push(t[e].toJson(i))}return i.emitDefaultValues||n.length>0?n:void 0}switch(e.kind){case"scalar":return Ac(e.T,t);case"enum":return Rc(e.T,t,i.enumAsInteger);case"message":return kc(e.T,t).toJson(i)}}function Rc(e,t,i){var n;if(Rs("number"==typeof t),"google.protobuf.NullValue"==e.typeName)return null;if(i)return t;const r=e.findNumber(t);return null!==(n=null==r?void 0:r.name)&&void 0!==n?n:t}function Ac(e,t){switch(e){case Zs.INT32:case Zs.SFIXED32:case Zs.SINT32:case Zs.FIXED32:case Zs.UINT32:return Rs("number"==typeof t),t;case Zs.FLOAT:case Zs.DOUBLE:return Rs("number"==typeof t),Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t;case Zs.STRING:return Rs("string"==typeof t),t;case Zs.BOOL:return Rs("boolean"==typeof t),t;case Zs.UINT64:case Zs.FIXED64:case Zs.INT64:case Zs.SFIXED64:case Zs.SINT64:return Rs("bigint"==typeof t||"string"==typeof t||"number"==typeof t),t.toString();case Zs.BYTES:return Rs(t instanceof Uint8Array),uc.enc(t)}}const Oc=Symbol("@bufbuild/protobuf/unknown-fields"),Dc={readUnknownFields:!0,readerFactory:e=>new sc(e)},Lc={writeUnknownFields:!0,writerFactory:()=>new oc};function Nc(e,t,i,n,r){let{repeated:a,localName:o}=i;switch(i.oneof&&((e=e[i.oneof.localName]).case!=o&&delete e.value,e.case=o,o="value"),i.kind){case"scalar":case"enum":const s="enum"==i.kind?Zs.INT32:i.T;let c=Uc;if("scalar"==i.kind&&i.L>0&&(c=Fc),a){let i=e[o];if(n==tc.LengthDelimited&&s!=Zs.STRING&&s!=Zs.BYTES){let e=t.uint32()+t.pos;for(;t.pos<e;)i.push(c(t,s))}else i.push(c(t,s))}else e[o]=c(t,s);break;case"message":const l=i.T;a?e[o].push(jc(t,new l,r,i)):bc(e[o])?jc(t,e[o],r,i):(e[o]=jc(t,new l,r,i),!l.fieldWrapper||i.oneof||i.repeated||(e[o]=l.fieldWrapper.unwrapField(e[o])));break;case"map":let[d,u]=function(e,t,i){const n=t.uint32(),r=t.pos+n;let a,o;for(;t.pos<r;){const[n]=t.tag();switch(n){case 1:a=Uc(t,e.K);break;case 2:switch(e.V.kind){case"scalar":o=Uc(t,e.V.T);break;case"enum":o=t.int32();break;case"message":o=jc(t,new e.V.T,i,void 0)}}}if(void 0===a&&(a=rc(e.K,Xs.BIGINT)),"string"!=typeof a&&"number"!=typeof a&&(a=a.toString()),void 0===o)switch(e.V.kind){case"scalar":o=rc(e.V.T,Xs.BIGINT);break;case"enum":o=e.V.T.values[0].no;break;case"message":o=new e.V.T}return[a,o]}(i,t,r);e[o][d]=u}}function jc(e,t,i,n){const r=t.getType().runtime.bin,a=null==n?void 0:n.delimited;return r.readMessage(t,e,a?n.no:e.uint32(),i,a),t}function Fc(e,t){const i=Uc(e,t);return"bigint"==typeof i?i.toString():i}function Uc(e,t){switch(t){case Zs.STRING:return e.string();case Zs.BOOL:return e.bool();case Zs.DOUBLE:return e.double();case Zs.FLOAT:return e.float();case Zs.INT32:return e.int32();case Zs.INT64:return e.int64();case Zs.UINT64:return e.uint64();case Zs.FIXED64:return e.fixed64();case Zs.BYTES:return e.bytes();case Zs.FIXED32:return e.fixed32();case Zs.SFIXED32:return e.sfixed32();case Zs.SFIXED64:return e.sfixed64();case Zs.SINT64:return e.sint64();case Zs.UINT32:return e.uint32();case Zs.SINT32:return e.sint32()}}function zc(e,t,i,n){Rs(void 0!==t);const r=e.repeated;switch(e.kind){case"scalar":case"enum":let a="enum"==e.kind?Zs.INT32:e.T;if(r)if(Rs(Array.isArray(t)),e.packed)!function(e,t,i,n){if(!n.length)return;e.tag(i,tc.LengthDelimited).fork();let[,r]=Hc(t);for(let a=0;a<n.length;a++)e[r](n[a]);e.join()}(i,a,e.no,t);else for(const n of t)qc(i,a,e.no,n);else qc(i,a,e.no,t);break;case"message":if(r){Rs(Array.isArray(t));for(const r of t)Vc(i,n,e,r)}else Vc(i,n,e,t);break;case"map":Rs("object"==typeof t&&null!=t);for(const[r,o]of Object.entries(t))Bc(i,n,e,r,o)}}function Bc(e,t,i,n,r){e.tag(i.no,tc.LengthDelimited),e.fork();let a=n;switch(i.K){case Zs.INT32:case Zs.FIXED32:case Zs.UINT32:case Zs.SFIXED32:case Zs.SINT32:a=Number.parseInt(n);break;case Zs.BOOL:Rs("true"==n||"false"==n),a="true"==n}switch(qc(e,i.K,1,a),i.V.kind){case"scalar":qc(e,i.V.T,2,r);break;case"enum":qc(e,Zs.INT32,2,r);break;case"message":Rs(void 0!==r),e.tag(2,tc.LengthDelimited).bytes(r.toBinary(t))}e.join()}function Vc(e,t,i,n){const r=kc(i.T,n);i.delimited?e.tag(i.no,tc.StartGroup).raw(r.toBinary(t)).tag(i.no,tc.EndGroup):e.tag(i.no,tc.LengthDelimited).bytes(r.toBinary(t))}function qc(e,t,i,n){Rs(void 0!==n);let[r,a]=Hc(t);e.tag(i,r)[a](n)}function Hc(e){let t=tc.Varint;switch(e){case Zs.BYTES:case Zs.STRING:t=tc.LengthDelimited;break;case Zs.DOUBLE:case Zs.FIXED64:case Zs.SFIXED64:t=tc.Bit64;break;case Zs.FIXED32:case Zs.SFIXED32:case Zs.FLOAT:t=tc.Bit32}return[t,Zs[e].toLowerCase()]}function Gc(e){if(void 0===e)return e;if(bc(e))return e.clone();if(e instanceof Uint8Array){const t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Wc(e){return e instanceof Uint8Array?e:new Uint8Array(e)}class $c{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 i of this.list())i.oneof?i.oneof!==t&&(t=i.oneof,e.push(t)):e.push(i)}return this.members}}function Jc(e,t){const i=Qc(e);return t?i:tl(el(i))}const Kc=Qc;function Qc(e){let t=!1;const i=[];for(let n=0;n<e.length;n++){let r=e.charAt(n);switch(r){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":i.push(r),t=!1;break;default:t&&(t=!1,r=r.toUpperCase()),i.push(r)}}return i.join("")}const Zc=new Set(["constructor","toString","toJSON","valueOf"]),Yc=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),Xc=e=>"".concat(e,"$"),el=e=>Yc.has(e)?Xc(e):e,tl=e=>Zc.has(e)?Xc(e):e;class il{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=Jc(e,!1)}addField(e){Rs(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 nl=(rl=e=>new $c(e,e=>function(e){var t,i,n,r,a,o;const s=[];let c;for(const l of"function"==typeof e?e():e){const e=l;if(e.localName=Jc(l.name,void 0!==l.oneof),e.jsonName=null!==(t=l.jsonName)&&void 0!==t?t:Kc(l.name),e.repeated=null!==(i=l.repeated)&&void 0!==i&&i,"scalar"==l.kind&&(e.L=null!==(n=l.L)&&void 0!==n?n:Xs.BIGINT),e.delimited=null!==(r=l.delimited)&&void 0!==r&&r,e.req=null!==(a=l.req)&&void 0!==a&&a,e.opt=null!==(o=l.opt)&&void 0!==o&&o,void 0===l.packed&&(e.packed="enum"==l.kind||"scalar"==l.kind&&l.T!=Zs.BYTES&&l.T!=Zs.STRING),void 0!==l.oneof){const t="string"==typeof l.oneof?l.oneof:l.oneof.name;c&&c.name==t||(c=new il(t)),e.oneof=c,c.addField(e)}s.push(e)}return s}(e)),al=e=>{for(const t of e.getType().fields.byMember()){if(t.opt)continue;const i=t.localName,n=e;if(t.repeated)n[i]=[];else switch(t.kind){case"oneof":n[i]={case:void 0};break;case"enum":n[i]=0;break;case"map":n[i]={};break;case"scalar":n[i]=rc(t.T,t.L)}}},{syntax:"proto3",json:{makeReadOptions:function(e){return e?Object.assign(Object.assign({},wc),e):wc},makeWriteOptions:function(e){return e?Object.assign(Object.assign({},yc),e):yc},readMessage(e,t,i,n){if(null==t||Array.isArray(t)||"object"!=typeof t)throw new Error("cannot decode message ".concat(e.typeName," from JSON: ").concat(Sc(t)));n=null!=n?n:new e;const r=new Map,a=i.typeRegistry;for(const[o,s]of Object.entries(t)){const t=e.fields.findJsonName(o);if(t){if(t.oneof){if(null===s&&"scalar"==t.kind)continue;const i=r.get(t.oneof);if(void 0!==i)throw new Error("cannot decode message ".concat(e.typeName,' from JSON: multiple keys for oneof "').concat(t.oneof.name,'" present: "').concat(i,'", "').concat(o,'"'));r.set(t.oneof,o)}Tc(n,s,t,i,e)}else{let t=!1;if((null==a?void 0:a.findExtension)&&o.startsWith("[")&&o.endsWith("]")){const r=a.findExtension(o.substring(1,o.length-1));if(r&&r.extendee.typeName==e.typeName){t=!0;const[e,a]=cc(r);Tc(e,s,r.field,i,r),pc(n,r,a(),i)}}if(!t&&!i.ignoreUnknownFields)throw new Error("cannot decode message ".concat(e.typeName,' from JSON: key "').concat(o,'" is unknown'))}}return n},writeMessage(e,t){const i=e.getType(),n={};let r;try{for(r of i.fields.byNumber()){if(!vc(r,e)){if(r.req)throw"required field not set";if(!t.emitDefaultValues)continue;if(!_c(r))continue}const i=Ic(r,r.oneof?e[r.oneof.localName].value:e[r.localName],t);void 0!==i&&(n[t.useProtoFieldName?r.name:r.jsonName]=i)}const a=t.typeRegistry;if(null==a?void 0:a.findExtensionFor)for(const r of i.runtime.bin.listUnknownFields(e)){const o=a.findExtensionFor(i.typeName,r.no);if(o&&gc(e,o)){const i=hc(e,o,t),r=Ic(o.field,i,t);void 0!==r&&(n[o.field.jsonName]=r)}}}catch(Gb){const t=r?"cannot encode field ".concat(i.typeName,".").concat(r.name," to JSON"):"cannot encode message ".concat(i.typeName," to JSON"),n=Gb instanceof Error?Gb.message:String(Gb);throw new Error(t+(n.length>0?": ".concat(n):""))}return n},readScalar:(e,t,i)=>Pc(e,t,null!=i?i:Xs.BIGINT,!0),writeScalar(e,t,i){if(void 0!==t)return i||ac(e,t)?Ac(e,t):void 0},debug:Sc},bin:{makeReadOptions:function(e){return e?Object.assign(Object.assign({},Dc),e):Dc},makeWriteOptions:function(e){return e?Object.assign(Object.assign({},Lc),e):Lc},listUnknownFields(e){var t;return null!==(t=e[Oc])&&void 0!==t?t:[]},discardUnknownFields(e){delete e[Oc]},writeUnknownFields(e,t){const i=e[Oc];if(i)for(const n of i)t.tag(n.no,n.wireType).raw(n.data)},onUnknownField(e,t,i,n){const r=e;Array.isArray(r[Oc])||(r[Oc]=[]),r[Oc].push({no:t,wireType:i,data:n})},readMessage(e,t,i,n,r){const a=e.getType(),o=r?t.len:t.pos+i;let s,c;for(;t.pos<o&&([s,c]=t.tag(),!0!==r||c!=tc.EndGroup);){const i=a.fields.find(s);if(!i){const i=t.skip(c,s);n.readUnknownFields&&this.onUnknownField(e,s,c,i);continue}Nc(e,t,i,c,n)}if(r&&(c!=tc.EndGroup||s!==i))throw new Error("invalid end group tag")},readField:Nc,writeMessage(e,t,i){const n=e.getType();for(const r of n.fields.byNumber())if(vc(r,e))zc(r,r.oneof?e[r.oneof.localName].value:e[r.localName],t,i);else if(r.req)throw new Error("cannot encode field ".concat(n.typeName,".").concat(r.name," to binary: required field not set"));return i.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,i,n){void 0!==t&&zc(e,t,i,n)}},util:Object.assign(Object.assign({},{setEnumType:Ns,initPartial(e,t){if(void 0===e)return;const i=t.getType();for(const n of i.fields.byMember()){const i=n.localName,r=t,a=e;if(null!=a[i])switch(n.kind){case"oneof":const e=a[i].case;if(void 0===e)continue;const t=n.findField(e);let o=a[i].value;t&&"message"==t.kind&&!bc(o,t.T)?o=new t.T(o):t&&"scalar"===t.kind&&t.T===Zs.BYTES&&(o=Wc(o)),r[i]={case:e,value:o};break;case"scalar":case"enum":let s=a[i];n.T===Zs.BYTES&&(s=n.repeated?s.map(Wc):Wc(s)),r[i]=s;break;case"map":switch(n.V.kind){case"scalar":case"enum":if(n.V.T===Zs.BYTES)for(const[t,n]of Object.entries(a[i]))r[i][t]=Wc(n);else Object.assign(r[i],a[i]);break;case"message":const e=n.V.T;for(const t of Object.keys(a[i])){let n=a[i][t];e.fieldWrapper||(n=new e(n)),r[i][t]=n}}break;case"message":const c=n.T;if(n.repeated)r[i]=a[i].map(e=>bc(e,c)?e:new c(e));else{const e=a[i];c.fieldWrapper?"google.protobuf.BytesValue"===c.typeName?r[i]=Wc(e):r[i]=e:r[i]=bc(e,c)?e:new c(e)}}}},equals:(e,t,i)=>t===i||!(!t||!i)&&e.fields.byMember().every(e=>{const n=t[e.localName],r=i[e.localName];if(e.repeated){if(n.length!==r.length)return!1;switch(e.kind){case"message":return n.every((t,i)=>e.T.equals(t,r[i]));case"scalar":return n.every((t,i)=>nc(e.T,t,r[i]));case"enum":return n.every((e,t)=>nc(Zs.INT32,e,r[t]))}throw new Error("repeated cannot contain ".concat(e.kind))}switch(e.kind){case"message":let t=n,i=r;return e.T.fieldWrapper&&(void 0===t||bc(t)||(t=e.T.fieldWrapper.wrapField(t)),void 0===i||bc(i)||(i=e.T.fieldWrapper.wrapField(i))),e.T.equals(t,i);case"enum":return nc(Zs.INT32,n,r);case"scalar":return nc(e.T,n,r);case"oneof":if(n.case!==r.case)return!1;const a=e.findField(n.case);if(void 0===a)return!0;switch(a.kind){case"message":return a.T.equals(n.value,r.value);case"enum":return nc(Zs.INT32,n.value,r.value);case"scalar":return nc(a.T,n.value,r.value)}throw new Error("oneof cannot contain ".concat(a.kind));case"map":const o=Object.keys(n).concat(Object.keys(r));switch(e.V.kind){case"message":const t=e.V.T;return o.every(e=>t.equals(n[e],r[e]));case"enum":return o.every(e=>nc(Zs.INT32,n[e],r[e]));case"scalar":const i=e.V.T;return o.every(e=>nc(i,n[e],r[e]))}}}),clone(e){const t=e.getType(),i=new t,n=i;for(const r of t.fields.byMember()){const t=e[r.localName];let i;if(r.repeated)i=t.map(Gc);else if("map"==r.kind){i=n[r.localName];for(const[e,n]of Object.entries(t))i[e]=Gc(n)}else i="oneof"==r.kind?r.findField(t.case)?{case:t.case,value:Gc(t.value)}:{case:void 0}:Gc(t);n[r.localName]=i}for(const r of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(n,r.no,r.wireType,r.data);return i}}),{newFieldList:rl,initFields:al}),makeMessageType(e,t,i){return function(e,t,i,n){var r;const a=null!==(r=null==n?void 0:n.localName)&&void 0!==r?r:t.substring(t.lastIndexOf(".")+1),o={[a]:function(t){e.util.initFields(this),e.util.initPartial(t,this)}}[a];return Object.setPrototypeOf(o.prototype,new Us),Object.assign(o,{runtime:e,typeName:t,fields:e.util.newFieldList(i),fromBinary:(e,t)=>(new o).fromBinary(e,t),fromJson:(e,t)=>(new o).fromJson(e,t),fromJsonString:(e,t)=>(new o).fromJsonString(e,t),equals:(t,i)=>e.util.equals(o,t,i)}),o}(this,e,t,i)},makeEnum:function(e,t,i){const n={};for(const r of t){const e=Fs(r);n[e.localName]=e.no,n[e.no]=e.localName}return Ns(n,e,t),n},makeEnumType:js,getEnumType:function(e){const t=e[Ls];return Rs(t,"missing enum type on enum object"),t},makeExtension(e,t,i){return function(e,t,i,n){let r;return{typeName:t,extendee:i,get field(){if(!r){const i="function"==typeof n?n():n;i.name=t.split(".").pop(),i.jsonName="[".concat(t,"]"),r=e.util.newFieldList([i]).list()[0]}return r},runtime:e}}(this,e,t,i)}});var rl,al;class ol extends Us{constructor(e){super(),this.seconds=Qs.zero,this.nanos=0,nl.util.initPartial(e,this)}fromJson(e,t){if("string"!=typeof e)throw new Error("cannot decode google.protobuf.Timestamp from JSON: ".concat(nl.json.debug(e)));const i=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(!i)throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");const n=Date.parse(i[1]+"-"+i[2]+"-"+i[3]+"T"+i[4]+":"+i[5]+":"+i[6]+(i[8]?i[8]:"Z"));if(Number.isNaN(n))throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");if(n<Date.parse("0001-01-01T00:00:00Z")||n>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=Qs.parse(n/1e3),this.nanos=0,i[7]&&(this.nanos=parseInt("1"+i[7]+"0".repeat(9-i[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 i="Z";if(this.nanos>0){const e=(this.nanos+1e9).toString().substring(1);i="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",i)}toDate(){return new Date(1e3*Number(this.seconds)+Math.ceil(this.nanos/1e6))}static now(){return ol.fromDate(new Date)}static fromDate(e){const t=e.getTime();return new ol({seconds:Qs.parse(Math.floor(t/1e3)),nanos:t%1e3*1e6})}static fromBinary(e,t){return(new ol).fromBinary(e,t)}static fromJson(e,t){return(new ol).fromJson(e,t)}static fromJsonString(e,t){return(new ol).fromJsonString(e,t)}static equals(e,t){return nl.util.equals(ol,e,t)}}ol.runtime=nl,ol.typeName="google.protobuf.Timestamp",ol.fields=nl.util.newFieldList(()=>[{no:1,name:"seconds",kind:"scalar",T:3},{no:2,name:"nanos",kind:"scalar",T:5}]);const sl=nl.makeMessageType("livekit.MetricsBatch",()=>[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:ol},{no:3,name:"str_data",kind:"scalar",T:9,repeated:!0},{no:4,name:"time_series",kind:"message",T:cl,repeated:!0},{no:5,name:"events",kind:"message",T:dl,repeated:!0}]),cl=nl.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:ll,repeated:!0},{no:5,name:"rid",kind:"scalar",T:13}]),ll=nl.makeMessageType("livekit.MetricSample",()=>[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:ol},{no:3,name:"value",kind:"scalar",T:2}]),dl=nl.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:ol},{no:7,name:"normalized_end_timestamp",kind:"message",T:ol,opt:!0},{no:8,name:"metadata",kind:"scalar",T:9},{no:9,name:"rid",kind:"scalar",T:13}]),ul=nl.makeEnum("livekit.BackupCodecPolicy",[{no:0,name:"PREFER_REGRESSION"},{no:1,name:"SIMULCAST"},{no:2,name:"REGRESSION"}]),hl=nl.makeEnum("livekit.TrackType",[{no:0,name:"AUDIO"},{no:1,name:"VIDEO"},{no:2,name:"DATA"}]),pl=nl.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"}]),gl=nl.makeEnum("livekit.VideoQuality",[{no:0,name:"LOW"},{no:1,name:"MEDIUM"},{no:2,name:"HIGH"},{no:3,name:"OFF"}]),ml=nl.makeEnum("livekit.ConnectionQuality",[{no:0,name:"POOR"},{no:1,name:"GOOD"},{no:2,name:"EXCELLENT"},{no:3,name:"LOST"}]),vl=nl.makeEnum("livekit.ClientConfigSetting",[{no:0,name:"UNSET"},{no:1,name:"DISABLED"},{no:2,name:"ENABLED"}]),fl=nl.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"}]),bl=nl.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"}]),kl=nl.makeEnum("livekit.SubscriptionError",[{no:0,name:"SE_UNKNOWN"},{no:1,name:"SE_CODEC_UNSUPPORTED"},{no:2,name:"SE_TRACK_NOTFOUND"}]),wl=nl.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"}]),yl=nl.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:xl,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:Xl}]),xl=nl.makeMessageType("livekit.Codec",()=>[{no:1,name:"mime",kind:"scalar",T:9},{no:2,name:"fmtp_line",kind:"scalar",T:9}]),Cl=nl.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:nl.getEnumType(pl),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}]),Sl=nl.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:nl.getEnumType(Tl)},{no:4,name:"tracks",kind:"message",T:Il,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:Cl},{no:12,name:"region",kind:"scalar",T:9},{no:13,name:"is_publisher",kind:"scalar",T:8},{no:14,name:"kind",kind:"enum",T:nl.getEnumType(El)},{no:15,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:16,name:"disconnect_reason",kind:"enum",T:nl.getEnumType(fl)},{no:18,name:"kind_details",kind:"enum",T:nl.getEnumType(Pl),repeated:!0}]),Tl=nl.makeEnum("livekit.ParticipantInfo.State",[{no:0,name:"JOINING"},{no:1,name:"JOINED"},{no:2,name:"ACTIVE"},{no:3,name:"DISCONNECTED"}]),El=nl.makeEnum("livekit.ParticipantInfo.Kind",[{no:0,name:"STANDARD"},{no:1,name:"INGRESS"},{no:2,name:"EGRESS"},{no:3,name:"SIP"},{no:4,name:"AGENT"}]),Pl=nl.makeEnum("livekit.ParticipantInfo.KindDetail",[{no:0,name:"CLOUD_AGENT"},{no:1,name:"FORWARDED"}]),Ml=nl.makeEnum("livekit.Encryption.Type",[{no:0,name:"NONE"},{no:1,name:"GCM"},{no:2,name:"CUSTOM"}]),_l=nl.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:Rl,repeated:!0}]),Il=nl.makeMessageType("livekit.TrackInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"type",kind:"enum",T:nl.getEnumType(hl)},{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:nl.getEnumType(pl)},{no:10,name:"layers",kind:"message",T:Rl,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:_l,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:nl.getEnumType(Ml)},{no:17,name:"stream",kind:"scalar",T:9},{no:18,name:"version",kind:"message",T:Xl},{no:19,name:"audio_features",kind:"enum",T:nl.getEnumType(wl),repeated:!0},{no:20,name:"backup_codec_policy",kind:"enum",T:nl.getEnumType(ul)}]),Rl=nl.makeMessageType("livekit.VideoLayer",()=>[{no:1,name:"quality",kind:"enum",T:nl.getEnumType(gl)},{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}]),Al=nl.makeMessageType("livekit.DataPacket",()=>[{no:1,name:"kind",kind:"enum",T:nl.getEnumType(Ol)},{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:Nl,oneof:"value"},{no:3,name:"speaker",kind:"message",T:Dl,oneof:"value"},{no:6,name:"sip_dtmf",kind:"message",T:jl,oneof:"value"},{no:7,name:"transcription",kind:"message",T:Fl,oneof:"value"},{no:8,name:"metrics",kind:"message",T:sl,oneof:"value"},{no:9,name:"chat_message",kind:"message",T:zl,oneof:"value"},{no:10,name:"rpc_request",kind:"message",T:Bl,oneof:"value"},{no:11,name:"rpc_ack",kind:"message",T:Vl,oneof:"value"},{no:12,name:"rpc_response",kind:"message",T:ql,oneof:"value"},{no:13,name:"stream_header",kind:"message",T:nd,oneof:"value"},{no:14,name:"stream_chunk",kind:"message",T:rd,oneof:"value"},{no:15,name:"stream_trailer",kind:"message",T:ad,oneof:"value"},{no:16,name:"sequence",kind:"scalar",T:13},{no:17,name:"participant_sid",kind:"scalar",T:9}]),Ol=nl.makeEnum("livekit.DataPacket.Kind",[{no:0,name:"RELIABLE"},{no:1,name:"LOSSY"}]),Dl=nl.makeMessageType("livekit.ActiveSpeakerUpdate",()=>[{no:1,name:"speakers",kind:"message",T:Ll,repeated:!0}]),Ll=nl.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}]),Nl=nl.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}]),jl=nl.makeMessageType("livekit.SipDTMF",()=>[{no:3,name:"code",kind:"scalar",T:13},{no:4,name:"digit",kind:"scalar",T:9}]),Fl=nl.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:Ul,repeated:!0}]),Ul=nl.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}]),zl=nl.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}]),Bl=nl.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}]),Vl=nl.makeMessageType("livekit.RpcAck",()=>[{no:1,name:"request_id",kind:"scalar",T:9}]),ql=nl.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:Hl,oneof:"value"}]),Hl=nl.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}]),Gl=nl.makeMessageType("livekit.ParticipantTracks",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sids",kind:"scalar",T:9,repeated:!0}]),Wl=nl.makeMessageType("livekit.ServerInfo",()=>[{no:1,name:"edition",kind:"enum",T:nl.getEnumType($l)},{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}]),$l=nl.makeEnum("livekit.ServerInfo.Edition",[{no:0,name:"Standard"},{no:1,name:"Cloud"}]),Jl=nl.makeMessageType("livekit.ClientInfo",()=>[{no:1,name:"sdk",kind:"enum",T:nl.getEnumType(Kl)},{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}]),Kl=nl.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"}]),Ql=nl.makeMessageType("livekit.ClientConfiguration",()=>[{no:1,name:"video",kind:"message",T:Zl},{no:2,name:"screen",kind:"message",T:Zl},{no:3,name:"resume_connection",kind:"enum",T:nl.getEnumType(vl)},{no:4,name:"disabled_codecs",kind:"message",T:Yl},{no:5,name:"force_relay",kind:"enum",T:nl.getEnumType(vl)}]),Zl=nl.makeMessageType("livekit.VideoConfiguration",()=>[{no:1,name:"hardware_encoder",kind:"enum",T:nl.getEnumType(vl)}]),Yl=nl.makeMessageType("livekit.DisabledCodecs",()=>[{no:1,name:"codecs",kind:"message",T:xl,repeated:!0},{no:2,name:"publish",kind:"message",T:xl,repeated:!0}]),Xl=nl.makeMessageType("livekit.TimedVersion",()=>[{no:1,name:"unix_micro",kind:"scalar",T:3},{no:2,name:"ticks",kind:"scalar",T:5}]),ed=nl.makeEnum("livekit.DataStream.OperationType",[{no:0,name:"CREATE"},{no:1,name:"UPDATE"},{no:2,name:"DELETE"},{no:3,name:"REACTION"}]),td=nl.makeMessageType("livekit.DataStream.TextHeader",()=>[{no:1,name:"operation_type",kind:"enum",T:nl.getEnumType(ed)},{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"}),id=nl.makeMessageType("livekit.DataStream.ByteHeader",()=>[{no:1,name:"name",kind:"scalar",T:9}],{localName:"DataStream_ByteHeader"}),nd=nl.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:nl.getEnumType(Ml)},{no:8,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:9,name:"text_header",kind:"message",T:td,oneof:"content_header"},{no:10,name:"byte_header",kind:"message",T:id,oneof:"content_header"}],{localName:"DataStream_Header"}),rd=nl.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"}),ad=nl.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"}),od=nl.makeEnum("livekit.SignalTarget",[{no:0,name:"PUBLISHER"},{no:1,name:"SUBSCRIBER"}]),sd=nl.makeEnum("livekit.StreamState",[{no:0,name:"ACTIVE"},{no:1,name:"PAUSED"}]),cd=nl.makeEnum("livekit.CandidateProtocol",[{no:0,name:"UDP"},{no:1,name:"TCP"},{no:2,name:"TLS"}]),ld=nl.makeMessageType("livekit.SignalRequest",()=>[{no:1,name:"offer",kind:"message",T:kd,oneof:"message"},{no:2,name:"answer",kind:"message",T:kd,oneof:"message"},{no:3,name:"trickle",kind:"message",T:pd,oneof:"message"},{no:4,name:"add_track",kind:"message",T:hd,oneof:"message"},{no:5,name:"mute",kind:"message",T:gd,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:Td,oneof:"message"},{no:10,name:"update_layers",kind:"message",T:Pd,oneof:"message"},{no:11,name:"subscription_permission",kind:"message",T:zd,oneof:"message"},{no:12,name:"sync_state",kind:"message",T:qd,oneof:"message"},{no:13,name:"simulate",kind:"message",T:Wd,oneof:"message"},{no:14,name:"ping",kind:"scalar",T:3,oneof:"message"},{no:15,name:"update_metadata",kind:"message",T:Md,oneof:"message"},{no:16,name:"ping_req",kind:"message",T:$d,oneof:"message"},{no:17,name:"update_audio_track",kind:"message",T:Cd,oneof:"message"},{no:18,name:"update_video_track",kind:"message",T:Sd,oneof:"message"}]),dd=nl.makeMessageType("livekit.SignalResponse",()=>[{no:1,name:"join",kind:"message",T:md,oneof:"message"},{no:2,name:"answer",kind:"message",T:kd,oneof:"message"},{no:3,name:"offer",kind:"message",T:kd,oneof:"message"},{no:4,name:"trickle",kind:"message",T:pd,oneof:"message"},{no:5,name:"update",kind:"message",T:wd,oneof:"message"},{no:6,name:"track_published",kind:"message",T:fd,oneof:"message"},{no:8,name:"leave",kind:"message",T:Td,oneof:"message"},{no:9,name:"mute",kind:"message",T:gd,oneof:"message"},{no:10,name:"speakers_changed",kind:"message",T:Id,oneof:"message"},{no:11,name:"room_update",kind:"message",T:Rd,oneof:"message"},{no:12,name:"connection_quality",kind:"message",T:Od,oneof:"message"},{no:13,name:"stream_state_update",kind:"message",T:Ld,oneof:"message"},{no:14,name:"subscribed_quality_update",kind:"message",T:Fd,oneof:"message"},{no:15,name:"subscription_permission_update",kind:"message",T:Bd,oneof:"message"},{no:16,name:"refresh_token",kind:"scalar",T:9,oneof:"message"},{no:17,name:"track_unpublished",kind:"message",T:bd,oneof:"message"},{no:18,name:"pong",kind:"scalar",T:3,oneof:"message"},{no:19,name:"reconnect",kind:"message",T:vd,oneof:"message"},{no:20,name:"pong_resp",kind:"message",T:Jd,oneof:"message"},{no:21,name:"subscription_response",kind:"message",T:Zd,oneof:"message"},{no:22,name:"request_response",kind:"message",T:Yd,oneof:"message"},{no:23,name:"track_subscribed",kind:"message",T:eu,oneof:"message"},{no:24,name:"room_moved",kind:"message",T:Vd,oneof:"message"}]),ud=nl.makeMessageType("livekit.SimulcastCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"cid",kind:"scalar",T:9}]),hd=nl.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:nl.getEnumType(hl)},{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:nl.getEnumType(pl)},{no:9,name:"layers",kind:"message",T:Rl,repeated:!0},{no:10,name:"simulcast_codecs",kind:"message",T:ud,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:nl.getEnumType(Ml)},{no:15,name:"stream",kind:"scalar",T:9},{no:16,name:"backup_codec_policy",kind:"enum",T:nl.getEnumType(ul)},{no:17,name:"audio_features",kind:"enum",T:nl.getEnumType(wl),repeated:!0}]),pd=nl.makeMessageType("livekit.TrickleRequest",()=>[{no:1,name:"candidateInit",kind:"scalar",T:9},{no:2,name:"target",kind:"enum",T:nl.getEnumType(od)},{no:3,name:"final",kind:"scalar",T:8}]),gd=nl.makeMessageType("livekit.MuteTrackRequest",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"muted",kind:"scalar",T:8}]),md=nl.makeMessageType("livekit.JoinResponse",()=>[{no:1,name:"room",kind:"message",T:yl},{no:2,name:"participant",kind:"message",T:Sl},{no:3,name:"other_participants",kind:"message",T:Sl,repeated:!0},{no:4,name:"server_version",kind:"scalar",T:9},{no:5,name:"ice_servers",kind:"message",T:_d,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:Ql},{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:Wl},{no:13,name:"sif_trailer",kind:"scalar",T:12},{no:14,name:"enabled_publish_codecs",kind:"message",T:xl,repeated:!0},{no:15,name:"fast_publish",kind:"scalar",T:8}]),vd=nl.makeMessageType("livekit.ReconnectResponse",()=>[{no:1,name:"ice_servers",kind:"message",T:_d,repeated:!0},{no:2,name:"client_configuration",kind:"message",T:Ql},{no:3,name:"server_info",kind:"message",T:Wl},{no:4,name:"last_message_seq",kind:"scalar",T:13}]),fd=nl.makeMessageType("livekit.TrackPublishedResponse",()=>[{no:1,name:"cid",kind:"scalar",T:9},{no:2,name:"track",kind:"message",T:Il}]),bd=nl.makeMessageType("livekit.TrackUnpublishedResponse",()=>[{no:1,name:"track_sid",kind:"scalar",T:9}]),kd=nl.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}]),wd=nl.makeMessageType("livekit.ParticipantUpdate",()=>[{no:1,name:"participants",kind:"message",T:Sl,repeated:!0}]),yd=nl.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:Gl,repeated:!0}]),xd=nl.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:nl.getEnumType(gl)},{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}]),Cd=nl.makeMessageType("livekit.UpdateLocalAudioTrack",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"features",kind:"enum",T:nl.getEnumType(wl),repeated:!0}]),Sd=nl.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}]),Td=nl.makeMessageType("livekit.LeaveRequest",()=>[{no:1,name:"can_reconnect",kind:"scalar",T:8},{no:2,name:"reason",kind:"enum",T:nl.getEnumType(fl)},{no:3,name:"action",kind:"enum",T:nl.getEnumType(Ed)},{no:4,name:"regions",kind:"message",T:Kd}]),Ed=nl.makeEnum("livekit.LeaveRequest.Action",[{no:0,name:"DISCONNECT"},{no:1,name:"RESUME"},{no:2,name:"RECONNECT"}]),Pd=nl.makeMessageType("livekit.UpdateVideoLayers",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"layers",kind:"message",T:Rl,repeated:!0}]),Md=nl.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}]),_d=nl.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}]),Id=nl.makeMessageType("livekit.SpeakersChanged",()=>[{no:1,name:"speakers",kind:"message",T:Ll,repeated:!0}]),Rd=nl.makeMessageType("livekit.RoomUpdate",()=>[{no:1,name:"room",kind:"message",T:yl}]),Ad=nl.makeMessageType("livekit.ConnectionQualityInfo",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"quality",kind:"enum",T:nl.getEnumType(ml)},{no:3,name:"score",kind:"scalar",T:2}]),Od=nl.makeMessageType("livekit.ConnectionQualityUpdate",()=>[{no:1,name:"updates",kind:"message",T:Ad,repeated:!0}]),Dd=nl.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:nl.getEnumType(sd)}]),Ld=nl.makeMessageType("livekit.StreamStateUpdate",()=>[{no:1,name:"stream_states",kind:"message",T:Dd,repeated:!0}]),Nd=nl.makeMessageType("livekit.SubscribedQuality",()=>[{no:1,name:"quality",kind:"enum",T:nl.getEnumType(gl)},{no:2,name:"enabled",kind:"scalar",T:8}]),jd=nl.makeMessageType("livekit.SubscribedCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"qualities",kind:"message",T:Nd,repeated:!0}]),Fd=nl.makeMessageType("livekit.SubscribedQualityUpdate",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"subscribed_qualities",kind:"message",T:Nd,repeated:!0},{no:3,name:"subscribed_codecs",kind:"message",T:jd,repeated:!0}]),Ud=nl.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}]),zd=nl.makeMessageType("livekit.SubscriptionPermission",()=>[{no:1,name:"all_participants",kind:"scalar",T:8},{no:2,name:"track_permissions",kind:"message",T:Ud,repeated:!0}]),Bd=nl.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}]),Vd=nl.makeMessageType("livekit.RoomMovedResponse",()=>[{no:1,name:"room",kind:"message",T:yl},{no:2,name:"token",kind:"scalar",T:9},{no:3,name:"participant",kind:"message",T:Sl},{no:4,name:"other_participants",kind:"message",T:Sl,repeated:!0}]),qd=nl.makeMessageType("livekit.SyncState",()=>[{no:1,name:"answer",kind:"message",T:kd},{no:2,name:"subscription",kind:"message",T:yd},{no:3,name:"publish_tracks",kind:"message",T:fd,repeated:!0},{no:4,name:"data_channels",kind:"message",T:Gd,repeated:!0},{no:5,name:"offer",kind:"message",T:kd},{no:6,name:"track_sids_disabled",kind:"scalar",T:9,repeated:!0},{no:7,name:"datachannel_receive_states",kind:"message",T:Hd,repeated:!0}]),Hd=nl.makeMessageType("livekit.DataChannelReceiveState",()=>[{no:1,name:"publisher_sid",kind:"scalar",T:9},{no:2,name:"last_seq",kind:"scalar",T:13}]),Gd=nl.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:nl.getEnumType(od)}]),Wd=nl.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:nl.getEnumType(cd),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"}]),$d=nl.makeMessageType("livekit.Ping",()=>[{no:1,name:"timestamp",kind:"scalar",T:3},{no:2,name:"rtt",kind:"scalar",T:3}]),Jd=nl.makeMessageType("livekit.Pong",()=>[{no:1,name:"last_ping_timestamp",kind:"scalar",T:3},{no:2,name:"timestamp",kind:"scalar",T:3}]),Kd=nl.makeMessageType("livekit.RegionSettings",()=>[{no:1,name:"regions",kind:"message",T:Qd,repeated:!0}]),Qd=nl.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}]),Zd=nl.makeMessageType("livekit.SubscriptionResponse",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"err",kind:"enum",T:nl.getEnumType(kl)}]),Yd=nl.makeMessageType("livekit.RequestResponse",()=>[{no:1,name:"request_id",kind:"scalar",T:13},{no:2,name:"reason",kind:"enum",T:nl.getEnumType(Xd)},{no:3,name:"message",kind:"scalar",T:9}]),Xd=nl.makeEnum("livekit.RequestResponse.Reason",[{no:0,name:"OK"},{no:1,name:"NOT_FOUND"},{no:2,name:"NOT_ALLOWED"},{no:3,name:"LIMIT_EXCEEDED"}]),eu=nl.makeMessageType("livekit.TrackSubscribed",()=>[{no:1,name:"track_sid",kind:"scalar",T:9}]);function tu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var iu,nu,ru,au,ou,su,cu,lu,du={exports:{}},uu=(iu||(iu=1,ru=du.exports,au=function(){var e=function(){},t="undefined",i=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"],r={},a=null;function o(e,t){var i=e[t];if("function"==typeof i.bind)return i.bind(e);try{return Function.prototype.bind.call(i,e)}catch(Gb){return function(){return Function.prototype.apply.apply(i,[e,arguments])}}}function s(){console.log&&(console.log.apply||Function.prototype.apply.apply(console.log,[console,arguments])),console.trace}function c(){for(var i=this.getLevel(),r=0;r<n.length;r++){var a=n[r];this[a]=r<i?e:this.methodFactory(a,i,this.name)}if(this.log=this.debug,typeof console===t&&i<this.levels.SILENT)return"No console available for logging"}function l(e){return function(){typeof console!==t&&(c.call(this),this[e].apply(this,arguments))}}function d(n,r,a){return function(n){return"debug"===n&&(n="log"),typeof console!==t&&("trace"===n&&i?s:void 0!==console[n]?o(console,n):void 0!==console.log?o(console,"log"):e)}(n)||l.apply(this,arguments)}function u(e,i){var o,s,l,u=this,h="loglevel";function p(){var e;if(typeof window!==t&&h){try{e=window.localStorage[h]}catch(a){}if(typeof e===t)try{var i=window.document.cookie,n=encodeURIComponent(h),r=i.indexOf(n+"=");-1!==r&&(e=/^([^;]+)/.exec(i.slice(r+n.length+1))[1])}catch(a){}return void 0===u.levels[e]&&(e=void 0),e}}function g(e){var t=e;if("string"==typeof t&&void 0!==u.levels[t.toUpperCase()]&&(t=u.levels[t.toUpperCase()]),"number"==typeof t&&t>=0&&t<=u.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?h+=":"+e:"symbol"==typeof e&&(h=void 0),u.name=e,u.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},u.methodFactory=i||d,u.getLevel=function(){return null!=l?l:null!=s?s:o},u.setLevel=function(e,i){return l=g(e),!1!==i&&function(e){var i=(n[e]||"silent").toUpperCase();if(typeof window!==t&&h){try{return void(window.localStorage[h]=i)}catch(r){}try{window.document.cookie=encodeURIComponent(h)+"="+i+";"}catch(r){}}}(l),c.call(u)},u.setDefaultLevel=function(e){s=g(e),p()||u.setLevel(e,!1)},u.resetLevel=function(){l=null,function(){if(typeof window!==t&&h){try{window.localStorage.removeItem(h)}catch(e){}try{window.document.cookie=encodeURIComponent(h)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),c.call(u)},u.enableAll=function(e){u.setLevel(u.levels.TRACE,e)},u.disableAll=function(e){u.setLevel(u.levels.SILENT,e)},u.rebuild=function(){if(a!==u&&(o=g(a.getLevel())),c.call(u),a===u)for(var e in r)r[e].rebuild()},o=g(a?a.getLevel():"WARN");var m=p();null!=m&&(l=g(m)),c.call(u)}(a=new u).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=r[e];return t||(t=r[e]=new u(e,a.methodFactory)),t};var h=typeof window!==t?window.log:void 0;return a.noConflict=function(){return typeof window!==t&&window.log===a&&(window.log=h),a},a.getLoggers=function(){return r},a.default=a,a},(nu=du).exports?nu.exports=au():ru.log=au()),du.exports);(su=ou||(ou={}))[su.trace=0]="trace",su[su.debug=1]="debug",su[su.info=2]="info",su[su.warn=3]="warn",su[su.error=4]="error",su[su.silent=5]="silent",(lu=cu||(cu={})).Default="livekit",lu.Room="livekit-room",lu.Participant="livekit-participant",lu.Track="livekit-track",lu.Publication="livekit-track-publication",lu.Engine="livekit-engine",lu.Signal="livekit-signal",lu.PCManager="livekit-pc-manager",lu.PCTransport="livekit-pc-transport",lu.E2EE="lk-e2ee";let hu=uu.getLogger("livekit");function pu(e){const t=uu.getLogger(e);return t.setDefaultLevel(hu.getLevel()),t}Object.values(cu).map(e=>uu.getLogger(e)),hu.setDefaultLevel(ou.info);const gu=uu.getLogger("lk-e2ee"),mu=7e3,vu=[0,300,1200,2700,4800,mu,mu,mu,mu,mu];function fu(e,t,i,n){return new(i||(i=Promise))(function(r,a){function o(e){try{c(n.next(e))}catch(Gb){a(Gb)}}function s(e){try{c(n.throw(e))}catch(Gb){a(Gb)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(o,s)}c((n=n.apply(e,t||[])).next())})}function bu(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=function(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}"function"==typeof SuppressedError&&SuppressedError;var ku,wu={exports:{}},yu=function(){if(ku)return wu.exports;ku=1;var e,t="object"==typeof Reflect?Reflect:null,i=t&&"function"==typeof t.apply?t.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)};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 n=Number.isNaN||function(e){return e!=e};function r(){r.init.call(this)}wu.exports=r,wu.exports.once=function(e,t){return new Promise(function(i,n){function r(i){e.removeListener(t,a),n(i)}function a(){"function"==typeof e.removeListener&&e.removeListener("error",r),i([].slice.call(arguments))}g(e,t,a,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,r)})},r.EventEmitter=r,r.prototype._events=void 0,r.prototype._eventsCount=0,r.prototype._maxListeners=void 0;var a=10;function o(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?r.defaultMaxListeners:e._maxListeners}function c(e,t,i,n){var r,a,c;if(o(i),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,i.listener?i.listener:i),a=e._events),c=a[t]),void 0===c)c=a[t]=i,++e._eventsCount;else if("function"==typeof c?c=a[t]=n?[i,c]:[c,i]:n?c.unshift(i):c.push(i),(r=s(e))>0&&c.length>r&&!c.warned){c.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+c.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=c.length,console&&console.warn}return e}function l(){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,i){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},r=l.bind(n);return r.listener=i,n.wrapFn=r,r}function u(e,t,i){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"==typeof r?i?[r.listener||r]:[r]:i?function(e){for(var t=new Array(e.length),i=0;i<t.length;++i)t[i]=e[i].listener||e[i];return t}(r):p(r,r.length)}function h(e){var t=this._events;if(void 0!==t){var i=t[e];if("function"==typeof i)return 1;if(void 0!==i)return i.length}return 0}function p(e,t){for(var i=new Array(t),n=0;n<t;++n)i[n]=e[n];return i}function g(e,t,i,n){if("function"==typeof e.on)n.once?e.once(t,i):e.on(t,i);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 r(a){n.once&&e.removeEventListener(t,r),i(a)})}}return Object.defineProperty(r,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(e){if("number"!=typeof e||e<0||n(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");a=e}}),r.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},r.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||n(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},r.prototype.getMaxListeners=function(){return s(this)},r.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,a=this._events;if(void 0!==a)r=r&&void 0===a.error;else if(!r)return!1;if(r){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var c=a[e];if(void 0===c)return!1;if("function"==typeof c)i(c,this,t);else{var l=c.length,d=p(c,l);for(n=0;n<l;++n)i(d[n],this,t)}return!0},r.prototype.addListener=function(e,t){return c(this,e,t,!1)},r.prototype.on=r.prototype.addListener,r.prototype.prependListener=function(e,t){return c(this,e,t,!0)},r.prototype.once=function(e,t){return o(t),this.on(e,d(this,e,t)),this},r.prototype.prependOnceListener=function(e,t){return o(t),this.prependListener(e,d(this,e,t)),this},r.prototype.removeListener=function(e,t){var i,n,r,a,s;if(o(t),void 0===(n=this._events))return this;if(void 0===(i=n[e]))return this;if(i===t||i.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||t));else if("function"!=typeof i){for(r=-1,a=i.length-1;a>=0;a--)if(i[a]===t||i[a].listener===t){s=i[a].listener,r=a;break}if(r<0)return this;0===r?i.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(i,r),1===i.length&&(n[e]=i[0]),void 0!==n.removeListener&&this.emit("removeListener",e,s||t)}return this},r.prototype.off=r.prototype.removeListener,r.prototype.removeAllListeners=function(e){var t,i,n;if(void 0===(i=this._events))return this;if(void 0===i.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==i[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete i[e]),this;if(0===arguments.length){var r,a=Object.keys(i);for(n=0;n<a.length;++n)"removeListener"!==(r=a[n])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=i[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},r.prototype.listeners=function(e){return u(this,e,!0)},r.prototype.rawListeners=function(e){return u(this,e,!1)},r.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},r.prototype.listenerCount=h,r.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]},wu.exports}();let xu=!0,Cu=!0;function Su(e,t,i){const n=e.match(t);return n&&n.length>=i&&parseFloat(n[i],10)}function Tu(e,t,i){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,r=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return r.apply(this,arguments);const a=e=>{const t=i(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,a),r.apply(this,[e,a])};const a=n.removeEventListener;n.removeEventListener=function(e,i){if(e!==t||!this._eventMap||!this._eventMap[t])return a.apply(this,arguments);if(!this._eventMap[t].has(i))return a.apply(this,arguments);const n=this._eventMap[t].get(i);return this._eventMap[t].delete(i),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,a.apply(this,[e,n])},Object.defineProperty(n,"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 Eu(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(xu=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function Pu(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(Cu=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function Mu(){if("object"==typeof window){if(xu)return;"undefined"!=typeof console&&console.log}}function _u(e,t){}function Iu(e){return"[object Object]"===Object.prototype.toString.call(e)}function Ru(e){return Iu(e)?Object.keys(e).reduce(function(t,i){const n=Iu(e[i]),r=n?Ru(e[i]):e[i],a=n&&!Object.keys(r).length;return void 0===r||a?t:Object.assign(t,{[i]:r})},{}):e}function Au(e,t,i){t&&!i.has(t.id)&&(i.set(t.id,t),Object.keys(t).forEach(n=>{n.endsWith("Id")?Au(e,e.get(t[n]),i):n.endsWith("Ids")&&t[n].forEach(t=>{Au(e,e.get(t),i)})}))}function Ou(e,t,i){const n=i?"outbound-rtp":"inbound-rtp",r=new Map;if(null===t)return r;const a=[];return e.forEach(e=>{"track"===e.type&&e.trackIdentifier===t.id&&a.push(e)}),a.forEach(t=>{e.forEach(i=>{i.type===n&&i.trackId===t.id&&Au(e,i,r)})}),r}const Du=Mu;function Lu(e,t){const i=e&&e.navigator;if(!i.mediaDevices)return;const n=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach(i=>{if("require"===i||"advanced"===i||"mediaSource"===i)return;const n="object"==typeof e[i]?e[i]:{ideal:e[i]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);const r=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};"number"==typeof n.ideal?(e[r("min",i)]=n.ideal,t.optional.push(e),e={},e[r("max",i)]=n.ideal,t.optional.push(e)):(e[r("",i)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[r("",i)]=n.exact):["min","max"].forEach(e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[r(e,i)]=n[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},r=function(e,r){if(t.version>=61)return r(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"==typeof e.video){let a=e.video.facingMode;a=a&&("object"==typeof a?a:{ideal:a});const o=t.version<66;if(a&&("user"===a.exact||"environment"===a.exact||"user"===a.ideal||"environment"===a.ideal)&&(!i.mediaDevices.getSupportedConstraints||!i.mediaDevices.getSupportedConstraints().facingMode||o)){let t;if(delete e.video.facingMode,"environment"===a.exact||"environment"===a.ideal?t=["back","rear"]:"user"!==a.exact&&"user"!==a.ideal||(t=["front"]),t)return i.mediaDevices.enumerateDevices().then(i=>{let o=(i=i.filter(e=>"videoinput"===e.kind)).find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!o&&i.length&&t.includes("back")&&(o=i[i.length-1]),o&&(e.video.deviceId=a.exact?{exact:o.deviceId}:{ideal:o.deviceId}),e.video=n(e.video),Du("chrome: "+JSON.stringify(e)),r(e)})}e.video=n(e.video)}return Du("chrome: "+JSON.stringify(e)),r(e)},a=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(i.getUserMedia=function(e,t,n){r(e,e=>{i.webkitGetUserMedia(e,t,e=>{n&&n(a(e))})})}.bind(i),i.mediaDevices.getUserMedia){const e=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(t){return r(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(a(e))))}}}function Nu(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function ju(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",i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===i.track.id):{track:i.track};const r=new Event("track");r.track=i.track,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)}),t.stream.getTracks().forEach(i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===i.id):{track:i};const r=new Event("track");r.track=i,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else Tu(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 i=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let r=i.apply(this,arguments);return r||(r=t(this,e),this._senders.push(r)),r};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.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 Uu(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 i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then(t=>Ou(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}),Tu(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then(t=>Ou(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,i,n;return this.getSenders().forEach(i=>{i.track===e&&(t?n=!0:t=i)}),this.getReceivers().forEach(t=>(t.track===e&&(i?n=!0:i=t),t.track===e)),n||t&&i?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():i?i.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function zu(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,i){if(!i)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[i.id]?-1===this._shimmedLocalStreams[i.id].indexOf(n)&&this._shimmedLocalStreams[i.id].push(n):this._shimmedLocalStreams[i.id]=[i,n],n};const i=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();i.apply(this,arguments);const n=this.getSenders().filter(e=>-1===t.indexOf(e));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{const i=this._shimmedLocalStreams[t].indexOf(e);-1!==i&&this._shimmedLocalStreams[t].splice(i,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]}),r.apply(this,arguments)}}function Bu(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return zu(e);const i=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=i.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};const n=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 i=new e.MediaStream(t.getTracks());this._streams[t.id]=i,this._reverseStreams[i.id]=t,t=i}n.apply(this,[t])};const r=e.RTCPeerConnection.prototype.removeStream;function a(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(r.id,"g"),n.id)}),new RTCSessionDescription({type:t.type,sdp:i})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},r.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,i){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const n=[].slice.call(arguments,1);if(1!==n.length||!n[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 r=this._streams[i.id];if(r)r.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const n=new e.MediaStream([t]);this._streams[i.id]=n,this._reverseStreams[n.id]=i,this.addStream(n)}return this.getSenders().find(e=>e.track===t)},["createOffer","createAnswer"].forEach(function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?i.apply(this,[t=>{const i=a(this,t);e[0].apply(null,[i])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):i.apply(this,arguments).then(e=>a(this,e))}};e.RTCPeerConnection.prototype[t]=n[t]});const o=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(n.id,"g"),r.id)}),new RTCSessionDescription({type:t.type,sdp:i})}(this,arguments[0]),o.apply(this,arguments)):o.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:a(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(i=>{this._streams[i].getTracks().find(t=>e.track===t)&&(t=this._streams[i])}),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function Vu(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]})}function qu(e,t){Tu(e,"negotiationneeded",e=>{const i=e.target;if(!(t.version<72||i.getConfiguration&&"plan-b"===i.getConfiguration().sdpSemantics)||"stable"===i.signalingState)return e})}var Hu=Object.freeze({__proto__:null,fixNegotiationNeeded:qu,shimAddTrackRemoveTrack:Bu,shimAddTrackRemoveTrackWithNative:zu,shimGetSendersWithDtmf:Fu,shimGetUserMedia:Lu,shimMediaStream:Nu,shimOnTrack:ju,shimPeerConnection:Vu,shimSenderReceiverGetStats:Uu});function Gu(e,t){const i=e&&e.navigator,n=e&&e.MediaStreamTrack;if(i.getUserMedia=function(e,t,n){i.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in i.mediaDevices.getSupportedConstraints())){const e=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])},t=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(i){return"object"==typeof i&&"object"==typeof i.audio&&(i=JSON.parse(JSON.stringify(i)),e(i.audio,"autoGainControl","mozAutoGainControl"),e(i.audio,"noiseSuppression","mozNoiseSuppression")),t(i)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const i=t.apply(this,arguments);return e(i,"mozAutoGainControl","autoGainControl"),e(i,"mozNoiseSuppression","noiseSuppression"),i}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(i){return"audio"===this.kind&&"object"==typeof i&&(i=JSON.parse(JSON.stringify(i)),e(i,"autoGainControl","mozAutoGainControl"),e(i,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[i])}}}}function Wu(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 $u(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 i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]});const i={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,a]=arguments;return n.apply(this,[e||null]).then(e=>{if(t.version<53&&!r)try{e.forEach(e=>{e.type=i[e.type]||e.type})}catch(Gb){if("TypeError"!==Gb.name)throw Gb;e.forEach((t,n)=>{e.set(n,Object.assign({},t,{type:i[t.type]||t.type}))})}return e}).then(r,a)}}function Ju(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 i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.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 Ku(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}),Tu(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function Qu(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 Zu(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function Yu(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 i=e.length>0;i&&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 n=t.apply(this,arguments);if(i){const{sender:t}=n,i=t.getParameters();(!("encodings"in i)||1===i.encodings.length&&0===Object.keys(i.encodings[0]).length)&&(i.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(i).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return n})}function Xu(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 eh(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 th(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 ih=Object.freeze({__proto__:null,shimAddTransceiver:Yu,shimCreateAnswer:th,shimCreateOffer:eh,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(i){if(!i||!i.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===i.video?i.video={mediaSource:t}:i.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(i)})},shimGetParameters:Xu,shimGetUserMedia:Gu,shimOnTrack:Wu,shimPeerConnection:$u,shimRTCDataChannel:Zu,shimReceiverGetStats:Ku,shimRemoveStream:Qu,shimSenderGetStats:Ju});function nh(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(i=>t.call(this,i,e)),e.getVideoTracks().forEach(i=>t.call(this,i,e))},e.RTCPeerConnection.prototype.addTrack=function(e){for(var i=arguments.length,n=new Array(i>1?i-1:0),r=1;r<i;r++)n[r-1]=arguments[r];return n&&n.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 i=e.getTracks();this.getSenders().forEach(e=>{i.includes(e.track)&&this.removeTrack(e)})})}}function rh(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 i=new Event("addstream");i.stream=t,e.dispatchEvent(i)})}),t.apply(e,arguments)}}}function ah(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,i=t.createOffer,n=t.createAnswer,r=t.setLocalDescription,a=t.setRemoteDescription,o=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],r=i.apply(this,[n]);return t?(r.then(e,t),Promise.resolve()):r},t.createAnswer=function(e,t){const i=arguments.length>=2?arguments[2]:arguments[0],r=n.apply(this,[i]);return t?(r.then(e,t),Promise.resolve()):r};let s=function(e,t,i){const n=r.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n};t.setLocalDescription=s,s=function(e,t,i){const n=a.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.setRemoteDescription=s,s=function(e,t,i){const n=o.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.addIceCandidate=s}function oh(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,i=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>i(sh(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,i,n){t.mediaDevices.getUserMedia(e).then(i,n)}.bind(t))}function sh(e){return e&&void 0!==e.video?Object.assign({},e,{video:Ru(e.video)}):e}function ch(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,i){if(e&&e.iceServers){const t=[];for(let i=0;i<e.iceServers.length;i++){let n=e.iceServers[i];void 0===n.urls&&n.url?(_u(),n=JSON.parse(JSON.stringify(n)),n.urls=n.url,delete n.url,t.push(n)):t.push(e.iceServers[i])}e.iceServers=t}return new t(e,i)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function lh(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 dh(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 i=this.getTransceivers().find(e=>"video"===e.receiver.track.kind);!1===e.offerToReceiveVideo&&i?"sendrecv"===i.direction?i.setDirection?i.setDirection("sendonly"):i.direction="sendonly":"recvonly"===i.direction&&(i.setDirection?i.setDirection("inactive"):i.direction="inactive"):!0!==e.offerToReceiveVideo||i||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}}function uh(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var hh,ph=Object.freeze({__proto__:null,shimAudioContext:uh,shimCallbacksAPI:ah,shimConstraints:sh,shimCreateOfferLegacy:dh,shimGetUserMedia:oh,shimLocalStreamsAPI:nh,shimRTCIceServerUrls:ch,shimRemoteStreamsAPI:rh,shimTrackEventTransceiver:lh}),gh={exports:{}},mh=(hh||(hh=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 i=t.splitSections(e);return i&&i[0]},t.getMediaSections=function(e){const i=t.splitSections(e);return i.shift(),i},t.matchPrefix=function(e,i){return t.splitLines(e).filter(e=>0===e.indexOf(i))},t.parseCandidate=function(e){let t;t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" ");const i={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 n=8;n<t.length;n+=2)switch(t[n]){case"raddr":i.relatedAddress=t[n+1];break;case"rport":i.relatedPort=parseInt(t[n+1],10);break;case"tcptype":i.tcpType=t[n+1];break;case"ufrag":i.ufrag=t[n+1],i.usernameFragment=t[n+1];break;default:void 0===i[t[n]]&&(i[t[n]]=t[n+1])}return i},t.writeCandidate=function(e){const t=[];t.push(e.foundation);const i=e.component;"rtp"===i?t.push(1):"rtcp"===i?t.push(2):t.push(i),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);const n=e.type;return t.push("typ"),t.push(n),"host"!==n&&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 i={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),i.name=t[0],i.clockRate=parseInt(t[1],10),i.channels=3===t.length?parseInt(t[2],10):1,i.numChannels=i.channels,i},t.writeRtpMap=function(e){let t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);const i=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==i?"/"+i:"")+"\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 i;const n=e.substring(e.indexOf(" ")+1).split(";");for(let r=0;r<n.length;r++)i=n[r].trim().split("="),t[i[0].trim()]=i[1];return t},t.writeFmtp=function(e){let t="",i=e.payloadType;if(void 0!==e.preferredPayloadType&&(i=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){const n=[];Object.keys(e.parameters).forEach(t=>{void 0!==e.parameters[t]?n.push(t+"="+e.parameters[t]):n.push(t)}),t+="a=fmtp:"+i+" "+n.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="",i=e.payloadType;return void 0!==e.preferredPayloadType&&(i=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach(e=>{t+="a=rtcp-fb:"+i+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"}),t},t.parseSsrcMedia=function(e){const t=e.indexOf(" "),i={ssrc:parseInt(e.substring(7,t),10)},n=e.indexOf(":",t);return n>-1?(i.attribute=e.substring(t+1,n),i.value=e.substring(n+1)):i.attribute=e.substring(t+1),i},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 i=t.matchPrefix(e,"a=mid:")[0];if(i)return i.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,i){return{role:"auto",fingerprints:t.matchPrefix(e+i,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let i="a=setup:"+t+"\r\n";return e.fingerprints.forEach(e=>{i+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"}),i},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,i){return t.matchPrefix(e+i,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,i){const n=t.matchPrefix(e+i,"a=ice-ufrag:")[0],r=t.matchPrefix(e+i,"a=ice-pwd:")[0];return n&&r?{usernameFragment:n.substring(12),password:r.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 i={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(" ");i.profile=n[2];for(let a=3;a<n.length;a++){const r=n[a],o=t.matchPrefix(e,"a=rtpmap:"+r+" ")[0];if(o){const n=t.parseRtpMap(o),a=t.matchPrefix(e,"a=fmtp:"+r+" ");switch(n.parameters=a.length?t.parseFmtp(a[0]):{},n.rtcpFeedback=t.matchPrefix(e,"a=rtcp-fb:"+r+" ").map(t.parseRtcpFb),i.codecs.push(n),n.name.toUpperCase()){case"RED":case"ULPFEC":i.fecMechanisms.push(n.name.toUpperCase())}}}t.matchPrefix(e,"a=extmap:").forEach(e=>{i.headerExtensions.push(t.parseExtmap(e))});const r=t.matchPrefix(e,"a=rtcp-fb:* ").map(t.parseRtcpFb);return i.codecs.forEach(e=>{r.forEach(t=>{e.rtcpFeedback.find(e=>e.type===t.type&&e.parameter===t.parameter)||e.rtcpFeedback.push(t)})}),i},t.writeRtpDescription=function(e,i){let n="";n+="m="+e+" ",n+=i.codecs.length>0?"9":"0",n+=" "+(i.profile||"UDP/TLS/RTP/SAVPF")+" ",n+=i.codecs.map(e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType).join(" ")+"\r\n",n+="c=IN IP4 0.0.0.0\r\n",n+="a=rtcp:9 IN IP4 0.0.0.0\r\n",i.codecs.forEach(e=>{n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)});let r=0;return i.codecs.forEach(e=>{e.maxptime>r&&(r=e.maxptime)}),r>0&&(n+="a=maxptime:"+r+"\r\n"),i.headerExtensions&&i.headerExtensions.forEach(e=>{n+=t.writeExtmap(e)}),n},t.parseRtpEncodingParameters=function(e){const i=[],n=t.parseRtpParameters(e),r=-1!==n.fecMechanisms.indexOf("RED"),a=-1!==n.fecMechanisms.indexOf("ULPFEC"),o=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute),s=o.length>0&&o[0].ssrc;let c;const l=t.matchPrefix(e,"a=ssrc-group:FID").map(e=>e.substring(17).split(" ").map(e=>parseInt(e,10)));l.length>0&&l[0].length>1&&l[0][0]===s&&(c=l[0][1]),n.codecs.forEach(e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:s,codecPayloadType:parseInt(e.parameters.apt,10)};s&&c&&(t.rtx={ssrc:c}),i.push(t),r&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:s,mechanism:a?"red+ulpfec":"red"},i.push(t))}}),0===i.length&&s&&i.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,i.forEach(e=>{e.maxBitrate=d})),i},t.parseRtcpParameters=function(e){const i={},n=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute)[0];n&&(i.cname=n.value,i.ssrc=n.ssrc);const r=t.matchPrefix(e,"a=rtcp-rsize");i.reducedSize=r.length>0,i.compound=0===r.length;const a=t.matchPrefix(e,"a=rtcp-mux");return i.mux=a.length>0,i},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 i;const n=t.matchPrefix(e,"a=msid:");if(1===n.length)return i=n[0].substring(7).split(" "),{stream:i[0],track:i[1]};const r=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"msid"===e.attribute);return r.length>0?(i=r[0].value.split(" "),{stream:i[0],track:i[1]}):void 0},t.parseSctpDescription=function(e){const i=t.parseMLine(e),n=t.matchPrefix(e,"a=max-message-size:");let r;n.length>0&&(r=parseInt(n[0].substring(19),10)),isNaN(r)&&(r=65536);const a=t.matchPrefix(e,"a=sctp-port:");if(a.length>0)return{port:parseInt(a[0].substring(12),10),protocol:i.fmt,maxMessageSize:r};const o=t.matchPrefix(e,"a=sctpmap:");if(o.length>0){const e=o[0].substring(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:r}}},t.writeSctpDescription=function(e,t){let i=[];return i="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&&i.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),i.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,i,n){let r;const a=void 0!==i?i:2;return r=e||t.generateSessionId(),"v=0\r\no="+(n||"thisisadapterortc")+" "+r+" "+a+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,i){const n=t.splitLines(e);for(let t=0;t<n.length;t++)switch(n[t]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return n[t].substring(2)}return i?t.getDirection(i):"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 i=t.splitLines(e)[0].substring(2).split(" ");return{kind:i[0],port:parseInt(i[1],10),protocol:i[2],fmt:i.slice(3).join(" ")}},t.parseOLine=function(e){const i=t.matchPrefix(e,"o=")[0].substring(2).split(" ");return{username:i[0],sessionId:i[1],sessionVersion:parseInt(i[2],10),netType:i[3],addressType:i[4],address:i[5]}},t.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;const i=t.splitLines(e);for(let t=0;t<i.length;t++)if(i[t].length<2||"="!==i[t].charAt(1))return!1;return!0},e.exports=t}(gh)),gh.exports),vh=tu(mh),fh=Ps({__proto__:null,default:vh},[mh]);function bh(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 i=new t(e),n=vh.parseCandidate(e.candidate);for(const e in n)e in i||Object.defineProperty(i,e,{value:n[e]});return i.toJSON=function(){return{candidate:i.candidate,sdpMid:i.sdpMid,sdpMLineIndex:i.sdpMLineIndex,usernameFragment:i.usernameFragment}},i}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,Tu(e,"icecandidate",t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t))}function kh(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||Tu(e,"icecandidate",e=>{if(e.candidate){const t=vh.parseCandidate(e.candidate.candidate);"relay"===t.type&&(e.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[t.priority>>24])}return e})}function wh(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 i=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=vh.splitSections(e.sdp);return t.shift(),t.some(e=>{const t=vh.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 i=parseInt(t[1],10);return i!=i?-1:i}(arguments[0]),i=function(e){let i=65536;return"firefox"===t.browser&&(i=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),i}(e),n=function(e,i){let n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);const r=vh.matchPrefix(e.sdp,"a=max-message-size:");return r.length>0?n=parseInt(r[0].substring(19),10):"firefox"===t.browser&&-1!==i&&(n=2147483637),n}(arguments[0],e);let r;r=0===i&&0===n?Number.POSITIVE_INFINITY:0===i||0===n?Math.max(i,n):Math.min(i,n);const a={};Object.defineProperty(a,"maxMessageSize",{get:()=>r}),this._sctp=a}return i.apply(this,arguments)}}function yh(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const i=e.send;e.send=function(){const n=arguments[0],r=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&r>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return i.apply(e,arguments)}}const i=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=i.apply(this,arguments);return t(e,this),e},Tu(e,"datachannel",e=>(t(e.channel,e.target),e))}function xh(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 i=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 i=new Event("connectionstatechange",e);t.dispatchEvent(i)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),i.apply(this,arguments)}})}function Ch(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t._safariVersion>=13.1)return;const i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const i=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:i}):t.sdp=i}return i.apply(this,arguments)}}function Sh(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.addIceCandidate;i&&0!==i.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():i.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function Th(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.setLocalDescription;i&&0!==i.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return i.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?i.apply(this,[e]):("offer"===e.type?this.createOffer:this.createAnswer).apply(this).then(e=>i.apply(this,[e]))})}var Eh=Object.freeze({__proto__:null,removeExtmapAllowMixed:Ch,shimAddIceCandidateNullOrEmpty:Sh,shimConnectionState:xh,shimMaxMessageSize:wh,shimParameterlessSetLocalDescription:Th,shimRTCIceCandidate:bh,shimRTCIceCandidateRelayProtocol:kh,shimSendThrowTypeError:yh});!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 i=Mu,n=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:i}=e;if(i.userAgentData&&i.userAgentData.brands){const e=i.userAgentData.brands.find(e=>"Chromium"===e.brand);if(e)return{browser:"chrome",version:parseInt(e.version,10)}}if(i.mozGetUserMedia)t.browser="firefox",t.version=parseInt(Su(i.userAgent,/Firefox\/(\d+)\./,1));else if(i.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=parseInt(Su(i.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else{if(!e.RTCPeerConnection||!i.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=parseInt(Su(i.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype,t._safariVersion=Su(i.userAgent,/Version\/(\d+(\.?\d+))/,1)}return t}(e),r={browserDetails:n,commonShim:Eh,extractVersion:Su,disableLog:Eu,disableWarnings:Pu,sdp:fh};switch(n.browser){case"chrome":if(!Hu||!Vu||!t.shimChrome)return i("Chrome shim is not included in this adapter release."),r;if(null===n.version)return i("Chrome shim can not determine version, not shimming."),r;i("adapter.js shimming chrome."),r.browserShim=Hu,Sh(e,n),Th(e),Lu(e,n),Nu(e),Vu(e,n),ju(e),Bu(e,n),Fu(e),Uu(e),qu(e,n),bh(e),kh(e),xh(e),wh(e,n),yh(e),Ch(e,n);break;case"firefox":if(!ih||!$u||!t.shimFirefox)return i("Firefox shim is not included in this adapter release."),r;i("adapter.js shimming firefox."),r.browserShim=ih,Sh(e,n),Th(e),Gu(e,n),$u(e,n),Wu(e),Qu(e),Ju(e),Ku(e),Zu(e),Yu(e),Xu(e),eh(e),th(e),bh(e),xh(e),wh(e,n),yh(e);break;case"safari":if(!ph||!t.shimSafari)return i("Safari shim is not included in this adapter release."),r;i("adapter.js shimming safari."),r.browserShim=ph,Sh(e,n),Th(e),ch(e),dh(e),ah(e),nh(e),rh(e),lh(e),oh(e),uh(e),bh(e),kh(e),wh(e,n),yh(e),Ch(e,n);break;default:i("Unsupported browser!")}}({window:"undefined"==typeof window?void 0:window});const Ph="lk_e2ee";var Mh,_h,Ih,Rh,Ah,Oh,Dh,Lh,Nh,jh,Fh,Uh,zh,Bh,Vh,qh,Hh,Gh,Wh,$h,Jh,Kh;function Qh(){return void 0!==window.RTCRtpScriptTransform}(_h=Mh||(Mh={})).SetKey="setKey",_h.RatchetRequest="ratchetRequest",_h.KeyRatcheted="keyRatcheted",(Ih||(Ih={})).KeyRatcheted="keyRatcheted",(Ah=Rh||(Rh={})).ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",Ah.EncryptionError="encryptionError",(Oh||(Oh={})).Error="cryptorError",yu.EventEmitter;class Zh extends Error{constructor(e,t){super(t||"an error has occured"),this.name="LiveKitError",this.code=e}}(Lh=Dh||(Dh={}))[Lh.NotAllowed=0]="NotAllowed",Lh[Lh.ServerUnreachable=1]="ServerUnreachable",Lh[Lh.InternalError=2]="InternalError",Lh[Lh.Cancelled=3]="Cancelled",Lh[Lh.LeaveRequest=4]="LeaveRequest",Lh[Lh.Timeout=5]="Timeout";class Yh extends Zh{constructor(e,t,i,n){super(1,e),this.name="ConnectionError",this.status=i,this.reason=t,this.context=n,this.reasonName=Dh[t]}}class Xh extends Zh{constructor(e){super(21,null!=e?e:"device is unsupported"),this.name="DeviceUnsupportedError"}}class ep extends Zh{constructor(e){super(20,null!=e?e:"track is invalid"),this.name="TrackInvalidError"}}class tp extends Zh{constructor(e){super(10,null!=e?e:"unsupported server"),this.name="UnsupportedServer"}}class ip extends Zh{constructor(e){super(12,null!=e?e:"unexpected connection state"),this.name="UnexpectedConnectionState"}}class np extends Zh{constructor(e){super(13,null!=e?e:"unable to negotiate"),this.name="NegotiationError"}}class rp extends Zh{constructor(e,t){super(15,e),this.name="PublishTrackError",this.status=t}}class ap extends Zh{constructor(e,t){super(15,e),this.reason=t,this.reasonName="string"==typeof t?t:Xd[t]}}(jh=Nh||(Nh={}))[jh.AlreadyOpened=0]="AlreadyOpened",jh[jh.AbnormalEnd=1]="AbnormalEnd",jh[jh.DecodeFailed=2]="DecodeFailed",jh[jh.LengthExceeded=3]="LengthExceeded",jh[jh.Incomplete=4]="Incomplete",jh[jh.HandlerAlreadyRegistered=7]="HandlerAlreadyRegistered";class op extends Zh{constructor(e,t){super(16,e),this.name="DataStreamError",this.reason=t,this.reasonName=Nh[t]}}(Uh=Fh||(Fh={})).PermissionDenied="PermissionDenied",Uh.NotFound="NotFound",Uh.DeviceInUse="DeviceInUse",Uh.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}}(Fh||(Fh={})),(Bh=zh||(zh={}))[Bh.InvalidKey=0]="InvalidKey",Bh[Bh.MissingKey=1]="MissingKey",Bh[Bh.InternalError=2]="InternalError",(qh=Vh||(Vh={})).Connected="connected",qh.Reconnecting="reconnecting",qh.SignalReconnecting="signalReconnecting",qh.Reconnected="reconnected",qh.Disconnected="disconnected",qh.ConnectionStateChanged="connectionStateChanged",qh.Moved="moved",qh.MediaDevicesChanged="mediaDevicesChanged",qh.ParticipantConnected="participantConnected",qh.ParticipantDisconnected="participantDisconnected",qh.TrackPublished="trackPublished",qh.TrackSubscribed="trackSubscribed",qh.TrackSubscriptionFailed="trackSubscriptionFailed",qh.TrackUnpublished="trackUnpublished",qh.TrackUnsubscribed="trackUnsubscribed",qh.TrackMuted="trackMuted",qh.TrackUnmuted="trackUnmuted",qh.LocalTrackPublished="localTrackPublished",qh.LocalTrackUnpublished="localTrackUnpublished",qh.LocalAudioSilenceDetected="localAudioSilenceDetected",qh.ActiveSpeakersChanged="activeSpeakersChanged",qh.ParticipantMetadataChanged="participantMetadataChanged",qh.ParticipantNameChanged="participantNameChanged",qh.ParticipantAttributesChanged="participantAttributesChanged",qh.ParticipantActive="participantActive",qh.RoomMetadataChanged="roomMetadataChanged",qh.DataReceived="dataReceived",qh.SipDTMFReceived="sipDTMFReceived",qh.TranscriptionReceived="transcriptionReceived",qh.ConnectionQualityChanged="connectionQualityChanged",qh.TrackStreamStateChanged="trackStreamStateChanged",qh.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",qh.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",qh.AudioPlaybackStatusChanged="audioPlaybackChanged",qh.VideoPlaybackStatusChanged="videoPlaybackChanged",qh.MediaDevicesError="mediaDevicesError",qh.ParticipantPermissionsChanged="participantPermissionsChanged",qh.SignalConnected="signalConnected",qh.RecordingStatusChanged="recordingStatusChanged",qh.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",qh.EncryptionError="encryptionError",qh.DCBufferStatusChanged="dcBufferStatusChanged",qh.ActiveDeviceChanged="activeDeviceChanged",qh.ChatMessage="chatMessage",qh.LocalTrackSubscribed="localTrackSubscribed",qh.MetricsReceived="metricsReceived",(Gh=Hh||(Hh={})).TrackPublished="trackPublished",Gh.TrackSubscribed="trackSubscribed",Gh.TrackSubscriptionFailed="trackSubscriptionFailed",Gh.TrackUnpublished="trackUnpublished",Gh.TrackUnsubscribed="trackUnsubscribed",Gh.TrackMuted="trackMuted",Gh.TrackUnmuted="trackUnmuted",Gh.LocalTrackPublished="localTrackPublished",Gh.LocalTrackUnpublished="localTrackUnpublished",Gh.LocalTrackCpuConstrained="localTrackCpuConstrained",Gh.LocalSenderCreated="localSenderCreated",Gh.ParticipantMetadataChanged="participantMetadataChanged",Gh.ParticipantNameChanged="participantNameChanged",Gh.DataReceived="dataReceived",Gh.SipDTMFReceived="sipDTMFReceived",Gh.TranscriptionReceived="transcriptionReceived",Gh.IsSpeakingChanged="isSpeakingChanged",Gh.ConnectionQualityChanged="connectionQualityChanged",Gh.TrackStreamStateChanged="trackStreamStateChanged",Gh.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",Gh.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",Gh.TrackCpuConstrained="trackCpuConstrained",Gh.MediaDevicesError="mediaDevicesError",Gh.AudioStreamAcquired="audioStreamAcquired",Gh.ParticipantPermissionsChanged="participantPermissionsChanged",Gh.PCTrackAdded="pcTrackAdded",Gh.AttributesChanged="attributesChanged",Gh.LocalTrackSubscribed="localTrackSubscribed",Gh.ChatMessage="chatMessage",Gh.Active="active",($h=Wh||(Wh={})).TransportsCreated="transportsCreated",$h.Connected="connected",$h.Disconnected="disconnected",$h.Resuming="resuming",$h.Resumed="resumed",$h.Restarting="restarting",$h.Restarted="restarted",$h.SignalResumed="signalResumed",$h.SignalRestarted="signalRestarted",$h.Closing="closing",$h.MediaTrackAdded="mediaTrackAdded",$h.ActiveSpeakersUpdate="activeSpeakersUpdate",$h.DataPacketReceived="dataPacketReceived",$h.RTPVideoMapUpdate="rtpVideoMapUpdate",$h.DCBufferStatusChanged="dcBufferStatusChanged",$h.ParticipantUpdate="participantUpdate",$h.RoomUpdate="roomUpdate",$h.SpeakersChanged="speakersChanged",$h.StreamStateChanged="streamStateChanged",$h.ConnectionQualityUpdate="connectionQualityUpdate",$h.SubscriptionError="subscriptionError",$h.SubscriptionPermissionUpdate="subscriptionPermissionUpdate",$h.RemoteMute="remoteMute",$h.SubscribedQualityUpdate="subscribedQualityUpdate",$h.LocalTrackUnpublished="localTrackUnpublished",$h.LocalTrackSubscribed="localTrackSubscribed",$h.Offline="offline",$h.SignalRequestResponse="signalRequestResponse",$h.SignalConnected="signalConnected",$h.RoomMoved="roomMoved",(Kh=Jh||(Jh={})).Message="message",Kh.Muted="muted",Kh.Unmuted="unmuted",Kh.Restarted="restarted",Kh.Ended="ended",Kh.Subscribed="subscribed",Kh.Unsubscribed="unsubscribed",Kh.CpuConstrained="cpuConstrained",Kh.UpdateSettings="updateSettings",Kh.UpdateSubscription="updateSubscription",Kh.AudioPlaybackStarted="audioPlaybackStarted",Kh.AudioPlaybackFailed="audioPlaybackFailed",Kh.AudioSilenceDetected="audioSilenceDetected",Kh.VisibilityChanged="visibilityChanged",Kh.VideoDimensionsChanged="videoDimensionsChanged",Kh.VideoPlaybackStarted="videoPlaybackStarted",Kh.VideoPlaybackFailed="videoPlaybackFailed",Kh.ElementAttached="elementAttached",Kh.ElementDetached="elementDetached",Kh.UpstreamPaused="upstreamPaused",Kh.UpstreamResumed="upstreamResumed",Kh.SubscriptionPermissionChanged="subscriptionPermissionChanged",Kh.SubscriptionStatusChanged="subscriptionStatusChanged",Kh.SubscriptionFailed="subscriptionFailed",Kh.TrackProcessorUpdate="trackProcessorUpdate",Kh.AudioTrackFeatureUpdate="audioTrackFeatureUpdate",Kh.TranscriptionReceived="transcriptionReceived",Kh.TimeSyncUpdate="timeSyncUpdate",Kh.PreConnectBufferFlushed="preConnectBufferFlushed";const sp=/version\/(\d+(\.?_?\d+)+)/i;let cp;function lp(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("undefined"==typeof navigator)return;const i=navigator.userAgent.toLowerCase();if(void 0===cp||t){const e=dp.find(e=>{let{test:t}=e;return t.test(i)});cp=null==e?void 0:e.describe(i)}return cp}const dp=[{test:/firefox|iceweasel|fxios/i,describe:e=>({name:"Firefox",version:up(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes("fxios")?"iOS":void 0,osVersion:hp(e)})},{test:/chrom|crios|crmo/i,describe:e=>({name:"Chrome",version:up(/(?:chrome|chromium|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes("crios")?"iOS":void 0,osVersion:hp(e)})},{test:/safari|applewebkit/i,describe:e=>({name:"Safari",version:up(sp,e),os:e.includes("mobile/")?"iOS":"macOS",osVersion:hp(e)})}];function up(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n=t.match(e);return n&&n.length>=i&&n[i]||""}function hp(e){return e.includes("mac os")?up(/\(.+?(\d+_\d+(:?_\d+)?)/,e,1).replace(/_/g,"."):void 0}class pp{}pp.setTimeout=function(){return setTimeout(...arguments)},pp.setInterval=function(){return setInterval(...arguments)},pp.clearTimeout=function(){return clearTimeout(...arguments)},pp.clearInterval=function(){return clearInterval(...arguments)};const gp=[];var mp,vp;(vp=mp||(mp={}))[vp.LOW=0]="LOW",vp[vp.MEDIUM=1]="MEDIUM",vp[vp.HIGH=2]="HIGH";class fp extends yu.EventEmitter{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n;super(),this.attachedElements=[],this.isMuted=!1,this.streamState=fp.StreamState.Active,this.isInBackground=!1,this._currentBitrate=0,this.log=hu,this.appVisibilityChangedListener=()=>{this.backgroundTimeout&&clearTimeout(this.backgroundTimeout),"hidden"===document.visibilityState?this.backgroundTimeout=setTimeout(()=>this.handleAppVisibilityChanged(),5e3):this.handleAppVisibilityChanged()},this.log=pu(null!==(n=i.loggerName)&&void 0!==n?n:cu.Track),this.loggerContextCb=i.loggerContextCb,this.setMaxListeners(100),this.kind=t,this._mediaStreamTrack=e,this._mediaStreamID=e.id,this.source=fp.Source.Unknown}get logContext(){var e;return Object.assign(Object.assign({},null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this)),Tg(this))}get currentBitrate(){return this._currentBitrate}get mediaStreamTrack(){return this._mediaStreamTrack}get mediaStreamID(){return this._mediaStreamID}attach(e){let t="audio";this.kind===fp.Kind.Video&&(t="video"),0===this.attachedElements.length&&this.kind===fp.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),bp(this.mediaStreamTrack,e);const i=e.srcObject.getTracks(),n=i.some(e=>"audio"===e.kind);return e.play().then(()=>{this.emit(n?Jh.AudioPlaybackStarted:Jh.VideoPlaybackStarted)}).catch(t=>{"NotAllowedError"===t.name?this.emit(n?Jh.AudioPlaybackFailed:Jh.VideoPlaybackFailed,t):"AbortError"===t.name?hu.debug("".concat(n?"audio":"video"," playback aborted, likely due to new play request")):hu.warn("could not playback ".concat(n?"audio":"video"),t),n&&e&&i.some(e=>"video"===e.kind)&&"NotAllowedError"===t.name&&(e.muted=!0,e.play().catch(()=>{}))}),this.emit(Jh.ElementAttached,e),e}detach(e){try{if(e){kp(this.mediaStreamTrack,e);const t=this.attachedElements.indexOf(e);return t>=0&&(this.attachedElements.splice(t,1),this.recycleElement(e),this.emit(Jh.ElementDetached,e)),e}const t=[];return this.attachedElements.forEach(e=>{kp(this.mediaStreamTrack,e),t.push(e),this.recycleElement(e),this.emit(Jh.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=pu(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 fu(this,void 0,void 0,function*(){this.isInBackground="hidden"===document.visibilityState,this.isInBackground||this.kind!==fp.Kind.Video||setTimeout(()=>this.attachedElements.forEach(e=>e.play().catch(()=>{})),0)})}addAppVisibilityListener(){Bp()?(this.isInBackground="hidden"===document.visibilityState,document.addEventListener("visibilitychange",this.appVisibilityChangedListener)):this.isInBackground=!1}removeAppVisibilityListener(){Bp()&&document.removeEventListener("visibilitychange",this.appVisibilityChangedListener)}}function bp(e,t){let i,n;i=t.srcObject instanceof MediaStream?t.srcObject:new MediaStream,n="audio"===e.kind?i.getAudioTracks():i.getVideoTracks(),n.includes(e)||(n.forEach(e=>{i.removeTrack(e)}),i.addTrack(e)),Fp()&&t instanceof HTMLVideoElement||(t.autoplay=!0),t.muted=0===i.getAudioTracks().length,t instanceof HTMLVideoElement&&(t.playsInline=!0),t.srcObject!==i&&(t.srcObject=i,(Fp()||jp())&&t instanceof HTMLVideoElement&&setTimeout(()=>{t.srcObject=i,t.play().catch(()=>{})},0))}function kp(e,t){if(t.srcObject instanceof MediaStream){const i=t.srcObject;i.removeTrack(e),i.getTracks().length>0?t.srcObject=i:t.srcObject=null}}!function(e){let t;var i;let n;var r;let a;var o;(i=t=e.Kind||(e.Kind={})).Audio="audio",i.Video="video",i.Unknown="unknown",(r=n=e.Source||(e.Source={})).Camera="camera",r.Microphone="microphone",r.ScreenShare="screen_share",r.ScreenShareAudio="screen_share_audio",r.Unknown="unknown",(o=a=e.StreamState||(e.StreamState={})).Active="active",o.Paused="paused",o.Unknown="unknown",e.kindToProto=function(e){switch(e){case t.Audio:return hl.AUDIO;case t.Video:return hl.VIDEO;default:return hl.DATA}},e.kindFromProto=function(e){switch(e){case hl.AUDIO:return t.Audio;case hl.VIDEO:return t.Video;default:return t.Unknown}},e.sourceToProto=function(e){switch(e){case n.Camera:return pl.CAMERA;case n.Microphone:return pl.MICROPHONE;case n.ScreenShare:return pl.SCREEN_SHARE;case n.ScreenShareAudio:return pl.SCREEN_SHARE_AUDIO;default:return pl.UNKNOWN}},e.sourceFromProto=function(e){switch(e){case pl.CAMERA:return n.Camera;case pl.MICROPHONE:return n.Microphone;case pl.SCREEN_SHARE:return n.ScreenShare;case pl.SCREEN_SHARE_AUDIO:return n.ScreenShareAudio;default:return n.Unknown}},e.streamStateFromProto=function(e){switch(e){case sd.ACTIVE:return a.Active;case sd.PAUSED:return a.Paused;default:return a.Unknown}}}(fp||(fp={}));class wp{constructor(e,t,i,n,r){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===i)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:i,maxFramerate:n,priority:r}}}get resolution(){return{width:this.width,height:this.height,frameRate:this.encoding.maxFramerate,aspectRatio:this.aspectRatio}}}const yp=["vp8","h264"],xp=["vp8","h264","vp9","av1","h265"];function Cp(e){return!!yp.find(t=>t===e)}var Sp,Tp,Ep,Pp;(Tp=Sp||(Sp={}))[Tp.PREFER_REGRESSION=0]="PREFER_REGRESSION",Tp[Tp.SIMULCAST=1]="SIMULCAST",Tp[Tp.REGRESSION=2]="REGRESSION",(Pp=Ep||(Ep={})).telephone={maxBitrate:12e3},Pp.speech={maxBitrate:24e3},Pp.music={maxBitrate:48e3},Pp.musicStereo={maxBitrate:64e3},Pp.musicHighQuality={maxBitrate:96e3},Pp.musicHighQualityStereo={maxBitrate:128e3};const Mp={h90:new wp(160,90,9e4,20),h180:new wp(320,180,16e4,20),h216:new wp(384,216,18e4,20),h360:new wp(640,360,45e4,20),h540:new wp(960,540,8e5,25),h720:new wp(1280,720,17e5,30),h1080:new wp(1920,1080,3e6,30),h1440:new wp(2560,1440,5e6,30),h2160:new wp(3840,2160,8e6,30)},_p={h120:new wp(160,120,7e4,20),h180:new wp(240,180,125e3,20),h240:new wp(320,240,14e4,20),h360:new wp(480,360,33e4,20),h480:new wp(640,480,5e5,20),h540:new wp(720,540,6e5,25),h720:new wp(960,720,13e5,30),h1080:new wp(1440,1080,23e5,30),h1440:new wp(1920,1440,38e5,30)},Ip={h360fps3:new wp(640,360,2e5,3,"medium"),h360fps15:new wp(640,360,4e5,15,"medium"),h720fps5:new wp(1280,720,8e5,5,"medium"),h720fps15:new wp(1280,720,15e5,15,"medium"),h720fps30:new wp(1280,720,2e6,30,"medium"),h1080fps15:new wp(1920,1080,25e5,15,"medium"),h1080fps30:new wp(1920,1080,5e6,30,"medium"),original:new wp(0,0,7e6,30,"medium")},Rp="https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension";function Ap(e){return fu(this,void 0,void 0,function*(){return new Promise(t=>pp.setTimeout(t,e))})}function Op(){return"addTransceiver"in RTCPeerConnection.prototype}function Dp(){return"addTrack"in RTCPeerConnection.prototype}function Lp(e){return"av1"===e||"vp9"===e}function Np(e){return!(!document||Up())&&(e||(e=document.createElement("audio")),"setSinkId"in e)}function jp(){var e;return"Firefox"===(null===(e=lp())||void 0===e?void 0:e.name)}function Fp(){var e;return"Safari"===(null===(e=lp())||void 0===e?void 0:e.name)}function Up(){const e=lp();return"Safari"===(null==e?void 0:e.name)||"iOS"===(null==e?void 0:e.os)}function zp(){var e,t;return!!Bp()&&(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 Bp(){return"undefined"!=typeof document}function Vp(){return"ReactNative"==navigator.product}function qp(e){return e.hostname.endsWith(".livekit.cloud")||e.hostname.endsWith(".livekit.run")}function Hp(){if(global&&global.LiveKitReactNativeGlobal)return global.LiveKitReactNativeGlobal}function Gp(){if(!Vp())return;let e=Hp();return e?e.platform:void 0}function Wp(){if(Bp())return window.devicePixelRatio;if(Vp()){let e=Hp();if(e)return e.devicePixelRatio}return 1}function $p(e,t){const i=e.split("."),n=t.split("."),r=Math.min(i.length,n.length);for(let a=0;a<r;++a){const e=parseInt(i[a],10),t=parseInt(n[a],10);if(e>t)return 1;if(e<t)return-1;if(a===r-1&&e===t)return 0}return""===e&&""!==t?-1:""===t?1:i.length==n.length?0:i.length<n.length?-1:1}function Jp(e){for(const t of e)t.target.handleResize(t)}function Kp(e){for(const t of e)t.target.handleVisibilityChanged(t)}let Qp=null;const Zp=()=>(Qp||(Qp=new ResizeObserver(Jp)),Qp);let Yp=null;const Xp=()=>(Yp||(Yp=new IntersectionObserver(Kp,{root:null,rootMargin:"0px"})),Yp);function eg(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const r=document.createElement("canvas");r.width=e,r.height=t;const a=r.getContext("2d");null==a||a.fillRect(0,0,r.width,r.height),n&&a&&(a.beginPath(),a.arc(e/2,t/2,50,0,2*Math.PI,!0),a.closePath(),a.fillStyle="grey",a.fill());const o=r.captureStream(),[s]=o.getTracks();if(!s)throw Error("Could not get empty media stream video track");return s.enabled=i,s}let tg;function ig(){if(!tg){const e=new AudioContext,t=e.createOscillator(),i=e.createGain();i.gain.setValueAtTime(0,0);const n=e.createMediaStreamDestination();if(t.connect(i),i.connect(n),t.start(),[tg]=n.stream.getAudioTracks(),!tg)throw Error("Could not get empty media stream audio track");tg.enabled=!1}return tg.clone()}class ng{get isResolved(){return this._isResolved}constructor(e,t){this._isResolved=!1,this.onFinally=t,this.promise=new Promise((t,i)=>fu(this,void 0,void 0,function*(){this.resolve=t,this.reject=i,e&&(yield e(t,i))})).finally(()=>{var e;this._isResolved=!0,null===(e=this.onFinally)||void 0===e||e.call(this)})}}function rg(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 ag(e){return e.startsWith("ws")?e.replace(/^(ws)/,"http"):e}function og(e){switch(e.reason){case Dh.LeaveRequest:return e.context;case Dh.Cancelled:return fl.CLIENT_INITIATED;case Dh.NotAllowed:return fl.USER_REJECTED;case Dh.ServerUnreachable:return fl.JOIN_FAILURE;default:return fl.UNKNOWN_REASON}}function sg(e){return void 0!==e?Number(e):void 0}function cg(e){return void 0!==e?BigInt(e):void 0}function lg(e){return!!e&&!(e instanceof MediaStreamTrack)&&e.isLocal}function dg(e){return!!e&&e.kind==fp.Kind.Audio}function ug(e){return!!e&&e.kind==fp.Kind.Video}function hg(e){return lg(e)&&ug(e)}function pg(e){return lg(e)&&dg(e)}function gg(e){return!!e&&!e.isLocal}function mg(e){return!!e&&!e.isLocal}function vg(e){return gg(e)&&ug(e)}function fg(e,t,i){var n,r,a,o;const{optionsWithoutProcessor:s,audioProcessor:c,videoProcessor:l}=Eg(null!=e?e:{}),d=null==t?void 0:t.processor,u=null==i?void 0:i.processor,h=null!=s?s:{};return!0===h.audio&&(h.audio={}),!0===h.video&&(h.video={}),h.audio&&(bg(h.audio,t),null!==(n=(a=h.audio).deviceId)&&void 0!==n||(a.deviceId={ideal:"default"}),(c||d)&&(h.audio.processor=null!=c?c:d)),h.video&&(bg(h.video,i),null!==(r=(o=h.video).deviceId)&&void 0!==r||(o.deviceId={ideal:"default"}),(l||u)&&(h.video.processor=null!=l?l:u)),h}function bg(e,t){return Object.keys(t).forEach(i=>{void 0===e[i]&&(e[i]=t[i])}),e}function kg(e){var t,i,n,r;const a={};if(e.video)if("object"==typeof e.video){const i={},r=i,o=e.video;Object.keys(o).forEach(e=>{"resolution"===e?bg(r,o.resolution):r[e]=o[e]}),a.video=i,null!==(t=(n=a.video).deviceId)&&void 0!==t||(n.deviceId={ideal:"default"})}else a.video=!!e.video&&{deviceId:{ideal:"default"}};else a.video=!1;return e.audio?"object"==typeof e.audio?(a.audio=e.audio,null!==(i=(r=a.audio).deviceId)&&void 0!==i||(r.deviceId={ideal:"default"})):a.audio={deviceId:{ideal:"default"}}:a.audio=!1,a}function wg(){var e;const t="undefined"!=typeof window&&(window.AudioContext||window.webkitAudioContext);if(t){const i=new t({latencyHint:"interactive"});if("suspended"===i.state&&"undefined"!=typeof window&&(null===(e=window.document)||void 0===e?void 0:e.body)){const e=()=>fu(this,void 0,void 0,function*(){var t;try{"suspended"===i.state&&(yield i.resume())}catch(Gb){}null===(t=window.document.body)||void 0===t||t.removeEventListener("click",e)});window.document.body.addEventListener("click",e)}return i}}function yg(e){return"audioinput"===e?fp.Source.Microphone:"videoinput"===e?fp.Source.Camera:fp.Source.Unknown}function xg(e){return e===fp.Source.Microphone?"audioinput":e===fp.Source.Camera?"videoinput":void 0}function Cg(e){return e.split("/")[1].toLowerCase()}function Sg(e){const t=[];return e.forEach(e=>{void 0!==e.track&&t.push(new fd({cid:e.track.mediaStreamID,track:e.trackInfo}))}),t}function Tg(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?Tg(e.track):{})}}function Eg(e){const t=Object.assign({},e);let i,n;return"object"==typeof t.audio&&t.audio.processor&&(i=t.audio.processor,t.audio=Object.assign(Object.assign({},t.audio),{processor:void 0})),"object"==typeof t.video&&t.video.processor&&(n=t.video.processor,t.video=Object.assign(Object.assign({},t.video),{processor:void 0})),{audioProcessor:i,videoProcessor:n,optionsWithoutProcessor:(r=t,void 0===r?r:"function"==typeof structuredClone?"object"==typeof r&&null!==r?structuredClone(Object.assign({},r)):structuredClone(r):JSON.parse(JSON.stringify(r)))};var r}function Pg(e,t){return e.width*e.height<t.width*t.height}class Mg extends yu.EventEmitter{constructor(e){super(),this.onWorkerMessage=e=>{var t,i;const{kind:n,data:r}=e.data;switch(n){case"error":hu.error(r.error.message),this.emit(Rh.EncryptionError,r.error);break;case"initAck":r.enabled&&this.keyProvider.getKeys().forEach(e=>{this.postKey(e)});break;case"enable":if(r.enabled&&this.keyProvider.getKeys().forEach(e=>{this.postKey(e)}),this.encryptionEnabled!==r.enabled&&r.participantIdentity===(null===(t=this.room)||void 0===t?void 0:t.localParticipant.identity))this.emit(Rh.ParticipantEncryptionStatusChanged,r.enabled,this.room.localParticipant),this.encryptionEnabled=r.enabled;else if(r.participantIdentity){const e=null===(i=this.room)||void 0===i?void 0:i.getParticipantByIdentity(r.participantIdentity);if(!e)throw TypeError("couldn't set encryption status, participant not found".concat(r.participantIdentity));this.emit(Rh.ParticipantEncryptionStatusChanged,r.enabled,e)}break;case"ratchetKey":this.keyProvider.emit(Mh.KeyRatcheted,r.ratchetResult,r.participantIdentity,r.keyIndex)}},this.onWorkerError=e=>{hu.error("e2ee worker encountered an error:",{error:e.error}),this.emit(Rh.EncryptionError,e.error)},this.keyProvider=e.keyProvider,this.worker=e.worker,this.encryptionEnabled=!1}setup(e){if(!(void 0!==window.RTCRtpSender&&void 0!==window.RTCRtpSender.prototype.createEncodedStreams||Qh()))throw new Xh("tried to setup end-to-end encryption on an unsupported browser");if(hu.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:gu.getLevel()}};this.worker&&(hu.info("initializing worker",{worker:this.worker}),this.worker.onmessage=this.onWorkerMessage,this.worker.onerror=this.onWorkerError,this.worker.postMessage(t))}}setParticipantCryptorEnabled(e,t){hu.debug("set e2ee to ".concat(e," for participant ").concat(t)),this.postEnable(e,t)}setSifTrailer(e){e&&0!==e.length?this.postSifTrailer(e):hu.warn("ignoring server sent trailer as it's empty")}setupEngine(e){e.on(Wh.RTPVideoMapUpdate,e=>{this.postRTPMap(e)})}setupEventListeners(e,t){e.on(Vh.TrackPublished,(e,t)=>this.setParticipantCryptorEnabled(e.trackInfo.encryption!==Ml.NONE,t.identity)),e.on(Vh.ConnectionStateChanged,t=>{t===Zm.Connected&&e.remoteParticipants.forEach(e=>{e.trackPublications.forEach(t=>{this.setParticipantCryptorEnabled(t.trackInfo.encryption!==Ml.NONE,e.identity)})})}).on(Vh.TrackUnsubscribed,(e,t,i)=>{var n;const r={kind:"removeTransform",data:{participantIdentity:i.identity,trackId:e.mediaStreamID}};null===(n=this.worker)||void 0===n||n.postMessage(r)}).on(Vh.TrackSubscribed,(e,t,i)=>{this.setupE2EEReceiver(e,i.identity,t.trackInfo)}).on(Vh.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(Hh.LocalSenderCreated,(e,t)=>fu(this,void 0,void 0,function*(){this.setupE2EESender(t,e)})),t.on(Mh.SetKey,e=>this.postKey(e)).on(Mh.RatchetRequest,(e,t)=>this.postRatchetRequest(e,t))}postRatchetRequest(e,t){if(!this.worker)throw Error("could not ratchet key, worker is missing");const i={kind:"ratchetRequest",data:{participantIdentity:e,keyIndex:t}};this.worker.postMessage(i)}postKey(e){let{key:t,participantIdentity:i,keyIndex:n}=e;var r;if(!this.worker)throw Error("could not set key, worker is missing");const a={kind:"setKey",data:{participantIdentity:i,isPublisher:i===(null===(r=this.room)||void 0===r?void 0:r.localParticipant.identity),key:t,keyIndex:n}};this.worker.postMessage(a)}postEnable(e,t){if(!this.worker)throw new ReferenceError("failed to enable e2ee, worker is not ready");{const i={kind:"enable",data:{enabled:e,participantIdentity:t}};this.worker.postMessage(i)}}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 i={kind:"setRTPMap",data:{map:e,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(i)}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,i){if(e.receiver){if(!(null==i?void 0:i.mimeType)||""===i.mimeType)throw new TypeError("MimeType missing from trackInfo, cannot set up E2EE cryptor");this.handleReceiver(e.receiver,e.mediaStreamID,t,"video"===e.kind?Cg(i.mimeType):void 0)}}setupE2EESender(e,t){lg(e)&&t?this.handleSender(t,e.mediaStreamID,void 0):t||hu.warn("early return because sender is not ready")}handleReceiver(e,t,i,n){return fu(this,void 0,void 0,function*(){if(this.worker){if(Qh()){const r={kind:"decode",participantIdentity:i,trackId:t,codec:n};e.transform=new RTCRtpScriptTransform(this.worker,r)}else{if(Ph in e&&n){const e={kind:"updateCodec",data:{trackId:t,codec:n,participantIdentity:i}};return void this.worker.postMessage(e)}let r=e.writableStream,a=e.readableStream;if(!r||!a){const t=e.createEncodedStreams();e.writableStream=t.writable,r=t.writable,e.readableStream=t.readable,a=t.readable}const o={kind:"decode",data:{readableStream:a,writableStream:r,trackId:t,codec:n,participantIdentity:i,isReuse:Ph in e}};this.worker.postMessage(o,[a,r])}e[Ph]=!0}})}handleSender(e,t,i){var n;if(!(Ph in e)&&this.worker){if(!(null===(n=this.room)||void 0===n?void 0:n.localParticipant.identity)||""===this.room.localParticipant.identity)throw TypeError("local identity needs to be known in order to set up encrypted sender");if(Qh()){hu.info("initialize script transform");const n={kind:"encode",participantIdentity:this.room.localParticipant.identity,trackId:t,codec:i};e.transform=new RTCRtpScriptTransform(this.worker,n)}else{hu.info("initialize encoded streams");const n=e.createEncodedStreams(),r={kind:"encode",data:{readableStream:n.readable,writableStream:n.writable,codec:i,trackId:t,participantIdentity:this.room.localParticipant.identity,isReuse:!1}};this.worker.postMessage(r,[n.readable,n.writable])}e[Ph]=!0}}}const _g="default";class Ig{constructor(){this._previousDevices=[]}static getInstance(){return void 0===this.instance&&(this.instance=new Ig),this.instance}get previousDevices(){return this._previousDevices}getDevices(e){return fu(this,arguments,void 0,function(e){var t=this;let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var n;if((null===(n=Ig.userMediaPromiseMap)||void 0===n?void 0:n.size)>0){hu.debug("awaiting getUserMedia promise");try{e?yield Ig.userMediaPromiseMap.get(e):yield Promise.all(Ig.userMediaPromiseMap.values())}catch(Gb){hu.warn("error waiting for media permissons")}}let r=yield navigator.mediaDevices.enumerateDevices();if(i&&(!Fp()||!t.hasDeviceInUse(e))&&(0===r.filter(t=>t.kind===e).length||r.some(t=>{const i=""===t.label,n=!e||t.kind===e;return i&&n}))){const t={video:"audioinput"!==e&&"audiooutput"!==e,audio:"videoinput"!==e&&{deviceId:{ideal:"default"}}},i=yield navigator.mediaDevices.getUserMedia(t);r=yield navigator.mediaDevices.enumerateDevices(),i.getTracks().forEach(e=>{e.stop()})}return t._previousDevices=r,e&&(r=r.filter(t=>t.kind===e)),r}()})}normalizeDeviceId(e,t,i){return fu(this,void 0,void 0,function*(){if(t!==_g)return t;const n=yield this.getDevices(e),r=n.find(e=>e.deviceId===_g);if(!r)return void hu.warn("could not reliably determine default device");const a=n.find(e=>e.deviceId!==_g&&e.groupId===(null!=i?i:r.groupId));if(a)return null==a?void 0:a.deviceId;hu.warn("could not reliably determine default device")})}hasDeviceInUse(e){return e?Ig.userMediaPromiseMap.has(e):Ig.userMediaPromiseMap.size>0}}var Rg,Ag;Ig.mediaDeviceKinds=["audioinput","audiooutput","videoinput"],Ig.userMediaPromiseMap=new Map,(Ag=Rg||(Rg={}))[Ag.WAITING=0]="WAITING",Ag[Ag.RUNNING=1]="RUNNING",Ag[Ag.COMPLETED=2]="COMPLETED";class Og{constructor(){this.pendingTasks=new Map,this.taskMutex=new Is,this.nextTaskIndex=0}run(e){return fu(this,void 0,void 0,function*(){const t={id:this.nextTaskIndex++,enqueuedAt:Date.now(),status:Rg.WAITING};this.pendingTasks.set(t.id,t);const i=yield this.taskMutex.lock();try{return t.executedAt=Date.now(),t.status=Rg.RUNNING,yield e()}finally{t.status=Rg.COMPLETED,this.pendingTasks.delete(t.id),i()}})}flush(){return fu(this,void 0,void 0,function*(){return this.run(()=>fu(this,void 0,void 0,function*(){}))})}snapshot(){return Array.from(this.pendingTasks.values())}}function Dg(e,t){return e.pathname="".concat(function(e){return e.endsWith("/")?e:"".concat(e,"/")}(e.pathname)).concat(t),e.toString()}const Lg=["syncState","trickle","offer","answer","simulate","leave"];var Ng,jg;(jg=Ng||(Ng={}))[jg.CONNECTING=0]="CONNECTING",jg[jg.CONNECTED=1]="CONNECTED",jg[jg.RECONNECTING=2]="RECONNECTING",jg[jg.DISCONNECTING=3]="DISCONNECTING",jg[jg.DISCONNECTED=4]="DISCONNECTED";class Fg{get currentState(){return this.state}get isDisconnected(){return this.state===Ng.DISCONNECTING||this.state===Ng.DISCONNECTED}get isEstablishingConnection(){return this.state===Ng.CONNECTING||this.state===Ng.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 i;this.rtt=0,this.state=Ng.DISCONNECTED,this.log=hu,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=pu(null!==(i=t.loggerName)&&void 0!==i?i:cu.Signal),this.loggerContextCb=t.loggerContextCb,this.useJSON=e,this.requestQueue=new Og,this.queuedRequests=[],this.closingLock=new Is,this.connectionLock=new Is,this.state=Ng.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,i,n){return fu(this,void 0,void 0,function*(){return this.state=Ng.CONNECTING,this.options=i,yield this.connect(e,t,i,n)})}reconnect(e,t,i,n){return fu(this,void 0,void 0,function*(){if(this.options)return this.state=Ng.RECONNECTING,this.clearPingInterval(),yield this.connect(e,t,Object.assign(Object.assign({},this.options),{reconnect:!0,sid:i,reconnectReason:n}));this.log.warn("attempted to reconnect without signal options being set, ignoring",this.logContext)})}connect(e,t,i,n){this.connectOptions=i;const r=function(e,t,i){var n;const r=new URLSearchParams;return r.set("access_token",e),i.reconnect&&(r.set("reconnect","1"),i.sid&&r.set("sid",i.sid)),r.set("auto_subscribe",i.autoSubscribe?"1":"0"),r.set("sdk",Vp()?"reactnative":"js"),r.set("version",t.version),r.set("protocol",t.protocol.toString()),t.deviceModel&&r.set("device_model",t.deviceModel),t.os&&r.set("os",t.os),t.osVersion&&r.set("os_version",t.osVersion),t.browser&&r.set("browser",t.browser),t.browserVersion&&r.set("browser_version",t.browserVersion),i.adaptiveStream&&r.set("adaptive_stream","1"),i.reconnectReason&&r.set("reconnect_reason",i.reconnectReason.toString()),(null===(n=navigator.connection)||void 0===n?void 0:n.type)&&r.set("network",navigator.connection.type),r}(t,function(){var e;const t=new Jl({sdk:Kl.JS,protocol:16,version:"2.15.5"});return Vp()&&(t.os=null!==(e=Gp())&&void 0!==e?e:""),t}(),i),a=function(e,t){const i=new URL(function(e){return e.startsWith("http")?e.replace(/^(http)/,"ws"):e}(e));return t.forEach((e,t)=>{i.searchParams.set(t,e)}),Dg(i,"rtc")}(e,r),o=Dg(new URL(ag(a)),"validate");return new Promise((e,t)=>fu(this,void 0,void 0,function*(){const r=yield this.connectionLock.lock();try{const r=()=>fu(this,void 0,void 0,function*(){this.close(),clearTimeout(s),t(new Yh("room connection has been cancelled (signal)",Dh.Cancelled))}),s=setTimeout(()=>{this.close(),t(new Yh("room connection has timed out (signal)",Dh.ServerUnreachable))},i.websocketTimeout);(null==n?void 0:n.aborted)&&r(),null==n||n.addEventListener("abort",r);const c=new URL(a);c.searchParams.has("access_token")&&c.searchParams.set("access_token","<redacted>"),this.log.debug("connecting to ".concat(c),Object.assign({reconnect:i.reconnect,reconnectReason:i.reconnectReason},this.logContext)),this.ws&&(yield this.close(!1)),this.ws=new WebSocket(a),this.ws.binaryType="arraybuffer",this.ws.onopen=()=>{clearTimeout(s)},this.ws.onerror=e=>fu(this,void 0,void 0,function*(){if(this.state===Ng.CONNECTED)this.handleWSError(e);else{this.state=Ng.DISCONNECTED,clearTimeout(s);try{const i=yield fetch(o);if(i.status.toFixed(0).startsWith("4")){const e=yield i.text();t(new Yh(e,Dh.NotAllowed,i.status))}else t(new Yh("Encountered unknown websocket error during connection: ".concat(e.toString()),Dh.InternalError,i.status))}catch(Gb){t(new Yh(Gb instanceof Error?Gb.message:"server was not reachable",Dh.ServerUnreachable))}}}),this.ws.onmessage=a=>fu(this,void 0,void 0,function*(){var o,s,c;let l;if("string"==typeof a.data){const e=JSON.parse(a.data);l=dd.fromJson(e,{ignoreUnknownFields:!0})}else{if(!(a.data instanceof ArrayBuffer))return void this.log.error("could not decode websocket message: ".concat(typeof a.data),this.logContext);l=dd.fromBinary(new Uint8Array(a.data))}if(this.state!==Ng.CONNECTED){let a=!1;if("join"===(null===(o=l.message)||void 0===o?void 0:o.case)?(this.state=Ng.CONNECTED,null==n||n.removeEventListener("abort",r),this.pingTimeoutDuration=l.message.value.pingTimeout,this.pingIntervalDuration=l.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(l.message.value)):this.state===Ng.RECONNECTING&&"leave"!==l.message.case?(this.state=Ng.CONNECTED,null==n||n.removeEventListener("abort",r),this.startPingInterval(),"reconnect"===(null===(s=l.message)||void 0===s?void 0:s.case)?e(l.message.value):(this.log.debug("declaring signal reconnected without reconnect response received",this.logContext),e(void 0),a=!0)):this.isEstablishingConnection&&"leave"===l.message.case?t(new Yh("Received leave request while trying to (re)connect",Dh.LeaveRequest,void 0,l.message.value.reason)):i.reconnect||t(new Yh("did not receive join response, got ".concat(null===(c=l.message)||void 0===c?void 0:c.case," instead"),Dh.InternalError)),!a)return}this.signalLatency&&(yield Ap(this.signalLatency)),this.handleSignalResponse(l)}),this.ws.onclose=e=>{this.isEstablishingConnection&&t(new Yh("Websocket got closed during a (re)connection attempt",Dh.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{r()}}))}close(){return fu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){const i=yield e.closingLock.lock();try{if(e.clearPingInterval(),t&&(e.state=Ng.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,Ap(250)])),e.ws=void 0}}finally{t&&(e.state=Ng.DISCONNECTED),i()}}()})}sendOffer(e,t){this.log.debug("sending offer",Object.assign(Object.assign({},this.logContext),{offerSdp:e.sdp})),this.sendRequest({case:"offer",value:zg(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:zg(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 pd({candidateInit:JSON.stringify(e),target:t})})}sendMuteTrack(e,t){return this.sendRequest({case:"mute",value:new gd({sid:e,muted:t})})}sendAddTrack(e){return this.sendRequest({case:"addTrack",value:e})}sendUpdateLocalMetadata(e,t){return fu(this,arguments,void 0,function(e,t){var i=this;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){const r=i.getNextRequestId();return yield i.sendRequest({case:"updateMetadata",value:new Md({requestId:r,metadata:e,name:t,attributes:n})}),r}()})}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 Pd({trackSid:e,layers:t})})}sendUpdateSubscriptionPermissions(e,t){return this.sendRequest({case:"subscriptionPermission",value:new zd({allParticipants:e,trackPermissions:t})})}sendSimulateScenario(e){return this.sendRequest({case:"simulate",value:e})}sendPing(){return Promise.all([this.sendRequest({case:"ping",value:Qs.parse(Date.now())}),this.sendRequest({case:"pingReq",value:new $d({timestamp:Qs.parse(Date.now()),rtt:Qs.parse(this.rtt)})})])}sendUpdateLocalAudioTrack(e,t){return this.sendRequest({case:"updateAudioTrack",value:new Cd({trackSid:e,features:t})})}sendLeave(){return this.sendRequest({case:"leave",value:new Td({reason:fl.CLIENT_INITIATED,action:Ed.DISCONNECT})})}sendRequest(e){return fu(this,arguments,void 0,function(e){var t=this;let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function*(){const n=!i&&!function(e){const t=Lg.indexOf(e.case)>=0;return hu.trace("request allowed to bypass queue:",{canPass:t,req:e}),t}(e);if(n&&t.state===Ng.RECONNECTING)return void t.queuedRequests.push(()=>fu(t,void 0,void 0,function*(){yield this.sendRequest(e,!0)}));if(i||(yield t.requestQueue.flush()),t.signalLatency&&(yield Ap(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 r=new ld({message:e});try{t.useJSON?t.ws.send(r.toJsonString()):t.ws.send(r.toBinary())}catch(Gb){t.log.error("error sending signal message",Object.assign(Object.assign({},t.logContext),{error:Gb}))}}()})}handleSignalResponse(e){var t,i;const n=e.message;if(null==n)return void this.log.debug("received unsupported message",this.logContext);let r=!1;if("answer"===n.case){const e=Ug(n.value);this.onAnswer&&this.onAnswer(e,n.value.id)}else if("offer"===n.case){const e=Ug(n.value);this.onOffer&&this.onOffer(e,n.value.id)}else if("trickle"===n.case){const e=JSON.parse(n.value.candidateInit);this.onTrickle&&this.onTrickle(e,n.value.target)}else"update"===n.case?this.onParticipantUpdate&&this.onParticipantUpdate(null!==(t=n.value.participants)&&void 0!==t?t:[]):"trackPublished"===n.case?this.onLocalTrackPublished&&this.onLocalTrackPublished(n.value):"speakersChanged"===n.case?this.onSpeakersChanged&&this.onSpeakersChanged(null!==(i=n.value.speakers)&&void 0!==i?i:[]):"leave"===n.case?this.onLeave&&this.onLeave(n.value):"mute"===n.case?this.onRemoteMuteChanged&&this.onRemoteMuteChanged(n.value.sid,n.value.muted):"roomUpdate"===n.case?this.onRoomUpdate&&n.value.room&&this.onRoomUpdate(n.value.room):"connectionQuality"===n.case?this.onConnectionQuality&&this.onConnectionQuality(n.value):"streamStateUpdate"===n.case?this.onStreamStateUpdate&&this.onStreamStateUpdate(n.value):"subscribedQualityUpdate"===n.case?this.onSubscribedQualityUpdate&&this.onSubscribedQualityUpdate(n.value):"subscriptionPermissionUpdate"===n.case?this.onSubscriptionPermissionUpdate&&this.onSubscriptionPermissionUpdate(n.value):"refreshToken"===n.case?this.onTokenRefresh&&this.onTokenRefresh(n.value):"trackUnpublished"===n.case?this.onLocalTrackUnpublished&&this.onLocalTrackUnpublished(n.value):"subscriptionResponse"===n.case?this.onSubscriptionError&&this.onSubscriptionError(n.value):"pong"===n.case||("pongResp"===n.case?(this.rtt=Date.now()-Number.parseInt(n.value.lastPingTimestamp.toString()),this.resetPingTimeout(),r=!0):"requestResponse"===n.case?this.onRequestResponse&&this.onRequestResponse(n.value):"trackSubscribed"===n.case?this.onLocalTrackSubscribed&&this.onLocalTrackSubscribed(n.value.trackSid):"roomMoved"===n.case?(this.onTokenRefresh&&this.onTokenRefresh(n.value.token),this.onRoomMoved&&this.onRoomMoved(n.value)):this.log.debug("unsupported message",Object.assign(Object.assign({},this.logContext),{msgCase:n.case})));r||this.resetPingTimeout()}setReconnected(){for(;this.queuedRequests.length>0;){const e=this.queuedRequests.shift();e&&this.requestQueue.run(e)}}handleOnClose(e){return fu(this,void 0,void 0,function*(){if(this.state===Ng.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=pp.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&&pp.clearTimeout(this.pingTimeout)}startPingInterval(){this.clearPingInterval(),this.resetPingTimeout(),this.pingIntervalDuration?(this.log.debug("start ping interval",this.logContext),this.pingInterval=pp.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&&pp.clearInterval(this.pingInterval)}}function Ug(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 zg(e,t){return new kd({sdp:e.sdp,type:e.type,id:t})}class Bg{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 Vg{constructor(e){this._map=new Map,this._lastCleanup=0,this.ttl=e}set(e,t){const i=Date.now();i-this._lastCleanup>this.ttl/2&&this.cleanup();const n=i+this.ttl;return this._map.set(e,{value:t,expiresAt:n}),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,i]of this._map.entries())i.expiresAt<e&&this._map.delete(t);this._lastCleanup=e}get size(){return this.cleanup(),this._map.size}forEach(e){this.cleanup();for(const[t,i]of this._map.entries())i.expiresAt>=Date.now()&&e(i.value,t,this.asValueMap())}map(e){this.cleanup();const t=[],i=this.asValueMap();for(const[n,r]of i.entries())t.push(e(r,n,i));return t}asValueMap(){const e=new Map;for(const[t,i]of this._map.entries())i.expiresAt>=Date.now()&&e.set(t,i.value);return e}}var qg,Hg,Gg,Wg,$g,Jg={},Kg={},Qg={exports:{}};function Zg(){if(qg)return Qg.exports;qg=1;var e=Qg.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")})}),Qg.exports}function Yg(){if(Wg)return Gg;Wg=1;var e=Zg(),t=/%[sdv%]/g,i=function(e){var i=1,n=arguments,r=n.length;return e.replace(t,function(e){if(i>=r)return e;var t=n[i];switch(i+=1,e){case"%%":return"%";case"%s":return String(t);case"%d":return Number(t);case"%v":return""}})},n=function(e,t,n){var r=[e+"="+(t.format instanceof Function?t.format(t.push?n:n[t.name]):t.format)];if(t.names)for(var a=0;a<t.names.length;a+=1){var o=t.names[a];t.name?r.push(n[t.name][o]):r.push(n[t.names[a]])}else r.push(n[t.name]);return i.apply(null,r)},r=["v","o","s","i","u","e","p","c","b","t","r","z","a"],a=["i","c","b","a"];return Gg=function(t,i){i=i||{},null==t.version&&(t.version=0),null==t.name&&(t.name=" "),t.media.forEach(function(e){null==e.payloads&&(e.payloads="")});var o=i.outerOrder||r,s=i.innerOrder||a,c=[];return o.forEach(function(i){e[i].forEach(function(e){e.name in t&&null!=t[e.name]?c.push(n(i,e,t)):e.push in t&&null!=t[e.push]&&t[e.push].forEach(function(t){c.push(n(i,e,t))})})}),t.media.forEach(function(t){c.push(n("m",e.m[0],t)),s.forEach(function(i){e[i].forEach(function(e){e.name in t&&null!=t[e.name]?c.push(n(i,e,t)):e.push in t&&null!=t[e.push]&&t[e.push].forEach(function(t){c.push(n(i,e,t))})})})}),c.join("\r\n")+"\r\n"}}var Xg=function(){if($g)return Jg;$g=1;var e=(Hg||(Hg=1,function(e){var t=function(e){return String(Number(e))===e?Number(e):e},i=function(e,i,n){var r=e.name&&e.names;e.push&&!i[e.push]?i[e.push]=[]:r&&!i[e.name]&&(i[e.name]={});var a=e.push?{}:r?i[e.name]:i;!function(e,i,n,r){if(r&&!n)i[r]=t(e[1]);else for(var a=0;a<n.length;a+=1)null!=e[a+1]&&(i[n[a]]=t(e[a+1]))}(n.match(e.reg),a,e.names,e.name),e.push&&i[e.push].push(a)},n=Zg(),r=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},a=[],o=t;return e.split(/(\r\n|\r|\n)/).filter(r).forEach(function(e){var t=e[0],r=e.slice(2);"m"===t&&(a.push({rtp:[],fmtp:[]}),o=a[a.length-1]);for(var s=0;s<(n[t]||[]).length;s+=1){var c=n[t][s];if(c.reg.test(r))return i(c,o,r)}}),t.media=a,t};var a=function(e,i){var n=i.split(/=(.+)/,2);return 2===n.length?e[n[0]]=t(n[1]):1===n.length&&i.length>1&&(e[n[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(a,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var i=[],n=e.split(" ").map(t),r=0;r<n.length;r+=3)i.push({component:n[r],ip:n[r+1],port:n[r+2]});return i},e.parseImageAttributes=function(e){return e.split(" ").map(function(e){return e.substring(1,e.length-1).split(",").reduce(a,{})})},e.parseSimulcastStreamList=function(e){return e.split(";").map(function(e){return e.split(",").map(function(e){var i,n=!1;return"~"!==e[0]?i=t(e):(i=t(e.substring(1,e.length)),n=!0),{scid:i,paused:n}})})}}(Kg)),Kg),t=Yg(),i=Zg();return Jg.grammar=i,Jg.write=t,Jg.parse=e.parse,Jg.parseParams=e.parseParams,Jg.parseFmtpConfig=e.parseFmtpConfig,Jg.parsePayloads=e.parsePayloads,Jg.parseRemoteCandidates=e.parseRemoteCandidates,Jg.parseImageAttributes=e.parseImageAttributes,Jg.parseSimulcastStreamList=e.parseSimulcastStreamList,Jg}();function em(e,t,i){var n,r,a;void 0===t&&(t=50),void 0===i&&(i={});var o=null!=(n=i.isImmediate)&&n,s=null!=(r=i.callback)&&r,c=i.maxWait,l=Date.now(),d=[],u=function(){var i=[].slice.call(arguments),n=this;return new Promise(function(r,u){var h=o&&void 0===a;if(void 0!==a&&clearTimeout(a),a=setTimeout(function(){if(a=void 0,l=Date.now(),!o){var t=e.apply(n,i);s&&s(t),d.forEach(function(e){return(0,e.resolve)(t)}),d=[]}},function(){if(void 0!==c){var e=Date.now()-l;if(e+t>=c)return c-e}return t}()),h){var p=e.apply(n,i);return s&&s(p),r(p)}d.push({resolve:r,reject:u})})};return u.cancel=function(e){void 0!==a&&clearTimeout(a),d.forEach(function(t){return(0,t.reject)(e)}),d=[]},u}const tm="negotiationStarted",im="negotiationComplete",nm="rtpVideoPayloadTypes";class rm extends yu.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 i;super(),this.log=hu,this.ddExtID=0,this.latestOfferId=0,this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate=!1,this.trackBitrates=[],this.remoteStereoMids=[],this.remoteNackMids=[],this.negotiate=em(e=>fu(this,void 0,void 0,function*(){this.emit(tm);try{yield this.createAndSendOffer()}catch(Gb){if(!e)throw Gb;e(Gb)}}),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=pu(null!==(i=t.loggerName)&&void 0!==i?i:cu.PCTransport),this.loggerOptions=t,this.config=e,this._pc=this.createPC(),this.offerLock=new Is}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 fu(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 fu(this,void 0,void 0,function*(){var i;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 n;if("offer"===e.type){let{stereoMids:t,nackMids:i}=function(e){var t;const i=[],n=[],r=Xg.parse(null!==(t=e.sdp)&&void 0!==t?t:"");let a=0;return r.media.forEach(e=>{var t;"audio"===e.type&&(e.rtp.some(e=>"opus"===e.codec&&(a=e.payload,!0)),(null===(t=e.rtcpFb)||void 0===t?void 0:t.some(e=>e.payload===a&&"nack"===e.type))&&n.push(e.mid),e.fmtp.some(t=>t.payload===a&&(t.config.includes("sprop-stereo=1")&&i.push(e.mid),!0)))}),{stereoMids:i,nackMids:n}}(e);this.remoteStereoMids=t,this.remoteNackMids=i}else if("answer"===e.type){const t=Xg.parse(null!==(i=e.sdp)&&void 0!==i?i:"");t.media.forEach(e=>{"audio"===e.type&&this.trackBitrates.some(t=>{if(!t.transceiver||e.mid!=t.transceiver.mid)return!1;let i=0;if(e.rtp.some(e=>e.codec.toUpperCase()===t.codec.toUpperCase()&&(i=e.payload,!0)),0===i)return!0;let n=!1;for(const r of e.fmtp)if(r.payload===i){r.config=r.config.split(";").filter(e=>!e.includes("maxaveragebitrate")).join(";"),t.maxbr>0&&(r.config+=";maxaveragebitrate=".concat(1e3*t.maxbr)),n=!0;break}return n||t.maxbr>0&&e.fmtp.push({payload:i,config:"maxaveragebitrate=".concat(1e3*t.maxbr)}),!0})}),n=Xg.write(t)}return yield this.setMungedSDP(e,n,!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(im),e.sdp)&&Xg.parse(e.sdp).media.forEach(e=>{"video"===e.type&&this.emit(nm,e.rtp)}),!0})}createAndSendOffer(e){return fu(this,void 0,void 0,function*(){var t;const i=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 i=this.latestOfferId+1;this.latestOfferId=i;const n=yield this.pc.createOffer(e);this.log.debug("original offer",Object.assign({sdp:n.sdp},this.logContext));const r=Xg.parse(null!==(t=n.sdp)&&void 0!==t?t:"");if(r.media.forEach(e=>{om(e),"audio"===e.type?am(e,[],[]):"video"===e.type&&this.trackBitrates.some(t=>{if(!e.msid||!t.cid||!e.msid.includes(t.cid))return!1;let i=0;if(e.rtp.some(e=>e.codec.toUpperCase()===t.codec.toUpperCase()&&(i=e.payload,!0)),0===i)return!0;if(Lp(t.codec)&&!Fp()&&this.ensureVideoDDExtensionForSVC(e,r),"av1"!==t.codec)return!0;const n=Math.round(.7*t.maxbr);for(const r of e.fmtp)if(r.payload===i){r.config.includes("x-google-start-bitrate")||(r.config+=";x-google-start-bitrate=".concat(n));break}return!0})}),this.latestOfferId>i)return void this.log.warn("latestOfferId mismatch",Object.assign(Object.assign({},this.logContext),{latestOfferId:this.latestOfferId,offerId:i}));yield this.setMungedSDP(n,Xg.write(r)),this.onOffer(n,this.latestOfferId)}finally{i()}})}createAndSetAnswer(){return fu(this,void 0,void 0,function*(){var e;const t=yield this.pc.createAnswer(),i=Xg.parse(null!==(e=t.sdp)&&void 0!==e?e:"");return i.media.forEach(e=>{om(e),"audio"===e.type&&am(e,this.remoteStereoMids,this.remoteNackMids)}),yield this.setMungedSDP(t,Xg.write(i)),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 ip("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 ip("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 fu(this,void 0,void 0,function*(){var e;if(!this._pc)return;let t="";const i=new Map,n=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),i.set(e.id,e);break;case"remote-candidate":n.set(e.id,"".concat(e.address,":").concat(e.port))}}),""===t)return;const r=null===(e=i.get(t))||void 0===e?void 0:e.remoteCandidateId;return void 0!==r?n.get(r):void 0})}setMungedSDP(e,t,i){return fu(this,void 0,void 0,function*(){if(t){const n=e.sdp;e.sdp=t;try{return this.log.debug("setting munged ".concat(i?"remote":"local"," description"),this.logContext),void(i?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e))}catch(Gb){this.log.warn("not able to set ".concat(e.type,", falling back to unmodified sdp"),Object.assign(Object.assign({},this.logContext),{error:Gb,sdp:t})),e.sdp=n}}try{i?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e)}catch(Gb){let n="unknown error";Gb instanceof Error?n=Gb.message:"string"==typeof Gb&&(n=Gb);const r={error:n,sdp:e.sdp};throw!i&&this.pc.remoteDescription&&(r.remoteSdp=this.pc.remoteDescription),this.log.error("unable to set ".concat(e.type),Object.assign(Object.assign({},this.logContext),{fields:r})),new np(n)}})}ensureVideoDDExtensionForSVC(e,t){var i,n;if(!(null===(i=e.ext)||void 0===i?void 0:i.some(e=>e.uri===Rp))){if(0===this.ddExtID){let e=0;t.media.forEach(t=>{var i;"video"===t.type&&(null===(i=t.ext)||void 0===i||i.forEach(t=>{t.value>e&&(e=t.value)}))}),this.ddExtID=e+1}null===(n=e.ext)||void 0===n||n.push({value:this.ddExtID,uri:Rp})}}}function am(e,t,i){let n=0;e.rtp.some(e=>"opus"===e.codec&&(n=e.payload,!0)),n>0&&(e.rtcpFb||(e.rtcpFb=[]),i.includes(e.mid)&&!e.rtcpFb.some(e=>e.payload===n&&"nack"===e.type)&&e.rtcpFb.push({payload:n,type:"nack"}),t.includes(e.mid)&&e.fmtp.some(e=>e.payload===n&&(e.config.includes("stereo=1")||(e.config+=";stereo=1"),!0)))}function om(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)}}const sm="vp8",cm={audioPreset:Ep.music,dtx:!0,red:!0,forceStereo:!1,simulcast:!0,screenShareEncoding:Ip.h1080fps15.encoding,stopMicTrackOnMute:!1,videoCodec:sm,backupCodec:!0,preConnectBuffer:!1},lm={deviceId:{ideal:"default"},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0,voiceIsolation:!0},dm={deviceId:{ideal:"default"},resolution:Mp.h720.resolution},um={adaptiveStream:!1,dynacast:!1,stopLocalTrackOnUnpublish:!0,reconnectPolicy:new class{constructor(e){this._retryDelays=void 0!==e?[...e]:vu}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},hm={autoSubscribe:!0,maxRetries:1,peerConnectionTimeout:15e3,websocketTimeout:15e3};var pm,gm;(gm=pm||(pm={}))[gm.NEW=0]="NEW",gm[gm.CONNECTING=1]="CONNECTING",gm[gm.CONNECTED=2]="CONNECTED",gm[gm.FAILED=3]="FAILED",gm[gm.CLOSING=4]="CLOSING",gm[gm.CLOSED=5]="CLOSED";class mm{get needsPublisher(){return this.isPublisherConnectionRequired}get needsSubscriber(){return this.isSubscriberConnectionRequired}get currentState(){return this.state}constructor(e,t,i){var n;this.peerConnectionTimeout=hm.peerConnectionTimeout,this.log=hu,this.updateState=()=>{var e;const t=this.state,i=this.requiredTransports.map(e=>e.getConnectionState());i.every(e=>"connected"===e)?this.state=pm.CONNECTED:i.some(e=>"failed"===e)?this.state=pm.FAILED:i.some(e=>"connecting"===e)?this.state=pm.CONNECTING:i.every(e=>"closed"===e)?this.state=pm.CLOSED:i.some(e=>"closed"===e)?this.state=pm.CLOSING:i.every(e=>"new"===e)&&(this.state=pm.NEW),t!==this.state&&(this.log.debug("pc state change: from ".concat(pm[t]," to ").concat(pm[this.state]),this.logContext),null===(e=this.onStateChange)||void 0===e||e.call(this,this.state,this.publisher.getConnectionState(),this.subscriber.getConnectionState()))},this.log=pu(null!==(n=i.loggerName)&&void 0!==n?n:cu.PCManager),this.loggerOptions=i,this.isPublisherConnectionRequired=!t,this.isSubscriberConnectionRequired=t,this.publisher=new rm(e,i),this.subscriber=new rm(e,i),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,od.PUBLISHER)},this.subscriber.onIceCandidate=e=>{var t;null===(t=this.onIceCandidate)||void 0===t||t.call(this,e,od.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 i;null===(i=this.onPublisherOffer)||void 0===i||i.call(this,e,t)},this.state=pm.NEW,this.connectionLock=new Is,this.remoteOfferLock=new Is}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 fu(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(Gb){this.log.warn("could not removeTrack",Object.assign(Object.assign({},this.logContext),{error:Gb}))}}yield Promise.all([this.publisher.close(),this.subscriber.close()]),this.updateState()})}triggerIceRestart(){return fu(this,void 0,void 0,function*(){this.subscriber.restartingIce=!0,this.needsPublisher&&(yield this.createAndSendPublisherOffer({iceRestart:!0}))})}addIceCandidate(e,t){return fu(this,void 0,void 0,function*(){t===od.PUBLISHER?yield this.publisher.addIceCandidate(e):yield this.subscriber.addIceCandidate(e)})}createSubscriberAnswerFromOffer(e,t){return fu(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 i=yield this.remoteOfferLock.lock();try{if(!(yield this.subscriber.setRemoteDescription(e,t)))return;return yield this.subscriber.createAndSetAnswer()}finally{i()}})}updateConfiguration(e,t){this.publisher.setConfiguration(e),this.subscriber.setConfiguration(e),t&&this.triggerIceRestart()}ensurePCTransportConnection(e,t){return fu(this,void 0,void 0,function*(){var i;const n=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===(i=this.requiredTransports)||void 0===i?void 0:i.map(i=>this.ensureTransportConnected(i,e,t)))}finally{n()}})}negotiate(e){return fu(this,void 0,void 0,function*(){return new Promise((t,i)=>fu(this,void 0,void 0,function*(){const n=setTimeout(()=>{i("negotiation timed out")},this.peerConnectionTimeout);e.signal.addEventListener("abort",()=>{clearTimeout(n),i("negotiation aborted")}),this.publisher.once(tm,()=>{e.signal.aborted||this.publisher.once(im,()=>{clearTimeout(n),t()})}),yield this.publisher.negotiate(e=>{clearTimeout(n),i(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===od.PUBLISHER||e===od.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 fu(this,arguments,void 0,function(e,t){var i=this;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.peerConnectionTimeout;return function*(){if("connected"!==e.getConnectionState())return new Promise((e,r)=>fu(i,void 0,void 0,function*(){const i=()=>{this.log.warn("abort transport connection",this.logContext),pp.clearTimeout(a),r(new Yh("room connection has been cancelled",Dh.Cancelled))};(null==t?void 0:t.signal.aborted)&&i(),null==t||t.signal.addEventListener("abort",i);const a=pp.setTimeout(()=>{null==t||t.signal.removeEventListener("abort",i),r(new Yh("could not establish pc connection",Dh.InternalError))},n);for(;this.state!==pm.CONNECTED;)if(yield Ap(50),null==t?void 0:t.signal.aborted)return void r(new Yh("room connection has been cancelled",Dh.Cancelled));pp.clearTimeout(a),null==t||t.signal.removeEventListener("abort",i),e()}))}()})}}class vm extends Error{constructor(e,t,i){super(t),this.code=e,this.message=bm(t,vm.MAX_MESSAGE_BYTES),this.data=i?bm(i,vm.MAX_DATA_BYTES):void 0}static fromProto(e){return new vm(e.code,e.message,e.data)}toProto(){return new Hl({code:this.code,message:this.message,data:this.data})}static builtIn(e,t){return new vm(vm.ErrorCode[e],vm.ErrorMessage[e],t)}}function fm(e){return(new TextEncoder).encode(e).length}function bm(e,t){if(fm(e)<=t)return e;let i=0,n=e.length;const r=new TextEncoder;for(;i<n;){const a=Math.floor((i+n+1)/2);r.encode(e.slice(0,a)).length<=t?i=a:n=a-1}return e.slice(0,i)}vm.MAX_MESSAGE_BYTES=256,vm.MAX_DATA_BYTES=15360,vm.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},vm.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 km=2e3;function wm(e,t){if(!t)return 0;let i,n;return"bytesReceived"in e?(i=e.bytesReceived,n=t.bytesReceived):"bytesSent"in e&&(i=e.bytesSent,n=t.bytesSent),void 0===i||void 0===n||void 0===e.timestamp||void 0===t.timestamp?0:8*(i-n)*1e3/(e.timestamp-t.timestamp)}const ym="undefined"!=typeof MediaRecorder,xm=ym?MediaRecorder:class{constructor(){throw new Error("MediaRecorder is not available in this environment")}};class Cm extends xm{constructor(e,t){if(!ym)throw new Error("MediaRecorder is not available in this environment");let i,n;super(new MediaStream([e.mediaStreamTrack]),t);const r=()=>{this.removeEventListener("dataavailable",i),this.removeEventListener("stop",r),this.removeEventListener("error",a),null==n||n.close(),n=void 0},a=e=>{null==n||n.error(e),this.removeEventListener("dataavailable",i),this.removeEventListener("stop",r),this.removeEventListener("error",a),n=void 0};this.byteStream=new ReadableStream({start:e=>{n=e,i=t=>fu(this,void 0,void 0,function*(){let i;if(t.data.arrayBuffer){const e=yield t.data.arrayBuffer();i=new Uint8Array(e)}else{if(!t.data.byteArray)throw new Error("no data available!");i=t.data.byteArray}void 0!==n&&e.enqueue(i)}),this.addEventListener("dataavailable",i)},cancel:()=>{r()}}),this.addEventListener("stop",r),this.addEventListener("error",a)}}class Sm extends fp{get sender(){return this._sender}set sender(e){this._sender=e}get constraints(){return this._constraints}get hasPreConnectBuffer(){return!!this.localTrackRecorder}constructor(e,t,i){let n=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=em(()=>fu(this,void 0,void 0,function*(){yield this.pauseUpstream()}),5e3),this.handleTrackUnmuteEvent=()=>fu(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(Jh.Ended,this)},this.reacquireTrack=!1,this.providedByUser=n,this.muteLock=new Is,this.pauseUpstreamLock=new Is,this.trackChangeLock=new Is,this.trackChangeLock.lock().then(t=>fu(this,void 0,void 0,function*(){try{yield this.setMediaStreamTrack(e,!0)}finally{t()}})),this._constraints=e.getConstraints(),i&&(this._constraints=i)}get id(){return this._mediaStreamTrack.id}get dimensions(){if(this.kind!==fp.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 fu(this,void 0,void 0,function*(){var i;if(e===this._mediaStreamTrack&&!t)return;let n;if(this._mediaStreamTrack&&(this.attachedElements.forEach(e=>{kp(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&&(bp(e,this.processorElement),this.processorElement.muted=!0),yield this.processor.restart({track:e,kind:this.kind,element:this.processorElement}),n=this.processor.processedTrack}this.sender&&"closed"!==(null===(i=this.sender.transport)||void 0===i?void 0:i.state)&&(yield this.sender.replaceTrack(null!=n?n: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=>{bp(null!=n?n:e,t)}))})}waitForDimensions(){return fu(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e3;return function*(){var i;if(e.kind===fp.Kind.Audio)throw new Error("cannot get dimensions for audio tracks");"iOS"===(null===(i=lp())||void 0===i?void 0:i.os)&&(yield Ap(10));const n=Date.now();for(;Date.now()-n<t;){const t=e.dimensions;if(t)return t;yield Ap(50)}throw new ep("unable to get track dimensions after timeout")}()})}setDeviceId(e){return fu(this,void 0,void 0,function*(){return this._constraints.deviceId===e&&this._mediaStreamTrack.getSettings().deviceId===rg(e)||(this._constraints.deviceId=e,!!this.isMuted||(yield this.restartTrack(),rg(e)===this._mediaStreamTrack.getSettings().deviceId))})}getDeviceId(){return fu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){if(e.source===fp.Source.ScreenShare)return;const{deviceId:i,groupId:n}=e._mediaStreamTrack.getSettings(),r=e.kind===fp.Kind.Audio?"audioinput":"videoinput";return t?Ig.getInstance().normalizeDeviceId(r,i,n):i}()})}mute(){return fu(this,void 0,void 0,function*(){return this.setTrackMuted(!0),this})}unmute(){return fu(this,void 0,void 0,function*(){return this.setTrackMuted(!1),this})}replaceTrack(e,t){return fu(this,void 0,void 0,function*(){const i=yield this.trackChangeLock.lock();try{if(!this.sender)throw new ep("unable to replace an unpublished track");let i,n;return"boolean"==typeof t?i=t:void 0!==t&&(i=t.userProvidedTrack,n=t.stopProcessor),this.providedByUser=null==i||i,this.log.debug("replace MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(e),n&&this.processor&&(yield this.internalStopProcessor()),this}finally{i()}})}restart(e){return fu(this,void 0,void 0,function*(){this.manuallyStopped=!1;const t=yield this.trackChangeLock.lock();try{e||(e=this._constraints);const{deviceId:t,facingMode:i}=e,n=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}(e,["deviceId","facingMode"]);this.log.debug("restarting track with constraints",Object.assign(Object.assign({},this.logContext),{constraints:e}));const r={audio:!1,video:!1};this.kind===fp.Kind.Video?r.video=!t&&!i||{deviceId:t,facingMode:i}:r.audio=!t||{deviceId:t},this.attachedElements.forEach(e=>{kp(this.mediaStreamTrack,e)}),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.stop();const a=(yield navigator.mediaDevices.getUserMedia(r)).getTracks()[0];return yield a.applyConstraints(n),a.addEventListener("ended",this.handleEnded),this.log.debug("re-acquired MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(a),this._constraints=e,this.emit(Jh.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?Jh.Muted:Jh.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 fu(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),zp()&&(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 fu(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(Jh.UpstreamPaused,this);const t=lp();if("Safari"===(null==t?void 0:t.name)&&$p(t.version,"12.0")<0)throw new Xh("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 fu(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(Jh.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 fu(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 fu(this,arguments,void 0,function(e){var t=this;let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var n;const r=yield t.trackChangeLock.lock();try{t.log.debug("setting up processor",t.logContext);const r=document.createElement(t.kind),a={kind:t.kind,track:t._mediaStreamTrack,element:r,audioContext:t.audioContext};if(yield e.init(a),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(bp(t._mediaStreamTrack,r),r.muted=!0,r.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(()=>{r.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=r,t.processor.processedTrack){for(const e of t.attachedElements)e!==t.processorElement&&i&&(kp(t._mediaStreamTrack,e),bp(t.processor.processedTrack,e));yield null===(n=t.sender)||void 0===n?void 0:n.replaceTrack(t.processor.processedTrack)}t.emit(Jh.TrackProcessorUpdate,t.processor)}finally{r()}}()})}getProcessor(){return this.processor}stopProcessor(){return fu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){const i=yield e.trackChangeLock.lock();try{yield e.internalStopProcessor(t)}finally{i()}}()})}internalStopProcessor(){return fu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){var i,n;e.processor&&(e.log.debug("stopping processor",e.logContext),null===(i=e.processor.processedTrack)||void 0===i||i.stop(),yield e.processor.destroy(),e.processor=void 0,t||(null===(n=e.processorElement)||void 0===n||n.remove(),e.processorElement=void 0),yield e._mediaStreamTrack.applyConstraints(e._constraints),yield e.setMediaStreamTrack(e._mediaStreamTrack,!0),e.emit(Jh.TrackProcessorUpdate))}()})}startPreConnectBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;if(ym)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 Cm(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 Tm extends Sm{get enhancedNoiseCancellation(){return this.isKrispNoiseFilterEnabled}constructor(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0;super(e,fp.Kind.Audio,t,i,r),this.stopOnMute=!1,this.isKrispNoiseFilterEnabled=!1,this.monitorSender=()=>fu(this,void 0,void 0,function*(){if(!this.sender)return void(this._currentBitrate=0);let e;try{e=yield this.getSenderStats()}catch(Gb){return void this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:Gb}))}e&&this.prevStats&&(this._currentBitrate=wm(e,this.prevStats)),this.prevStats=e}),this.handleKrispNoiseFilterEnable=()=>{this.isKrispNoiseFilterEnabled=!0,this.log.debug("Krisp noise filter enabled",this.logContext),this.emit(Jh.AudioTrackFeatureUpdate,this,wl.TF_ENHANCED_NOISE_CANCELLATION,!0)},this.handleKrispNoiseFilterDisable=()=>{this.isKrispNoiseFilterEnabled=!1,this.log.debug("Krisp noise filter disabled",this.logContext),this.emit(Jh.AudioTrackFeatureUpdate,this,wl.TF_ENHANCED_NOISE_CANCELLATION,!1)},this.audioContext=n,this.checkForSilence()}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return fu(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===fp.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 fu(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!==rg(this._constraints.deviceId);return this.source!==fp.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 fu(this,void 0,void 0,function*(){let t;if(e){const i=kg({audio:e});"boolean"!=typeof i.audio&&(t=i.audio)}yield this.restart(t)})}restart(e){const t=Object.create(null,{restart:{get:()=>super.restart}});return fu(this,void 0,void 0,function*(){const i=yield t.restart.call(this,e);return this.checkForSilence(),i})}startMonitor(){Bp()&&(this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},km)))}setProcessor(e){return fu(this,void 0,void 0,function*(){var t;const i=yield this.trackChangeLock.lock();try{if(!Vp()&&!this.audioContext)throw Error("Audio context needs to be set on LocalAudioTrack in order to enable processors");this.processor&&(yield this.internalStopProcessor());const i={kind:this.kind,track:this._mediaStreamTrack,audioContext:this.audioContext};this.log.debug("setting up audio processor ".concat(e.name),this.logContext),yield e.init(i),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(Jh.TrackProcessorUpdate,this.processor)}finally{i()}})}setAudioContext(e){this.audioContext=e}getSenderStats(){return fu(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 fu(this,void 0,void 0,function*(){const e=yield function(e){return fu(this,arguments,void 0,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;return function*(){const i=wg();if(i){const n=i.createAnalyser();n.fftSize=2048;const r=n.frequencyBinCount,a=new Uint8Array(r);i.createMediaStreamSource(new MediaStream([e.mediaStreamTrack])).connect(n),yield Ap(t),n.getByteTimeDomainData(a);const o=a.some(e=>128!==e&&0!==e);return i.close(),!o}return!1}()})}(this);return e&&(this.isMuted||this.log.warn("silence detected on local audio track",this.logContext),this.emit(Jh.AudioSilenceDetected)),e})}}const Em=Object.values(Mp),Pm=Object.values(_p),Mm=Object.values(Ip),_m=[Mp.h180,Mp.h360],Im=[_p.h180,_p.h360],Rm=["q","h","f"];function Am(e,t,i,n){var r,a;let o=null==n?void 0:n.videoEncoding;e&&(o=null==n?void 0:n.screenShareEncoding);const s=null==n?void 0:n.simulcast,c=null==n?void 0:n.scalabilityMode,l=null==n?void 0:n.videoCodec;if(!o&&!s&&!c||!t||!i)return[{}];o||(o=function(e,t,i,n){const r=function(e,t,i){if(e)return Mm;const n=t>i?t/i:i/t;return Math.abs(n-16/9)<Math.abs(n-4/3)?Em:Pm}(e,t,i);let{encoding:a}=r[0];const o=Math.max(t,i);for(let s=0;s<r.length;s+=1){const e=r[s];if(a=e.encoding,e.width>=o)break}if(n)switch(n){case"av1":case"h265":a=Object.assign({},a),a.maxBitrate=.7*a.maxBitrate;break;case"vp9":a=Object.assign({},a),a.maxBitrate=.85*a.maxBitrate}return a}(e,t,i,l),hu.debug("using video encoding",o));const d=o.maxFramerate,u=new wp(t,i,o.maxBitrate,o.maxFramerate,o.priority);if(c&&Lp(l)){const e=new Nm(c),t=[];if(e.spatial>3)throw new Error("unsupported scalabilityMode: ".concat(c));const i=lp();if(Up()||Vp()||"Chrome"===(null==i?void 0:i.name)&&$p(null==i?void 0:i.version,"113")<0){const n="h"==e.suffix?2:3,r=function(e){return e||(e=lp()),"Safari"===(null==e?void 0:e.name)&&$p(e.version,"18.3")>0||"iOS"===(null==e?void 0:e.os)&&!!(null==e?void 0:e.osVersion)&&$p(e.osVersion,"18.3")>0}(i);for(let i=0;i<e.spatial;i+=1)t.push({rid:Rm[2-i],maxBitrate:o.maxBitrate/Math.pow(n,i),maxFramerate:u.encoding.maxFramerate,scaleResolutionDownBy:r?Math.pow(2,i):void 0});t[0].scalabilityMode=c}else t.push({maxBitrate:o.maxBitrate,maxFramerate:u.encoding.maxFramerate,scalabilityMode:c});return u.encoding.priority&&(t[0].priority=u.encoding.priority,t[0].networkPriority=u.encoding.priority),hu.debug("using svc encoding",{encodings:t}),t}if(!s)return[o];let h,p=[];if(p=e?null!==(r=Lm(null==n?void 0:n.screenShareSimulcastLayers))&&void 0!==r?r:Om(e,u):null!==(a=Lm(null==n?void 0:n.videoSimulcastLayers))&&void 0!==a?a:Om(e,u),p.length>0){const e=p[0];p.length>1&&([,h]=p);const n=Math.max(t,i);if(n>=960&&h)return Dm(t,i,[e,h,u],d);if(n>=480)return Dm(t,i,[e,u],d)}return Dm(t,i,[u])}function Om(e,t){if(e)return[{scaleResolutionDownBy:2,fps:(i=t).encoding.maxFramerate}].map(e=>{var t,n;return new wp(Math.floor(i.width/e.scaleResolutionDownBy),Math.floor(i.height/e.scaleResolutionDownBy),Math.max(15e4,Math.floor(i.encoding.maxBitrate/(Math.pow(e.scaleResolutionDownBy,2)*((null!==(t=i.encoding.maxFramerate)&&void 0!==t?t:30)/(null!==(n=e.fps)&&void 0!==n?n:30))))),e.fps,i.encoding.priority)});var i;const{width:n,height:r}=t,a=n>r?n/r:r/n;return Math.abs(a-16/9)<Math.abs(a-4/3)?_m:Im}function Dm(e,t,i,n){const r=[];if(i.forEach((i,a)=>{if(a>=Rm.length)return;const o=Math.min(e,t),s={rid:Rm[a],scaleResolutionDownBy:Math.max(1,o/Math.min(i.width,i.height)),maxBitrate:i.encoding.maxBitrate},c=n&&i.encoding.maxFramerate?Math.min(n,i.encoding.maxFramerate):i.encoding.maxFramerate;c&&(s.maxFramerate=c);const l=jp()||0===a;i.encoding.priority&&l&&(s.priority=i.encoding.priority,s.networkPriority=i.encoding.priority),r.push(s)}),Vp()&&"ios"===Gp()){let e;r.forEach(t=>{e?t.maxFramerate&&t.maxFramerate>e&&(e=t.maxFramerate):e=t.maxFramerate});let t=!0;r.forEach(i=>{var n;i.maxFramerate!=e&&(t&&(t=!1,hu.info("Simulcast on iOS React-Native requires all encodings to share the same framerate.")),hu.info('Setting framerate of encoding "'.concat(null!==(n=i.rid)&&void 0!==n?n:"",'" to ').concat(e)),i.maxFramerate=e)})}return r}function Lm(e){if(e)return e.sort((e,t)=>{const{encoding:i}=e,{encoding:n}=t;return i.maxBitrate>n.maxBitrate?1:i.maxBitrate<n.maxBitrate?-1:i.maxBitrate===n.maxBitrate&&i.maxFramerate&&n.maxFramerate?i.maxFramerate>n.maxFramerate?1:-1:0})}class Nm{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 jm extends Sm{get sender(){return this._sender}set sender(e){this._sender=e,this.degradationPreference&&this.setDegradationPreference(this.degradationPreference)}constructor(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3?arguments[3]:void 0;super(e,fp.Kind.Video,t,i,n),this.simulcastCodecs=new Map,this.degradationPreference="balanced",this.isCpuConstrained=!1,this.optimizeForPerformance=!1,this.monitorSender=()=>fu(this,void 0,void 0,function*(){if(!this.sender)return void(this._currentBitrate=0);let e;try{e=yield this.getSenderStats()}catch(Gb){return void this.log.error("could not get video sender stats",Object.assign(Object.assign({},this.logContext),{error:Gb}))}const t=new Map(e.map(e=>[e.rid,e])),i=e.some(e=>"cpu"===e.qualityLimitationReason);if(i!==this.isCpuConstrained&&(this.isCpuConstrained=i,this.isCpuConstrained&&this.emit(Jh.CpuConstrained)),this.prevStats){let e=0;t.forEach((t,i)=>{var n;const r=null===(n=this.prevStats)||void 0===n?void 0:n.get(i);e+=wm(t,r)}),this._currentBitrate=e}this.prevStats=t}),this.senderLock=new Is}get isSimulcast(){return!!(this.sender&&this.sender.getParameters().encodings.length>1)}startMonitor(e){var t;if(this.signalClient=e,!Bp())return;const i=null===(t=this.sender)||void 0===t?void 0:t.getParameters();i&&(this.encodings=i.encodings),this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},km))}stop(){this._mediaStreamTrack.getConstraints(),this.simulcastCodecs.forEach(e=>{e.mediaStreamTrack.stop()}),super.stop()}pauseUpstream(){const e=Object.create(null,{pauseUpstream:{get:()=>super.pauseUpstream}});return fu(this,void 0,void 0,function*(){var t,i,n,r,a;yield e.pauseUpstream.call(this);try{for(var o,s=!0,c=bu(this.simulcastCodecs.values());!(t=(o=yield c.next()).done);s=!0){r=o.value,s=!1;const e=r;yield null===(a=e.sender)||void 0===a?void 0:a.replaceTrack(null)}}catch(l){i={error:l}}finally{try{s||t||!(n=c.return)||(yield n.call(c))}finally{if(i)throw i.error}}})}resumeUpstream(){const e=Object.create(null,{resumeUpstream:{get:()=>super.resumeUpstream}});return fu(this,void 0,void 0,function*(){var t,i,n,r,a;yield e.resumeUpstream.call(this);try{for(var o,s=!0,c=bu(this.simulcastCodecs.values());!(t=(o=yield c.next()).done);s=!0){r=o.value,s=!1;const e=r;yield null===(a=e.sender)||void 0===a?void 0:a.replaceTrack(e.mediaStreamTrack)}}catch(l){i={error:l}}finally{try{s||t||!(n=c.return)||(yield n.call(c))}finally{if(i)throw i.error}}})}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return fu(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!==fp.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 fu(this,void 0,void 0,function*(){const t=yield this.muteLock.lock();try{return this.isMuted?(this.source!==fp.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 fu(this,void 0,void 0,function*(){var e;if(!(null===(e=this.sender)||void 0===e?void 0:e.getStats))return[];const t=[],i=yield this.sender.getStats();return i.forEach(e=>{var n;if("outbound-rtp"===e.type){const r={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!==(n=e.rid)&&void 0!==n?n:e.id,retransmittedPacketsSent:e.retransmittedPacketsSent,targetBitrate:e.targetBitrate,timestamp:e.timestamp},a=i.get(e.remoteId);a&&(r.jitter=a.jitter,r.packetsLost=a.packetsLost,r.roundTripTime=a.roundTripTime),t.push(r)}}),t.sort((e,t)=>{var i,n;return(null!==(i=t.frameWidth)&&void 0!==i?i:0)-(null!==(n=e.frameWidth)&&void 0!==n?n:0)}),t})}setPublishingQuality(e){const t=[];for(let i=mp.LOW;i<=mp.HIGH;i+=1)t.push(new Nd({quality:i,enabled:i<=e}));this.log.debug("setting publishing quality. max quality ".concat(e),this.logContext),this.setPublishingLayers(Lp(this.codec),t)}restartTrack(e){return fu(this,void 0,void 0,function*(){var t,i,n,r,a;let o;if(e){const t=kg({video:e});"boolean"!=typeof t.video&&(o=t.video)}yield this.restart(o),this.isCpuConstrained=!1;try{for(var s,c=!0,l=bu(this.simulcastCodecs.values());!(t=(s=yield l.next()).done);c=!0){r=s.value,c=!1;const e=r;e.sender&&"closed"!==(null===(a=e.sender.transport)||void 0===a?void 0:a.state)&&(e.mediaStreamTrack=this.mediaStreamTrack.clone(),yield e.sender.replaceTrack(e.mediaStreamTrack))}}catch(d){i={error:d}}finally{try{c||t||!(n=l.return)||(yield n.call(l))}finally{if(i)throw i.error}}})}setProcessor(e){const t=Object.create(null,{setProcessor:{get:()=>super.setProcessor}});return fu(this,arguments,void 0,function(e){var i=this;let n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var r,a,o,s,c,l;if(yield t.setProcessor.call(i,e,n),null===(c=i.processor)||void 0===c?void 0:c.processedTrack)try{for(var d,u=!0,h=bu(i.simulcastCodecs.values());!(r=(d=yield h.next()).done);u=!0){s=d.value,u=!1;const e=s;yield null===(l=e.sender)||void 0===l?void 0:l.replaceTrack(i.processor.processedTrack)}}catch(p){a={error:p}}finally{try{u||r||!(o=h.return)||(yield o.call(h))}finally{if(a)throw a.error}}}()})}setDegradationPreference(e){return fu(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(Gb){this.log.warn("failed to set degradationPreference",Object.assign({error:Gb},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 i={codec:e,mediaStreamTrack:this.mediaStreamTrack.clone(),sender:void 0,encodings:t};return this.simulcastCodecs.set(e,i),i}setSimulcastTrackSender(e,t){const i=this.simulcastCodecs.get(e);i&&(i.sender=t,setTimeout(()=>{this.subscribedCodecs&&this.setPublishingCodecs(this.subscribedCodecs)},5e3))}setPublishingCodecs(e){return fu(this,void 0,void 0,function*(){var t,i,n,r,a,o,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(Lp(e[0].codec),e[0].qualities),[];this.subscribedCodecs=e;const c=[];try{for(t=!0,i=bu(e);!(r=(n=yield i.next()).done);t=!0){s=n.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 Fm(t.sender,t.encodings,e.qualities,this.senderLock,Lp(e.codec),this.log,this.logContext));else for(const i of e.qualities)if(i.enabled){c.push(e.codec);break}}else yield this.setPublishingLayers(Lp(e.codec),e.qualities)}}catch(l){a={error:l}}finally{try{t||r||!(o=i.return)||(yield o.call(i))}finally{if(a)throw a.error}}return c})}setPublishingLayers(e,t){return fu(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 Fm(this.sender,this.encodings,t,this.senderLock,e,this.log,this.logContext)))})}prioritizePerformance(){return fu(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 i;return Object.assign(Object.assign({},e),{active:0===t,scaleResolutionDownBy:Math.max(1,Math.ceil((null!==(i=this.mediaStreamTrack.getSettings().height)&&void 0!==i?i:360)/360)),scalabilityMode:0===t&&Lp(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(Gb){this.log.error("failed to set performance optimised encodings",Object.assign(Object.assign({},this.logContext),{error:Gb})),this.optimizeForPerformance=!1}finally{e()}})}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return fu(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),zp()&&this.isInBackground&&this.source===fp.Source.Camera&&(this._mediaStreamTrack.enabled=!1)})}}function Fm(e,t,i,n,r,a,o){return fu(this,void 0,void 0,function*(){const s=yield n.lock();a.debug("setPublishingLayersForSender",Object.assign(Object.assign({},o),{sender:e,qualities:i,senderEncodings:t}));try{const n=e.getParameters(),{encodings:s}=n;if(!s)return;if(s.length!==t.length)return void a.warn("cannot set publishing layers, encodings mismatch",Object.assign(Object.assign({},o),{encodings:s,senderEncodings:t}));let c=!1;r&&i.some(e=>e.enabled)&&i.forEach(e=>e.enabled=!0),s.forEach((e,n)=>{var r;let s=null!==(r=e.rid)&&void 0!==r?r:"";""===s&&(s="q");const l=Um(s),d=i.find(e=>e.quality===l);d&&e.active!==d.enabled&&(c=!0,e.active=d.enabled,a.debug("setting layer ".concat(d.quality," to ").concat(e.active?"enabled":"disabled"),o),jp()&&(d.enabled?(e.scaleResolutionDownBy=t[n].scaleResolutionDownBy,e.maxBitrate=t[n].maxBitrate,e.maxFrameRate=t[n].maxFrameRate):(e.scaleResolutionDownBy=4,e.maxBitrate=10,e.maxFrameRate=2)))}),c&&(n.encodings=s,a.debug("setting encodings",Object.assign(Object.assign({},o),{encodings:n.encodings})),yield e.setParameters(n))}finally{s()}})}function Um(e){switch(e){case"f":default:return mp.HIGH;case"h":return mp.MEDIUM;case"q":return mp.LOW}}function zm(e,t,i,n){if(!i)return[new Rl({quality:mp.HIGH,width:e,height:t,bitrate:0,ssrc:0})];if(n){const n=i[0].scalabilityMode,r=new Nm(n),a=[],o="h"==r.suffix?1.5:2,s="h"==r.suffix?2:3;for(let c=0;c<r.spatial;c+=1)a.push(new Rl({quality:Math.min(mp.HIGH,r.spatial-1)-c,width:Math.ceil(e/Math.pow(o,c)),height:Math.ceil(t/Math.pow(o,c)),bitrate:i[0].maxBitrate?Math.ceil(i[0].maxBitrate/Math.pow(s,c)):0,ssrc:0}));return a}return i.map(i=>{var n,r,a;const o=null!==(n=i.scaleResolutionDownBy)&&void 0!==n?n:1;let s=Um(null!==(r=i.rid)&&void 0!==r?r:"");return new Rl({quality:s,width:Math.ceil(e/o),height:Math.ceil(t/o),bitrate:null!==(a=i.maxBitrate)&&void 0!==a?a:0,ssrc:0})})}const Bm="_lossy",Vm="_reliable",qm="leave-reconnect";var Hm,Gm,Wm,$m,Jm,Km,Qm,Zm,Ym,Xm,ev;(Gm=Hm||(Hm={}))[Gm.New=0]="New",Gm[Gm.Connected=1]="Connected",Gm[Gm.Disconnected=2]="Disconnected",Gm[Gm.Reconnecting=3]="Reconnecting",Gm[Gm.Closed=4]="Closed";class tv extends yu.EventEmitter{get isClosed(){return this._isClosed}get pendingReconnect(){return!!this.reconnectTimeout}constructor(e){var t;super(),this.options=e,this.rtcConfig={},this.peerConnectionTimeout=hm.peerConnectionTimeout,this.fullReconnectOnNext=!1,this.latestRemoteOfferId=0,this.subscriberPrimary=!1,this.pcState=Hm.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=hu,this.reliableDataSequence=1,this.reliableMessageBuffer=new Bg,this.reliableReceivedState=new Vg(3e4),this.handleDataChannel=e=>fu(this,[e],void 0,function(e){var t=this;let{channel:i}=e;return function*(){if(i){if(i.label===Vm)t.reliableDCSub=i;else{if(i.label!==Bm)return;t.lossyDCSub=i}t.log.debug("on data channel ".concat(i.id,", ").concat(i.label),t.logContext),i.onmessage=t.handleDataMessage}}()}),this.handleDataMessage=e=>fu(this,void 0,void 0,function*(){var t,i;const n=yield this.dataProcessLock.lock();try{let n;if(e.data instanceof ArrayBuffer)n=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}));n=yield e.data.arrayBuffer()}const r=Al.fromBinary(new Uint8Array(n));if(r.sequence>0&&""!==r.participantSid){const e=this.reliableReceivedState.get(r.participantSid);if(e&&r.sequence<=e)return;this.reliableReceivedState.set(r.participantSid,r.sequence)}"speaker"===(null===(t=r.value)||void 0===t?void 0:t.case)?this.emit(Wh.ActiveSpeakersUpdate,r.value.value.speakers):("user"===(null===(i=r.value)||void 0===i?void 0:i.case)&&function(e,t){const i=e.participantIdentity?e.participantIdentity:t.participantIdentity;e.participantIdentity=i,t.participantIdentity=i;const n=0!==e.destinationIdentities.length?e.destinationIdentities:t.destinationIdentities;e.destinationIdentities=n,t.destinationIdentities=n}(r,r.value.value),this.emit(Wh.DataPacketReceived,r))}finally{n()}}),this.handleDataError=e=>{const t=0===e.currentTarget.maxRetransmits?"lossy":"reliable";if(e instanceof ErrorEvent&&e.error){const{error:i}=e.error;this.log.error("DataChannel error on ".concat(t,": ").concat(e.message),Object.assign(Object.assign({},this.logContext),{error:i}))}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?Ol.LOSSY:Ol.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 i=Date.now()-this.reconnectStart;let n=this.getNextRetryDelay({elapsedMs:i,retryCount:this.reconnectAttempts});null!==n?(e===qm&&(n=0),this.log.debug("reconnecting in ".concat(n,"ms"),this.logContext),this.clearReconnectTimeout(),this.token&&this.regionUrlProvider&&this.regionUrlProvider.updateToken(this.token),this.reconnectTimeout=pp.setTimeout(()=>this.attemptReconnect(t).finally(()=>this.reconnectTimeout=void 0),n)):(e=>{this.log.warn("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(e,"ms. giving up"),this.logContext),this.emit(Wh.Disconnected),this.close()})(i)},this.waitForRestarted=()=>new Promise((e,t)=>{this.pcState===Hm.Connected&&e();const i=()=>{this.off(Wh.Disconnected,n),e()},n=()=>{this.off(Wh.Restarted,i),t()};this.once(Wh.Restarted,i),this.once(Wh.Disconnected,n)}),this.updateAndEmitDCBufferStatus=e=>{const t=this.isBufferStatusLow(e);void 0!==t&&t!==this.dcBufferStatus.get(e)&&(this.dcBufferStatus.set(e,t),this.emit(Wh.DCBufferStatusChanged,t,e))},this.isBufferStatusLow=e=>{const t=this.dataChannelForKind(e);if(t)return e===Ol.RELIABLE&&this.reliableMessageBuffer.alignBufferedAmount(t.bufferedAmount),t.bufferedAmount<=t.bufferedAmountLowThreshold},this.handleBrowserOnLine=()=>{this.client.currentState===Ng.RECONNECTING&&(this.clearReconnectTimeout(),this.attemptReconnect(bl.RR_SIGNAL_DISCONNECTED))},this.log=pu(null!==(t=e.loggerName)&&void 0!==t?t:cu.Engine),this.loggerOptions={loggerName:e.loggerName,loggerContextCb:()=>this.logContext},this.client=new Fg(void 0,this.loggerOptions),this.client.signalLatency=this.options.expSignalLatency,this.reconnectPolicy=this.options.reconnectPolicy,this.registerOnLineListener(),this.closingLock=new Is,this.dataProcessLock=new Is,this.dcBufferStatus=new Map([[Ol.LOSSY,!0],[Ol.RELIABLE,!0]]),this.client.onParticipantUpdate=e=>this.emit(Wh.ParticipantUpdate,e),this.client.onConnectionQuality=e=>this.emit(Wh.ConnectionQualityUpdate,e),this.client.onRoomUpdate=e=>this.emit(Wh.RoomUpdate,e),this.client.onSubscriptionError=e=>this.emit(Wh.SubscriptionError,e),this.client.onSubscriptionPermissionUpdate=e=>this.emit(Wh.SubscriptionPermissionUpdate,e),this.client.onSpeakersChanged=e=>this.emit(Wh.SpeakersChanged,e),this.client.onStreamStateUpdate=e=>this.emit(Wh.StreamStateChanged,e),this.client.onRequestResponse=e=>this.emit(Wh.SignalRequestResponse,e)}get logContext(){var e,t,i,n,r,a;return{room:null===(t=null===(e=this.latestJoinResponse)||void 0===e?void 0:e.room)||void 0===t?void 0:t.name,roomID:null===(n=null===(i=this.latestJoinResponse)||void 0===i?void 0:i.room)||void 0===n?void 0:n.sid,participant:null===(a=null===(r=this.latestJoinResponse)||void 0===r?void 0:r.participant)||void 0===a?void 0:a.identity,pID:this.participantSid}}join(e,t,i,n){return fu(this,void 0,void 0,function*(){this.url=e,this.token=t,this.signalOpts=i,this.maxJoinAttempts=i.maxRetries;try{this.joinAttempts+=1,this.setupSignalClientCallbacks();const r=yield this.client.join(e,t,i,n);return this._isClosed=!1,this.latestJoinResponse=r,this.subscriberPrimary=r.subscriberPrimary,this.pcManager||(yield this.configure(r)),this.subscriberPrimary&&!r.fastPublish||this.negotiate(),this.clientConfiguration=r.clientConfiguration,this.emit(Wh.SignalConnected,r),r}catch(Gb){if(Gb instanceof Yh&&Gb.reason===Dh.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,i,n);throw Gb}})}close(){return fu(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(Wh.Closing),this.removeAllListeners(),this.deregisterOnLineListener(),this.clearPendingReconnect(),yield this.cleanupPeerConnections(),yield this.cleanupClient()}finally{e()}})}cleanupPeerConnections(){return fu(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 Bg,this.reliableDataSequence=1,this.reliableReceivedState.clear()})}cleanupClient(){return fu(this,void 0,void 0,function*(){yield this.client.close(),this.client.resetCallbacks()})}addTrack(e){if(this.pendingTrackResolvers[e.cid])throw new ep("a track with the same ID has already been published");return new Promise((t,i)=>{const n=setTimeout(()=>{delete this.pendingTrackResolvers[e.cid],i(new Yh("publication of local track timed out, no response from server",Dh.Timeout))},1e4);this.pendingTrackResolvers[e.cid]={resolve:e=>{clearTimeout(n),t(e)},reject:()=>{clearTimeout(n),i(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(Gb){this.log.warn("failed to remove track",Object.assign(Object.assign({},this.logContext),{error:Gb}))}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 fu(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 fu(this,void 0,void 0,function*(){var t,i;if(this.pcManager&&this.pcManager.currentState!==pm.NEW)return;this.participantSid=null===(t=e.participant)||void 0===t?void 0:t.sid;const n=this.makeRTCConfiguration(e);var r;this.pcManager=new mm(n,e.subscriberPrimary,this.loggerOptions),this.emit(Wh.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,i,n)=>fu(this,void 0,void 0,function*(){if(this.log.debug("primary PC state changed ".concat(t),this.logContext),["closed","disconnected","failed"].includes(i)&&(this.publisherConnectionPromise=void 0),t===pm.CONNECTED){const t=this.pcState===Hm.New;this.pcState=Hm.Connected,t&&this.emit(Wh.Connected,e)}else t===pm.FAILED&&this.pcState===Hm.Connected&&(this.pcState=Hm.Disconnected,this.handleDisconnect("peerconnection failed","failed"===n?bl.RR_SUBSCRIBER_FAILED:bl.RR_PUBLISHER_FAILED));const r=this.client.isDisconnected||this.client.currentState===Ng.RECONNECTING,a=[pm.FAILED,pm.CLOSING,pm.CLOSED].includes(t);r&&a&&!this._isClosed&&this.emit(Wh.Offline)}),this.pcManager.onTrack=e=>{this.emit(Wh.MediaTrackAdded,e.track,e.streams[0],e.receiver)},void 0!==(r=null===(i=e.serverInfo)||void 0===i?void 0:i.protocol)&&r>13||this.createDataChannels()})}setupSignalClientCallbacks(){this.client.onAnswer=(e,t)=>fu(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)=>fu(this,void 0,void 0,function*(){if(this.latestRemoteOfferId=t,!this.pcManager)return;const i=yield this.pcManager.createSubscriberAnswerFromOffer(e,t);i&&this.client.sendAnswer(i,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:i}=this.pendingTrackResolvers[e.cid];delete this.pendingTrackResolvers[e.cid],i(e.track)},this.client.onLocalTrackUnpublished=e=>{this.emit(Wh.LocalTrackUnpublished,e)},this.client.onLocalTrackSubscribed=e=>{this.emit(Wh.LocalTrackSubscribed,e)},this.client.onTokenRefresh=e=>{this.token=e},this.client.onRemoteMuteChanged=(e,t)=>{this.emit(Wh.RemoteMute,e,t)},this.client.onSubscribedQualityUpdate=e=>{this.emit(Wh.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(Wh.RoomMoved,e)},this.client.onClose=()=>{this.handleDisconnect("signal",bl.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 Ed.DISCONNECT:this.emit(Wh.Disconnected,null==e?void 0:e.reason),this.close();break;case Ed.RECONNECT:this.fullReconnectOnNext=!0,this.handleDisconnect(qm);break;case Ed.RESUME:this.handleDisconnect(qm)}}}makeRTCConfiguration(e){var t;const i=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),i.encodedInsertableStreams=!0),e.iceServers&&!i.iceServers){const t=[];e.iceServers.forEach(e=>{const i={urls:e.urls};e.username&&(i.username=e.username),e.credential&&(i.credential=e.credential),t.push(i)}),i.iceServers=t}return e.clientConfiguration&&e.clientConfiguration.forceRelay===vl.ENABLED&&(i.iceTransportPolicy="relay"),i.sdpSemantics="unified-plan",i.continualGatheringPolicy="gather_continually",i}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(Bm,{ordered:!1,maxRetransmits:0}),this.reliableDC=this.pcManager.createPublisherDataChannel(Vm,{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,i){return fu(this,void 0,void 0,function*(){if(Op())return yield this.createTransceiverRTCRtpSender(e,t,i);if(Dp())return this.log.warn("using add-track fallback",this.logContext),yield this.createRTCRtpSender(e.mediaStreamTrack);throw new ip("Required webRTC APIs not supported on this device")})}createSimulcastSender(e,t,i,n){return fu(this,void 0,void 0,function*(){if(Op())return this.createSimulcastTransceiverSender(e,t,i,n);if(Dp())return this.log.debug("using add-track fallback",this.logContext),this.createRTCRtpSender(e.mediaStreamTrack);throw new ip("Cannot stream on this device")})}createTransceiverRTCRtpSender(e,t,i){return fu(this,void 0,void 0,function*(){if(!this.pcManager)throw new ip("publisher is closed");const n=[];e.mediaStream&&n.push(e.mediaStream),ug(e)&&(e.codec=t.videoCodec);const r={direction:"sendonly",streams:n};return i&&(r.sendEncodings=i),(yield this.pcManager.addPublisherTransceiver(e.mediaStreamTrack,r)).sender})}createSimulcastTransceiverSender(e,t,i,n){return fu(this,void 0,void 0,function*(){if(!this.pcManager)throw new ip("publisher is closed");const r={direction:"sendonly"};n&&(r.sendEncodings=n);const a=yield this.pcManager.addPublisherTransceiver(t.mediaStreamTrack,r);if(i.videoCodec)return e.setSimulcastTrackSender(i.videoCodec,a.sender),a.sender})}createRTCRtpSender(e){return fu(this,void 0,void 0,function*(){if(!this.pcManager)throw new ip("publisher is closed");return this.pcManager.addPublisherTrack(e)})}attemptReconnect(e){return fu(this,void 0,void 0,function*(){var t,i,n;if(!this._isClosed)if(this.attemptingReconnect)hu.warn("already attempting reconnect, returning early",this.logContext);else{(null===(t=this.clientConfiguration)||void 0===t?void 0:t.resumeConnection)!==vl.DISABLED&&(null!==(n=null===(i=this.pcManager)||void 0===i?void 0:i.currentState)&&void 0!==n?n:pm.NEW)!==pm.NEW||(this.fullReconnectOnNext=!0);try{this.attemptingReconnect=!0,this.fullReconnectOnNext?yield this.restartConnection():yield this.resumeConnection(e),this.clearPendingReconnect(),this.fullReconnectOnNext=!1}catch(Gb){this.reconnectAttempts+=1;let t=!0;Gb instanceof ip?(this.log.debug("received unrecoverable error",Object.assign(Object.assign({},this.logContext),{error:Gb})),t=!1):Gb instanceof iv||(this.fullReconnectOnNext=!0),t?this.handleDisconnect("reconnect",bl.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(Wh.Disconnected),yield this.close())}finally{this.attemptingReconnect=!1}}})}getNextRetryDelay(e){try{return this.reconnectPolicy.nextRetryDelayInMs(e)}catch(Gb){this.log.warn("encountered error in reconnect policy",Object.assign(Object.assign({},this.logContext),{error:Gb}))}return null}restartConnection(e){return fu(this,void 0,void 0,function*(){var t,i,n;try{if(!this.url||!this.token)throw new ip("could not reconnect, url or token not saved");let i;this.log.info("reconnecting, attempt: ".concat(this.reconnectAttempts),this.logContext),this.emit(Wh.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 iv;i=yield this.join(null!=e?e:this.url,this.token,this.signalOpts)}catch(Gb){if(Gb instanceof Yh&&Gb.reason===Dh.NotAllowed)throw new ip("could not reconnect, token might be expired");throw new iv}if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(this.client.setReconnected(),this.emit(Wh.SignalRestarted,i),yield this.waitForPCReconnected(),this.client.currentState!==Ng.CONNECTED)throw new iv("Signal connection got severed during reconnect");null===(t=this.regionUrlProvider)||void 0===t||t.resetAttempts(),this.emit(Wh.Restarted)}catch(r){const e=yield null===(i=this.regionUrlProvider)||void 0===i?void 0:i.getNextBestRegionUrl();if(e)return void(yield this.restartConnection(e));throw null===(n=this.regionUrlProvider)||void 0===n||n.resetAttempts(),r}})}resumeConnection(e){return fu(this,void 0,void 0,function*(){var t;if(!this.url||!this.token)throw new ip("could not reconnect, url or token not saved");if(!this.pcManager)throw new ip("publisher and subscriber connections unset");let i;this.log.info("resuming signal connection, attempt ".concat(this.reconnectAttempts),this.logContext),this.emit(Wh.Resuming);try{this.setupSignalClientCallbacks(),i=yield this.client.reconnect(this.url,this.token,this.participantSid,e)}catch(n){let e="";if(n instanceof Error&&(e=n.message,this.log.error(n.message,Object.assign(Object.assign({},this.logContext),{error:n}))),n instanceof Yh&&n.reason===Dh.NotAllowed)throw new ip("could not reconnect, token might be expired");if(n instanceof Yh&&n.reason===Dh.LeaveRequest)throw n;throw new iv(e)}if(this.emit(Wh.SignalResumed),i){const e=this.makeRTCConfiguration(i);this.pcManager.updateConfiguration(e),this.latestJoinResponse&&(this.latestJoinResponse.serverInfo=i.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!==Ng.CONNECTED)throw new iv("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==i?void 0:i.lastMessageSeq)&&this.resendReliableMessagesForResume(i.lastMessageSeq),this.emit(Wh.Resumed)})}waitForPCInitialConnection(e,t){return fu(this,void 0,void 0,function*(){if(!this.pcManager)throw new ip("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(t,e)})}waitForPCReconnected(){return fu(this,void 0,void 0,function*(){this.pcState=Hm.Reconnecting,this.log.debug("waiting for peer connection to reconnect",this.logContext);try{if(yield Ap(2e3),!this.pcManager)throw new ip("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(void 0,this.peerConnectionTimeout),this.pcState=Hm.Connected}catch(Gb){throw this.pcState=Hm.Disconnected,new Yh("could not establish PC connection, ".concat(Gb.message),Dh.InternalError)}})}publishRpcResponse(e,t,i,n){return fu(this,void 0,void 0,function*(){const r=new Al({destinationIdentities:[e],kind:Ol.RELIABLE,value:{case:"rpcResponse",value:new ql({requestId:t,value:n?{case:"error",value:n.toProto()}:{case:"payload",value:null!=i?i:""}})}});yield this.sendDataPacket(r,Ol.RELIABLE)})}publishRpcAck(e,t){return fu(this,void 0,void 0,function*(){const i=new Al({destinationIdentities:[e],kind:Ol.RELIABLE,value:{case:"rpcAck",value:new Vl({requestId:t})}});yield this.sendDataPacket(i,Ol.RELIABLE)})}sendDataPacket(e,t){return fu(this,void 0,void 0,function*(){yield this.ensurePublisherConnected(t),t===Ol.RELIABLE&&(e.sequence=this.reliableDataSequence,this.reliableDataSequence+=1);const i=e.toBinary(),n=this.dataChannelForKind(t);if(n){if(t===Ol.RELIABLE&&this.reliableMessageBuffer.push({data:i,sequence:e.sequence}),this.attemptingReconnect)return;n.send(i)}this.updateAndEmitDCBufferStatus(t)})}resendReliableMessagesForResume(e){return fu(this,void 0,void 0,function*(){yield this.ensurePublisherConnected(Ol.RELIABLE);const t=this.dataChannelForKind(Ol.RELIABLE);t&&(this.reliableMessageBuffer.popToSequence(e),this.reliableMessageBuffer.getAll().forEach(e=>{t.send(e.data)})),this.updateAndEmitDCBufferStatus(Ol.RELIABLE)})}waitForBufferStatusLow(e){return new Promise((t,i)=>fu(this,void 0,void 0,function*(){if(this.isBufferStatusLow(e))t();else{const n=()=>i("Engine closed");for(this.once(Wh.Closing,n);!this.dcBufferStatus.get(e);)yield Ap(10);this.off(Wh.Closing,n),t()}}))}ensureDataTransportConnected(e){return fu(this,arguments,void 0,function(e){var t=this;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscriberPrimary;return function*(){var n;if(!t.pcManager)throw new ip("PC manager is closed");const r=i?t.pcManager.subscriber:t.pcManager.publisher,a=i?"Subscriber":"Publisher";if(!r)throw new Yh("".concat(a," connection not set"),Dh.InternalError);let o=!1;i||t.dataChannelForKind(e,i)||(t.createDataChannels(),o=!0),o||i||t.pcManager.publisher.isICEConnected||"checking"===t.pcManager.publisher.getICEConnectionState()||(o=!0),o&&t.negotiate();const s=t.dataChannelForKind(e,i);if("open"===(null==s?void 0:s.readyState))return;const c=(new Date).getTime()+t.peerConnectionTimeout;for(;(new Date).getTime()<c;){if(r.isICEConnected&&"open"===(null===(n=t.dataChannelForKind(e,i))||void 0===n?void 0:n.readyState))return;yield Ap(50)}throw new Yh("could not establish ".concat(a," connection, state: ").concat(r.getICEConnectionState()),Dh.InternalError)}()})}ensurePublisherConnected(e){return fu(this,void 0,void 0,function*(){this.publisherConnectionPromise||(this.publisherConnectionPromise=this.ensureDataTransportConnected(e,!1)),yield this.publisherConnectionPromise})}verifyTransport(){return!!this.pcManager&&this.pcManager.currentState===pm.CONNECTED&&!(!this.client.ws||this.client.ws.readyState===WebSocket.CLOSED)}negotiate(){return fu(this,void 0,void 0,function*(){return new Promise((e,t)=>fu(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 i=new AbortController,n=()=>{i.abort(),this.log.debug("engine disconnected while negotiation was ongoing",this.logContext),e()};this.isClosed&&t("cannot negotiate on closed engine"),this.on(Wh.Closing,n),this.pcManager.publisher.once(nm,e=>{const t=new Map;e.forEach(e=>{const i=e.codec.toLowerCase();var n;n=i,xp.includes(n)&&t.set(e.payload,i)}),this.emit(Wh.RTPVideoMapUpdate,t)});try{yield this.pcManager.negotiate(i),e()}catch(Gb){Gb instanceof np&&(this.fullReconnectOnNext=!0),this.handleDisconnect("negotiation",bl.RR_UNKNOWN),t(Gb)}finally{this.off(Wh.Closing,n)}}))})}dataChannelForKind(e,t){if(t){if(e===Ol.LOSSY)return this.lossyDCSub;if(e===Ol.RELIABLE)return this.reliableDCSub}else{if(e===Ol.LOSSY)return this.lossyDC;if(e===Ol.RELIABLE)return this.reliableDC}}sendSyncState(e,t){var i,n;if(!this.pcManager)return void this.log.warn("sync state cannot be sent without peer connection setup",this.logContext);const r=this.pcManager.subscriber.getLocalDescription(),a=this.pcManager.subscriber.getRemoteDescription(),o=null===(n=null===(i=this.signalOpts)||void 0===i?void 0:i.autoSubscribe)||void 0===n||n,s=new Array,c=new Array;e.forEach(e=>{e.isDesired!==o&&s.push(e.trackSid),e.isEnabled||c.push(e.trackSid)}),this.client.sendSyncState(new qd({answer:r?zg({sdp:r.sdp,type:r.type}):void 0,offer:a?zg({sdp:a.sdp,type:a.type}):void 0,subscription:new yd({trackSids:s,subscribe:!o,participantTracks:[]}),publishTracks:Sg(t),dataChannels:this.dataChannelsInfo(),trackSidsDisabled:c,datachannelReceiveStates:this.reliableReceivedState.map((e,t)=>new Hd({publisherSid:t,lastSeq:e}))}))}failNext(){this.shouldFailNext=!0}dataChannelsInfo(){const e=[],t=(t,i)=>{void 0!==(null==t?void 0:t.id)&&null!==t.id&&e.push(new Gd({label:t.label,id:t.id,target:i}))};return t(this.dataChannelForKind(Ol.LOSSY),od.PUBLISHER),t(this.dataChannelForKind(Ol.RELIABLE),od.PUBLISHER),t(this.dataChannelForKind(Ol.LOSSY,!0),od.SUBSCRIBER),t(this.dataChannelForKind(Ol.RELIABLE,!0),od.SUBSCRIBER),e}clearReconnectTimeout(){this.reconnectTimeout&&pp.clearTimeout(this.reconnectTimeout)}clearPendingReconnect(){this.clearReconnectTimeout(),this.reconnectAttempts=0}registerOnLineListener(){Bp()&&window.addEventListener("online",this.handleBrowserOnLine)}deregisterOnLineListener(){Bp()&&window.removeEventListener("online",this.handleBrowserOnLine)}}class iv extends Error{}class nv{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 qp(this.serverUrl)}getServerUrl(){return this.serverUrl}getNextBestRegionUrl(e){return fu(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),hu.debug("next region: ".concat(e.region)),e.url}return null})}resetAttempts(){this.attemptedRegions=[]}fetchRegionSettings(e){return fu(this,void 0,void 0,function*(){const t=yield fetch("".concat((i=this.serverUrl,"".concat(i.protocol.replace("ws","http"),"//").concat(i.host,"/settings")),"/regions"),{headers:{authorization:"Bearer ".concat(this.token)},signal:e});var i;if(t.ok){const e=yield t.json();return this.lastUpdateAt=Date.now(),e}throw new Yh("Could not fetch region settings: ".concat(t.statusText),401===t.status?Dh.NotAllowed:Dh.InternalError,t.status)})}setServerReportedRegions(e){this.regionSettings=e,this.lastUpdateAt=Date.now()}}class rv{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 op("Not enough chunk(s) received - expected ".concat(this.totalByteSize," bytes of data total, only received ").concat(this.bytesReceived," bytes"),Nh.Incomplete);if(this.bytesReceived>this.totalByteSize)throw new op("Extra chunk(s) received - expected ".concat(this.totalByteSize," bytes of data total, received ").concat(this.bytesReceived," bytes"),Nh.LengthExceeded)}}constructor(e,t,i,n){this.reader=t,this.totalByteSize=i,this._info=e,this.bytesReceived=0,this.outOfBandFailureRejectingFuture=n}}class av extends rv{handleChunkReceived(e){var t;this.bytesReceived+=e.content.byteLength,this.validateBytesReceived();const i=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;null===(t=this.onProgress)||void 0===t||t.call(this,i)}[Symbol.asyncIterator](){const e=this.reader.getReader();let t=new ng,i=null,n=null;if(this.signal){const e=this.signal;n=()=>{var i;null===(i=t.reject)||void 0===i||i.call(t,e.reason)},e.addEventListener("abort",n),i=e}const r=()=>{e.releaseLock(),i&&n&&i.removeEventListener("abort",n),this.signal=void 0};return{next:()=>fu(this,void 0,void 0,function*(){var i,n;try{const{done:r,value:a}=yield Promise.race([e.read(),t.promise,null!==(n=null===(i=this.outOfBandFailureRejectingFuture)||void 0===i?void 0:i.promise)&&void 0!==n?n:new Promise(()=>{})]);return r?(this.validateBytesReceived(!0),{done:!0,value:void 0}):(this.handleChunkReceived(a),{done:!1,value:a.content})}catch(a){throw r(),a}}),return(){return fu(this,void 0,void 0,function*(){return r(),{done:!0,value:void 0}})}}}withAbortSignal(e){return this.signal=e,this}readAll(){return fu(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){var i,n,r,a;let o=new Set;const s=t.signal?e.withAbortSignal(t.signal):e;try{for(var c,l=!0,d=bu(s);!(i=(c=yield d.next()).done);l=!0){a=c.value,l=!1;const e=a;o.add(e)}}catch(u){n={error:u}}finally{try{l||i||!(r=d.return)||(yield r.call(d))}finally{if(n)throw n.error}}return Array.from(o)}()})}}class ov extends rv{constructor(e,t,i,n){super(e,t,i,n),this.receivedChunks=new Map}handleChunkReceived(e){var t;const i=sg(e.chunkIndex),n=this.receivedChunks.get(i);if(n&&n.version>e.version)return;this.receivedChunks.set(i,e),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(),t=new TextDecoder("utf-8",{fatal:!0});let i=new ng,n=null,r=null;if(this.signal){const e=this.signal;r=()=>{var t;null===(t=i.reject)||void 0===t||t.call(i,e.reason)},e.addEventListener("abort",r),n=e}const a=()=>{e.releaseLock(),n&&r&&n.removeEventListener("abort",r),this.signal=void 0};return{next:()=>fu(this,void 0,void 0,function*(){var n,r;try{const{done:a,value:s}=yield Promise.race([e.read(),i.promise,null!==(r=null===(n=this.outOfBandFailureRejectingFuture)||void 0===n?void 0:n.promise)&&void 0!==r?r:new Promise(()=>{})]);if(a)return this.validateBytesReceived(!0),{done:!0,value:void 0};{let e;this.handleChunkReceived(s);try{e=t.decode(s.content)}catch(o){throw new op("Cannot decode datastream chunk ".concat(s.chunkIndex," as text: ").concat(o),Nh.DecodeFailed)}return{done:!1,value:e}}}catch(o){throw a(),o}}),return(){return fu(this,void 0,void 0,function*(){return a(),{done:!0,value:void 0}})}}}withAbortSignal(e){return this.signal=e,this}readAll(){return fu(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){var i,n,r,a;let o="";const s=t.signal?e.withAbortSignal(t.signal):e;try{for(var c,l=!0,d=bu(s);!(i=(c=yield d.next()).done);l=!0)a=c.value,l=!1,o+=a}catch(u){n={error:u}}finally{try{l||i||!(r=d.return)||(yield r.call(d))}finally{if(n)throw n.error}}return o}()})}}class sv{constructor(){this.log=hu,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 op('A text stream handler for topic "'.concat(e,'" has already been set.'),Nh.HandlerAlreadyRegistered);this.textStreamHandlers.set(e,t)}unregisterTextStreamHandler(e){this.textStreamHandlers.delete(e)}registerByteStreamHandler(e,t){if(this.byteStreamHandlers.has(e))throw new op('A byte stream handler for topic "'.concat(e,'" has already been set.'),Nh.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,i,n,r;const a=Array.from(this.textStreamControllers.entries()).filter(t=>t[1].sendingParticipantIdentity===e),o=Array.from(this.byteStreamControllers.entries()).filter(t=>t[1].sendingParticipantIdentity===e);if(a.length>0||o.length>0){const s=new op("Participant ".concat(e," unexpectedly disconnected in the middle of sending data"),Nh.AbnormalEnd);for(const[e,n]of o)null===(i=(t=n.outOfBandFailureRejectingFuture).reject)||void 0===i||i.call(t,s),this.byteStreamControllers.delete(e);for(const[e,t]of a)null===(r=(n=t.outOfBandFailureRejectingFuture).reject)||void 0===r||r.call(n,s),this.textStreamControllers.delete(e)}}handleDataStreamPacket(e){return fu(this,void 0,void 0,function*(){switch(e.value.case){case"streamHeader":return this.handleStreamHeader(e.value.value,e.participantIdentity);case"streamChunk":return this.handleStreamChunk(e.value.value);case"streamTrailer":return this.handleStreamTrailer(e.value.value);default:throw new Error('DataPacket of value "'.concat(e.value.case,'" is not data stream related!'))}})}handleStreamHeader(e,t){return fu(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 r;const a=new ng,o={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:sg(e.timestamp),attributes:e.attributes},s=new ReadableStream({start:i=>{if(r=i,this.textStreamControllers.has(e.streamId))throw new op("A data stream read is already in progress for a stream with id ".concat(e.streamId,"."),Nh.AlreadyOpened);this.byteStreamControllers.set(e.streamId,{info:o,controller:r,startTime:Date.now(),sendingParticipantIdentity:t,outOfBandFailureRejectingFuture:a})}});n(new av(o,s,sg(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 r=new ng,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},o=new ReadableStream({start:i=>{if(n=i,this.textStreamControllers.has(e.streamId))throw new op("A data stream read is already in progress for a stream with id ".concat(e.streamId,"."),Nh.AlreadyOpened);this.textStreamControllers.set(e.streamId,{info:a,controller:n,startTime:Date.now(),sendingParticipantIdentity:t,outOfBandFailureRejectingFuture:r})}});i(new ov(a,o,sg(e.totalLength),r),{identity:t})}})}handleStreamChunk(e){const t=this.byteStreamControllers.get(e.streamId);t&&e.content.length>0&&t.controller.enqueue(e);const i=this.textStreamControllers.get(e.streamId);i&&e.content.length>0&&i.controller.enqueue(e)}handleStreamTrailer(e){const t=this.textStreamControllers.get(e.streamId);t&&(t.info.attributes=Object.assign(Object.assign({},t.info.attributes),e.attributes),t.controller.close(),this.textStreamControllers.delete(e.streamId));const i=this.byteStreamControllers.get(e.streamId);i&&(i.info.attributes=Object.assign(Object.assign({},i.info.attributes),e.attributes),i.controller.close(),this.byteStreamControllers.delete(e.streamId))}}class cv{constructor(e,t,i){this.writableStream=e,this.defaultWriter=e.getWriter(),this.onClose=i,this.info=t}write(e){return this.defaultWriter.write(e)}close(){return fu(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 lv extends cv{}class dv extends cv{}class uv{constructor(e,t){this.engine=e,this.log=t}setupEngine(e){this.engine=e}sendText(e,t){return fu(this,void 0,void 0,function*(){var i;const n=crypto.randomUUID(),r=(new TextEncoder).encode(e).byteLength,a=null===(i=null==t?void 0:t.attachments)||void 0===i?void 0:i.map(()=>crypto.randomUUID()),o=new Array(a?a.length+1:1).fill(0),s=(e,i)=>{var n;o[i]=e;const r=o.reduce((e,t)=>e+t,0);null===(n=null==t?void 0:t.onProgress)||void 0===n||n.call(t,r)},c=yield this.streamText({streamId:n,totalSize:r,destinationIdentities:null==t?void 0:t.destinationIdentities,topic:null==t?void 0:t.topic,attachedStreamIds:a,attributes:null==t?void 0:t.attributes});return yield c.write(e),s(1,0),yield c.close(),(null==t?void 0:t.attachments)&&a&&(yield Promise.all(t.attachments.map((e,i)=>fu(this,void 0,void 0,function*(){return this._sendFile(a[i],e,{topic:t.topic,mimeType:e.type,onProgress:e=>{s(e,i+1)}})})))),c.info})}streamText(e){return fu(this,void 0,void 0,function*(){var t,i;const n=null!==(t=null==e?void 0:e.streamId)&&void 0!==t?t:crypto.randomUUID(),r={id:n,mimeType:"text/plain",timestamp:Date.now(),topic:null!==(i=null==e?void 0:e.topic)&&void 0!==i?i:"",size:null==e?void 0:e.totalSize,attributes:null==e?void 0:e.attributes},a=new nd({streamId:n,mimeType:r.mimeType,topic:r.topic,timestamp:cg(r.timestamp),totalLength:cg(null==e?void 0:e.totalSize),attributes:r.attributes,contentHeader:{case:"textHeader",value:new td({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)?ed.UPDATE:ed.CREATE})}}),o=null==e?void 0:e.destinationIdentities,s=new Al({destinationIdentities:o,value:{case:"streamHeader",value:a}});yield this.engine.sendDataPacket(s,Ol.RELIABLE);let c=0;const l=this.engine,d=new WritableStream({write(e){return fu(this,void 0,void 0,function*(){for(const t of function(e){const t=[];let i=(new TextEncoder).encode(e);for(;i.length>15e3;){let e=15e3;for(;e>0;){const t=i[e];if(void 0!==t&&128!=(192&t))break;e--}t.push(i.slice(0,e)),i=i.slice(e)}return i.length>0&&t.push(i),t}(e)){yield l.waitForBufferStatusLow(Ol.RELIABLE);const e=new rd({content:t,streamId:n,chunkIndex:cg(c)}),i=new Al({destinationIdentities:o,value:{case:"streamChunk",value:e}});yield l.sendDataPacket(i,Ol.RELIABLE),c+=1}})},close(){return fu(this,void 0,void 0,function*(){const e=new ad({streamId:n}),t=new Al({destinationIdentities:o,value:{case:"streamTrailer",value:e}});yield l.sendDataPacket(t,Ol.RELIABLE)})},abort(e){}});let u=()=>fu(this,void 0,void 0,function*(){yield h.close()});l.once(Wh.Closing,u);const h=new lv(d,r,()=>this.engine.off(Wh.Closing,u));return h})}sendFile(e,t){return fu(this,void 0,void 0,function*(){const i=crypto.randomUUID();return yield this._sendFile(i,e,t),{id:i}})}_sendFile(e,t,i){return fu(this,void 0,void 0,function*(){var n;const r=yield this.streamBytes({streamId:e,totalSize:t.size,name:t.name,mimeType:null!==(n=null==i?void 0:i.mimeType)&&void 0!==n?n:t.type,topic:null==i?void 0:i.topic,destinationIdentities:null==i?void 0:i.destinationIdentities}),a=t.stream().getReader();for(;;){const{done:e,value:t}=yield a.read();if(e)break;yield r.write(t)}return yield r.close(),r.info})}streamBytes(e){return fu(this,void 0,void 0,function*(){var t,i,n,r,a;const o=null!==(t=null==e?void 0:e.streamId)&&void 0!==t?t:crypto.randomUUID(),s=null==e?void 0:e.destinationIdentities,c={id:o,mimeType:null!==(i=null==e?void 0:e.mimeType)&&void 0!==i?i:"application/octet-stream",topic:null!==(n=null==e?void 0:e.topic)&&void 0!==n?n:"",timestamp:Date.now(),attributes:null==e?void 0:e.attributes,size:null==e?void 0:e.totalSize,name:null!==(r=null==e?void 0:e.name)&&void 0!==r?r:"unknown"},l=new nd({totalLength:cg(null!==(a=c.size)&&void 0!==a?a:0),mimeType:c.mimeType,streamId:o,topic:c.topic,timestamp:cg(Date.now()),attributes:c.attributes,contentHeader:{case:"byteHeader",value:new id({name:c.name})}}),d=new Al({destinationIdentities:s,value:{case:"streamHeader",value:l}});yield this.engine.sendDataPacket(d,Ol.RELIABLE);let u=0;const h=new Is,p=this.engine,g=this.log,m=new WritableStream({write(e){return fu(this,void 0,void 0,function*(){const t=yield h.lock();let i=0;try{for(;i<e.byteLength;){const t=e.slice(i,i+15e3);yield p.waitForBufferStatusLow(Ol.RELIABLE);const n=new Al({destinationIdentities:s,value:{case:"streamChunk",value:new rd({content:t,streamId:o,chunkIndex:cg(u)})}});yield p.sendDataPacket(n,Ol.RELIABLE),u+=1,i+=t.byteLength}}finally{t()}})},close(){return fu(this,void 0,void 0,function*(){const e=new ad({streamId:o}),t=new Al({destinationIdentities:s,value:{case:"streamTrailer",value:e}});yield p.sendDataPacket(t,Ol.RELIABLE)})},abort(e){g.error("Sink error:",e)}});return new dv(m,c)})}}class hv extends fp{constructor(e,t,i,n,r){super(e,i,r),this.sid=t,this.receiver=n}get isLocal(){return!1}setMuted(e){this.isMuted!==e&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?Jh.Muted:Jh.Unmuted,this))}setMediaStream(e){this.mediaStream=e;const t=i=>{i.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(Jh.Ended,this))};e.addEventListener("removetrack",t)}start(){this.startMonitor(),super.enable()}stop(){this.stopMonitor(),super.disable()}getRTCStatsReport(){return fu(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(),km)),"undefined"!=typeof RTCRtpReceiver&&"getSynchronizationSources"in RTCRtpReceiver&&this.registerTimeSyncUpdate()}registerTimeSyncUpdate(){const e=()=>{var t;this.timeSyncHandle=requestAnimationFrame(()=>e());const i=null===(t=this.receiver)||void 0===t?void 0:t.getSynchronizationSources()[0];if(i){const{timestamp:e,rtpTimestamp:t}=i;t&&this.rtpTimestamp!==t&&(this.emit(Jh.TimeSyncUpdate,{timestamp:e,rtpTimestamp:t}),this.rtpTimestamp=t)}};e()}}class pv extends hv{constructor(e,t,i,n,r,a){super(e,t,fp.Kind.Audio,i,a),this.monitorReceiver=()=>fu(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=wm(e,this.prevStats)),this.prevStats=e}),this.audioContext=n,this.webAudioPluginNodes=[],r&&(this.sinkId=r.deviceId)}setVolume(e){var t;for(const i of this.attachedElements)this.audioContext?null===(t=this.gainNode)||void 0===t||t.gain.setTargetAtTime(e,0,.1):i.volume=e;Vp()&&this._mediaStreamTrack._setVolume(e),this.elementVolume=e}getVolume(){if(this.elementVolume)return this.elementVolume;if(Vp())return 1;let e=0;return this.attachedElements.forEach(t=>{t.volume>e&&(e=t.volume)}),e}setSinkId(e){return fu(this,void 0,void 0,function*(){this.sinkId=e,yield Promise.all(this.attachedElements.map(t=>{if(Np(t))return t.setSinkId(e)}))})}attach(e){const t=0===this.attachedElements.length;return e?super.attach(e):e=super.attach(),this.sinkId&&Np(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 i=this.sourceNode;this.webAudioPluginNodes.forEach(e=>{i.connect(e),i=e}),this.gainNode=e.createGain(),i.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(Jh.AudioPlaybackFailed,new Error("Audio Context couldn't be started automatically"))}).catch(e=>{this.emit(Jh.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 fu(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 gv extends hv{constructor(e,t,i,n,r){super(e,t,fp.Kind.Video,i,r),this.elementInfos=[],this.monitorReceiver=()=>fu(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=wm(e,this.prevStats)),this.prevStats=e}),this.debouncedHandleResize=em(()=>{this.updateDimensions()},100),this.adaptiveStreamSettings=n}get isAdaptiveStream(){return void 0!==this.adaptiveStreamSettings}get mediaStreamTrack(){return this._mediaStreamTrack}setMuted(e){super.setMuted(e),this.attachedElements.forEach(t=>{e?kp(this._mediaStreamTrack,t):bp(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 mv(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 i of t)i.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 i of t)this.stopObservingElement(i);return t}getDecoderImplementation(){var e;return null===(e=this.prevStats)||void 0===e?void 0:e.decoderImplementation}getReceiverStats(){return fu(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;const e=yield this.receiver.getStats();let t,i="",n=new Map;return e.forEach(e=>{"inbound-rtp"===e.type?(i=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&&n.set(e.id,e)}),t&&""!==i&&n.get(i)&&(t.mimeType=n.get(i).mimeType),t})}stopObservingElement(e){const t=this.elementInfos.filter(t=>t.element===e);for(const i of t)this.stopObservingElementInfo(i)}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return fu(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),this.isAdaptiveStream&&this.updateVisibility()})}updateVisibility(){var e,t;const i=this.elementInfos.reduce((e,t)=>Math.max(e,t.visibilityChangedAt||0),0),n=!(null!==(t=null===(e=this.adaptiveStreamSettings)||void 0===e?void 0:e.pauseVideoInBackground)&&void 0!==t&&!t)&&this.isInBackground,r=this.elementInfos.some(e=>e.pictureInPicture),a=this.elementInfos.some(e=>e.visible)&&!n||r;this.lastVisible!==a&&(!a&&Date.now()-i<100?pp.setTimeout(()=>{this.updateVisibility()},100):(this.lastVisible=a,this.emit(Jh.VisibilityChanged,a,this)))}updateDimensions(){var e,t;let i=0,n=0;const r=this.getPixelDensity();for(const a of this.elementInfos){const e=a.width()*r,t=a.height()*r;e+t>i+n&&(i=e,n=t)}(null===(e=this.lastDimensions)||void 0===e?void 0:e.width)===i&&(null===(t=this.lastDimensions)||void 0===t?void 0:t.height)===n||(this.lastDimensions={width:i,height:n},this.emit(Jh.VideoDimensionsChanged,this.lastDimensions,this))}getPixelDensity(){var e;const t=null===(e=this.adaptiveStreamSettings)||void 0===e?void 0:e.pixelDensity;return"screen"===t?Wp():t||(Wp()>2?2:1)}}class mv{get visible(){return this.isPiP||this.isIntersecting}get pictureInPicture(){return this.isPiP}constructor(e,t){this.onVisibilityChanged=e=>{var t;const{target:i,isIntersecting:n}=e;i===this.element&&(this.isIntersecting=n,this.isPiP=vv(this.element),this.visibilityChangedAt=Date.now(),null===(t=this.handleVisibilityChanged)||void 0===t||t.call(this))},this.onEnterPiP=()=>{var e,t,i;null===(t=null===(e=window.documentPictureInPicture)||void 0===e?void 0:e.window)||void 0===t||t.addEventListener("pagehide",this.onLeavePiP),this.isPiP=vv(this.element),null===(i=this.handleVisibilityChanged)||void 0===i||i.call(this)},this.onLeavePiP=()=>{var e;this.isPiP=vv(this.element),null===(e=this.handleVisibilityChanged)||void 0===e||e.call(this)},this.element=e,this.isIntersecting=null!=t?t:fv(e),this.isPiP=Bp()&&vv(e),this.visibilityChangedAt=0}width(){return this.element.clientWidth}height(){return this.element.clientHeight}observe(){var e,t,i;this.isIntersecting=fv(this.element),this.isPiP=vv(this.element),this.element.handleResize=()=>{var e;null===(e=this.handleResize)||void 0===e||e.call(this)},this.element.handleVisibilityChanged=this.onVisibilityChanged,Xp().observe(this.element),Zp().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===(i=null===(t=window.documentPictureInPicture)||void 0===t?void 0:t.window)||void 0===i||i.addEventListener("pagehide",this.onLeavePiP)}stopObserving(){var e,t,i,n,r;null===(e=Xp())||void 0===e||e.unobserve(this.element),null===(t=Zp())||void 0===t||t.unobserve(this.element),this.element.removeEventListener("enterpictureinpicture",this.onEnterPiP),this.element.removeEventListener("leavepictureinpicture",this.onLeavePiP),null===(i=window.documentPictureInPicture)||void 0===i||i.removeEventListener("enter",this.onEnterPiP),null===(r=null===(n=window.documentPictureInPicture)||void 0===n?void 0:n.window)||void 0===r||r.removeEventListener("pagehide",this.onLeavePiP)}}function vv(e){var t,i;return document.pictureInPictureElement===e||!!(null===(t=window.documentPictureInPicture)||void 0===t?void 0:t.window)&&fv(e,null===(i=window.documentPictureInPicture)||void 0===i?void 0:i.window)}function fv(e,t){const i=t||window;let n=e.offsetTop,r=e.offsetLeft;const a=e.offsetWidth,o=e.offsetHeight,{hidden:s}=e,{display:c}=getComputedStyle(e);for(;e.offsetParent;)n+=(e=e.offsetParent).offsetTop,r+=e.offsetLeft;return n<i.pageYOffset+i.innerHeight&&r<i.pageXOffset+i.innerWidth&&n+o>i.pageYOffset&&r+a>i.pageXOffset&&!s&&"none"!==c}class bv extends yu.EventEmitter{constructor(e,t,i,n){var r;super(),this.metadataMuted=!1,this.encryption=Ml.NONE,this.log=hu,this.handleMuted=()=>{this.emit(Jh.Muted)},this.handleUnmuted=()=>{this.emit(Jh.Unmuted)},this.log=pu(null!==(r=null==n?void 0:n.loggerName)&&void 0!==r?r:cu.Publication),this.loggerContextCb=this.loggerContextCb,this.setMaxListeners(100),this.kind=e,this.trackSid=t,this.trackName=i,this.source=fp.Source.Unknown}setTrack(e){this.track&&(this.track.off(Jh.Muted,this.handleMuted),this.track.off(Jh.Unmuted,this.handleUnmuted)),this.track=e,e&&(e.on(Jh.Muted,this.handleMuted),e.on(Jh.Unmuted,this.handleUnmuted))}get logContext(){var e;return Object.assign(Object.assign({},null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this)),Tg(this))}get isMuted(){return this.metadataMuted}get isEnabled(){return!0}get isSubscribed(){return void 0!==this.track}get isEncrypted(){return this.encryption!==Ml.NONE}get audioTrack(){if(dg(this.track))return this.track}get videoTrack(){if(ug(this.track))return this.track}updateInfo(e){this.trackSid=e.sid,this.trackName=e.name,this.source=fp.sourceFromProto(e.source),this.mimeType=e.mimeType,this.kind===fp.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}))}}($m=(Wm=bv||(bv={})).SubscriptionStatus||(Wm.SubscriptionStatus={})).Desired="desired",$m.Subscribed="subscribed",$m.Unsubscribed="unsubscribed",(Jm=Wm.PermissionStatus||(Wm.PermissionStatus={})).Allowed="allowed",Jm.NotAllowed="not_allowed";class kv extends bv{get isUpstreamPaused(){var e;return null===(e=this.track)||void 0===e?void 0:e.isUpstreamPaused}constructor(e,t,i,n){super(e,t.sid,t.name,n),this.track=void 0,this.handleTrackEnded=()=>{this.emit(Jh.Ended)},this.handleCpuConstrained=()=>{this.track&&ug(this.track)&&this.emit(Jh.CpuConstrained,this.track)},this.updateInfo(t),this.setTrack(i)}setTrack(e){this.track&&(this.track.off(Jh.Ended,this.handleTrackEnded),this.track.off(Jh.CpuConstrained,this.handleCpuConstrained)),super.setTrack(e),e&&(e.on(Jh.Ended,this.handleTrackEnded),e.on(Jh.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 fu(this,void 0,void 0,function*(){var e;return null===(e=this.track)||void 0===e?void 0:e.mute()})}unmute(){return fu(this,void 0,void 0,function*(){var e;return null===(e=this.track)||void 0===e?void 0:e.unmute()})}pauseUpstream(){return fu(this,void 0,void 0,function*(){var e;yield null===(e=this.track)||void 0===e?void 0:e.pauseUpstream()})}resumeUpstream(){return fu(this,void 0,void 0,function*(){var e;yield null===(e=this.track)||void 0===e?void 0:e.resumeUpstream()})}getTrackFeatures(){var e;if(dg(this.track)){const t=this.track.getSourceTrackSettings(),i=new Set;return t.autoGainControl&&i.add(wl.TF_AUTO_GAIN_CONTROL),t.echoCancellation&&i.add(wl.TF_ECHO_CANCELLATION),t.noiseSuppression&&i.add(wl.TF_NOISE_SUPPRESSION),t.channelCount&&t.channelCount>1&&i.add(wl.TF_STEREO),(null===(e=this.options)||void 0===e?void 0:e.dtx)||i.add(wl.TF_NO_DTX),this.track.enhancedNoiseCancellation&&i.add(wl.TF_ENHANCED_NOISE_CANCELLATION),Array.from(i.values())}return[]}}function wv(e,t){return fu(this,void 0,void 0,function*(){null!=e||(e={});let i=!1;const{audioProcessor:n,videoProcessor:r,optionsWithoutProcessor:a}=Eg(e);let o=a.audio,s=a.video;if(n&&"object"==typeof a.audio&&(a.audio.processor=n),r&&"object"==typeof a.video&&(a.video.processor=r),e.audio&&"object"==typeof a.audio&&"string"==typeof a.audio.deviceId){const e=a.audio.deviceId;a.audio.deviceId={exact:e},i=!0,o=Object.assign(Object.assign({},a.audio),{deviceId:{ideal:e}})}if(a.video&&"object"==typeof a.video&&"string"==typeof a.video.deviceId){const e=a.video.deviceId;a.video.deviceId={exact:e},i=!0,s=Object.assign(Object.assign({},a.video),{deviceId:{ideal:e}})}(!0===a.audio||"object"==typeof a.audio&&!a.audio.deviceId)&&(a.audio={deviceId:"default"}),!0===a.video?a.video={deviceId:"default"}:"object"!=typeof a.video||a.video.deviceId||(a.video.deviceId="default");const c=fg(a,lm,dm),l=kg(c),d=navigator.mediaDevices.getUserMedia(l);a.audio&&(Ig.userMediaPromiseMap.set("audioinput",d),d.catch(()=>Ig.userMediaPromiseMap.delete("audioinput"))),a.video&&(Ig.userMediaPromiseMap.set("videoinput",d),d.catch(()=>Ig.userMediaPromiseMap.delete("videoinput")));try{const e=yield d;return yield Promise.all(e.getTracks().map(i=>fu(this,void 0,void 0,function*(){const a="audio"===i.kind;let o,s=a?c.audio:c.video;"boolean"!=typeof s&&s||(s={});const d=a?l.audio:l.video;"boolean"!=typeof d&&(o=d);const u=i.getSettings().deviceId;(null==o?void 0:o.deviceId)&&rg(o.deviceId)!==u?o.deviceId=u:o||(o={deviceId:u});const h=function(e,t,i){switch(e.kind){case"audio":return new Tm(e,t,!1,void 0,i);case"video":return new jm(e,t,!1,i);default:throw new ep("unsupported track type: ".concat(e.kind))}}(i,o,t);return h.kind===fp.Kind.Video?h.source=fp.Source.Camera:h.kind===fp.Kind.Audio&&(h.source=fp.Source.Microphone),h.mediaStream=e,dg(h)&&n?yield h.setProcessor(n):ug(h)&&r&&(yield h.setProcessor(r)),h})))}catch(Gb){if(!i)throw Gb;return wv(Object.assign(Object.assign({},e),{audio:o,video:s}),t)}})}(Qm=Km||(Km={})).Excellent="excellent",Qm.Good="good",Qm.Poor="poor",Qm.Lost="lost",Qm.Unknown="unknown";class yv extends yu.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===El.AGENT}get isActive(){var e;return(null===(e=this.participantInfo)||void 0===e?void 0:e.state)===Tl.ACTIVE}get kind(){return this._kind}get attributes(){return Object.freeze(Object.assign({},this._attributes))}constructor(e,t,i,n,r,a){let o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:El.STANDARD;var s;super(),this.audioLevel=0,this.isSpeaking=!1,this._connectionQuality=Km.Unknown,this.log=hu,this.log=pu(null!==(s=null==a?void 0:a.loggerName)&&void 0!==s?s:cu.Participant),this.loggerOptions=a,this.setMaxListeners(100),this.sid=e,this.identity=t,this.name=i,this.metadata=n,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this._kind=o,this._attributes=null!=r?r:{}}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(Hh.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(fp.Source.Camera);return!(null===(e=null==t?void 0:t.isMuted)||void 0===e||e)}get isMicrophoneEnabled(){var e;const t=this.getTrackPublication(fp.Source.Microphone);return!(null===(e=null==t?void 0:t.isMuted)||void 0===e||e)}get isScreenShareEnabled(){return!!this.getTrackPublication(fp.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===Tl.ACTIVE&&(null===(t=this.participantInfo)||void 0===t?void 0:t.state)!==Tl.ACTIVE&&this.emit(Hh.Active),e.permission&&this.setPermissions(e.permission),this.participantInfo=e,0))}_setMetadata(e){const t=this.metadata!==e,i=this.metadata;this.metadata=e,t&&this.emit(Hh.ParticipantMetadataChanged,i)}_setName(e){const t=this.name!==e;this.name=e,t&&this.emit(Hh.ParticipantNameChanged,e)}_setAttributes(e){const t=function(e,t){var i;void 0===e&&(e={}),void 0===t&&(t={});const n=[...Object.keys(t),...Object.keys(e)],r={};for(const a of n)e[a]!==t[a]&&(r[a]=null!==(i=t[a])&&void 0!==i?i:"");return r}(this.attributes,e);this._attributes=e,Object.keys(t).length>0&&this.emit(Hh.AttributesChanged,t)}setPermissions(e){var t,i,n,r,a,o;const s=this.permissions,c=e.canPublish!==(null===(t=this.permissions)||void 0===t?void 0:t.canPublish)||e.canSubscribe!==(null===(i=this.permissions)||void 0===i?void 0:i.canSubscribe)||e.canPublishData!==(null===(n=this.permissions)||void 0===n?void 0:n.canPublishData)||e.hidden!==(null===(r=this.permissions)||void 0===r?void 0:r.hidden)||e.recorder!==(null===(a=this.permissions)||void 0===a?void 0:a.recorder)||e.canPublishSources.length!==this.permissions.canPublishSources.length||e.canPublishSources.some((e,t)=>{var i;return e!==(null===(i=this.permissions)||void 0===i?void 0:i.canPublishSources[t])})||e.canSubscribeMetrics!==(null===(o=this.permissions)||void 0===o?void 0:o.canSubscribeMetrics);return this.permissions=e,c&&this.emit(Hh.ParticipantPermissionsChanged,s),c}setIsSpeaking(e){e!==this.isSpeaking&&(this.isSpeaking=e,e&&(this.lastSpokeAt=new Date),this.emit(Hh.IsSpeakingChanged,e))}setConnectionQuality(e){const t=this._connectionQuality;this._connectionQuality=function(e){switch(e){case ml.EXCELLENT:return Km.Excellent;case ml.GOOD:return Km.Good;case ml.POOR:return Km.Poor;case ml.LOST:return Km.Lost;default:return Km.Unknown}}(e),t!==this._connectionQuality&&this.emit(Hh.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=>dg(t.track)&&t.track.setAudioContext(e))}addTrackPublication(e){e.on(Jh.Muted,()=>{this.emit(Hh.TrackMuted,e)}),e.on(Jh.Unmuted,()=>{this.emit(Hh.TrackUnmuted,e)});const t=e;switch(t.track&&(t.track.sid=e.trackSid),this.trackPublications.set(e.trackSid,e),e.kind){case fp.Kind.Audio:this.audioTrackPublications.set(e.trackSid,e);break;case fp.Kind.Video:this.videoTrackPublications.set(e.trackSid,e)}}}class xv extends yv{constructor(e,t,i,n,r,a){super(e,t,void 0,void 0,void 0,{loggerName:n.loggerName,loggerContextCb:()=>this.engine.logContext}),this.pendingPublishing=new Set,this.pendingPublishPromises=new Map,this.participantTrackPermissions=[],this.allParticipantsAllowedToSubscribe=!0,this.encryptionType=Ml.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,i,n,r,a;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===(n=(i=this.signalConnectedFuture).reject)||void 0===n||n.call(i,"Got disconnected without signal connected"),this.signalConnectedFuture=void 0),null===(a=null===(r=this.activeAgentFuture)||void 0===r?void 0:r.reject)||void 0===a||a.call(r,"Got disconnected without active agent present"),this.activeAgentFuture=void 0,this.firstActiveAgent=void 0},this.handleSignalConnected=e=>{var t,i;e.participant&&this.updateInfo(e.participant),this.signalConnectedFuture||(this.signalConnectedFuture=new ng),null===(i=(t=this.signalConnectedFuture).resolve)||void 0===i||i.call(t)},this.handleSignalRequestResponse=e=>{const{requestId:t,reason:i,message:n}=e,r=this.pendingSignalRequests.get(t);r&&(i!==Xd.OK&&r.reject(new ap(n,i)),this.pendingSignalRequests.delete(t))},this.handleDataPacket=e=>{switch(e.value.case){case"rpcResponse":let t=e.value.value,i=null,n=null;"payload"===t.value.case?i=t.value.value:"error"===t.value.case&&(n=vm.fromProto(t.value.value)),this.handleIncomingRpcResponse(t.requestId,i,n);break;case"rpcAck":let r=e.value.value;this.handleIncomingRpcAck(r.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,i,n;if(!e.participantSid&&!e.participantIdentity)throw new Error("Invalid track permission, must provide at least one of participantIdentity and participantSid");return new Ud({participantIdentity:null!==(t=e.participantIdentity)&&void 0!==t?t:"",participantSid:null!==(i=e.participantSid)&&void 0!==i?i:"",allTracks:null!==(n=e.allowAll)&&void 0!==n&&n,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),Tg(e)))},this.onTrackUpstreamPaused=e=>{this.log.debug("upstream paused",Object.assign(Object.assign({},this.logContext),Tg(e))),this.onTrackMuted(e,!0)},this.onTrackUpstreamResumed=e=>{this.log.debug("upstream resumed",Object.assign(Object.assign({},this.logContext),Tg(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),Tg(t))),this.emit(Hh.LocalTrackCpuConstrained,e,t)},this.handleSubscribedQualityUpdate=e=>fu(this,void 0,void 0,function*(){var t,i,n,r,a;if(!(null===(a=this.roomOptions)||void 0===a?void 0:a.dynacast))return;const o=this.videoTrackPublications.get(e.trackSid);if(!o)return void this.log.warn("received subscribed quality update for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:e.trackSid}));if(!o.videoTrack)return;const s=yield o.videoTrack.setPublishingCodecs(e.subscribedCodecs);try{for(var c,l=!0,d=bu(s);!(t=(c=yield d.next()).done);l=!0){r=c.value,l=!1;const e=r;Cp(e)&&(this.log.debug("publish ".concat(e," for ").concat(o.videoTrack.sid),Object.assign(Object.assign({},this.logContext),Tg(o))),yield this.publishAdditionalCodecForTrack(o.videoTrack,e,o.options))}}catch(u){i={error:u}}finally{try{l||t||!(n=d.return)||(yield n.call(d))}finally{if(i)throw i.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=>fu(this,void 0,void 0,function*(){if(e.source===fp.Source.ScreenShare||e.source===fp.Source.ScreenShareAudio)this.log.debug("unpublishing local track due to TrackEnded",Object.assign(Object.assign({},this.logContext),Tg(e))),this.unpublishTrack(e);else if(e.isUserProvided)yield e.mute();else if(pg(e)||hg(e))try{if(Bp())try{const t=yield null===navigator||void 0===navigator?void 0:navigator.permissions.query({name:e.source===fp.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),Tg(e))),t.onchange=()=>{"denied"!==t.state&&(e.isMuted||e.restartTrack(),t.onchange=null)},new Error("GetUserMedia Permission denied")}catch(Gb){}e.isMuted||(this.log.debug("track ended, attempting to use a different device",Object.assign(Object.assign({},this.logContext),Tg(e))),pg(e)?yield e.restartTrack({deviceId:"default"}):yield e.restartTrack())}catch(Gb){this.log.warn("could not restart track, muting instead",Object.assign(Object.assign({},this.logContext),Tg(e))),yield e.mute()}}),this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this.engine=i,this.roomOptions=n,this.setupEngine(i),this.activeDeviceMap=new Map([["audioinput","default"],["videoinput","default"],["audiooutput","default"]]),this.pendingSignalRequests=new Map,this.rpcHandlers=r,this.roomOutgoingDataStreamManager=a}get lastCameraError(){return this.cameraError}get lastMicrophoneError(){return this.microphoneError}get isE2EEEnabled(){return this.encryptionType!==Ml.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(Wh.RemoteMute,(e,t)=>{const i=this.trackPublications.get(e);i&&i.track&&(t?i.mute():i.unmute())}),(null===(t=this.signalConnectedFuture)||void 0===t?void 0:t.isResolved)&&(this.signalConnectedFuture=void 0),this.engine.on(Wh.Connected,this.handleReconnected).on(Wh.SignalConnected,this.handleSignalConnected).on(Wh.SignalRestarted,this.handleReconnected).on(Wh.SignalResumed,this.handleReconnected).on(Wh.Restarting,this.handleReconnecting).on(Wh.Resuming,this.handleReconnecting).on(Wh.LocalTrackUnpublished,this.handleLocalTrackUnpublished).on(Wh.SubscribedQualityUpdate,this.handleSubscribedQualityUpdate).on(Wh.Closing,this.handleClosing).on(Wh.SignalRequestResponse,this.handleSignalRequestResponse).on(Wh.DataPacketReceived,this.handleDataPacket)}setMetadata(e){return fu(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({metadata:e})})}setName(e){return fu(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({name:e})})}setAttributes(e){return fu(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({attributes:e})})}requestMetadataUpdate(e){return fu(this,arguments,void 0,function(e){var t=this;let{metadata:i,name:n,attributes:r}=e;return function*(){return new Promise((e,a)=>fu(t,void 0,void 0,function*(){var t,o;try{let s=!1;const c=yield this.engine.client.sendUpdateLocalMetadata(null!==(t=null!=i?i:this.metadata)&&void 0!==t?t:"",null!==(o=null!=n?n:this.name)&&void 0!==o?o:"",r),l=performance.now();for(this.pendingSignalRequests.set(c,{resolve:e,reject:e=>{a(e),s=!0},values:{name:n,metadata:i,attributes:r}});performance.now()-l<5e3&&!s;){if((!n||this.name===n)&&(!i||this.metadata===i)&&(!r||Object.entries(r).every(e=>{let[t,i]=e;return this.attributes[t]===i||""===i&&!this.attributes[t]})))return this.pendingSignalRequests.delete(c),void e();yield Ap(50)}a(new ap("Request to update local metadata timed out","TimeoutError"))}catch(Gb){Gb instanceof Error&&a(Gb)}}))}()})}setCameraEnabled(e,t,i){return this.setTrackEnabled(fp.Source.Camera,e,t,i)}setMicrophoneEnabled(e,t,i){return this.setTrackEnabled(fp.Source.Microphone,e,t,i)}setScreenShareEnabled(e,t,i){return this.setTrackEnabled(fp.Source.ScreenShare,e,t,i)}setPermissions(e){const t=this.permissions,i=super.setPermissions(e);return i&&t&&this.emit(Hh.ParticipantPermissionsChanged,t),i}setE2EEEnabled(e){return fu(this,void 0,void 0,function*(){this.encryptionType=e?Ml.GCM:Ml.NONE,yield this.republishAllTracks(void 0,!1)})}setTrackEnabled(e,t,i,n){return fu(this,void 0,void 0,function*(){var r,a;this.log.debug("setTrackEnabled",Object.assign(Object.assign({},this.logContext),{source:e,enabled:t})),this.republishPromise&&(yield this.republishPromise);let o=this.getTrackPublication(e);if(t)if(o)yield o.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 fp.Source.Camera:t=yield this.createTracks({video:null===(r=i)||void 0===r||r});break;case fp.Source.Microphone:t=yield this.createTracks({audio:null===(a=i)||void 0===a||a});break;case fp.Source.ScreenShare:t=yield this.createScreenTracks(Object.assign({},i));break;default:throw new ep(e)}}catch(Gb){throw null==t||t.forEach(e=>{e.stop()}),Gb instanceof Error&&this.emit(Hh.MediaDevicesError,Gb,xg(e)),this.pendingPublishing.delete(e),Gb}for(const n of t){const t=Object.assign(Object.assign({},this.roomOptions.publishDefaults),i);e===fp.Source.Microphone&&dg(n)&&t.preConnectBuffer&&(this.log.info("starting preconnect buffer for microphone",Object.assign({},this.logContext)),n.startPreConnectBuffer())}try{const e=[];for(const r of t)this.log.info("publishing track",Object.assign(Object.assign({},this.logContext),Tg(r))),e.push(this.publishTrack(r,n));const i=yield Promise.all(e);[o]=i}catch(Gb){throw null==t||t.forEach(e=>{e.stop()}),Gb}finally{this.pendingPublishing.delete(e)}}else if(!(null==o?void 0:o.track)&&this.pendingPublishing.has(e)&&(o=yield this.waitForPendingPublicationOfSource(e),o||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e}))),o&&o.track)if(e===fp.Source.ScreenShare){o=yield this.unpublishTrack(o.track);const e=this.getTrackPublication(fp.Source.ScreenShareAudio);e&&e.track&&this.unpublishTrack(e.track)}else yield o.mute();return o})}enableCameraAndMicrophone(){return fu(this,void 0,void 0,function*(){if(!this.pendingPublishing.has(fp.Source.Camera)&&!this.pendingPublishing.has(fp.Source.Microphone)){this.pendingPublishing.add(fp.Source.Camera),this.pendingPublishing.add(fp.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(fp.Source.Camera),this.pendingPublishing.delete(fp.Source.Microphone)}}})}createTracks(e){return fu(this,void 0,void 0,function*(){var t,i;null!=e||(e={});const n=fg(e,null===(t=this.roomOptions)||void 0===t?void 0:t.audioCaptureDefaults,null===(i=this.roomOptions)||void 0===i?void 0:i.videoCaptureDefaults);try{return(yield wv(n,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext})).map(e=>(dg(e)&&(this.microphoneError=void 0,e.setAudioContext(this.audioContext),e.source=fp.Source.Microphone,this.emit(Hh.AudioStreamAcquired)),ug(e)&&(this.cameraError=void 0,e.source=fp.Source.Camera),e))}catch(r){throw r instanceof Error&&(e.audio&&(this.microphoneError=r),e.video&&(this.cameraError=r)),r}})}createScreenTracks(e){return fu(this,void 0,void 0,function*(){if(void 0===e&&(e={}),void 0===navigator.mediaDevices.getDisplayMedia)throw new Xh("getDisplayMedia not supported");void 0!==e.resolution||function(){const e=lp();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)&&$p(e.osVersion,"17")>=0}()||(e.resolution=Ip.h1080fps30.resolution);const t=function(e){var t,i;let n=null===(t=e.video)||void 0===t||t;return e.resolution&&e.resolution.width>0&&e.resolution.height>0&&(n="boolean"==typeof n?{}:n,n=Fp()?Object.assign(Object.assign({},n),{width:{max:e.resolution.width},height:{max:e.resolution.height},frameRate:e.resolution.frameRate}):Object.assign(Object.assign({},n),{width:{ideal:e.resolution.width},height:{ideal:e.resolution.height},frameRate:e.resolution.frameRate})),{audio:null!==(i=e.audio)&&void 0!==i&&i,video:n,controller:e.controller,selfBrowserSurface:e.selfBrowserSurface,surfaceSwitching:e.surfaceSwitching,systemAudio:e.systemAudio,preferCurrentTab:e.preferCurrentTab}}(e),i=yield navigator.mediaDevices.getDisplayMedia(t),n=i.getVideoTracks();if(0===n.length)throw new ep("no video track found");const r=new jm(n[0],void 0,!1,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});r.source=fp.Source.ScreenShare,e.contentHint&&(r.mediaStreamTrack.contentHint=e.contentHint);const a=[r];if(i.getAudioTracks().length>0){this.emit(Hh.AudioStreamAcquired);const e=new Tm(i.getAudioTracks()[0],void 0,!1,this.audioContext,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});e.source=fp.Source.ScreenShareAudio,a.push(e)}return a})}publishTrack(e,t){return fu(this,void 0,void 0,function*(){return this.publishOrRepublishTrack(e,t)})}publishOrRepublishTrack(e,t){return fu(this,arguments,void 0,function(e,t){var i=this;let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function*(){var r,a,o,s;let c,l;if(pg(e)&&e.setAudioContext(i.audioContext),yield null===(r=i.reconnectFuture)||void 0===r?void 0:r.promise,i.republishPromise&&!n&&(yield i.republishPromise),lg(e)&&i.pendingPublishPromises.has(e)&&(yield i.pendingPublishPromises.get(e)),e instanceof MediaStreamTrack)c=e.getConstraints();else{let t;switch(c=e.constraints,e.source){case fp.Source.Microphone:t="audioinput";break;case fp.Source.Camera:t="videoinput"}t&&i.activeDeviceMap.has(t)&&(c=Object.assign(Object.assign({},c),{deviceId:i.activeDeviceMap.get(t)}))}if(e instanceof MediaStreamTrack)switch(e.kind){case"audio":e=new Tm(e,c,!0,i.audioContext,{loggerName:i.roomOptions.loggerName,loggerContextCb:()=>i.logContext});break;case"video":e=new jm(e,c,!0,{loggerName:i.roomOptions.loggerName,loggerContextCb:()=>i.logContext});break;default:throw new ep("unsupported MediaStreamTrack kind ".concat(e.kind))}else e.updateLoggerOptions({loggerName:i.roomOptions.loggerName,loggerContextCb:()=>i.logContext});if(i.trackPublications.forEach(t=>{t.track&&t.track===e&&(l=t)}),l)return i.log.warn("track has already been published, skipping",Object.assign(Object.assign({},i.logContext),Tg(l))),l;const d="channelCount"in e.mediaStreamTrack.getSettings()&&2===e.mediaStreamTrack.getSettings().channelCount||2===e.mediaStreamTrack.getConstraints().channelCount,u=null!==(a=null==t?void 0:t.forceStereo)&&void 0!==a?a:d;u&&(t||(t={}),void 0===t.dtx&&i.log.info("Opus DTX will be disabled for stereo tracks by default. Enable them explicitly to make it work.",Object.assign(Object.assign({},i.logContext),Tg(e))),void 0===t.red&&i.log.info("Opus RED will be disabled for stereo tracks by default. Enable them explicitly to make it work."),null!==(o=t.dtx)&&void 0!==o||(t.dtx=!1),null!==(s=t.red)&&void 0!==s||(t.red=!1));const h=Object.assign(Object.assign({},i.roomOptions.publishDefaults),t);!function(){const e=lp(),t="17.2";if(e)return"Safari"!==e.name&&"iOS"!==e.os||!!("iOS"===e.os&&e.osVersion&&$p(t,e.osVersion)>=0)||"Safari"===e.name&&$p(t,e.version)>=0}()&&i.roomOptions.e2ee&&(i.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({},i.logContext)),h.simulcast=!1),h.source&&(e.source=h.source);const p=new Promise((t,n)=>fu(i,void 0,void 0,function*(){try{if(this.engine.client.currentState!==Ng.CONNECTED){this.log.debug("deferring track publication until signal is connected",Object.assign(Object.assign({},this.logContext),{track:Tg(e)}));const i=setTimeout(()=>{n(new rp("publishing rejected as engine not connected within timeout",408))},15e3);yield this.waitUntilEngineConnected(),clearTimeout(i);const r=yield this.publish(e,h,u);t(r)}else try{const i=yield this.publish(e,h,u);t(i)}catch(Gb){n(Gb)}}catch(Gb){n(Gb)}}));i.pendingPublishPromises.set(e,p);try{return yield p}catch(Gb){throw Gb}finally{i.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),Tg(e))),!1;const{canPublish:t,canPublishSources:i}=this.permissions;return!(!t||0!==i.length&&!i.map(e=>function(e){switch(e){case pl.CAMERA:return fp.Source.Camera;case pl.MICROPHONE:return fp.Source.Microphone;case pl.SCREEN_SHARE:return fp.Source.ScreenShare;case pl.SCREEN_SHARE_AUDIO:return fp.Source.ScreenShareAudio;default:return fp.Source.Unknown}}(e)).includes(e.source))||(this.log.warn("insufficient permissions to publish",Object.assign(Object.assign({},this.logContext),Tg(e))),!1)}publish(e,t,i){return fu(this,void 0,void 0,function*(){var n,r,a,o,s,c,l,d,u,h;if(!this.hasPermissionsToPublish(e))throw new rp("failed to publish track, insufficient permissions",403);Array.from(this.trackPublications.values()).find(t=>lg(e)&&t.source===e.source)&&e.source!==fp.Source.Unknown&&this.log.info("publishing a second track with the same source: ".concat(e.source),Object.assign(Object.assign({},this.logContext),Tg(e))),t.stopMicTrackOnMute&&dg(e)&&(e.stopOnMute=!0),e.source===fp.Source.ScreenShare&&jp()&&(t.simulcast=!1),"av1"!==t.videoCodec||function(){if(!("getCapabilities"in RTCRtpSender))return!1;if(Fp())return!1;const e=RTCRtpSender.getCapabilities("video");let t=!1;if(e)for(const i of e.codecs)if("video/AV1"===i.mimeType){t=!0;break}return t}()||(t.videoCodec=void 0),"vp9"!==t.videoCodec||function(){if(!("getCapabilities"in RTCRtpSender))return!1;if(jp())return!1;if(Fp()){const e=lp();if((null==e?void 0:e.version)&&$p(e.version,"16")<0)return!1;if("iOS"===(null==e?void 0:e.os)&&(null==e?void 0:e.osVersion)&&$p(e.osVersion,"16")<0)return!1}const e=RTCRtpSender.getCapabilities("video");let t=!1;if(e)for(const i of e.codecs)if("video/VP9"===i.mimeType){t=!0;break}return t}()||(t.videoCodec=void 0),void 0===t.videoCodec&&(t.videoCodec=sm),this.enabledPublishVideoCodecs.length>0&&(this.enabledPublishVideoCodecs.some(e=>t.videoCodec===Cg(e.mime))||(t.videoCodec=Cg(this.enabledPublishVideoCodecs[0].mime)));const p=t.videoCodec;e.on(Jh.Muted,this.onTrackMuted),e.on(Jh.Unmuted,this.onTrackUnmuted),e.on(Jh.Ended,this.handleTrackEnded),e.on(Jh.UpstreamPaused,this.onTrackUpstreamPaused),e.on(Jh.UpstreamResumed,this.onTrackUpstreamResumed),e.on(Jh.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate);const g=[],m=!(null===(n=t.dtx)||void 0===n||n),v=e.getSourceTrackSettings();v.autoGainControl&&g.push(wl.TF_AUTO_GAIN_CONTROL),v.echoCancellation&&g.push(wl.TF_ECHO_CANCELLATION),v.noiseSuppression&&g.push(wl.TF_NOISE_SUPPRESSION),v.channelCount&&v.channelCount>1&&g.push(wl.TF_STEREO),m&&g.push(wl.TF_NO_DTX),pg(e)&&e.hasPreConnectBuffer&&g.push(wl.TF_PRECONNECT_BUFFER);const f=new hd({cid:e.mediaStreamTrack.id,name:t.name,type:fp.kindToProto(e.kind),muted:e.isMuted,source:fp.sourceToProto(e.source),disableDtx:m,encryption:this.encryptionType,stereo:i,disableRed:this.isE2EEEnabled||!(null===(r=t.red)||void 0===r||r),stream:null==t?void 0:t.stream,backupCodecPolicy:null==t?void 0:t.backupCodecPolicy,audioFeatures:g});let b;if(e.kind===fp.Kind.Video){let i={width:0,height:0};try{i=yield e.waitForDimensions()}catch(Gb){const n=null!==(o=null===(a=this.roomOptions.videoCaptureDefaults)||void 0===a?void 0:a.resolution)&&void 0!==o?o:Mp.h720.resolution;i={width:n.width,height:n.height},this.log.error("could not determine track dimensions, using defaults",Object.assign(Object.assign(Object.assign({},this.logContext),Tg(e)),{dims:i}))}f.width=i.width,f.height=i.height,hg(e)&&(Lp(p)&&(e.source===fp.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),Tg(e))))),t.scalabilityMode=null!==(s=t.scalabilityMode)&&void 0!==s?s:"L3T3_KEY"),f.simulcastCodecs=[new ud({codec:p,cid:e.mediaStreamTrack.id})],!0===t.backupCodec&&(t.backupCodec={codec:sm}),t.backupCodec&&p!==t.backupCodec.codec&&f.encryption===Ml.NONE&&(this.roomOptions.dynacast||(this.roomOptions.dynacast=!0),f.simulcastCodecs.push(new ud({codec:t.backupCodec.codec,cid:""})))),b=Am(e.source===fp.Source.ScreenShare,f.width,f.height,t),f.layers=zm(f.width,f.height,b,Lp(t.videoCodec))}else e.kind===fp.Kind.Audio&&(b=[{maxBitrate:null===(c=t.audioPreset)||void 0===c?void 0:c.maxBitrate,priority:null!==(d=null===(l=t.audioPreset)||void 0===l?void 0:l.priority)&&void 0!==d?d:"high",networkPriority:null!==(h=null===(u=t.audioPreset)||void 0===u?void 0:u.priority)&&void 0!==h?h:"high"}]);if(!this.engine||this.engine.isClosed)throw new ip("cannot publish track when not connected");const k=()=>fu(this,void 0,void 0,function*(){var i,n,r;if(!this.engine.pcManager)throw new ip("pcManager is not ready");if(e.sender=yield this.engine.createSender(e,t,b),this.emit(Hh.LocalSenderCreated,e.sender,e),hg(e)&&(null!==(i=t.degradationPreference)&&void 0!==i||(t.degradationPreference=function(e){return e.source===fp.Source.ScreenShare||e.constraints.height&&rg(e.constraints.height)>=1080?"maintain-resolution":"balanced"}(e)),e.setDegradationPreference(t.degradationPreference)),b)if(jp()&&e.kind===fp.Kind.Audio){let t;for(const i of this.engine.pcManager.publisher.getTransceivers())if(i.sender===e.sender){t=i;break}t&&this.engine.pcManager.publisher.setTrackCodecBitrate({transceiver:t,codec:"opus",maxbr:(null===(n=b[0])||void 0===n?void 0:n.maxBitrate)?b[0].maxBitrate/1e3:0})}else e.codec&&Lp(e.codec)&&(null===(r=b[0])||void 0===r?void 0:r.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,i)=>fu(this,void 0,void 0,function*(){var n;try{w=yield this.engine.addTrack(f),t(w)}catch(r){e.sender&&(null===(n=this.engine.pcManager)||void 0===n?void 0:n.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),Tg(e)),{error:t}))})),i(r)}}));if(this.enabledPublishVideoCodecs.length>0){const e=yield Promise.all([y,k()]);w=e[0]}else{let i;if(w=yield y,w.codecs.forEach(e=>{void 0===i&&(i=e.mimeType)}),i&&e.kind===fp.Kind.Video){const n=Cg(i);n!==p&&(this.log.debug("falling back to server selected codec",Object.assign(Object.assign(Object.assign({},this.logContext),Tg(e)),{codec:n})),t.videoCodec=n,b=Am(e.source===fp.Source.ScreenShare,f.width,f.height,t))}yield k()}const x=new kv(e.kind,w,e,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});if(x.on(Jh.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})),hg(e)?e.startMonitor(this.engine.client):pg(e)&&e.startMonitor(),this.addTrackPublication(x),this.emit(Hh.LocalTrackPublished,x),pg(e)&&w.audioFeatures.includes(wl.TF_PRECONNECT_BUFFER)){const t=e.getPreConnectBuffer(),i=e.getPreConnectBufferMimeType();this.on(Hh.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),Tg(e))),e.stopPreConnectBuffer()}}),t&&new Promise((n,r)=>fu(this,void 0,void 0,function*(){var a,o,s,c,l,d;try{this.log.debug("waiting for agent",Object.assign(Object.assign({},this.logContext),Tg(e)));const m=setTimeout(()=>{r(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),Tg(e)));const b=yield this.streamBytes({name:"preconnect-buffer",mimeType:i,topic:"lk.agent.pre-connect-audio-buffer",destinationIdentities:[f.identity],attributes:{trackId:x.trackSid,sampleRate:String(null!==(l=v.sampleRate)&&void 0!==l?l:"48000"),channels:String(null!==(d=v.channelCount)&&void 0!==d?d:"1")}});try{for(var u,h=!0,p=bu(t);!(a=(u=yield p.next()).done);h=!0){c=u.value,h=!1;const e=c;yield b.write(e)}}catch(g){o={error:g}}finally{try{h||a||!(s=p.return)||(yield s.call(p))}finally{if(o)throw o.error}}yield b.close(),n()}catch(Gb){r(Gb)}})).then(()=>{this.log.debug("preconnect buffer sent successfully",Object.assign(Object.assign({},this.logContext),Tg(e)))}).catch(t=>{this.log.error("error sending preconnect buffer",Object.assign(Object.assign(Object.assign({},this.logContext),Tg(e)),{error:t}))})}return x})}get isLocal(){return!0}publishAdditionalCodecForTrack(e,t,i){return fu(this,void 0,void 0,function*(){var n;if(this.encryptionType!==Ml.NONE)return;let r;if(this.trackPublications.forEach(t=>{t.track&&t.track===e&&(r=t)}),!r)throw new ep("track is not published");if(!hg(e))throw new ep("track is not a video track");const a=Object.assign(Object.assign({},null===(n=this.roomOptions)||void 0===n?void 0:n.publishDefaults),i),o=function(e,t,i){var n,r,a,o;if(!i.backupCodec||!0===i.backupCodec||i.backupCodec.codec===i.videoCodec)return;t!==i.backupCodec.codec&&hu.warn("requested a different codec than specified as backup",{serverRequested:t,backup:i.backupCodec.codec}),i.videoCodec=t,i.videoEncoding=i.backupCodec.encoding;const s=e.mediaStreamTrack.getSettings(),c=null!==(n=s.width)&&void 0!==n?n:null===(r=e.dimensions)||void 0===r?void 0:r.width,l=null!==(a=s.height)&&void 0!==a?a:null===(o=e.dimensions)||void 0===o?void 0:o.height;return e.source===fp.Source.ScreenShare&&i.simulcast&&(i.simulcast=!1),Am(e.source===fp.Source.ScreenShare,c,l,i)}(e,t,a);if(!o)return void this.log.info("backup codec has been disabled, ignoring request to add additional codec for track",Object.assign(Object.assign({},this.logContext),Tg(e)));const s=e.addSimulcastTrack(t,o);if(!s)return;const c=new hd({cid:s.mediaStreamTrack.id,type:fp.kindToProto(e.kind),muted:e.isMuted,source:fp.sourceToProto(e.source),sid:e.sid,simulcastCodecs:[{codec:a.videoCodec,cid:s.mediaStreamTrack.id}]});if(c.layers=zm(c.width,c.height,o),!this.engine||this.engine.isClosed)throw new ip("cannot publish track when not connected");const l=(yield Promise.all([this.engine.addTrack(c),(()=>fu(this,void 0,void 0,function*(){yield this.engine.createSimulcastSender(e,s,a,o),yield this.engine.negotiate()}))()]))[0];this.log.debug("published ".concat(t," for track ").concat(e.sid),Object.assign(Object.assign({},this.logContext),{encodings:o,trackInfo:l}))})}unpublishTrack(e,t){return fu(this,void 0,void 0,function*(){var i,n;if(lg(e)){const t=this.pendingPublishPromises.get(e);t&&(this.log.info("awaiting publish promise before attempting to unpublish",Object.assign(Object.assign({},this.logContext),Tg(e))),yield t)}const r=this.getPublicationForTrack(e),a=r?Tg(r):void 0;if(this.log.debug("unpublishing track",Object.assign(Object.assign({},this.logContext),a)),!r||!r.track)return void this.log.warn("track was not unpublished because no publication was found",Object.assign(Object.assign({},this.logContext),a));(e=r.track).off(Jh.Muted,this.onTrackMuted),e.off(Jh.Unmuted,this.onTrackUnmuted),e.off(Jh.Ended,this.handleTrackEnded),e.off(Jh.UpstreamPaused,this.onTrackUpstreamPaused),e.off(Jh.UpstreamResumed,this.onTrackUpstreamResumed),e.off(Jh.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate),void 0===t&&(t=null===(n=null===(i=this.roomOptions)||void 0===i?void 0:i.stopLocalTrackOnUnpublish)||void 0===n||n),t?e.stop():e.stopMonitor();let o=!1;const s=e.sender;if(e.sender=void 0,this.engine.pcManager&&this.engine.pcManager.currentState<pm.FAILED&&s)try{for(const e of this.engine.pcManager.publisher.getTransceivers())e.sender===s&&(e.direction="inactive",o=!0);if(this.engine.removeTrack(s)&&(o=!0),hg(e)){for(const[,t]of e.simulcastCodecs)t.sender&&(this.engine.removeTrack(t.sender)&&(o=!0),t.sender=void 0);e.simulcastCodecs.clear()}}catch(Gb){this.log.warn("failed to unpublish track",Object.assign(Object.assign(Object.assign({},this.logContext),a),{error:Gb}))}switch(this.trackPublications.delete(r.trackSid),r.kind){case fp.Kind.Audio:this.audioTrackPublications.delete(r.trackSid);break;case fp.Kind.Video:this.videoTrackPublications.delete(r.trackSid)}return this.emit(Hh.LocalTrackUnpublished,r),r.setTrack(void 0),o&&(yield this.engine.negotiate()),r})}unpublishTracks(e){return fu(this,void 0,void 0,function*(){return(yield Promise.all(e.map(e=>this.unpublishTrack(e)))).filter(e=>!!e)})}republishAllTracks(e){return fu(this,arguments,void 0,function(e){var t=this;let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){t.republishPromise&&(yield t.republishPromise),t.republishPromise=new Promise((n,r)=>fu(t,void 0,void 0,function*(){try{const t=[];this.trackPublications.forEach(i=>{i.track&&(e&&(i.options=Object.assign(Object.assign({},i.options),e)),t.push(i))}),yield Promise.all(t.map(e=>fu(this,void 0,void 0,function*(){const t=e.track;yield this.unpublishTrack(t,!1),!i||t.isMuted||t.source===fp.Source.ScreenShare||t.source===fp.Source.ScreenShareAudio||!pg(t)&&!hg(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)}))),n()}catch(t){r(t)}finally{this.republishPromise=void 0}})),yield t.republishPromise}()})}publishData(e){return fu(this,arguments,void 0,function(e){var t=this;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){const n=i.reliable?Ol.RELIABLE:Ol.LOSSY,r=i.destinationIdentities,a=i.topic,o=new Al({kind:n,value:{case:"user",value:new Nl({participantIdentity:t.identity,payload:e,destinationIdentities:r,topic:a})}});yield t.engine.sendDataPacket(o,n)}()})}publishDtmf(e,t){return fu(this,void 0,void 0,function*(){const i=new Al({kind:Ol.RELIABLE,value:{case:"sipDtmf",value:new jl({code:e,digit:t})}});yield this.engine.sendDataPacket(i,Ol.RELIABLE)})}sendChatMessage(e,t){return fu(this,void 0,void 0,function*(){const i={id:crypto.randomUUID(),message:e,timestamp:Date.now(),attachedFiles:null==t?void 0:t.attachments},n=new Al({value:{case:"chatMessage",value:new zl(Object.assign(Object.assign({},i),{timestamp:Qs.parse(i.timestamp)}))}});return yield this.engine.sendDataPacket(n,Ol.RELIABLE),this.emit(Hh.ChatMessage,i),i})}editChatMessage(e,t){return fu(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},t),{message:e,editTimestamp:Date.now()}),n=new Al({value:{case:"chatMessage",value:new zl(Object.assign(Object.assign({},i),{timestamp:Qs.parse(i.timestamp),editTimestamp:Qs.parse(i.editTimestamp)}))}});return yield this.engine.sendDataPacket(n,Ol.RELIABLE),this.emit(Hh.ChatMessage,i),i})}sendText(e,t){return fu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendText(e,t)})}streamText(e){return fu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.streamText(e)})}sendFile(e,t){return fu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendFile(e,t)})}streamBytes(e){return fu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.streamBytes(e)})}performRpc(e){return fu(this,arguments,void 0,function(e){var t=this;let{destinationIdentity:i,method:n,payload:r,responseTimeout:a=1e4}=e;return function*(){return new Promise((e,o)=>fu(t,void 0,void 0,function*(){var t,s,c,l;if(fm(r)>15360)return void o(vm.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)&&$p(null===(l=null===(c=this.engine.latestJoinResponse)||void 0===c?void 0:c.serverInfo)||void 0===l?void 0:l.version,"1.8.0")<0)return void o(vm.builtIn("UNSUPPORTED_SERVER"));const d=crypto.randomUUID();yield this.publishRpcRequest(i,d,n,r,a-2e3);const u=setTimeout(()=>{this.pendingAcks.delete(d),o(vm.builtIn("CONNECTION_TIMEOUT")),this.pendingResponses.delete(d),clearTimeout(h)},2e3);this.pendingAcks.set(d,{resolve:()=>{clearTimeout(u)},participantIdentity:i});const h=setTimeout(()=>{this.pendingResponses.delete(d),o(vm.builtIn("RESPONSE_TIMEOUT"))},a);this.pendingResponses.set(d,{resolve:(t,i)=>{clearTimeout(h),this.pendingAcks.has(d)&&(this.pendingAcks.delete(d),clearTimeout(u)),i?o(i):e(null!=t?t:"")},participantIdentity:i})}))}()})}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,i){const n=this.pendingResponses.get(e);n&&(n.resolve(t,i),this.pendingResponses.delete(e))}publishRpcRequest(e,t,i,n,r){return fu(this,void 0,void 0,function*(){const a=new Al({destinationIdentities:[e],kind:Ol.RELIABLE,value:{case:"rpcRequest",value:new Bl({id:t,method:i,payload:n,responseTimeoutMs:r,version:1})}});yield this.engine.sendDataPacket(a,Ol.RELIABLE)})}handleParticipantDisconnected(e){for(const[t,{participantIdentity:i}]of this.pendingAcks)i===e&&this.pendingAcks.delete(t);for(const[t,{participantIdentity:i,resolve:n}]of this.pendingResponses)i===e&&(n(null,vm.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,i;const n=this.trackPublications.get(e.sid);if(n){const r=n.isMuted||null!==(i=null===(t=n.track)||void 0===t?void 0:t.isUpstreamPaused)&&void 0!==i&&i;r!==e.muted&&(this.log.debug("updating server mute state after reconcile",Object.assign(Object.assign(Object.assign({},this.logContext),Tg(n)),{mutedOnServer:r})),this.engine.client.sendMuteTrack(e.sid,r))}}),!0)}setActiveAgent(e){var t,i,n,r;this.firstActiveAgent=e,e&&!this.firstActiveAgent&&(this.firstActiveAgent=e),e?null===(i=null===(t=this.activeAgentFuture)||void 0===t?void 0:t.resolve)||void 0===i||i.call(t,e):null===(r=null===(n=this.activeAgentFuture)||void 0===n?void 0:n.reject)||void 0===r||r.call(n,"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(i=>{const n=i.track;n&&(e instanceof MediaStreamTrack?(pg(n)||hg(n))&&n.mediaStreamTrack===e&&(t=i):e===n&&(t=i))}),t}waitForPendingPublicationOfSource(e){return fu(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[i]=t;return i.source===e});if(t)return t[1];yield Ap(20)}})}}class Cv extends bv{constructor(e,t,i,n){super(e,t.sid,t.name,n),this.track=void 0,this.allowed=!0,this.requestedDisabled=void 0,this.visible=!0,this.handleEnded=e=>{this.setTrack(void 0),this.emit(Jh.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=i,this.updateInfo(t)}setSubscribed(e){const t=this.subscriptionStatus,i=this.permissionStatus;this.subscribed=e,e&&(this.allowed=!0);const n=new yd({trackSids:[this.trackSid],subscribe:this.subscribed,participantTracks:[new Gl({participantSid:"",trackSids:[this.trackSid]})]});this.emit(Jh.UpdateSubscription,n),this.emitSubscriptionUpdateIfChanged(t),this.emitPermissionUpdateIfChanged(i)}get subscriptionStatus(){return!1===this.subscribed?bv.SubscriptionStatus.Unsubscribed:super.isSubscribed?bv.SubscriptionStatus.Subscribed:bv.SubscriptionStatus.Desired}get permissionStatus(){return this.allowed?bv.PermissionStatus.Allowed:bv.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,i;this.isManualOperationAllowed()&&((null===(t=this.requestedVideoDimensions)||void 0===t?void 0:t.width)===e.width&&(null===(i=this.requestedVideoDimensions)||void 0===i?void 0:i.height)===e.height||(vg(this.track)&&(this.requestedVideoDimensions=e),this.requestedMaxQuality=void 0,this.emitTrackUpdate()))}setVideoFPS(e){this.isManualOperationAllowed()&&vg(this.track)&&this.fps!==e&&(this.fps=e,this.emitTrackUpdate())}get videoQuality(){var e;return null!==(e=this.requestedMaxQuality)&&void 0!==e?e:mp.HIGH}setTrack(e){const t=this.subscriptionStatus,i=this.permissionStatus,n=this.track;n!==e&&(n&&(n.off(Jh.VideoDimensionsChanged,this.handleVideoDimensionsChange),n.off(Jh.VisibilityChanged,this.handleVisibilityChange),n.off(Jh.Ended,this.handleEnded),n.detach(),n.stopMonitor(),this.emit(Jh.Unsubscribed,n)),super.setTrack(e),e&&(e.sid=this.trackSid,e.on(Jh.VideoDimensionsChanged,this.handleVideoDimensionsChange),e.on(Jh.VisibilityChanged,this.handleVisibilityChange),e.on(Jh.Ended,this.handleEnded),this.emit(Jh.Subscribed,e)),this.emitPermissionUpdateIfChanged(i),this.emitSubscriptionUpdateIfChanged(t))}setAllowed(e){const t=this.subscriptionStatus,i=this.permissionStatus;this.allowed=e,this.emitPermissionUpdateIfChanged(i),this.emitSubscriptionUpdateIfChanged(t)}setSubscriptionError(e){this.emit(Jh.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?Jh.Muted:Jh.Unmuted)}emitSubscriptionUpdateIfChanged(e){const t=this.subscriptionStatus;e!==t&&this.emit(Jh.SubscriptionStatusChanged,t,e)}emitPermissionUpdateIfChanged(e){this.permissionStatus!==e&&this.emit(Jh.SubscriptionPermissionChanged,this.permissionStatus,e)}isManualOperationAllowed(){return!!this.isDesired||(this.log.warn("cannot update track settings when not subscribed",this.logContext),!1)}get isAdaptiveStream(){return vg(this.track)&&this.track.isAdaptiveStream}emitTrackUpdate(){const e=new xd({trackSids:[this.trackSid],disabled:!this.isEnabled,fps:this.fps});if(this.kind===fp.Kind.Video){let r=this.requestedVideoDimensions;if(void 0!==this.videoDimensionsAdaptiveStream)if(r)Pg(this.videoDimensionsAdaptiveStream,r)&&(this.log.debug("using adaptive stream dimensions instead of requested",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),r=this.videoDimensionsAdaptiveStream);else if(void 0!==this.requestedMaxQuality&&this.trackInfo){const e=(t=this.trackInfo,i=this.requestedMaxQuality,null===(n=t.layers)||void 0===n?void 0:n.find(e=>e.quality===i));e&&Pg(this.videoDimensionsAdaptiveStream,e)&&(this.log.debug("using adaptive stream dimensions instead of max quality layer",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),r=this.videoDimensionsAdaptiveStream)}else this.log.debug("using adaptive stream dimensions",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),r=this.videoDimensionsAdaptiveStream;r?(e.width=Math.ceil(r.width),e.height=Math.ceil(r.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:mp.HIGH})),e.quality=mp.HIGH)}var t,i,n;this.emit(Jh.UpdateSettings,e)}}class Sv extends yv{static fromParticipantInfo(e,t,i){return new Sv(e,t.sid,t.identity,t.name,t.metadata,t.attributes,i,t.kind)}get logContext(){return Object.assign(Object.assign({},super.logContext),{rpID:this.sid,remoteParticipant:this.identity})}constructor(e,t,i,n,r,a,o){super(t,i||"",n,r,a,o,arguments.length>7&&void 0!==arguments[7]?arguments[7]:El.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(Jh.UpdateSettings,t=>{this.log.debug("send update settings",Object.assign(Object.assign(Object.assign({},this.logContext),Tg(e)),{settings:t})),this.signalClient.sendUpdateTrackSettings(t)}),e.on(Jh.UpdateSubscription,e=>{e.participantTracks.forEach(e=>{e.participantSid=this.sid}),this.signalClient.sendUpdateSubscription(e)}),e.on(Jh.SubscriptionPermissionChanged,t=>{this.emit(Hh.TrackSubscriptionPermissionChanged,e,t)}),e.on(Jh.SubscriptionStatusChanged,t=>{this.emit(Hh.TrackSubscriptionStatusChanged,e,t)}),e.on(Jh.Subscribed,t=>{this.emit(Hh.TrackSubscribed,t,e)}),e.on(Jh.Unsubscribed,t=>{this.emit(Hh.TrackUnsubscribed,t,e)}),e.on(Jh.SubscriptionFailed,t=>{this.emit(Hh.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]:fp.Source.Microphone;this.volumeMap.set(t,e);const i=this.getTrackPublication(t);i&&i.track&&i.track.setVolume(e)}getVolume(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:fp.Source.Microphone;const t=this.getTrackPublication(e);return t&&t.track?t.track.getVolume():this.volumeMap.get(e)}addSubscribedMediaTrack(e,t,i,n,r,a){let o,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),Tg(s))),void this.emit(Hh.TrackSubscriptionFailed,t)):(o="video"===e.kind?new gv(e,t,n,r):new pv(e,t,n,this.audioContext,this.audioOutput),o.source=s.source,o.isMuted=s.isMuted,o.setMediaStream(i),o.start(),s.setTrack(o),this.volumeMap.has(s.source)&&gg(o)&&dg(o)&&o.setVolume(this.volumeMap.get(s.source)),s):0===a?(this.log.error("could not find published track",Object.assign(Object.assign({},this.logContext),{trackSid:t})),void this.emit(Hh.TrackSubscriptionFailed,t)):(void 0===a&&(a=20),void setTimeout(()=>{this.addSubscribedMediaTrack(e,t,i,n,r,a-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,i=new Map;return e.tracks.forEach(e=>{var n,r;let a=this.getTrackPublicationBySid(e.sid);if(a)a.updateInfo(e);else{const t=fp.kindFromProto(e.type);if(!t)return;a=new Cv(t,e,null===(n=this.signalClient.connectOptions)||void 0===n?void 0:n.autoSubscribe,{loggerContextCb:()=>this.logContext,loggerName:null===(r=this.loggerOptions)||void 0===r?void 0:r.loggerName}),a.updateInfo(e),i.set(e.sid,a);const o=Array.from(this.trackPublications.values()).find(e=>e.source===(null==a?void 0:a.source));o&&a.source!==fp.Source.Unknown&&this.log.debug("received a second track publication for ".concat(this.identity," with the same source: ").concat(a.source),Object.assign(Object.assign({},this.logContext),{oldTrack:Tg(o),newTrack:Tg(a)})),this.addTrackPublication(a)}t.set(e.sid,a)}),this.trackPublications.forEach(e=>{t.has(e.trackSid)||(this.log.trace("detected removed track on remote participant, unpublishing",Object.assign(Object.assign({},this.logContext),Tg(e))),this.unpublishTrack(e.trackSid,!0))}),i.forEach(e=>{this.emit(Hh.TrackPublished,e)}),!0}unpublishTrack(e,t){const i=this.trackPublications.get(e);if(!i)return;const{track:n}=i;switch(n&&(n.stop(),i.setTrack(void 0)),this.trackPublications.delete(e),i.kind){case fp.Kind.Audio:this.audioTrackPublications.delete(e);break;case fp.Kind.Video:this.videoTrackPublications.delete(e)}t&&this.emit(Hh.TrackUnpublished,i)}setAudioOutput(e){return fu(this,void 0,void 0,function*(){this.audioOutput=e;const t=[];this.audioTrackPublications.forEach(i=>{var n;dg(i.track)&&gg(i.track)&&t.push(i.track.setSinkId(null!==(n=e.deviceId)&&void 0!==n?n:"default"))}),yield Promise.all(t)})}emit(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return this.log.trace("participant event",Object.assign(Object.assign({},this.logContext),{event:e,args:i})),super.emit(e,...i)}}(Ym=Zm||(Zm={})).Disconnected="disconnected",Ym.Connecting="connecting",Ym.Connected="connected",Ym.Reconnecting="reconnecting",Ym.SignalReconnecting="signalReconnecting";class Tv extends yu.EventEmitter{constructor(e){var t,i,n,r;if(super(),t=this,this.state=Zm.Disconnected,this.activeSpeakers=[],this.isE2EEEnabled=!1,this.audioEnabled=!0,this.isVideoPlaybackBlocked=!1,this.log=hu,this.bufferedEvents=[],this.isResuming=!1,this.rpcHandlers=new Map,this.connect=(e,t,i)=>fu(this,void 0,void 0,function*(){var n;if("undefined"==typeof RTCPeerConnection||!Op()&&!Dp())throw Vp()?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 r=yield this.disconnectLock.lock();if(this.state===Zm.Connected)return this.log.info("already connected to room ".concat(this.name),this.logContext),r(),Promise.resolve();if(this.connectFuture)return r(),this.connectFuture.promise;this.setAndEmitConnectionState(Zm.Connecting),(null===(n=this.regionUrlProvider)||void 0===n?void 0:n.getServerUrl().toString())!==e&&(this.regionUrl=void 0,this.regionUrlProvider=void 0),qp(new URL(e))&&(void 0===this.regionUrlProvider?this.regionUrlProvider=new nv(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 a=(n,o,s)=>fu(this,void 0,void 0,function*(){var c,l;this.abortController&&this.abortController.abort();const d=new AbortController;this.abortController=d,null==r||r();try{yield this.attemptConnection(null!=s?s:e,t,i,d),this.abortController=void 0,n()}catch(Gb){if(this.regionUrlProvider&&Gb instanceof Yh&&Gb.reason!==Dh.Cancelled&&Gb.reason!==Dh.NotAllowed){let t=null;try{t=yield this.regionUrlProvider.getNextBestRegionUrl(null===(c=this.abortController)||void 0===c?void 0:c.signal)}catch(u){if(u instanceof Yh&&(401===u.status||u.reason===Dh.Cancelled))return this.handleDisconnect(this.options.stopLocalTrackOnUnpublish),void o(u)}t&&!(null===(l=this.abortController)||void 0===l?void 0:l.signal.aborted)?(this.log.info("Initial connection failed with ConnectionError: ".concat(Gb.message,". Retrying with another region: ").concat(t),this.logContext),this.recreateEngine(),yield a(n,o,t)):(this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,og(Gb)),o(Gb))}else{let t=fl.UNKNOWN_REASON;Gb instanceof Yh&&(t=og(Gb)),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,t),o(Gb)}}}),o=this.regionUrl;return this.regionUrl=void 0,this.connectFuture=new ng((e,t)=>{a(e,t,o)},()=>{this.clearConnectionFutures()}),this.connectFuture.promise}),this.connectSignal=(e,t,i,n,r,a)=>fu(this,void 0,void 0,function*(){var o,s,c;const l=yield i.join(e,t,{autoSubscribe:n.autoSubscribe,adaptiveStream:"object"==typeof r.adaptiveStream||r.adaptiveStream,maxRetries:n.maxRetries,e2eeEnabled:!!this.e2eeManager,websocketTimeout:n.websocketTimeout},a.signal);let d=l.serverInfo;if(d||(d={version:l.serverVersion,region:l.serverRegion}),this.serverInfo=d,this.log.debug("connected to Livekit Server ".concat(Object.entries(d).map(e=>{let[t,i]=e;return"".concat(t,": ").concat(i)}).join(", ")),{room:null===(o=l.room)||void 0===o?void 0:o.name,roomSid:null===(s=l.room)||void 0===s?void 0:s.sid,identity:null===(c=l.participant)||void 0===c?void 0:c.identity}),!d.version)throw new tp("unknown server version");return"0.15.1"===d.version&&this.options.dynacast&&(this.log.debug("disabling dynacast due to server version",this.logContext),r.dynacast=!1),l}),this.applyJoinResponse=e=>{const t=e.participant;if(this.localParticipant.sid=t.sid,this.localParticipant.identity=t.identity,this.localParticipant.setEnabledPublishCodecs(e.enabledPublishCodecs),this.options.e2ee&&this.e2eeManager)try{this.e2eeManager.setSifTrailer(e.sifTrailer)}catch(Gb){this.log.error(Gb instanceof Error?Gb.message:"Could not set SifTrailer",Object.assign(Object.assign({},this.logContext),{error:Gb}))}this.handleParticipantUpdates([t,...e.otherParticipants]),e.room&&this.handleRoomUpdate(e.room)},this.attemptConnection=(e,t,i,n)=>fu(this,void 0,void 0,function*(){var r,a;this.state===Zm.Reconnecting||this.isResuming||(null===(r=this.engine)||void 0===r?void 0:r.pendingReconnect)?(this.log.info("Reconnection attempt replaced by new connection attempt",this.logContext),this.recreateEngine()):this.maybeCreateEngine(),(null===(a=this.regionUrlProvider)||void 0===a?void 0:a.isCloud())&&this.engine.setRegionUrlProvider(this.regionUrlProvider),this.acquireAudioContext(),this.connOptions=Object.assign(Object.assign({},hm),i),this.connOptions.rtcConfig&&(this.engine.rtcConfig=this.connOptions.rtcConfig),this.connOptions.peerConnectionTimeout&&(this.engine.peerConnectionTimeout=this.connOptions.peerConnectionTimeout);try{const i=yield this.connectSignal(e,t,this.engine,this.connOptions,this.options,n);this.applyJoinResponse(i),this.setupLocalParticipantEvents(),this.emit(Vh.SignalConnected)}catch(o){yield this.engine.close(),this.recreateEngine();const e=new Yh("could not establish signal connection",Dh.ServerUnreachable);throw o instanceof Error&&(e.message="".concat(e.message,": ").concat(o.message)),o instanceof Yh&&(e.reason=o.reason,e.status=o.status),this.log.debug("error trying to establish signal connection",Object.assign(Object.assign({},this.logContext),{error:o})),e}if(n.signal.aborted)throw yield this.engine.close(),this.recreateEngine(),new Yh("Connection attempt aborted",Dh.Cancelled);try{yield this.engine.waitForPCInitialConnection(this.connOptions.peerConnectionTimeout,n)}catch(Gb){throw yield this.engine.close(),this.recreateEngine(),Gb}Bp()&&this.options.disconnectOnPageLeave&&(window.addEventListener("pagehide",this.onPageLeave),window.addEventListener("beforeunload",this.onPageLeave)),Bp()&&document.addEventListener("freeze",this.onPageLeave),this.setAndEmitConnectionState(Zm.Connected),this.emit(Vh.Connected),this.registerConnectionReconcile()}),this.disconnect=function(){for(var e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];return fu(t,[...i],void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){var i,n,r,a;const o=yield e.disconnectLock.lock();try{if(e.state===Zm.Disconnected)return void e.log.debug("already disconnected",e.logContext);e.log.info("disconnect from room",Object.assign({},e.logContext)),(e.state===Zm.Connecting||e.state===Zm.Reconnecting||e.isResuming)&&(e.log.warn("abort connection attempt",e.logContext),null===(i=e.abortController)||void 0===i||i.abort(),null===(r=null===(n=e.connectFuture)||void 0===n?void 0:n.reject)||void 0===r||r.call(n,new Yh("Client initiated disconnect",Dh.Cancelled)),e.connectFuture=void 0),(null===(a=e.engine)||void 0===a?void 0:a.client.isDisconnected)||(yield e.engine.client.sendLeave()),e.engine&&(yield e.engine.close()),e.handleDisconnect(t,fl.CLIENT_INITIATED),e.engine=void 0}finally{o()}}()})},this.onPageLeave=()=>fu(this,void 0,void 0,function*(){this.log.info("Page leave detected, disconnecting",this.logContext),yield this.disconnect()}),this.startAudio=()=>fu(this,void 0,void 0,function*(){const e=[],t=lp();if(t&&"iOS"===t.os){const t="livekit-dummy-audio-el";let i=document.getElementById(t);if(!i){i=document.createElement("audio"),i.id=t,i.autoplay=!0,i.hidden=!0;const e=ig();e.enabled=!0;const n=new MediaStream([e]);i.srcObject=n,document.addEventListener("visibilitychange",()=>{i&&(i.srcObject=document.hidden?null:n,document.hidden||(this.log.debug("page visible again, triggering startAudio to resume playback and update playback status",this.logContext),this.startAudio()))}),document.body.append(i),this.once(Vh.Disconnected,()=>{null==i||i.remove(),i=null})}e.push(i)}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(i){throw this.handleAudioPlaybackFailed(i),i}}),this.startVideo=()=>fu(this,void 0,void 0,function*(){const e=[];for(const t of this.remoteParticipants.values())t.videoTrackPublications.forEach(t=>{var i;null===(i=t.track)||void 0===i||i.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(Zm.Reconnecting)&&this.emit(Vh.Reconnecting)},this.handleSignalRestarted=e=>fu(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(i){return}this.setAndEmitConnectionState(Zm.Connected),this.emit(Vh.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 i=this.remoteParticipants.get(e.identity);e.state===Tl.DISCONNECTED?this.handleParticipantDisconnected(e.identity,i):i=this.getOrCreateParticipant(e.identity,e)})},this.handleActiveSpeakersUpdate=e=>{const t=[],i={};e.forEach(e=>{if(i[e.sid]=!0,e.sid===this.localParticipant.sid)this.localParticipant.audioLevel=e.level,this.localParticipant.setIsSpeaking(!0),t.push(this.localParticipant);else{const i=this.getRemoteParticipantBySid(e.sid);i&&(i.audioLevel=e.level,i.setIsSpeaking(!0),t.push(i))}}),i[this.localParticipant.sid]||(this.localParticipant.audioLevel=0,this.localParticipant.setIsSpeaking(!1)),this.remoteParticipants.forEach(e=>{i[e.sid]||(e.audioLevel=0,e.setIsSpeaking(!1))}),this.activeSpeakers=t,this.emitWhenConnected(Vh.ActiveSpeakersChanged,t)},this.handleSpeakersChanged=e=>{const t=new Map;this.activeSpeakers.forEach(e=>{const i=this.remoteParticipants.get(e.identity);i&&i.sid!==e.sid||t.set(e.sid,e)}),e.forEach(e=>{let i=this.getRemoteParticipantBySid(e.sid);e.sid===this.localParticipant.sid&&(i=this.localParticipant),i&&(i.audioLevel=e.level,i.setIsSpeaking(e.active),e.active?t.set(e.sid,i):t.delete(e.sid))});const i=Array.from(t.values());i.sort((e,t)=>t.audioLevel-e.audioLevel),this.activeSpeakers=i,this.emitWhenConnected(Vh.ActiveSpeakersChanged,i)},this.handleStreamStateUpdate=e=>{e.streamStates.forEach(e=>{const t=this.getRemoteParticipantBySid(e.participantSid);if(!t)return;const i=t.getTrackPublicationBySid(e.trackSid);if(!i||!i.track)return;const n=fp.streamStateFromProto(e.state);n!==i.track.streamState&&(i.track.streamState=n,t.emit(Hh.TrackStreamStateChanged,i,i.track.streamState),this.emitWhenConnected(Vh.TrackStreamStateChanged,i,i.track.streamState,t))})},this.handleSubscriptionPermissionUpdate=e=>{const t=this.getRemoteParticipantBySid(e.participantSid);if(!t)return;const i=t.getTrackPublicationBySid(e.trackSid);i&&i.setAllowed(e.allowed)},this.handleSubscriptionError=e=>{const t=Array.from(this.remoteParticipants.values()).find(t=>t.trackPublications.has(e.trackSid));if(!t)return;const i=t.getTrackPublicationBySid(e.trackSid);i&&i.setSubscriptionError(e.err)},this.handleDataPacket=e=>{const t=this.remoteParticipants.get(e.participantIdentity);if("user"===e.value.case)this.handleUserPacket(t,e.value.value,e.kind);else if("transcription"===e.value.case)this.handleTranscription(t,e.value.value);else if("sipDtmf"===e.value.case)this.handleSipDtmf(t,e.value.value);else if("chatMessage"===e.value.case)this.handleChatMessage(t,e.value.value);else if("metrics"===e.value.case)this.handleMetrics(e.value.value,t);else if("streamHeader"===e.value.case||"streamChunk"===e.value.case||"streamTrailer"===e.value.case)this.handleDataStream(e);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,i)=>{this.emit(Vh.DataReceived,t.payload,e,i,t.topic),null==e||e.emit(Hh.DataReceived,t.payload,i)},this.handleSipDtmf=(e,t)=>{this.emit(Vh.SipDTMFReceived,t,e),null==e||e.emit(Hh.SipDTMFReceived,t)},this.handleTranscription=(e,t)=>{const i=t.transcribedParticipantIdentity===this.localParticipant.identity?this.localParticipant:this.getParticipantByIdentity(t.transcribedParticipantIdentity),n=null==i?void 0:i.trackPublications.get(t.trackId),r=function(e,t){return e.segments.map(e=>{let{id:i,text:n,language:r,startTime:a,endTime:o,final:s}=e;var c;const l=null!==(c=t.get(i))&&void 0!==c?c:Date.now(),d=Date.now();return s?t.delete(i):t.set(i,l),{id:i,text:n,startTime:Number.parseInt(a.toString()),endTime:Number.parseInt(o.toString()),final:s,language:r,firstReceivedTime:l,lastReceivedTime:d}})}(t,this.transcriptionReceivedTimes);null==n||n.emit(Jh.TranscriptionReceived,r),null==i||i.emit(Hh.TranscriptionReceived,r,n),this.emit(Vh.TranscriptionReceived,r,i,n)},this.handleChatMessage=(e,t)=>{const i=function(e){const{id:t,timestamp:i,message:n,editTimestamp:r}=e;return{id:t,timestamp:Number.parseInt(i.toString()),editTimestamp:r?Number.parseInt(r.toString()):void 0,message:n}}(t);this.emit(Vh.ChatMessage,i,e)},this.handleMetrics=(e,t)=>{this.emit(Vh.MetricsReceived,e,t)},this.handleDataStream=e=>{this.incomingDataStreamManager.handleDataStreamPacket(e)},this.bufferedSegments=new Map,this.handleAudioPlaybackStarted=()=>{this.canPlaybackAudio||(this.audioEnabled=!0,this.emit(Vh.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(Vh.AudioPlaybackStatusChanged,!1))},this.handleVideoPlaybackStarted=()=>{this.isVideoPlaybackBlocked&&(this.isVideoPlaybackBlocked=!1,this.emit(Vh.VideoPlaybackStatusChanged,!0))},this.handleVideoPlaybackFailed=()=>{this.isVideoPlaybackBlocked||(this.isVideoPlaybackBlocked=!0,this.emit(Vh.VideoPlaybackStatusChanged,!1))},this.handleDeviceChange=()=>fu(this,void 0,void 0,function*(){var e;"iOS"!==(null===(e=lp())||void 0===e?void 0:e.os)&&(yield this.selectDefaultDevices()),this.emit(Vh.MediaDevicesChanged)}),this.handleRoomUpdate=e=>{const t=this.roomInfo;this.roomInfo=e,t&&t.metadata!==e.metadata&&this.emitWhenConnected(Vh.RoomMetadataChanged,e.metadata),(null==t?void 0:t.activeRecording)!==e.activeRecording&&this.emitWhenConnected(Vh.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(Vh.ParticipantMetadataChanged,e,this.localParticipant)},this.onLocalParticipantNameChanged=e=>{this.emit(Vh.ParticipantNameChanged,e,this.localParticipant)},this.onLocalAttributesChanged=e=>{this.emit(Vh.ParticipantAttributesChanged,e,this.localParticipant)},this.onLocalTrackMuted=e=>{this.emit(Vh.TrackMuted,e,this.localParticipant)},this.onLocalTrackUnmuted=e=>{this.emit(Vh.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=>fu(this,void 0,void 0,function*(){var t,i,n,r,a,o;null===(t=e.track)||void 0===t||t.on(Jh.TrackProcessorUpdate,this.onTrackProcessorUpdate),null===(i=e.track)||void 0===i||i.on(Jh.Restarted,this.onLocalTrackRestarted),null===(a=null===(r=null===(n=e.track)||void 0===n?void 0:n.getProcessor())||void 0===r?void 0:r.onPublish)||void 0===a||a.call(r,this),this.emit(Vh.LocalTrackPublished,e,this.localParticipant),pg(e.track)&&(yield e.track.checkForSilence())&&this.emit(Vh.LocalAudioSilenceDetected,e);const s=yield null===(o=e.track)||void 0===o?void 0:o.getDeviceId(!1),c=xg(e.source);c&&s&&s!==this.localParticipant.activeDeviceMap.get(c)&&(this.localParticipant.activeDeviceMap.set(c,s),this.emit(Vh.ActiveDeviceChanged,c,s))}),this.onLocalTrackUnpublished=e=>{var t,i;null===(t=e.track)||void 0===t||t.off(Jh.TrackProcessorUpdate,this.onTrackProcessorUpdate),null===(i=e.track)||void 0===i||i.off(Jh.Restarted,this.onLocalTrackRestarted),this.emit(Vh.LocalTrackUnpublished,e,this.localParticipant)},this.onLocalTrackRestarted=e=>fu(this,void 0,void 0,function*(){const t=yield e.getDeviceId(!1),i=xg(e.source);i&&t&&t!==this.localParticipant.activeDeviceMap.get(i)&&(this.log.debug("local track restarted, setting ".concat(i," ").concat(t," active"),this.logContext),this.localParticipant.activeDeviceMap.set(i,t),this.emit(Vh.ActiveDeviceChanged,i,t))}),this.onLocalConnectionQualityChanged=e=>{this.emit(Vh.ConnectionQualityChanged,e,this.localParticipant)},this.onMediaDevicesError=(e,t)=>{this.emit(Vh.MediaDevicesError,e,t)},this.onLocalParticipantPermissionsChanged=e=>{this.emit(Vh.ParticipantPermissionsChanged,e,this.localParticipant)},this.onLocalChatMessageSent=e=>{this.emit(Vh.ChatMessage,e,this.localParticipant)},this.setMaxListeners(100),this.remoteParticipants=new Map,this.sidToIdentity=new Map,this.options=Object.assign(Object.assign({},um),e),this.log=pu(null!==(i=this.options.loggerName)&&void 0!==i?i:cu.Room),this.transcriptionReceivedTimes=new Map,this.options.audioCaptureDefaults=Object.assign(Object.assign({},lm),null==e?void 0:e.audioCaptureDefaults),this.options.videoCaptureDefaults=Object.assign(Object.assign({},dm),null==e?void 0:e.videoCaptureDefaults),this.options.publishDefaults=Object.assign(Object.assign({},cm),null==e?void 0:e.publishDefaults),this.maybeCreateEngine(),this.incomingDataStreamManager=new sv,this.outgoingDataStreamManager=new uv(this.engine,this.log),this.disconnectLock=new Is,this.localParticipant=new xv("","",this.engine,this.options,this.rpcHandlers,this.outgoingDataStreamManager),this.options.videoCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("videoinput",rg(this.options.videoCaptureDefaults.deviceId)),this.options.audioCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("audioinput",rg(this.options.audioCaptureDefaults.deviceId)),(null===(n=this.options.audioOutput)||void 0===n?void 0:n.deviceId)&&this.switchActiveDevice("audiooutput",rg(this.options.audioOutput.deviceId)).catch(e=>this.log.warn("Could not set audio output: ".concat(e.message),this.logContext)),this.options.e2ee&&this.setupE2EE(),Bp()){const e=new AbortController;null===(r=navigator.mediaDevices)||void 0===r||r.addEventListener("devicechange",this.handleDeviceChange,{signal:e.signal}),Tv.cleanupRegistry&&Tv.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 fu(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;this.options.e2ee&&("e2eeManager"in this.options.e2ee?this.e2eeManager=this.options.e2ee.e2eeManager:this.e2eeManager=new Mg(this.options.e2ee),this.e2eeManager.on(Rh.ParticipantEncryptionStatusChanged,(e,t)=>{t.isLocal&&(this.isE2EEEnabled=e),this.emit(Vh.ParticipantEncryptionStatusChanged,e,t)}),this.e2eeManager.on(Rh.EncryptionError,e=>this.emit(Vh.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 fu(this,void 0,void 0,function*(){return this.state===Zm.Disconnected?"":this.roomInfo&&""!==this.roomInfo.sid?this.roomInfo.sid:new Promise((e,t)=>{const i=t=>{""!==t.sid&&(this.engine.off(Wh.RoomUpdate,i),e(t.sid))};this.engine.on(Wh.RoomUpdate,i),this.once(Vh.Disconnected,()=>{this.engine.off(Wh.RoomUpdate,i),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 tv(this.options),this.engine.on(Wh.ParticipantUpdate,this.handleParticipantUpdates).on(Wh.RoomUpdate,this.handleRoomUpdate).on(Wh.SpeakersChanged,this.handleSpeakersChanged).on(Wh.StreamStateChanged,this.handleStreamStateUpdate).on(Wh.ConnectionQualityUpdate,this.handleConnectionQualityUpdate).on(Wh.SubscriptionError,this.handleSubscriptionError).on(Wh.SubscriptionPermissionUpdate,this.handleSubscriptionPermissionUpdate).on(Wh.MediaTrackAdded,(e,t,i)=>{this.onTrackAdded(e,t,i)}).on(Wh.Disconnected,e=>{this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,e)}).on(Wh.ActiveSpeakersUpdate,this.handleActiveSpeakersUpdate).on(Wh.DataPacketReceived,this.handleDataPacket).on(Wh.Resuming,()=>{this.clearConnectionReconcile(),this.isResuming=!0,this.log.info("Resuming signal connection",this.logContext),this.setAndEmitConnectionState(Zm.SignalReconnecting)&&this.emit(Vh.SignalReconnecting)}).on(Wh.Resumed,()=>{this.registerConnectionReconcile(),this.isResuming=!1,this.log.info("Resumed signal connection",this.logContext),this.updateSubscriptions(),this.emitBufferedEvents(),this.setAndEmitConnectionState(Zm.Connected)&&this.emit(Vh.Reconnected)}).on(Wh.SignalResumed,()=>{this.bufferedEvents=[],(this.state===Zm.Reconnecting||this.isResuming)&&this.sendSyncState()}).on(Wh.Restarting,this.handleRestarting).on(Wh.SignalRestarted,this.handleSignalRestarted).on(Wh.Offline,()=>{this.setAndEmitConnectionState(Zm.Reconnecting)&&this.emit(Vh.Reconnecting)}).on(Wh.DCBufferStatusChanged,(e,t)=>{this.emit(Vh.DCBufferStatusChanged,e,t)}).on(Wh.LocalTrackSubscribed,e=>{const t=this.localParticipant.getTrackPublications().find(t=>{let{trackSid:i}=t;return i===e});t?(this.localParticipant.emit(Hh.LocalTrackSubscribed,t),this.emitWhenConnected(Vh.LocalTrackSubscribed,t,this.localParticipant)):this.log.warn("could not find local track subscription for subscribed event",this.logContext)}).on(Wh.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(Vh.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 Ig.getInstance().getDevices(e,t)}prepareConnection(e,t){return fu(this,void 0,void 0,function*(){if(this.state===Zm.Disconnected){this.log.debug("prepareConnection to ".concat(e),this.logContext);try{if(qp(new URL(e))&&t){this.regionUrlProvider=new nv(e,t);const i=yield this.regionUrlProvider.getNextBestRegionUrl();i&&this.state===Zm.Disconnected&&(this.regionUrl=i,yield fetch(ag(i),{method:"HEAD"}),this.log.debug("prepared connection to ".concat(i),this.logContext))}else yield fetch(ag(e),{method:"HEAD"})}catch(Gb){this.log.warn("could not prepare connection",Object.assign(Object.assign({},this.logContext),{error:Gb}))}}})}getParticipantByIdentity(e){return this.localParticipant.identity===e?this.localParticipant:this.remoteParticipants.get(e)}clearConnectionFutures(){this.connectFuture=void 0}simulateScenario(e,t){return fu(this,void 0,void 0,function*(){let i,n=()=>{};switch(e){case"signal-reconnect":yield this.engine.client.handleOnClose("simulate disconnect");break;case"speaker":i=new Wd({scenario:{case:"speakerUpdate",value:3}});break;case"node-failure":i=new Wd({scenario:{case:"nodeFailure",value:!0}});break;case"server-leave":i=new Wd({scenario:{case:"serverLeave",value:!0}});break;case"migration":i=new Wd({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":n=()=>fu(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),i=new Wd({scenario:{case:"disconnectSignalOnResume",value:!0}});break;case"disconnect-signal-on-resume-no-messages":n=()=>fu(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),i=new Wd({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":i=new Wd({scenario:{case:"switchCandidateProtocol",value:"force-tls"===e?2:1}}),n=()=>fu(this,void 0,void 0,function*(){const e=this.engine.client.onLeave;e&&e(new Td({reason:fl.CLIENT_INITIATED,action:Ed.RECONNECT}))});break;case"subscriber-bandwidth":if(void 0===t||"number"!=typeof t)throw new Error("subscriber-bandwidth requires a number as argument");i=new Wd({scenario:{case:"subscriberBandwidth",value:cg(t)}});break;case"leave-full-reconnect":i=new Wd({scenario:{case:"leaveRequestFullReconnect",value:!0}})}i&&(yield this.engine.client.sendSimulateScenario(i),yield n())})}get canPlaybackAudio(){return this.audioEnabled}get canPlaybackVideo(){return!this.isVideoPlaybackBlocked}getActiveDevice(e){return this.localParticipant.activeDeviceMap.get(e)}switchActiveDevice(e,t){return fu(this,arguments,void 0,function(e,t){var i=this;let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function*(){var r,a,o,s,c,l,d;let u=!0,h=!1;const p=n?{exact:t}:t;if("audioinput"===e){h=0===i.localParticipant.audioTrackPublications.size;const t=null!==(r=i.getActiveDevice(e))&&void 0!==r?r:i.options.audioCaptureDefaults.deviceId;i.options.audioCaptureDefaults.deviceId=p;const n=Array.from(i.localParticipant.audioTrackPublications.values()).filter(e=>e.source===fp.Source.Microphone);try{u=(yield Promise.all(n.map(e=>{var t;return null===(t=e.audioTrack)||void 0===t?void 0:t.setDeviceId(p)}))).every(e=>!0===e)}catch(Gb){throw i.options.audioCaptureDefaults.deviceId=t,Gb}const a=n.some(e=>{var t,i;return null!==(i=null===(t=e.track)||void 0===t?void 0:t.isMuted)&&void 0!==i&&i});u&&a&&(h=!0)}else if("videoinput"===e){h=0===i.localParticipant.videoTrackPublications.size;const t=null!==(a=i.getActiveDevice(e))&&void 0!==a?a:i.options.videoCaptureDefaults.deviceId;i.options.videoCaptureDefaults.deviceId=p;const n=Array.from(i.localParticipant.videoTrackPublications.values()).filter(e=>e.source===fp.Source.Camera);try{u=(yield Promise.all(n.map(e=>{var t;return null===(t=e.videoTrack)||void 0===t?void 0:t.setDeviceId(p)}))).every(e=>!0===e)}catch(Gb){throw i.options.videoCaptureDefaults.deviceId=t,Gb}const r=n.some(e=>{var t,i;return null!==(i=null===(t=e.track)||void 0===t?void 0:t.isMuted)&&void 0!==i&&i});u&&r&&(h=!0)}else if("audiooutput"===e){if(h=!0,!Np()&&!i.options.webAudioMix||i.options.webAudioMix&&i.audioContext&&!("setSinkId"in i.audioContext))throw new Error("cannot switch audio output, the current browser does not support it");i.options.webAudioMix&&(t=null!==(o=yield Ig.getInstance().normalizeDeviceId("audiooutput",t))&&void 0!==o?o:""),null!==(s=(d=i.options).audioOutput)&&void 0!==s||(d.audioOutput={});const n=null!==(c=i.getActiveDevice(e))&&void 0!==c?c:i.options.audioOutput.deviceId;i.options.audioOutput.deviceId=t;try{i.options.webAudioMix&&(null===(l=i.audioContext)||void 0===l||l.setSinkId(t)),yield Promise.all(Array.from(i.remoteParticipants.values()).map(e=>e.setAudioOutput({deviceId:t})))}catch(Gb){throw i.options.audioOutput.deviceId=n,Gb}}return h&&(i.localParticipant.activeDeviceMap.set(e,t),i.emit(Vh.ActiveDeviceChanged,e,t)),u}()})}setupLocalParticipantEvents(){this.localParticipant.on(Hh.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).on(Hh.ParticipantNameChanged,this.onLocalParticipantNameChanged).on(Hh.AttributesChanged,this.onLocalAttributesChanged).on(Hh.TrackMuted,this.onLocalTrackMuted).on(Hh.TrackUnmuted,this.onLocalTrackUnmuted).on(Hh.LocalTrackPublished,this.onLocalTrackPublished).on(Hh.LocalTrackUnpublished,this.onLocalTrackUnpublished).on(Hh.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).on(Hh.MediaDevicesError,this.onMediaDevicesError).on(Hh.AudioStreamAcquired,this.startAudio).on(Hh.ChatMessage,this.onLocalChatMessageSent).on(Hh.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,i){if(this.state===Zm.Connecting||this.state===Zm.Reconnecting){const n=()=>{this.onTrackAdded(e,t,i),r()},r=()=>{this.off(Vh.Reconnected,n),this.off(Vh.Connected,n),this.off(Vh.Disconnected,r)};return this.once(Vh.Reconnected,n),this.once(Vh.Connected,n),void this.once(Vh.Disconnected,r)}if(this.state===Zm.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 n=function(e){const t=e.split("|");return t.length>1?[t[0],e.substr(t[0].length+1)]:[e,""]}(t.id),r=n[0];let a=n[1],o=e.id;if(a&&a.startsWith("TR")&&(o=a),r===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===r);if(!s)return void this.log.error("Tried to add a track for a participant, that's not present. Sid: ".concat(r),this.logContext);let c;this.options.adaptiveStream&&(c="object"==typeof this.options.adaptiveStream?this.options.adaptiveStream:{}),s.addSubscribedMediaTrack(e,o,t,i,c)}handleDisconnect(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1?arguments[1]:void 0;var i;if(this.clearConnectionReconcile(),this.isResuming=!1,this.bufferedEvents=[],this.transcriptionReceivedTimes.clear(),this.incomingDataStreamManager.clearHandlersAndControllers(),this.state!==Zm.Disconnected){this.regionUrl=void 0;try{this.remoteParticipants.forEach(e=>{e.trackPublications.forEach(t=>{e.unpublishTrack(t.trackSid)})}),this.localParticipant.trackPublications.forEach(t=>{var i,n,r;t.track&&this.localParticipant.unpublishTrack(t.track,e),e?(null===(i=t.track)||void 0===i||i.detach(),null===(n=t.track)||void 0===n||n.stop()):null===(r=t.track)||void 0===r||r.stopMonitor()}),this.localParticipant.off(Hh.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).off(Hh.ParticipantNameChanged,this.onLocalParticipantNameChanged).off(Hh.AttributesChanged,this.onLocalAttributesChanged).off(Hh.TrackMuted,this.onLocalTrackMuted).off(Hh.TrackUnmuted,this.onLocalTrackUnmuted).off(Hh.LocalTrackPublished,this.onLocalTrackPublished).off(Hh.LocalTrackUnpublished,this.onLocalTrackUnpublished).off(Hh.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).off(Hh.MediaDevicesError,this.onMediaDevicesError).off(Hh.AudioStreamAcquired,this.startAudio).off(Hh.ChatMessage,this.onLocalChatMessageSent).off(Hh.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),Bp()&&(window.removeEventListener("beforeunload",this.onPageLeave),window.removeEventListener("pagehide",this.onPageLeave),window.removeEventListener("freeze",this.onPageLeave),null===(i=navigator.mediaDevices)||void 0===i||i.removeEventListener("devicechange",this.handleDeviceChange))}finally{this.setAndEmitConnectionState(Zm.Disconnected),this.emit(Vh.Disconnected,t)}}}handleParticipantDisconnected(e,t){var i;this.remoteParticipants.delete(e),t&&(this.incomingDataStreamManager.validateParticipantHasNoActiveDataStreams(e),t.trackPublications.forEach(e=>{t.unpublishTrack(e.trackSid,!0)}),this.emit(Vh.ParticipantDisconnected,t),t.setDisconnected(),null===(i=this.localParticipant)||void 0===i||i.handleParticipantDisconnected(t.identity))}handleIncomingRpcRequest(e,t,i,n,r,a){return fu(this,void 0,void 0,function*(){if(yield this.engine.publishRpcAck(e,t),1!==a)return void(yield this.engine.publishRpcResponse(e,t,null,vm.builtIn("UNSUPPORTED_VERSION")));const o=this.rpcHandlers.get(i);if(!o)return void(yield this.engine.publishRpcResponse(e,t,null,vm.builtIn("UNSUPPORTED_METHOD")));let s=null,c=null;try{const i=yield o({requestId:t,callerIdentity:e,payload:n,responseTimeout:r});fm(i)>15360?s=vm.builtIn("RESPONSE_PAYLOAD_TOO_LARGE"):c=i}catch(l){s=l instanceof vm?l:vm.builtIn("APPLICATION_ERROR")}yield this.engine.publishRpcResponse(e,t,c,s)})}selectDefaultDevices(){return fu(this,void 0,void 0,function*(){var e,t,i;const n=Ig.getInstance().previousDevices,r=yield Ig.getInstance().getDevices(void 0,!1),a=lp();if("Chrome"===(null==a?void 0:a.name)&&"iOS"!==a.os)for(let s of r){const e=n.find(e=>e.deviceId===s.deviceId);e&&""!==e.label&&e.kind===s.kind&&e.label!==s.label&&"default"===this.getActiveDevice(s.kind)&&this.emit(Vh.ActiveDeviceChanged,s.kind,s.deviceId)}const o=["audiooutput","audioinput","videoinput"];for(let s of o){const a=yg(s),o=this.localParticipant.getTrackPublication(a);if(o&&(null===(e=o.track)||void 0===e?void 0:e.isUserProvided))continue;const c=r.filter(e=>e.kind===s),l=this.getActiveDevice(s);l===(null===(t=n.filter(e=>e.kind===s)[0])||void 0===t?void 0:t.deviceId)&&c.length>0&&(null===(i=c[0])||void 0===i?void 0:i.deviceId)!==l?yield this.switchActiveDevice(s,c[0].deviceId):"audioinput"===s&&!Up()||"videoinput"===s||!(c.length>0)||c.find(e=>e.deviceId===this.getActiveDevice(s))||"audiooutput"===s&&Up()||(yield this.switchActiveDevice(s,c[0].deviceId))}})}acquireAudioContext(){return fu(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=wg())&&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(),Ap(200)])}catch(Gb){this.log.warn("Could not resume audio context",Object.assign(Object.assign({},this.logContext),{error:Gb}))}const i="running"===(null===(t=this.audioContext)||void 0===t?void 0:t.state);i!==this.canPlaybackAudio&&(this.audioEnabled=i,this.emit(Vh.AudioPlaybackStatusChanged,i))})}createParticipant(e,t){var i;let n;return n=t?Sv.fromParticipantInfo(this.engine.client,t,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}):new Sv(this.engine.client,"",e,void 0,void 0,void 0,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}),this.options.webAudioMix&&n.setAudioContext(this.audioContext),(null===(i=this.options.audioOutput)||void 0===i?void 0:i.deviceId)&&n.setAudioOutput(this.options.audioOutput).catch(e=>this.log.warn("Could not set audio output: ".concat(e.message),this.logContext)),n}getOrCreateParticipant(e,t){if(this.remoteParticipants.has(e)){const i=this.remoteParticipants.get(e);return t&&i.updateInfo(t)&&this.sidToIdentity.set(t.sid,t.identity),i}const i=this.createParticipant(e,t);return this.remoteParticipants.set(e,i),this.sidToIdentity.set(t.sid,t.identity),this.emitWhenConnected(Vh.ParticipantConnected,i),i.on(Hh.TrackPublished,e=>{this.emitWhenConnected(Vh.TrackPublished,e,i)}).on(Hh.TrackSubscribed,(e,t)=>{e.kind===fp.Kind.Audio?(e.on(Jh.AudioPlaybackStarted,this.handleAudioPlaybackStarted),e.on(Jh.AudioPlaybackFailed,this.handleAudioPlaybackFailed)):e.kind===fp.Kind.Video&&(e.on(Jh.VideoPlaybackFailed,this.handleVideoPlaybackFailed),e.on(Jh.VideoPlaybackStarted,this.handleVideoPlaybackStarted)),this.emit(Vh.TrackSubscribed,e,t,i)}).on(Hh.TrackUnpublished,e=>{this.emit(Vh.TrackUnpublished,e,i)}).on(Hh.TrackUnsubscribed,(e,t)=>{this.emit(Vh.TrackUnsubscribed,e,t,i)}).on(Hh.TrackMuted,e=>{this.emitWhenConnected(Vh.TrackMuted,e,i)}).on(Hh.TrackUnmuted,e=>{this.emitWhenConnected(Vh.TrackUnmuted,e,i)}).on(Hh.ParticipantMetadataChanged,e=>{this.emitWhenConnected(Vh.ParticipantMetadataChanged,e,i)}).on(Hh.ParticipantNameChanged,e=>{this.emitWhenConnected(Vh.ParticipantNameChanged,e,i)}).on(Hh.AttributesChanged,e=>{this.emitWhenConnected(Vh.ParticipantAttributesChanged,e,i)}).on(Hh.ConnectionQualityChanged,e=>{this.emitWhenConnected(Vh.ConnectionQualityChanged,e,i)}).on(Hh.ParticipantPermissionsChanged,e=>{this.emitWhenConnected(Vh.ParticipantPermissionsChanged,e,i)}).on(Hh.TrackSubscriptionStatusChanged,(e,t)=>{this.emitWhenConnected(Vh.TrackSubscriptionStatusChanged,e,t,i)}).on(Hh.TrackSubscriptionFailed,(e,t)=>{this.emit(Vh.TrackSubscriptionFailed,e,i,t)}).on(Hh.TrackSubscriptionPermissionChanged,(e,t)=>{this.emitWhenConnected(Vh.TrackSubscriptionPermissionChanged,e,t,i)}).on(Hh.Active,()=>{this.emitWhenConnected(Vh.ParticipantActive,i),i.kind===El.AGENT&&this.localParticipant.setActiveAgent(i)}),t&&i.updateInfo(t),i}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&&mg(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=pp.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,fl.STATE_MISMATCH)))},4e3)}clearConnectionReconcile(){this.connectionReconcileInterval&&pp.clearInterval(this.connectionReconcileInterval)}setAndEmitConnectionState(e){return e!==this.state&&(this.state=e,this.emit(Vh.ConnectionStateChanged,this.state),!0)}emitBufferedEvents(){this.bufferedEvents.forEach(e=>{let[t,i]=e;this.emit(t,...i)}),this.bufferedEvents=[]}emitWhenConnected(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];if(this.state===Zm.Reconnecting||this.isResuming||!this.engine||this.engine.pendingReconnect)this.bufferedEvents.push([e,i]);else if(this.state===Zm.Connected)return this.emit(e,...i);return!1}simulateParticipants(e){return fu(this,void 0,void 0,function*(){var t,i;const n=Object.assign({audio:!0,video:!0,useRealTracks:!1},e.publish),r=Object.assign({count:9,audio:!1,video:!0,aspectRatios:[1.66,1.7,1.3]},e.participants);if(this.handleDisconnect(),this.roomInfo=new yl({sid:"RM_SIMULATED",name:"simulated-room",emptyTimeout:0,maxParticipants:0,creationTime:Qs.parse((new Date).getTime()),metadata:"",numParticipants:1,numPublishers:1,turnPassword:"",enabledCodecs:[],activeRecording:!1}),this.localParticipant.updateInfo(new Sl({identity:"simulated-local",name:"local-name"})),this.setupLocalParticipantEvents(),this.emit(Vh.SignalConnected),this.emit(Vh.Connected),this.setAndEmitConnectionState(Zm.Connected),n.video){const e=new kv(fp.Kind.Video,new Il({source:pl.CAMERA,sid:Math.floor(1e4*Math.random()).toString(),type:hl.AUDIO,name:"video-dummy"}),new jm(n.useRealTracks?(yield window.navigator.mediaDevices.getUserMedia({video:!0})).getVideoTracks()[0]:eg(160*(null!==(t=r.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(Hh.LocalTrackPublished,e)}if(n.audio){const e=new kv(fp.Kind.Audio,new Il({source:pl.MICROPHONE,sid:Math.floor(1e4*Math.random()).toString(),type:hl.AUDIO}),new Tm(n.useRealTracks?(yield navigator.mediaDevices.getUserMedia({audio:!0})).getAudioTracks()[0]:ig(),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(Hh.LocalTrackPublished,e)}for(let e=0;e<r.count-1;e+=1){let t=new Sl({sid:Math.floor(1e4*Math.random()).toString(),identity:"simulated-".concat(e),state:Tl.ACTIVE,tracks:[],joinedAt:Qs.parse(Date.now())});const n=this.getOrCreateParticipant(t.identity,t);if(r.video){const a=eg(160*(null!==(i=r.aspectRatios[e%r.aspectRatios.length])&&void 0!==i?i:1),160,!1,!0),o=new Il({source:pl.CAMERA,sid:Math.floor(1e4*Math.random()).toString(),type:hl.AUDIO});n.addSubscribedMediaTrack(a,o.sid,new MediaStream([a]),new RTCRtpReceiver),t.tracks=[...t.tracks,o]}if(r.audio){const e=ig(),i=new Il({source:pl.MICROPHONE,sid:Math.floor(1e4*Math.random()).toString(),type:hl.AUDIO});n.addSubscribedMediaTrack(e,i.sid,new MediaStream([e]),new RTCRtpReceiver),t.tracks=[...t.tracks,i]}n.updateInfo(t)}})}emit(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];if(e!==Vh.ActiveSpeakersChanged&&e!==Vh.TranscriptionReceived){const t=Ev(i).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,...i)}}function Ev(e){return e.map(e=>{if(e)return Array.isArray(e)?Ev(e):"object"==typeof e?"logContext"in e?e.logContext:void 0:e})}function Pv(){return Pv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)({}).hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},Pv.apply(null,arguments)}Tv.cleanupRegistry="undefined"!=typeof FinalizationRegistry&&new FinalizationRegistry(e=>{e()}),(ev=Xm||(Xm={}))[ev.IDLE=0]="IDLE",ev[ev.RUNNING=1]="RUNNING",ev[ev.SKIPPED=2]="SKIPPED",ev[ev.SUCCESS=3]="SUCCESS",ev[ev.FAILED=4]="FAILED",yu.EventEmitter,yu.EventEmitter;const Mv=new Uint8Array(0);class _v{static getFullOptions(e){return Pv({clientTools:{},onConnect:()=>{},onDebug:()=>{},onDisconnect:()=>{},onError:()=>{},onMessage:()=>{},onAudio:()=>{},onModeChange:()=>{},onStatusChange:()=>{},onCanSendFeedbackChange:()=>{}},e)}constructor(e,t){var i=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=1,this.canSendFeedback=!1,this.endSessionWithDetails=async function(e){"connected"!==i.status&&"connecting"!==i.status||(i.updateStatus("disconnecting"),await i.handleEndSession(),i.updateStatus("disconnected"),i.options.onDisconnect(e))},this.onMessage=async function(e){switch(e.type){case"interruption":return void i.handleInterruption(e);case"agent_response":return void i.handleAgentResponse(e);case"user_transcript":return void i.handleUserTranscript(e);case"internal_tentative_agent_response":return void i.handleTentativeAgentResponse(e);case"client_tool_call":return void(await i.handleClientToolCall(e));case"audio":return void i.handleAudio(e);case"ping":return void i.connection.sendMessage({type:"pong",event_id:e.ping_event.event_id});default:return void i.options.onDebug(e)}},this.setVolume=({volume:e})=>{this.volume=e},this.options=e,this.connection=t,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({mode:e}))}updateStatus(e){e!==this.status&&(this.status=e,this.options.onStatusChange({status:e}))}updateCanSendFeedback(){const e=this.currentEventId!==this.lastFeedbackEventId;this.canSendFeedback!==e&&(this.canSendFeedback=e,this.options.onCanSendFeedbackChange({canSendFeedback:e}))}handleInterruption(e){e.interruption_event&&(this.lastInterruptTimestamp=e.interruption_event.event_id)}handleAgentResponse(e){this.options.onMessage({source:"ai",message:e.agent_response_event.agent_response})}handleUserTranscript(e){this.options.onMessage({source:"user",message:e.user_transcription_event.user_transcript})}handleTentativeAgentResponse(e){this.options.onDebug({type:"tentative_agent_response",response:e.tentative_agent_response_internal_event.tentative_agent_response})}async handleClientToolCall(e){if(Object.prototype.hasOwnProperty.call(this.options.clientTools,e.client_tool_call.tool_name))try{var t;const i=null!=(t=await this.options.clientTools[e.client_tool_call.tool_name](e.client_tool_call.parameters))?t:"Client tool execution successful.",n="object"==typeof i?JSON.stringify(i):String(i);this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:n,is_error:!1})}catch(i){this.onError(`Client tool execution failed with following error: ${null==i?void 0:i.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==i?void 0:i.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){}onError(e,t){this.options.onError(e,t)}getId(){return this.connection.conversationId}isOpen(){return"connected"===this.status}setMicMuted(e){this.connection.setMicMuted(e)}getInputByteFrequencyData(){return Mv}getOutputByteFrequencyData(){return Mv}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})}}class Iv{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 Rv(e){const[t,i]=e.split("_");if(!["pcm","ulaw"].includes(t))throw new Error(`Invalid format: ${e}`);const n=Number.parseInt(i);if(Number.isNaN(n))throw new Error(`Invalid sample rate: ${i}`);return{format:t,sampleRate:n}}const Av="0.4.4";function Ov(e){return!!e.type}const Dv="conversation_initiation_client_data";function Lv(e){var t;const i={type:Dv};var n,r,a,o,s;return e.overrides&&(i.conversation_config_override={agent:{prompt:null==(n=e.overrides.agent)?void 0:n.prompt,first_message:null==(r=e.overrides.agent)?void 0:r.firstMessage,language:null==(a=e.overrides.agent)?void 0:a.language},tts:{voice_id:null==(o=e.overrides.tts)?void 0:o.voiceId},conversation:{text_only:null==(s=e.overrides.conversation)?void 0:s.textOnly}}),e.customLlmExtraBody&&(i.custom_llm_extra_body=e.customLlmExtraBody),e.dynamicVariables&&(i.dynamic_variables=e.dynamicVariables),e.userId&&(i.user_id=e.userId),null!=(t=e.overrides)&&t.client&&(i.source_info={source:e.overrides.client.source,version:e.overrides.client.version}),i}class Nv extends Iv{constructor(e,t,i,n){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=i,this.outputFormat=n,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(!Ov(t))return;this.handleMessage(t)}catch(t){}})}static async create(e){let t=null;try{var i,n,r;const a=null!=(i=e.origin)?i:"wss://api.elevenlabs.io";let o;const s=(null==(n=e.overrides)||null==(n=n.client)?void 0:n.version)||Av,c=(null==(r=e.overrides)||null==(r=r.client)?void 0:r.source)||"js_sdk";if(e.signedUrl){const t=e.signedUrl.includes("?")?"&":"?";o=`${e.signedUrl}${t}source=${c}&version=${s}`}else o=`${a}/v1/convai/conversation?agent_id=${e.agentId}&source=${c}&version=${s}`;const l=["convai"];e.authorization&&l.push(`bearer.${e.authorization}`),t=new WebSocket(o,l);const d=await new Promise((i,n)=>{t.addEventListener("open",()=>{var i;const n=Lv(e);null==(i=t)||i.send(JSON.stringify(n))},{once:!0}),t.addEventListener("error",e=>{setTimeout(()=>n(e),0)}),t.addEventListener("close",n),t.addEventListener("message",e=>{const t=JSON.parse(e.data);Ov(t)&&"conversation_initiation_metadata"===t.type&&i(t.conversation_initiation_metadata_event)},{once:!0})}),{conversation_id:u,agent_output_audio_format:h,user_input_audio_format:p}=d,g=Rv(null!=p?p:"pcm_16000"),m=Rv(h);return new Nv(t,u,g,m)}catch(o){var a;throw null==(a=t)||a.close(),o}}close(){this.socket.close()}sendMessage(e){this.socket.send(JSON.stringify(e))}async setMicMuted(e){}}class jv extends Iv{constructor(e,t,i,n,r={}){super(r),this.conversationId=void 0,this.inputFormat=void 0,this.outputFormat=void 0,this.room=void 0,this.isConnected=!1,this.room=e,this.conversationId=t,this.inputFormat=i,this.outputFormat=n,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 i,n,r;const o=(null==(i=e.overrides)||null==(i=i.client)?void 0:i.version)||Av,s=(null==(n=e.overrides)||null==(n=n.client)?void 0:n.source)||"js_sdk",c=`${a=null!=(r=e.origin)?r:"https://api.elevenlabs.io",a.replace(/^wss:\/\//,"https://")}/v1/convai/conversation/token?agent_id=${e.agentId}&source=${s}&version=${o}`,l=await fetch(c);if(!l.ok)throw new Error(`ElevenLabs API returned ${l.status} ${l.statusText}`);if(t=(await l.json()).token,!t)throw new Error("No conversation token received from API")}catch(Gb){let i=Gb instanceof Error?Gb.message:String(Gb);throw Gb instanceof Error&&Gb.message.includes("401")&&(i="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}: ${i}`)}}var a;const o=new Tv;try{const i=`webrtc-${Date.now()}`,n=Rv("pcm_48000"),r=Rv("pcm_48000"),a=new jv(o,i,n,r,e),s=e.livekitUrl||"wss://livekit.rtc.elevenlabs.io";await o.connect(s,t),await new Promise(e=>{if(a.isConnected)e();else{const t=()=>{o.off(Vh.Connected,t),e()};o.on(Vh.Connected,t)}}),o.name&&(a.conversationId=o.name),await o.localParticipant.setMicrophoneEnabled(!0);const c=Lv(e);return a.debug({type:Dv,message:c}),await a.sendMessage(c),a}catch(Gb){throw await o.disconnect(),Gb}}setupRoomEventListeners(){var e=this;this.room.on(Vh.Connected,async function(){e.isConnected=!0}),this.room.on(Vh.Disconnected,e=>{this.isConnected=!1,this.disconnect({reason:"agent",context:new CloseEvent("close",{reason:null==e?void 0:e.toString()})})}),this.room.on(Vh.ConnectionStateChanged,e=>{e===Zm.Disconnected&&(this.isConnected=!1,this.disconnect({reason:"error",message:`LiveKit connection state changed to ${e}`,context:new Event("connection_state_changed")}))}),this.room.on(Vh.DataReceived,(e,t)=>{try{const t=JSON.parse((new TextDecoder).decode(e));if("audio"===t.type)return;Ov(t)&&this.handleMessage(t)}catch(i){}}),this.room.on(Vh.TrackSubscribed,async function(e,t,i){if(e.kind===fp.Kind.Audio&&i.identity.includes("agent")){const t=e.attach();t.autoplay=!0,t.controls=!1,t.style.display="none",document.body.appendChild(t)}}),this.room.on(Vh.ActiveSpeakersChanged,async function(t){t.length>0?t[0].identity.includes("agent")&&e.updateMode("speaking"):e.updateMode("listening")})}close(){this.isConnected&&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(fp.Source.Microphone);if(null!=t&&t.track)try{e?await t.track.mute():await t.track.unmute()}catch(i){await this.room.localParticipant.setMicrophoneEnabled(!e)}else await this.room.localParticipant.setMicrophoneEnabled(!e)}}async function Fv(e){const t=(i=e).connectionType?i.connectionType:"conversationToken"in i&&i.conversationToken?"webrtc":"websocket";var i;switch(t){case"websocket":return Nv.create(e);case"webrtc":return jv.create(e);default:throw new Error(`Unknown connection type: ${t}`)}}function Uv(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}async function zv(e={default:0,android:3e3}){let t=e.default;var i;if(/android/i.test(navigator.userAgent))t=null!=(i=e.android)?i:t;else if(Uv()){var n;t=null!=(n=e.ios)?n:t}t>0&&await new Promise(e=>setTimeout(e,t))}class Bv extends _v{static async startSession(e){const t=_v.getFullOptions(e);t.onStatusChange({status:"connecting"}),t.onCanSendFeedbackChange({canSendFeedback:!1});let i=null;try{return await zv(t.connectionDelay),i=await Fv(e),new Bv(t,i)}catch(r){var n;throw t.onStatusChange({status:"disconnected"}),null==(n=i)||n.close(),r}}}function Vv(e){const t=new Uint8Array(e);return window.btoa(String.fromCharCode(...t))}function qv(e){const t=window.atob(e),i=t.length,n=new Uint8Array(i);for(let r=0;r<i;r++)n[r]=t.charCodeAt(r);return n.buffer}const Hv=new Map;function Gv(e,t){return async i=>{const n=Hv.get(e);if(n)return i.addModule(n);const r=new Blob([t],{type:"application/javascript"}),a=URL.createObjectURL(r);try{return await i.addModule(a),void Hv.set(e,a)}catch(o){URL.revokeObjectURL(a)}try{const n=`data:application/javascript;base64,${btoa(t)}`;await i.addModule(n),Hv.set(e,n)}catch(s){throw new Error(`Failed to load the ${e} worklet module. Make sure the browser supports AudioWorklets.`)}}}const Wv=Gv("raw-audio-processor",'\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("raw-audio-processor", RawAudioProcessor);\n');class $v{static async create({sampleRate:e,format:t,preferHeadphonesForIosDevices:i}){let n=null,r=null;try{const a={sampleRate:{ideal:e},echoCancellation:!0,noiseSuppression:!0};if(Uv()&&i){const e=(await window.navigator.mediaDevices.enumerateDevices()).find(e=>"audioinput"===e.kind&&["airpod","headphone","earphone"].find(t=>e.label.toLowerCase().includes(t)));e&&(a.deviceId={ideal:e.deviceId})}const o=navigator.mediaDevices.getSupportedConstraints().sampleRate;n=new window.AudioContext(o?{sampleRate:e}:{});const s=n.createAnalyser();o||await n.audioWorklet.addModule("https://cdn.jsdelivr.net/npm/@alexanderolsen/libsamplerate-js@2.1.2/dist/libsamplerate.worklet.js"),await Wv(n.audioWorklet);const c=Pv({voiceIsolation:!0},a);r=await navigator.mediaDevices.getUserMedia({audio:c});const l=n.createMediaStreamSource(r),d=new AudioWorkletNode(n,"raw-audio-processor");return d.port.postMessage({type:"setFormat",format:t,sampleRate:e}),l.connect(s),s.connect(d),await n.resume(),new $v(n,s,d,r)}catch(s){var a,o;throw null==(a=r)||a.getTracks().forEach(e=>e.stop()),null==(o=n)||o.close(),s}}constructor(e,t,i,n){this.context=void 0,this.analyser=void 0,this.worklet=void 0,this.inputStream=void 0,this.context=e,this.analyser=t,this.worklet=i,this.inputStream=n}async close(){this.inputStream.getTracks().forEach(e=>e.stop()),await this.context.close()}setMuted(e){this.worklet.port.postMessage({type:"setMuted",isMuted:e})}}const Jv=Gv("audio-concat-processor",'\nconst decodeTable = [0,132,396,924,1980,4092,8316,16764];\n\nexport function 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("audio-concat-processor", AudioConcatProcessor);\n');class Kv{static async create({sampleRate:e,format:t}){let i=null;try{i=new AudioContext({sampleRate:e});const n=i.createAnalyser(),r=i.createGain();r.connect(n),n.connect(i.destination),await Jv(i.audioWorklet);const a=new AudioWorkletNode(i,"audio-concat-processor");return a.port.postMessage({type:"setFormat",format:t}),a.connect(r),await i.resume(),new Kv(i,n,r,a)}catch(r){var n;throw null==(n=i)||n.close(),r}}constructor(e,t,i,n){this.context=void 0,this.analyser=void 0,this.gain=void 0,this.worklet=void 0,this.context=e,this.analyser=t,this.gain=i,this.worklet=n}async close(){await this.context.close()}}class Qv extends _v{static async startSession(e){var t;const i=_v.getFullOptions(e);i.onStatusChange({status:"connecting"}),i.onCanSendFeedbackChange({canSendFeedback:!1});let n=null,r=null,a=null,o=null,s=null;if(null==(t=e.useWakeLock)||t)try{s=await navigator.wakeLock.request("screen")}catch(g){}try{var c;return o=await navigator.mediaDevices.getUserMedia({audio:!0}),await zv(i.connectionDelay),r=await Fv(e),[n,a]=await Promise.all([$v.create(Pv({},r.inputFormat,{preferHeadphonesForIosDevices:e.preferHeadphonesForIosDevices})),Kv.create(r.outputFormat)]),null==(c=o)||c.getTracks().forEach(e=>e.stop()),o=null,new Qv(i,r,n,a,s)}catch(g){var l,d,u,h;i.onStatusChange({status:"disconnected"}),null==(l=o)||l.getTracks().forEach(e=>e.stop()),null==(d=r)||d.close(),await(null==(u=n)?void 0:u.close()),await(null==(h=a)?void 0:h.close());try{var p;await(null==(p=s)?void 0:p.release()),s=null}catch(m){}throw g}}constructor(e,t,i,n,r){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:Vv(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:qv(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 i=0;i<e.length;i++)t+=e[i]/255;return t/=e.length,t<0?0:t>1?1:t},this.input=i,this.output=n,this.wakeLock=r,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){this.lastInterruptTimestamp<=e.audio_event.event_id&&(this.options.onAudio(e.audio_event.audio_base_64),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 jv?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 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())}}class Zv extends _v{static startSession(e){return e.textOnly?Bv.startSession(e):Qv.startSession(e)}}class Yv extends Ka{constructor(e){super("ConversationClient",e),__publicField(this,"name","conversation"),__publicField(this,"currentSession",gt(null)),__publicField(this,"sessionMessages",gt([])),__publicField(this,"loading",gt(!1)),__publicField(this,"error",gt(null))}async createSession(e){try{const t=await fetch("/api/conversation/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),i=await t.json();return i.ok?(this.currentSession.value=i.data,this.sessionMessages.value=[],i.data):(this.logger.error("Failed to create session",{error:i.error}),this.error.value=i.error,null)}catch(t){return this.logger.error("Failed to create session",{error:t}),this.error.value="Failed to create session",null}}async addMessage(e){try{const t=await fetch("/api/conversation/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),i=await t.json();return i.ok?(this.sessionMessages.value.push(i.data),i.data):(this.logger.error("Failed to add message",{error:i.error}),null)}catch(t){return this.logger.error("Failed to add message",{error:t}),null}}async updateSession(e,t){try{const i=await fetch(`/api/conversation/sessions/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await i.json();return n.ok?(this.currentSession.value?.sessionId===e&&(this.currentSession.value=n.data),n.data):(this.logger.error("Failed to update session",{error:n.error}),null)}catch(i){return this.logger.error("Failed to update session",{error:i}),null}}async endCurrentSession(){return!!this.currentSession.value&&(!!(await this.updateSession(this.currentSession.value.sessionId,{status:"ended",endedAt:(new Date).toISOString()}))&&(this.currentSession.value=null,this.sessionMessages.value=[],!0))}async getSessions(e){try{const t=new URLSearchParams({selfId:e.selfId,limit:String(e.limit||50)}),i=await fetch(`/api/conversation/sessions?${t}`),n=await i.json();return n.ok?n.data:(this.logger.error("Failed to get sessions",{error:n.error}),[])}catch(t){return this.logger.error("Failed to get sessions",{error:t}),[]}}async getMessages(e){try{const t=await fetch(`/api/conversation/messages/${e}`),i=await t.json();return i.ok?i.data:(this.logger.error("Failed to get messages",{error:i.error}),[])}catch(t){return this.logger.error("Failed to get messages",{error:t}),[]}}getAnonId(){const e="fiction_anon_id";let t=localStorage.getItem(e);return t||(t=`anon_${Date.now()}_${Math.random().toString(36).substring(2,15)}`,localStorage.setItem(e,t)),t}}class Xv extends Ka{constructor(e){super("UsageClient",e),__publicField(this,"name","usage"),__publicField(this,"usageData",gt()),__publicField(this,"loading",gt(!1)),__publicField(this,"error",gt(null))}async recordVoiceUsage(e){try{const t=await fetch("/api/usage/voice",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return(await t.json()).ok}catch(t){return this.logger.error("Failed to record voice usage",{error:t}),!1}}async recordChatUsage(e){try{const t=await fetch("/api/usage/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return(await t.json()).ok}catch(t){return this.logger.error("Failed to record chat usage",{error:t}),!1}}async getUsageData(e){if(!e)return!1;this.loading.value=!0,this.error.value=null;try{const t=await fetch(`/api/usage/monthly/${e}`),i=await t.json();if(i.ok&&i.data){const e=i.data.reduce((e,t)=>e+(t.totalCredits||0),0),t=3600;return this.usageData.value={used:e,total:t,remaining:Math.max(0,t-e),percentage:t>0?Math.round(e/t*100):0},!0}return this.error.value=i.ok?"Failed to load usage data":i.error,!1}catch(t){return this.error.value=t instanceof Error?t.message:"Usage load failed",!1}finally{this.loading.value=!1}}async getUsageAnalytics(e,t){try{const i=new URLSearchParams;t&&i.set("period",t);const n=await fetch(`/api/usage/analytics/${e}?${i}`),r=await n.json();return r.ok?r.data:(this.logger.error("Failed to get usage analytics",{error:r.error}),null)}catch(i){return this.logger.error("Failed to fetch usage analytics",{error:i}),null}}}class ef{constructor(e){__publicField(this,"audioContext"),__publicField(this,"analyser"),__publicField(this,"microphone"),__publicField(this,"audioLevelInterval"),__publicField(this,"stream"),__publicField(this,"visibilityChangeHandler"),__publicField(this,"audioLevels",gt({inputLevel:0,outputLevel:0})),this.logger=e,this.setupVisibilityHandler()}log(e,...t){this.logger?.(`[ClientAudio] ${e}`,...t)}error(e,...t){}setupVisibilityHandler(){"undefined"!=typeof document&&(this.visibilityChangeHandler=()=>{document.hidden?(this.log("App backgrounded, suspending audio context"),this.handleAppBackground()):(this.log("App foregrounded, resuming audio context"),this.handleAppForeground())},document.addEventListener("visibilitychange",this.visibilityChangeHandler,{passive:!0}),window.addEventListener("beforeunload",()=>{this.cleanup().catch(this.error.bind(this,"Error during beforeunload cleanup"))},{passive:!0}))}handleAppBackground(){this.audioContext&&"running"===this.audioContext.state&&this.audioContext.suspend().catch(this.error.bind(this,"Error suspending audio context")),this.audioLevelInterval&&(clearInterval(this.audioLevelInterval),this.audioLevelInterval=void 0)}handleAppForeground(){this.audioContext&&"suspended"===this.audioContext.state&&this.audioContext.resume().catch(this.error.bind(this,"Error resuming audio context")),this.analyser&&!this.audioLevelInterval&&this.startAudioLevelMonitoring()}async requestMicrophonePermission(e={}){try{const{noiseSuppression:t=!0,echoCancellation:i=!0,autoGainControl:n=!0}=e;return this.stream=await navigator.mediaDevices.getUserMedia({audio:{noiseSuppression:t,echoCancellation:i,autoGainControl:n}}),this.log("Microphone permission granted"),await this.setupAudioAnalysis(),!0}catch(t){return this.error("Microphone permission denied:",t),!1}}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.log("Audio analysis setup complete")}catch(e){throw this.error("Failed to setup audio analysis:",e),e}}startAudioLevelMonitoring(e){if(!this.analyser)return void this.log("Audio level monitoring not started - missing analyser");this.log("Starting audio level monitoring at timestamp:",Date.now());const t=new Uint8Array(this.analyser.frequencyBinCount),i=async()=>{if(this.analyser)try{this.analyser.getByteFrequencyData(t);const i=t.reduce((e,t)=>e+t,0)/t.length,n=Math.min(i/128,1),r=e?.()?.3:0;this.audioLevels.value={inputLevel:n,outputLevel:r}}catch(i){this.error("Error in audio level monitoring:",i),this.stopAudioLevelMonitoring()}else this.log("Stopping audio level monitoring - missing analyser")};this.audioLevelInterval=window.setInterval(()=>{i().catch(e=>{this.error("Async error in audio level monitoring:",e)})},50)}stopAudioLevelMonitoring(){this.audioLevelInterval?(this.log("Stopping audio level monitoring interval"),clearInterval(this.audioLevelInterval),this.audioLevelInterval=void 0):this.log("No audio level monitoring interval to stop")}resetAudioLevels(){this.audioLevels.value={inputLevel:0,outputLevel:0}}isAudioContextAvailable(){return!!this.audioContext}getAudioContextState(){return this.audioContext?.state}getSharedAnalyser(){return this.analyser}async cleanup(){this.stopAudioLevelMonitoring(),this.resetAudioLevels(),this.visibilityChangeHandler&&"undefined"!=typeof document&&(document.removeEventListener("visibilitychange",this.visibilityChangeHandler),this.visibilityChangeHandler=void 0),this.stream&&(this.stream.getTracks().forEach(e=>e.stop()),this.stream=void 0),this.audioContext&&(await this.audioContext.close(),this.audioContext=void 0),this.analyser=void 0,this.microphone=void 0,this.log("Audio resources cleaned up")}}function tf(e){return e?"string"==typeof e?e:e.src||"":""}function nf(e){return tf(e.cover)||tf(e.avatar)||"/img/placeholder-avatar.png"}function rf(){return"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+"}function af(e){const t=e.target;t.dataset.fallbackUsed||(t.dataset.fallbackUsed="true",t.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+")}class of extends Ja{constructor(e){super("AgentController",e),__publicField(this,"conversation"),__publicField(this,"isTextMode",!1),__publicField(this,"lastMessage",{hash:"",time:0}),__publicField(this,"clientAudio"),__publicField(this,"unwatchAudio"),__publicField(this,"isConnecting",!1),__publicField(this,"conversationClient"),__publicField(this,"usageClient"),__publicField(this,"currentSession"),__publicField(this,"voiceStartTime"),__publicField(this,"voiceState",gt({isActive:!1,isConnected:!1,isSpeaking:!1,isListening:!1,transcript:"Ready to start a call...",connectionStatus:"disconnected"})),__publicField(this,"textState",gt({isActive:!1,isConnected:!1,isThinking:!1,connectionStatus:"disconnected"})),__publicField(this,"agentMode",gt("select")),__publicField(this,"sharedMessages",gt([])),this.clientAudio=new ef(this.logger.info.bind(this.logger)),this.conversationClient=new Yv({env:e.env}),this.usageClient=new Xv({env:e.env}),this.setupModeWatcher()}get audioLevels(){return this.clientAudio.audioLevels}getClientAudio(){return this.clientAudio}getOutputFrequencyData(){if(!this.conversation)return null;try{const e=this.conversation.getOutputByteFrequencyData();return e&&e.length>0?(Array.from(e).filter(e=>Number(e)>0).length,Math.max(...Array.from(e)),Array.from(e).reduce((e,t)=>e+Number(t),0),e.length,Array.from(e.slice(0,Math.floor(.25*e.length))).reduce((e,t)=>e+Number(t),0),Array.from(e.slice(Math.floor(.25*e.length),Math.floor(.75*e.length))).reduce((e,t)=>e+Number(t),0),Array.from(e.slice(Math.floor(.75*e.length))).reduce((e,t)=>e+Number(t),0),new Uint8Array(e)):null}catch(e){return null}}isDuplicateMessage(e,t){const i=`${t}:${e.toLowerCase().trim()}`,n=Date.now(),r=i===this.lastMessage.hash&&n-this.lastMessage.time<500;return r||(this.lastMessage={hash:i,time:n}),r}async addMessage(e,t){this.isDuplicateMessage(e,t)||(this.sharedMessages.value=[...this.sharedMessages.value,{id:Date.now().toString(),text:e,sender:t,timestamp:new Date}],this.currentSession&&(await this.conversationClient.addMessage({sessionId:this.currentSession.sessionId,role:t,content:e}),this.isTextMode&&"agent"===t&&this.settings.orgId&&this.settings.selfId&&await this.usageClient.recordChatUsage({orgId:this.settings.orgId,selfId:this.settings.selfId,userId:this.settings.userId||"usr_anonymous",sessionId:this.currentSession.sessionId,charactersUsed:e.length})))}getDynamicSettings(){return{dynamicVariables:{context:this.settings.context||"",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,transcript:"Ready to start a call...",connectionStatus:"disconnected",error:void 0}),this.clientAudio.resetAudioLevels())}setupModeWatcher(){_n(this.agentMode,async(e,t)=>{if(this.logger.info(`Mode changed from ${t} to ${e}`),!this.conversation||"talk"!==t&&"chat"!==t||await this.endConversation(),"talk"!==e||this.voiceState.value.isActive){if("chat"===e&&!this.textState.value.isActive)try{await this.startTextConversation()}catch(i){this.logger.error("Failed to auto-start text conversation:",i),this.agentMode.value="select"}}else try{await this.startVoiceConversation()}catch(i){this.logger.error("Failed to auto-start voice conversation:",i),this.agentMode.value="select"}})}async handleMessage(e,t){const i=function(e){const{message:t}=e;if(!t)return null;if("string"==typeof t)return t.trim()?{text:t.trim(),sender:"agent"}:null;if("object"!=typeof t)return null;const i=[e=>{if(!("source"in e))return null;const t={user:"user",ai:"agent",agent:"agent"}[e.source];return t?{text:e.message||"",sender:t}:null}];for(const n of i){const e=n(t);if(e&&e.text.trim())return{text:e.text.trim(),sender:e.sender}}return null}(e);i&&(await this.addMessage(i.text,i.sender),t||"agent"!==i.sender||this.updateState(this.textState,{isThinking:!1}))}handleError(e,t){const i=e.message;this.logger.error("Conversation error:",e),this.resetState(t),t?this.updateState(this.voiceState,{error:i,connectionStatus:"error",transcript:"Failed to start call."}):this.updateState(this.textState,{error:i,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"}),this.settings.selfId&&this.settings.orgId&&(this.currentSession=await this.conversationClient.createSession({selfId:this.settings.selfId,orgId:this.settings.orgId,userId:this.settings.userId,anonId:this.conversationClient.getAnonId(),channel:"voice"}),this.voiceStartTime=Date.now()),!(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");const t=this.getDynamicSettings();this.logger.info("Starting voice conversation...",{dynamicSettings:t});try{this.conversation=await Zv.startSession({agentId:this.settings.agentId,connectionType:"websocket",...t,onConnect:()=>{this.isConnecting=!1,this.clientAudio.startAudioLevelMonitoring(()=>this.isVoiceConnected()),this.updateState(this.voiceState,{isConnected:!0,isListening:!0,transcript:"Connected! Start speaking...",connectionStatus:"connected"}),e.onConnect?.(),e.onAudioLevel&&(this.unwatchAudio=_n(this.audioLevels,e.onAudioLevel,{immediate:!0}))},onDisconnect:async()=>{if(this.voiceStartTime&&this.currentSession&&this.settings.orgId&&this.settings.selfId){const e=Math.floor((Date.now()-this.voiceStartTime)/1e3);await this.usageClient.recordVoiceUsage({orgId:this.settings.orgId,selfId:this.settings.selfId,userId:this.settings.userId||"usr_anonymous",sessionId:this.currentSession.sessionId,secondsUsed:e})}this.conversation=void 0,this.clientAudio.stopAudioLevelMonitoring(),this.resetState(!1),e.onDisconnect?.()},onError:t=>{this.handleError(new Error(t),!0),e.onError?.(new Error(t))},onModeChange:t=>{const i="speaking"===t.mode;this.updateState(this.voiceState,{isSpeaking:i,isListening:!i,transcript:i?"AI is speaking...":"Listening..."}),e.onModeChange?.(t.mode)},onMessage:async t=>{await this.handleMessage(t,!0),e.onMessage?.(t)}})}catch(i){throw this.isConnecting=!1,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"}),this.settings.selfId&&this.settings.orgId&&(this.currentSession=await this.conversationClient.createSession({selfId:this.settings.selfId,orgId:this.settings.orgId,userId:this.settings.userId,anonId:this.conversationClient.getAnonId(),channel:"chat"}));try{this.conversation=await Zv.startSession({agentId:this.settings.agentId,connectionType:"websocket",...this.getDynamicSettings(),textOnly:!0,onConnect:()=>{this.isConnecting=!1,this.updateState(this.textState,{isConnected:!0,connectionStatus:"connected"}),e.onConnect?.()},onDisconnect:()=>{this.conversation=void 0,this.resetState(!0),e.onDisconnect?.()},onError:t=>{this.handleError(new Error(t),!1),e.onError?.(new Error(t))},onModeChange:t=>{e.onModeChange?.(t.mode)},onMessage:async t=>{await this.handleMessage(t,!1),e.onMessage?.(t)}})}catch(t){throw this.isConnecting=!1,this.handleError(t,!1),t}}}async endConversation(){if(this.currentSession){if(!this.isTextMode&&this.voiceStartTime&&this.settings.orgId&&this.settings.selfId){const e=Math.floor((Date.now()-this.voiceStartTime)/1e3);await this.usageClient.recordVoiceUsage({orgId:this.settings.orgId,selfId:this.settings.selfId,userId:this.settings.userId||"usr_anonymous",sessionId:this.currentSession.sessionId,secondsUsed:e})}await this.conversationClient.updateSession(this.currentSession.sessionId,{status:"ended",endedAt:(new Date).toISOString()}),this.currentSession=void 0,this.voiceStartTime=void 0}if(this.conversation)try{await this.conversation.endSession()}finally{this.conversation=void 0,this.unwatchAudio?.(),this.unwatchAudio=void 0,this.resetState(this.isTextMode),this.isTextMode=!1}else this.resetState(this.isTextMode)}async sendChatMessage(e){if(this.conversation&&this.isTextMode){await this.addMessage(e,"user"),this.currentSession&&this.settings.orgId&&this.settings.selfId&&await this.usageClient.recordChatUsage({orgId:this.settings.orgId,selfId:this.settings.selfId,userId:this.settings.userId||"usr_anonymous",sessionId:this.currentSession.sessionId,charactersUsed: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()}}const sf={class:"flex-1 flex flex-col min-h-0 py-6 space-y-6 h-full overflow-scroll no-scrollbar relative"},cf={class:"flex-1 space-y-6"},lf={class:"bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"},df=["innerHTML"],uf={class:"bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"},hf={class:"flex flex-wrap gap-2"},pf={class:"space-y-3"},gf={class:"grid grid-cols-2 gap-3"},mf={key:0,class:"fixed inset-y-0 left-0 z-50 w-80 bg-slate-900/95 backdrop-blur-lg border-r border-white/10"},vf={class:"flex items-center justify-between p-6 border-b border-white/10"},ff={class:"p-6 space-y-6"},bf={class:"space-y-4"},kf=di({__name:"SelfAbout",props:{person:{}},setup(e){const t=gt(!1),i=[{title:"LinkedIn",url:"https://linkedin.com/in/profile",icon:"i-simple-icons-linkedin"},{title:"Twitter",url:"https://twitter.com/handle",icon:"i-simple-icons-x"},{title:"Website",url:"https://example.com",icon:"i-heroicons-globe-alt"},{title:"Email",url:"mailto:contact@example.com",icon:"i-heroicons-envelope"}];return(e,n)=>(Jn(),Yn("div",sf,[rr("div",cf,[rr("div",lf,[n[1]||(n[1]=rr("h3",{class:"text-sm font-medium text-white/90 mb-2"}," About ",-1)),rr("div",{class:"text-sm text-white/70 leading-relaxed",innerHTML:e.person.summary},null,8,df)]),rr("div",uf,[n[2]||(n[2]=rr("h3",{class:"text-sm font-medium text-white/90 mb-3"}," Interests ",-1)),rr("div",hf,[(Jn(!0),Yn(Vn,null,Di(e.person.tags||[],e=>(Jn(),Yn("span",{key:e,class:"px-2 py-1 bg-white/10 text-white/80 text-xs rounded-full"},$(e),1))),128))])]),rr("div",pf,[n[3]||(n[3]=rr("h3",{class:"text-sm font-medium text-white/90"}," Connect ",-1)),rr("div",gf,[(Jn(),Yn(Vn,null,Di(i,e=>ar(ls,{key:e.title,variant:"ghost",size:"sm",icon:e.icon,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:Gt(()=>[sr($(e.title),1)]),_:2},1032,["icon","href"])),64))])])]),ar(zr,{"enter-active-class":"transform transition duration-300 ease-out","enter-from-class":"-translate-x-full","enter-to-class":"translate-x-0","leave-active-class":"transform transition duration-200 ease-in","leave-from-class":"translate-x-0","leave-to-class":"-translate-x-full"},{default:Gt(()=>[t.value?(Jn(),Yn("div",mf,[rr("div",vf,[n[5]||(n[5]=rr("div",{class:"text-white font-semibold text-lg"}," Fiction ",-1)),rr("button",{class:"p-1 rounded-lg hover:bg-white/10 transition-colors",onClick:n[0]||(n[0]=e=>t.value=!1)},[...n[4]||(n[4]=[rr("div",{class:"w-5 h-5 i-heroicons-x-mark text-white/70"},null,-1)])])]),rr("div",ff,[n[9]||(n[9]=rr("div",{class:"space-y-4"},[rr("h2",{class:"text-xl font-semibold text-white"}," What is a Digital Self? "),rr("p",{class:"text-white/70 leading-relaxed"}," A Digital Self is an AI-powered representation of a person that can interact, share knowledge, and represent their expertise in conversations. It's like having a digital twin that understands your background, skills, and perspective. ")],-1)),rr("div",bf,[n[8]||(n[8]=rr("h3",{class:"text-lg font-medium text-white"}," Get Started ",-1)),ar(ls,{variant:"default",class:"w-full",href:"/login"},{default:Gt(()=>[...n[6]||(n[6]=[sr(" Login to Fiction ",-1)])]),_:1}),ar(ls,{variant:"ghost",class:"w-full border border-white/20 text-white/80 hover:bg-white/10",href:"/signup"},{default:Gt(()=>[...n[7]||(n[7]=[sr(" Create Account ",-1)])]),_:1})]),n[10]||(n[10]=rr("div",{class:"pt-4 border-t border-white/10"},[rr("p",{class:"text-sm text-white/50"}," Create your own Digital Self and join the Fiction community. ")],-1))])])):cr("",!0)]),_:1})]))}}),wf={class:"flex flex-col h-full relative"},yf={key:0,class:"absolute top-[-10px] left-1/2 transform -translate-x-1/2 z-30 px-4 py-1 bg-theme-900 text-theme-500 text-[10px] font-mono rounded-full"},xf={class:"text-xs leading-relaxed"},Cf={key:0,class:"flex justify-start"},Sf={class:"flex-shrink-0 pt-6 mt-4 border-t border-white/10"},Tf={class:"flex gap-2"},Ef=["placeholder","disabled"],Pf=di({__name:"SelfChat",props:{agentController:{}},setup(e){const t=gt(""),i=gt();async function n(){if(!t.value.trim()||!e.agentController||!e.agentController.textState.value.isConnected)return;const i=t.value;t.value="";try{await e.agentController.sendChatMessage(i),r()}catch(n){}}function r(){i.value&&Lt(()=>{const e=i.value;e.scrollTop=e.scrollHeight})}return _n(()=>e.agentController?.sharedMessages.value,e=>{e&&e.length>0&&Lt(()=>r())},{immediate:!0,deep:!0}),(e,r)=>(Jn(),Yn("div",wf,["connected"!==e.agentController?.textState.value.connectionStatus?(Jn(),Yn("div",yf,$("connecting"===e.agentController?.textState.value.connectionStatus?"Connecting...":"Disconnected"),1)):cr("",!0),rr("div",{ref_key:"messagesContainer",ref:i,class:"flex-1 overflow-y-auto overflow-x-hidden py-8 space-y-4 min-h-0 no-scrollbar border-t border-white/10"},[(Jn(!0),Yn(Vn,null,Di(e.agentController?.sharedMessages.value.filter(e=>"system"!==e.sender)??[],e=>(Jn(),Yn("div",{key:e.id,class:q(["flex",{"justify-end":"user"===e.sender,"justify-start":"agent"===e.sender}])},[rr("div",{class:q(["max-w-[400px] rounded-xl px-4 py-2 backdrop-blur-sm","user"===e.sender?"bg-primary-400/40 text-white border border-primary-400/60 ml-6":"bg-white/10 text-white/90 border border-white/10 mr-6"])},[rr("p",xf,$(e.text),1)],2)],2))),128)),e.agentController?.textState.value.isThinking?(Jn(),Yn("div",Cf,[...r[1]||(r[1]=[rr("div",{class:"max-w-[400px] rounded-xl px-4 py-1 backdrop-blur-sm bg-white/10 text-white/90 border border-white/10 mr-6 flex items-center"},[rr("i",{class:"i-svg-spinners-3-dots-fade size-6"})],-1)])])):cr("",!0)],512),rr("div",Sf,[rr("div",Tf,[Wt(rr("input",{"onUpdate:modelValue":r[0]||(r[0]=e=>t.value=e),type:"text",placeholder:e.agentController?.textState.value.isConnected?"Type a message...":"Connecting...",disabled:e.agentController?.textState.value.isThinking||!e.agentController?.textState.value.isConnected,class:"flex-1 bg-white/10 backdrop-blur-sm border border-white/20 rounded-full px-4 py-2 text-white placeholder-white/50 text-sm focus:outline-none focus:border-white/40 disabled:opacity-50",onKeyup:Na(n,["enter"])},null,40,Ef),[[Ra,t.value]]),ar(ls,{variant:"default",size:"sm",icon:"i-heroicons-paper-airplane",disabled:e.agentController?.textState.value.isThinking||!t.value.trim()||!e.agentController?.textState.value.isConnected,class:"bg-white/20 backdrop-blur-sm border border-white/20 text-white rounded-full size-10 hover:bg-white/30 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n},null,8,["disabled"])])])]))}}),Mf={class:"frequency-visualizer flex items-center justify-center"},_f=["width"],If=64,Rf=us(di({__name:"AudioVisualizer",props:{rms:{},color:{},isActive:{type:Boolean},audioLevels:{},isListening:{type:Boolean},isSpeaking:{type:Boolean},isConnected:{type:Boolean},enableRealAudio:{type:Boolean},agentController:{},enableWaveMotion:{type:Boolean},enableScrollingWave:{type:Boolean}},setup(e){const t=e,i=gt();let n=null,r=null;const a=gt(!1),o=gt(16.67),s=gt(!0),c=new Map;let l=null,d=null,u=null;const h=gt(!1),p=gt(null),g=new Float32Array(If).fill(4),m=new Float32Array(If).fill(0),v=new Float32Array(If).fill(4),f=new Float32Array(If).fill(4),b=new Float32Array(If).fill(0),k=new Float32Array(If).fill(0);function w(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}}const y=[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];async function x(){if("undefined"!=typeof window&&t.enableRealAudio&&t.agentController)try{const e=t.agentController.getClientAudio();if(e?.isAudioContextAvailable()){const t=e.getSharedAnalyser();if(t){d=t;const e=new ArrayBuffer(t.frequencyBinCount);return u=new Uint8Array(e),h.value=!0,void(p.value=null)}}h.value=!1,p.value="Shared audio context not available"}catch(e){p.value=e instanceof Error?e.message:"Failed to setup shared audio",h.value=!1}}function C(){d=null,u=null,h.value=!1,p.value=null}let S=1;function T(){i.value&&("undefined"!=typeof window&&(S=Math.max(1,Math.min(2,window.devicePixelRatio||1))),i.value.width=Math.floor(255*S),i.value.height=Math.floor(80*S),i.value.style.width="255px",i.value.style.height="80px",n&&n.setTransform(S,0,0,S,0,0),c.clear(),l=null)}function E(e){return Array.from({length:y.length},(t,i)=>{const n=y[i],r=Math.floor(n/12e3*e.length),a=Math.max(1,Math.floor(e.length/y.length/2));let o=0;for(let l=0;l<a&&r+l<e.length;l++)o+=e[r+l];o=o/a/255;let s=1;s=n<150?.1:n<200?.3:n>=400&&n<=600?1.4:n>=1400&&n<=1600?1.3:n>=2400&&n<=2600?1.2:n>=200&&n<=2e3?1.1:n>=2e3&&n<=4e3?.9:n>6e3?.4:.7;const c=.6*o**.5*s;return Math.min(.85,c)})}let P=0,M=0,_=0;const I=[{name:"a",f1:730,f2:1090,f3:2440,duration:120,energy:.9},{name:"e",f1:530,f2:1840,f3:2480,duration:100,energy:.8},{name:"i",f1:270,f2:2290,f3:3010,duration:110,energy:.85},{name:"o",f1:570,f2:840,f3:2410,duration:130,energy:.9},{name:"u",f1:300,f2:870,f3:2240,duration:140,energy:.8},{name:"s",f1:4e3,f2:6e3,f3:8e3,duration:80,energy:.4},{name:"t",f1:1500,f2:4e3,f3:6e3,duration:60,energy:.3},{name:"n",f1:280,f2:1700,f3:2600,duration:70,energy:.6},{name:"r",f1:350,f2:1200,f3:1650,duration:90,energy:.7},{name:"pause",f1:0,f2:0,f3:0,duration:150,energy:.05}];function R(e,t,i,n,r){if(0===t&&0===i)return 0;const a=t*(1-n)+i*n;if(0===a)return 0;const o=Math.abs(e-a);return Math.exp(-((o/r)**2))}let A=[],O=0,D=0;function L(e){const t=Array.from({length:y.length},()=>0);if(e<=0)return t;for(let i=0;i<y.length;i++){const n=y[i];let r=0;r=n>=400&&n<=600?.9*e:n>=1400&&n<=1600?.8*e:n>=2400&&n<=2600?.7*e:n>=200&&n<=2e3?.6*e:n>=85&&n<=300?.4*e:.2*e,r*=.8+.4*Math.random(),t[i]=Math.max(0,Math.min(1,r))}return t}function N(e,t){return c.has(e)||c.set(e,t()),c.get(e)}function j(){if("undefined"==typeof window||!n||!i.value)return;!function(){if("undefined"==typeof window)return;const e=navigator.userAgent.toLowerCase(),t=/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e);a.value=t,o.value=16.67}();const e=i.value,c=e.width/S,p=e.height/S;r=requestAnimationFrame(function e(i){if(!n)return;if(!s.value)return void(r=requestAnimationFrame(e));n.clearRect(0,0,c,p);let o=0;t.audioLevels?t.isListening?o=Math.min(1.5*t.audioLevels.inputLevel,1):t.isSpeaking&&(o=Math.min(1.8*t.audioLevels.outputLevel,1)):void 0!==t.rms&&(o=Math.min(t.rms/70,1));const x=function(e){let i=[];if(t.enableRealAudio&&t.isListening&&h.value&&d&&u){const e=d&&u&&h.value?(d.getByteFrequencyData(u),E(u)):Array.from({length:y.length},()=>0);e.some(e=>e>.05)&&(i=e)}if(!i.length&&t.isSpeaking&&t.agentController&&t.audioLevels&&t.audioLevels.outputLevel>.05){const e=Date.now(),r=(a.value?100:50)*Math.min(2**D,8);if(e-O>r){O=e;try{const e=function(){if(!t.agentController)return Array.from({length:y.length},()=>0);try{const e=t.agentController.getOutputFrequencyData();if(e&&e.length>0)return E(e)}catch(e){}return Array.from({length:y.length},()=>0)}();e.some(e=>e>.05)&&(A=e,D=0)}catch(n){D++}}A.some(e=>e>.05)&&(i=A)}return i.length||(i=e>0&&(t.isListening||t.isSpeaking)?t.isSpeaking?function(e){const t=Array.from({length:y.length},()=>0);if(e<=0)return t;M+=16.67,_+=.02,M>I[P].duration&&(P=(P+1)%I.length,M=0);const i=I[P],n=I[(P+1)%I.length],r=M/i.duration,a=.5*(1+Math.cos(Math.PI+r*Math.PI)),o=.7+.3*Math.sin(.5*_),s=.9+.1*Math.sin(8*_);for(let c=0;c<y.length;c++){const r=y[c];let l=0;l=(.4*R(r,i.f1,n.f1,a,200)+.35*R(r,i.f2,n.f2,a,300)+.25*R(r,i.f3,n.f3,a,400))*(i.energy*(1-a)+n.energy*a);const d=150+50*Math.sin(.3*_);(Math.abs(r-d)<20||Math.abs(r-2*d)<30||Math.abs(r-3*d)<40)&&(l+=.3*i.energy),l*=e*o*s,l*=.85+.3*Math.random(),t[c]=Math.max(0,Math.min(1,l))}return t}(e):L(e):t.isConnected?L(.02):Array.from({length:y.length},()=>0)),t.enableWaveMotion&&"undefined"!=typeof window&&(i=function(e,i){const n=.001*performance.now(),r=[...e];for(let a=0;a<e.length;a++){const o=a*(2*Math.PI)/e.length;let s=0;t.isListening||t.isSpeaking?s=.15*Math.sin(4.2*n+.6*o-(t.enableScrollingWave?2*n:0))+.08*Math.sin(6.8*n+1.2*o-(t.enableScrollingWave?1.5*n:0))+.05*Math.sin(.8*n):t.isConnected&&(s=.1*Math.sin(.6*n)+.05*Math.sin(2*n+.3*o));const c=Math.max(.3,i);r[a]=Math.max(0,Math.min(.9,e[a]+s*c))}return r}(i,e)),i}(o);for(let t=0;t<If;t++)v[t]=4+76*x[t];for(let t=0;t<If;t++){const e=w(y[t]),i=v[t]-g[t],n=.18*e.stiffnessMultiplier,r=.22*e.dampingMultiplier,a=i*n-m[t]*r;if(m[t]+=a,g[t]+=m[t],g[t]>f[t])f[t]=g[t],b[t]=300,k[t]=0;else if(b[t]=Math.max(0,b[t]-16.67),b[t]<=0){const e=.12*(Math.max(4,1.1*g[t])-f[t])-.15*k[t];k[t]+=e,f[t]=Math.max(4,f[t]+k[t])}}if(n&&(l||(l=n.createRadialGradient(.5*c,.6*p,.1*p,.5*c,.6*p,.9*p),l.addColorStop(0,"rgba(255,255,255,0.02)"),l.addColorStop(1,"rgba(0,0,0,0.08)")),n.fillStyle=l,n.fillRect(0,0,c,p)),(t.isListening||t.isSpeaking)&&!a.value){const e=.001*performance.now(),i=.1+.05*Math.sin(2*e);n.save(),n.globalCompositeOperation="lighter",n.globalAlpha=i;const r=t.isSpeaking?"rgba(34,197,94,0.4)":"rgba(59,130,246,0.4)";n.fillStyle=r;for(let t=0;t<If;t++){const e=4*t,i=g[t],r=p-i;n.beginPath(),n.roundRect(e-1,r-1,5,i+2,[2,2,0,0]),n.fill()}n.restore()}for(let r=0;r<If;r++){const e=4*r,i=g[r],o=p-i,s=y[r],c=Math.min(r,63-r),l=Math.min(1,c/9.6),d=Math.min(1,i/80),u=(.8+.2*d)*l,h=(.6+.2*d)*l,m=(.3+.1*d)*l,v=Math.round(10*d)/10,k=Math.round(10*l)/10,w=N(`${t.isSpeaking?"speaking":t.isListening?"listening":"idle"}-${v}-${k}-${i}`,()=>{const e=n.createLinearGradient(0,o,0,o+i);if(t.isSpeaking)e.addColorStop(0,`rgba(34, 197, 94, ${u})`),e.addColorStop(.5,`rgba(34, 197, 94, ${h})`),e.addColorStop(1,`rgba(34, 197, 94, ${m})`),(s>=400&&s<=600||s>=1400&&s<=1600)&&e.addColorStop(0,`rgba(74, 222, 128, ${Math.min(1,u+.2)})`);else if(t.isListening)e.addColorStop(0,`rgba(59, 130, 246, ${u})`),e.addColorStop(.5,`rgba(59, 130, 246, ${h})`),e.addColorStop(1,`rgba(59, 130, 246, ${m})`);else{const t=.6*l,i=.4*l,n=.2*l;e.addColorStop(0,`rgba(156, 163, 175, ${t})`),e.addColorStop(.6,`rgba(156, 163, 175, ${i})`),e.addColorStop(1,`rgba(156, 163, 175, ${n})`)}return e});if(n.fillStyle=w,n.beginPath(),n.roundRect(e,o,3,i,[1,1,0,0]),n.fill(),f[r]>6){const i=p-f[r],o=b[r]>0?.9:Math.max(.3,b[r]/300);n.fillStyle=`rgba(255, 255, 255, ${o})`,n.fillRect(e,i-1,3,2),o>.5&&!a.value&&(n.shadowColor=t.isSpeaking?"rgba(34, 197, 94, 0.5)":"rgba(59, 130, 246, 0.5)",n.shadowBlur=3,n.fillRect(e,i-1,3,2),n.shadowBlur=0)}}r=requestAnimationFrame(e)})}function U(){if("undefined"!=typeof window){const e=Math.max(1,Math.min(2,window.devicePixelRatio||1));e!==S&&(S=e)}T()}return xi(()=>{if(i.value&&(n=i.value.getContext("2d"),T(),"undefined"!=typeof window)){window.addEventListener("resize",U,{passive:!0});const e=()=>{s.value=!document.hidden};document.addEventListener("visibilitychange",e,{passive:!0})}t.enableRealAudio&&t.isListening&&setTimeout(()=>{x().catch(console.error)},100)}),Ei(()=>{r&&cancelAnimationFrame(r),"undefined"!=typeof window&&(window.removeEventListener("resize",U),document.removeEventListener("visibilitychange",()=>{s.value=!document.hidden})),C()}),_n([()=>t.isActive,()=>t.isConnected,()=>t.isListening,()=>t.isSpeaking,()=>t.rms],()=>{!n&&i.value&&(n=i.value.getContext("2d")),r&&cancelAnimationFrame(r),j()},{immediate:!0}),_n([()=>t.enableRealAudio,()=>t.isListening],async([e,t],[i,n])=>{!e||!t||i&&n||h.value||await x().catch(console.error),e&&t||!i||!n||C()},{immediate:!1}),_n(i,e=>{e&&!n&&(n=e.getContext("2d"),T(),j())}),(e,t)=>(Jn(),Yn("div",Mf,[rr("canvas",{ref_key:"canvasRef",ref:i,width:255,height:80,class:"max-w-full",style:F({height:"80px"})},null,12,_f)]))}}),[["__scopeId","data-v-e87b3c51"]]),Af={class:"flex flex-col h-full items-center justify-center px-6 py-8"},Of={class:"flex-1 flex flex-col items-center justify-center space-y-8 py-4"},Df={class:"h-32 w-full max-w-md"},Lf={class:"text-center flex gap-2 items-center text-xs"},Nf={class:"flex items-center justify-center gap-2"},jf={key:0,class:"size-2 bg-blue-500 rounded-full animate-pulse"},Ff={key:1,class:"size-2 bg-green-500 rounded-full animate-pulse"},Uf={key:2,class:"size-2 bg-white/50 rounded-full"},zf={key:3,class:"size-2 bg-red-500 rounded-full"},Bf={class:"text-white/70 text-sm max-w-xs leading-relaxed"},Vf={class:"flex flex-col items-center space-y-6"},qf={class:"text-white/50 text-xs text-center max-w-xs"},Hf=di({__name:"SelfVoice",props:{agentController:{}},setup(e){const t=Pr(()=>{const t=e.agentController?.voiceState.value;return t?.isConnected?"bg-red-500 border-red-400 hover:bg-red-600":"connecting"===t?.connectionStatus?"bg-yellow-500 border-yellow-400 cursor-not-allowed":"bg-green-500 border-green-400 hover:bg-green-600"}),i=Pr(()=>{const t=e.agentController?.voiceState.value;return!!t?.error||"connecting"===t?.connectionStatus});async function n(){if(e.agentController)try{e.agentController.voiceState.value.isConnected?await e.agentController.endConversation():(e.agentController.isConnected()&&await e.agentController.endConversation(),await e.agentController.startVoiceConversation(),e.agentController.agentMode.value="talk")}catch(t){}}return(e,r)=>(Jn(),Yn("div",Af,[rr("div",Of,[rr("div",Df,[ar(Rf,{"audio-levels":e.agentController?.audioLevels.value??{inputLevel:0,outputLevel:0},"is-listening":e.agentController?.voiceState.value.isListening??!1,"is-speaking":e.agentController?.voiceState.value.isSpeaking??!1,"is-connected":e.agentController?.voiceState.value.isConnected??!1,"enable-real-audio":!0,"enable-wave-motion":!0,"enable-scrolling-wave":!0,"agent-controller":e.agentController},null,8,["audio-levels","is-listening","is-speaking","is-connected","agent-controller"])]),rr("div",Lf,[rr("div",Nf,[e.agentController?.voiceState.value.isListening?(Jn(),Yn("div",jf)):e.agentController?.voiceState.value.isSpeaking?(Jn(),Yn("div",Ff)):!e.agentController?.voiceState.value.isConnected||e.agentController?.voiceState.value.isListening||e.agentController?.voiceState.value.isSpeaking?e.agentController?.voiceState.value.error?(Jn(),Yn("div",zf)):cr("",!0):(Jn(),Yn("div",Uf))]),rr("p",Bf,$(e.agentController?.voiceState.value.error?`Error: ${e.agentController.voiceState.value.error}`:e.agentController?.voiceState.value.transcript||"Ready to start a call..."),1)])]),rr("div",Vf,[ar(ls,{variant:"default",size:"lg",class:q(["px-8 py-3 rounded-full backdrop-blur-sm border-2 transition-all duration-200 text-white font-medium",t.value]),disabled:i.value,onClick:n},{default:Gt(()=>[rr("div",{class:q(["size-5 mr-2",e.agentController?.voiceState.value.isConnected?"i-heroicons-phone-x-mark":"connecting"===e.agentController?.voiceState.value.connectionStatus?"i-heroicons-arrow-path animate-spin":"i-heroicons-phone"])},null,2),sr(" "+$(e.agentController?.voiceState.value.isConnected?"End Call":"connecting"===e.agentController?.voiceState.value.connectionStatus?"Connecting...":"Start a Call"),1)]),_:1},8,["class","disabled"]),rr("p",qf,$(e.agentController?.voiceState.value.error?"Please check your microphone permissions and try again":e.agentController?.voiceState.value.isConnected?e.agentController?.voiceState.value.isListening?"Listening for your voice...":e.agentController?.voiceState.value.isSpeaking?"Agent is speaking...":"Call in progress":"Tap to begin voice conversation"),1)])]))}}),Gf={key:0,class:"absolute inset-0 flex items-center justify-center bg-gradient-to-br from-theme-800 to-theme-950 z-10"},Wf={key:1,class:"absolute inset-0"},$f={class:"relative z-20 p-2"},Jf={class:"flex items-center justify-between"},Kf={key:0,class:"relative grid grid-cols-3 rounded-full p-0.5 bg-white/5 backdrop-blur-sm ring-1 ring-inset ring-white/10"},Qf=["onClick"],Zf={class:"flex items-center justify-center gap-0.5 @[200px]/agent:gap-1 @[280px]/agent:gap-1.5"},Yf={class:"hidden @[140px]/agent:inline @[200px]/agent:text-xs text-[9px]"},Xf={key:0,class:"w-full space-y-6 py-6"},eb={class:"grid grid-cols-2 gap-6 w-full"},tb={key:2,class:"bg-white/10 backdrop-blur-sm text-white/70 flex items-center justify-center h-full"},ib=us(di({__name:"SelfAgent",props:{self:{},context:{},firstMessage:{},hasClose:{type:Boolean,default:!1},isActive:{type:Boolean,default:!0},loading:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){const i=t,n=mt(undefined,!0);const r=gt(!1),a=Pr(()=>n.value?.agentMode?.value??"select"),o=[{mode:"talk",label:"Talk",icon:"i-tabler-phone"},{mode:"chat",label:"Chat",icon:"i-tabler-message-circle"},{mode:"info",label:"Info",icon:"i-tabler-user-circle"}];return xi(()=>{n.value&&n.value.destroy(),n.value=new of({env:new Qa({NODE_ENV:"development"}),agentId:e.self.agentId,context:e.context,firstMessage:e.firstMessage})}),Ei(()=>{n.value&&n.value.destroy()}),(t,s)=>(Jn(),Yn("div",{key:ft(nf)(t.self),class:"@container/agent self-agent w-full h-full overflow-hidden relative md:rounded-3xl"},[t.loading?(Jn(),Yn("div",Gf,[ar(os,{class:"text-white size-8"})])):t.self?(Jn(),Yn("div",Wf,[rr("div",{class:"absolute inset-0 bg-cover bg-center bg-no-repeat",style:F({backgroundImage:`url(${e.self.cover?.src?e.self.cover.src:nf(e.self)})`})},null,4),rr("div",{class:q(["absolute inset-0 bg-gradient-to-br z-0","select"===a.value?"from-black/70 via-black/50 to-black/80":"from-black/90 via-black/90 to-black/100"])},null,2),rr("div",{class:q(["relative z-10 flex flex-col h-full transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)] will-change-transform",t.isActive?"opacity-100 translate-y-0":"opacity-0 translate-y-2"])},[rr("div",$f,[rr("div",Jf,[rr("button",{class:"cursor-pointer p-3 flex items-center 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:s[0]||(s[0]=e=>r.value=!0)},[...s[6]||(s[6]=[rr("i",{class:"i-tabler-menu size-6"},null,-1)])]),"select"!==a.value?(Jn(),Yn("div",Kf,[(Jn(),Yn(Vn,null,Di(o,e=>rr("button",{key:e.mode,class:q(["z-10 select-none relative cursor-pointer rounded-full px-2 @[400px]/agent:px-2 @[580px]/agent:px-3 py-1.5 text-[10px] @[200px]/agent:text-xs font-medium transition-all",[a.value===e.mode?"text-white bg-white/10":"text-white/60 hover:text-white/80"]]),onClick:t=>n.value?.setMode(e.mode)},[rr("span",Zf,[rr("i",{class:q(["w-3 h-3 @[200px]/agent:w-3.5 @[200px]/agent:h-3.5",[e.icon]])},null,2),rr("span",Yf,$(e.label),1)])],10,Qf)),64))])):cr("",!0),t.hasClose||"select"!==a.value?(Jn(),Yn("button",{key:1,class:"cursor-pointer flex items-center p-3 rounded-2xl text-white/70 hover:bg-white/10 transition-colors",onClick:s[1]||(s[1]=Da(e=>t.hasClose?i("close","button"):n.value?.setMode("select"),["stop"]))},[rr("i",{class:q(["size-6",t.hasClose?"i-tabler-x":"i-tabler-home"])},null,2)])):cr("",!0)])]),rr("div",{class:q(["flex-1 flex flex-col relative z-20 min-h-0 px-4 @[480px]/agent:px-6 max-w-lg lg:max-w-xl mx-auto w-full pb-4","select"===a.value?"justify-end h-full":""])},["select"===a.value?(Jn(),Xn(vs,{key:0,person:t.self,size:"lg","show-online-indicator":!0,layout:"centered"},null,8,["person"])):(Jn(),Xn(vs,{key:1,class:"px-4 pt-4 pb-4 sm:pb-6",person:t.self,size:"md","show-online-indicator":!1,layout:"horizontal"},null,8,["person"])),rr("div",{class:q(["min-h-0","select"!==a.value?"h-full":""])},["select"===a.value?(Jn(),Yn("div",Xf,[ar(ls,{variant:"default",size:"lg",class:"w-full px-8 py-4 rounded-full backdrop-blur-sm border-2 border-green-400 bg-green-500 hover:bg-green-600 transition-all duration-200 text-white font-medium",icon:"i-heroicons-phone",onClick:s[2]||(s[2]=e=>n.value?.setMode("talk"))},{default:Gt(()=>[...s[7]||(s[7]=[sr(" Start a Call ",-1)])]),_:1}),rr("div",eb,[ar(ls,{variant:"ghost",size:"lg",icon:"i-tabler-user-circle",class:"bg-white/10 hover:bg-white/30 backdrop-blur-sm border border-white/20 text-white/90 font-medium py-3 @sm:py-4 rounded-full",onClick:s[3]||(s[3]=e=>n.value?.setMode("info"))},{default:Gt(()=>[...s[8]||(s[8]=[sr(" Profile ",-1)])]),_:1}),ar(ls,{variant:"ghost",size:"lg",icon:"i-tabler-message-circle",class:"bg-white/10 hover:bg-white/30 backdrop-blur-sm border border-white/20 text-white/90 font-medium py-3 @sm:py-4 rounded-full",onClick:s[4]||(s[4]=e=>n.value?.setMode("chat"))},{default:Gt(()=>[...s[9]||(s[9]=[sr(" Text Chat ",-1)])]),_:1})])])):(Jn(),Yn(Vn,{key:1},["chat"===a.value?(Jn(),Xn(Pf,{key:0,"agent-controller":n.value},null,8,["agent-controller"])):"talk"===a.value?(Jn(),Xn(Hf,{key:1,"agent-controller":n.value},null,8,["agent-controller"])):"info"===a.value?(Jn(),Xn(kf,{key:2,person:t.self},null,8,["person"])):cr("",!0)],64))],2)],2),rr("div",{class:q(["relative z-20 text-center py-5 px-6","info"===a.value?"hidden":""])},[...s[10]||(s[10]=[rr("a",{href:"https://www.fiction.com",class:"flex items-center justify-center gap-1.5 text-[10px] font-mono font-normal text-white/50 hover:text-white/70 transition-colors"},[rr("span",{class:""},"Digital Self\u2122"),rr("span",{class:"text-white/20"},"by"),rr("span",null,"Fiction.com")],-1)])],2)],2)])):(Jn(),Yn("div",tb," There was an error loading the digital self. Please try again later. ")),ar(Es,{modelValue:r.value,"onUpdate:modelValue":s[5]||(s[5]=e=>r.value=e),self:t.self},null,8,["modelValue","self"])]))}}),[["__scopeId","data-v-0b10a9b7"]]),nb={class:"agent-provider"},rb={key:0,class:"flex items-center justify-center h-full"},ab={key:1},ob=di({__name:"AgentProvider",props:{handle:{},context:{},firstMessage:{},apiBase:{}},setup(e){const t=e,i=gt(!0),n=gt(),r=gt(),a=Pr(()=>n.value?.agentId||"");return xi(async()=>{try{i.value=!0;const e=await async function(e){try{const i=t.apiBase||"https://www.fiction.com",n=await fetch(`${i}/api/selves/${e}`),r=await n.json();return r.ok?r.data:void 0}catch(i){return}}(t.handle);e&&(n.value=e)}catch(e){}finally{i.value=!1}}),rn("digitalSelf",n),rn("loading",i),rn("error",r),(e,t)=>(Jn(),Yn("div",nb,[i.value?(Jn(),Yn("div",rb,[...t[0]||(t[0]=[rr("div",{class:"animate-spin rounded-full size-6 border-b-2 border-white"},null,-1)])])):n.value&&a.value?(Jn(),Yn("div",ab,[Li(e.$slots,"default",{digitalSelf:n.value,agentId:a.value,context:e.context,firstMessage:e.firstMessage,loading:i.value})])):cr("",!0)]))}}),sb={key:0,class:"relative h-full w-full"},cb={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"},lb=["src","alt"],db=di({__name:"FictionWidget",props:{handle:{},context:{},firstMessage:{},position:{},apiBase:{}},setup(e,{expose:t}){const i=e,n=gt(!1),r=gt(!1);function a(){n.value=!n.value}function o(){n.value=!1}function s(){o()}return gt(),_n(n,async e=>{e?(await Lt(),setTimeout(()=>{r.value=!0},400)):r.value=!1}),t({toggle:a,open:function(){n.value=!0},close:o}),(e,t)=>(Jn(),Xn(ob,{handle:e.handle,context:e.context,"first-message":e.firstMessage,"api-base":e.apiBase},{default:Gt(({digitalSelf:o})=>[o?(Jn(),Yn("div",{key:0,class:q(["fixed z-[999999] pointer-events-auto",["bottom-left"===i.position?"bottom-6 left-6":"top-right"===i.position?"top-6 right-6":"top-left"===i.position?"top-6 left-6":"bottom-6 right-6"]])},[rr("div",{class:q(["transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)] transform-gpu",[n.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:F({"transform-origin":"bottom-left"===i.position?"bottom left":"top-right"===i.position?"top right":"top-left"===i.position?"top left":"bottom right"}),onClick:t[1]||(t[1]=e=>n.value?void 0:a())},[n.value?cr("",!0):(Jn(),Yn("div",sb,[rr("div",cb,[rr("img",{src:ft(tf)(o.avatar)||ft(rf)(),alt:`${o.name} avatar`,class:"h-full w-full object-cover pointer-events-none",onError:t[0]||(t[0]=(...e)=>ft(af)&&ft(af)(...e))},null,40,lb),t[2]||(t[2]=rr("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))]),t[3]||(t[3]=rr("div",{class:"absolute top-0.5 right-0.5"},[rr("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white absolute",style:{animation:"ping 3s cubic-bezier(0, 0, 0.2, 1) infinite"}}),rr("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white"})],-1))])),n.value&&o?(Jn(),Xn(ib,{key:1,self:o,context:e.context,"first-message":e.firstMessage,"has-close":!0,"is-active":r.value,onClose:s},null,8,["self","context","first-message","is-active"])):cr("",!0)],6)],2)):cr("",!0)]),_:1},8,["handle","context","first-message","api-base"]))}}),ub=class e{constructor(t){__publicField(this,"app",null),__publicField(this,"shadowRoot",null),__publicField(this,"container",null),__publicField(this,"widgetInstance",null),__publicField(this,"config"),this.config=t;const i=e.instances.get(t.handle);i&&(t.handle,i.destroy()),this.init(),e.instances.set(t.handle,this)}init(){this.container=document.createElement("div"),this.container.id=`fiction-widget-${this.config.handle}`;const e=this.config.position||"bottom-right",t=this.getPositionStyles(e);this.container.style.cssText=`\n position: fixed;\n ${t}\n z-index: 9999;\n pointer-events: auto;\n font-family: system-ui, -apple-system, sans-serif;\n `,this.shadowRoot=this.container.attachShadow({mode:"open"});const i=document.createElement("style");i.textContent="/*! tailwindcss v4.1.12 | 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-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",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-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-300:oklch(83.7% .128 66.29);--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-yellow-50:oklch(98.7% .026 102.212);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--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-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-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--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-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--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-50:oklch(98.4% .003 247.858);--color-slate-900:oklch(20.8% .042 265.755);--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-gray-950:oklch(13% .028 261.692);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--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;--container-7xl:80rem;--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;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--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;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--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)}}@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%;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}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\\@container\\/agent{container:agent/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);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-x-0{inset-inline: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-4{top:calc(var(--spacing)*-4)}.-top-6{top:calc(var(--spacing)*-6)}.-top-10{top:calc(var(--spacing)*-10)}.-top-24{top:calc(var(--spacing)*-24)}.top-0{top:calc(var(--spacing)*0)}.top-0\\.5{top:calc(var(--spacing)*.5)}.top-1{top:calc(var(--spacing)*1)}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.top-6{top:calc(var(--spacing)*6)}.top-20{top:calc(var(--spacing)*20)}.top-24{top:calc(var(--spacing)*24)}.top-\\[-10px\\]{top:-10px}.top-\\[12\\.5px\\]{top:12.5px}.-right-16{right:calc(var(--spacing)*-16)}.-right-20{right:calc(var(--spacing)*-20)}.right-0{right:calc(var(--spacing)*0)}.right-0\\.5{right:calc(var(--spacing)*.5)}.right-1{right:calc(var(--spacing)*1)}.right-1\\/2{right:50%}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-8{right:calc(var(--spacing)*8)}.right-12{right:calc(var(--spacing)*12)}.right-16{right:calc(var(--spacing)*16)}.right-20{right:calc(var(--spacing)*20)}.right-40{right:calc(var(--spacing)*40)}.right-\\[-4px\\]{right:-4px}.right-\\[12\\.5px\\]{right:12.5px}.-bottom-1{bottom:calc(var(--spacing)*-1)}.-bottom-6{bottom:calc(var(--spacing)*-6)}.-bottom-10{bottom:calc(var(--spacing)*-10)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.bottom-8{bottom:calc(var(--spacing)*8)}.bottom-16{bottom:calc(var(--spacing)*16)}.bottom-20{bottom:calc(var(--spacing)*20)}.bottom-\\[12\\.5px\\]{bottom:12.5px}.-left-6{left:calc(var(--spacing)*-6)}.-left-24{left:calc(var(--spacing)*-24)}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.left-6{left:calc(var(--spacing)*6)}.left-8{left:calc(var(--spacing)*8)}.left-10{left:calc(var(--spacing)*10)}.left-12{left:calc(var(--spacing)*12)}.left-14{left:calc(var(--spacing)*14)}.left-20{left:calc(var(--spacing)*20)}.left-\\[-4px\\]{left:-4px}.left-\\[12\\.5px\\]{left:12.5px}.left-\\[13px\\]{left:13px}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-15{z-index:15}.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}.col-span-2{grid-column:span 2/span 2}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.float-right{float:right}.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}}.-m-2{margin:calc(var(--spacing)*-2)}.m-0{margin:calc(var(--spacing)*0)}.m-4{margin:calc(var(--spacing)*4)}.-mx-\\[50vw\\]{margin-inline:-50vw}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing)*6)}.my-8{margin-block:calc(var(--spacing)*8)}.-mt-8{margin-top:calc(var(--spacing)*-8)}.-mt-12{margin-top:calc(var(--spacing)*-12)}.-mt-20{margin-top:calc(var(--spacing)*-20)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.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-16{margin-top:calc(var(--spacing)*16)}.mt-20{margin-top:calc(var(--spacing)*20)}.mt-24{margin-top:calc(var(--spacing)*24)}.mt-\\[-\\.07em\\]{margin-top:-.07em}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-6{margin-right:calc(var(--spacing)*6)}.-mb-32{margin-bottom:calc(var(--spacing)*-32)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.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-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.mb-20{margin-bottom:calc(var(--spacing)*20)}.mb-24{margin-bottom:calc(var(--spacing)*24)}.-ml-4{margin-left:calc(var(--spacing)*-4)}.ml-0\\.5{margin-left:calc(var(--spacing)*.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.i-heroicons-arrow-path{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-paper-airplane{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M6 12L3.269 3.125A59.8 59.8 0 0 1 21.486 12a59.8 59.8 0 0 1-18.217 8.875zm0 0h7.5'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-x-mark{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E\");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-arrow-down{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 5v14m7-7l-7 7l-7-7'/%3E%3C/svg%3E\");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-arrow-right{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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-7-7l7 7l-7 7'/%3E%3C/svg%3E\");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-arrow-up-right{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 7h10v10M7 17L17 7'/%3E%3C/svg%3E\");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-award{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='m15.477 12.89l1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526'/%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3C/g%3E%3C/svg%3E\");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-brain{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 18V5m3 8a4.17 4.17 0 0 1-3-4a4.17 4.17 0 0 1-3 4m8.598-6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5'/%3E%3Cpath d='M17.997 5.125a4 4 0 0 1 2.526 5.77'/%3E%3Cpath d='M18 18a4 4 0 0 0 2-7.464'/%3E%3Cpath d='M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517'/%3E%3Cpath d='M6 18a4 4 0 0 1-2-7.464'/%3E%3Cpath d='M6.003 5.125a4 4 0 0 0-2.526 5.77'/%3E%3C/g%3E%3C/svg%3E\");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-check{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 6L9 17l-5-5'/%3E%3C/svg%3E\");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-chevron-down{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-chevron-left{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 18l-6-6l6-6'/%3E%3C/svg%3E\");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-chevron-right{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 18l6-6l-6-6'/%3E%3C/svg%3E\");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-chevron-up{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 15l-6-6l-6 6'/%3E%3C/svg%3E\");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-clock{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 6v6l4 2'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/g%3E%3C/svg%3E\");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-dollar-sign{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 2v20m5-17H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E\");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-github{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5c.08-1.25-.27-2.48-1-3.5c.28-1.15.28-2.35 0-3.5c0 0-1 0-3 1.5c-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.4 5.4 0 0 0 4 9c0 3.5 3 5.5 6 5.5c-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4'/%3E%3Cpath d='M9 18c-4.51 2-5-2-7-2'/%3E%3C/g%3E%3C/svg%3E\");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-globe{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20a14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/g%3E%3C/svg%3E\");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-graduation-cap{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0zM22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/g%3E%3C/svg%3E\");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-headphones{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E\");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-heart{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 9.5a5.5 5.5 0 0 1 9.591-3.676a.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E\");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-home{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/g%3E%3C/svg%3E\");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-linkedin{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2a2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6M2 9h4v12H2z'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/g%3E%3C/svg%3E\");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-loader-2{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 12a9 9 0 1 1-6.219-8.56'/%3E%3C/svg%3E\");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-mail{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E\");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-map-pin{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/g%3E%3C/svg%3E\");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-phone-call{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 2a9 9 0 0 1 9 9m-9-5a5 5 0 0 1 5 5m-4.168 5.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E\");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-shield{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3C/svg%3E\");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-sparkles{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4m2-2h-4'/%3E%3Ccircle cx='4' cy='20' r='2'/%3E%3C/g%3E%3C/svg%3E\");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-trending-down{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M16 17h6v-6'/%3E%3Cpath d='m22 17l-8.5-8.5l-5 5L2 7'/%3E%3C/g%3E%3C/svg%3E\");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-trending-up{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M16 7h6v6'/%3E%3Cpath d='m22 7l-8.5 8.5l-5-5L2 17'/%3E%3C/g%3E%3C/svg%3E\");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-twitter{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6c2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4c-.9-4.2 4-6.6 7-3.8c1.1 0 3-1.2 3-1.2'/%3E%3C/svg%3E\");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-upload{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E\");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-users{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3.128a4 4 0 0 1 0 7.744M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/g%3E%3C/svg%3E\");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-x{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-calendly{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M19.655 14.262q.421.001.828.064c0 .005-.005.01-.005.014a6 6 0 0 1-.381.786l-1.219 2.106a6.24 6.24 0 0 1-5.411 3.127h-2.432a6.25 6.25 0 0 1-5.412-3.127l-1.218-2.106a6.25 6.25 0 0 1 0-6.252l1.218-2.106a6.24 6.24 0 0 1 5.412-3.127h2.432a6.25 6.25 0 0 1 5.411 3.127l1.219 2.106c.147.252.271.519.381.786c0 .004.005.009.005.014a5.5 5.5 0 0 1-.828.064c-1.816 0-2.501-.607-3.291-1.306c-.764-.676-1.711-1.517-3.44-1.517h-1.029c-1.251 0-2.387.455-3.2 1.278c-.796.805-1.233 1.904-1.233 3.099v1.411c0 1.196.437 2.295 1.233 3.099c.813.823 1.949 1.278 3.2 1.278h1.034c1.729 0 2.676-.841 3.439-1.517c.791-.703 1.471-1.306 3.287-1.301m.005-3.237q.6 0 1.179-.11q-.003-.007-.002-.014a6.3 6.3 0 0 0-.349-1.218a4.6 4.6 0 0 0 1.986-.819c0-.004-.005-.013-.005-.018a10.6 10.6 0 0 0-1.489-3.03a10.9 10.9 0 0 0-2.331-2.395a10.64 10.64 0 0 0-6.428-2.138c-1.448 0-2.855.28-4.175.841c-1.273.543-2.423 1.315-3.407 2.299S2.878 6.552 2.341 7.83a10.7 10.7 0 0 0-.842 4.175c0 1.448.281 2.855.842 4.174c.542 1.274 1.314 2.423 2.298 3.407s2.129 1.761 3.407 2.299c1.324.556 2.727.841 4.175.841c2.34 0 4.561-.74 6.428-2.137a10.8 10.8 0 0 0 2.331-2.396a10.8 10.8 0 0 0 1.489-3.03c0-.004.005-.014.005-.018a4.6 4.6 0 0 0-1.986-.819c.161-.395.276-.804.349-1.218c.005-.009.005-.014.005-.023a5.85 5.85 0 0 1 2.404 1.035c.685.505.552 1.075.446 1.416C22.184 20.437 17.619 24 12.221 24c-6.625 0-12-5.375-12-12s5.37-12 12-12c5.398 0 9.963 3.563 11.471 8.464c.106.341.239.915-.446 1.421a5.8 5.8 0 0 1-2.404 1.034c.128.716.128 1.45 0 2.166a6.3 6.3 0 0 0-1.182-.11c-4.184 0-3.968 2.823-6.736 2.823h-1.029c-1.899 0-3.15-1.357-3.15-3.095v-1.411c0-1.738 1.251-3.094 3.15-3.094h1.034c2.768 0 2.552 2.823 6.731 2.827'/%3E%3C/svg%3E\");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-discord{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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.317 4.37a19.8 19.8 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0a13 13 0 0 0-.617-1.25a.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.08.08 0 0 0 .084-.028a14 14 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13 13 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10 10 0 0 0 .372-.292a.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01q.181.149.373.292a.077.077 0 0 1-.006.127a12.3 12.3 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028a19.8 19.8 0 0 0 6.002-3.03a.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-n8n{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M21.474 5.684a2.53 2.53 0 0 0-2.447 1.895H16.13a2.526 2.526 0 0 0-2.492 2.11l-.103.624a1.26 1.26 0 0 1-1.246 1.055h-1.001a2.527 2.527 0 0 0-4.893 0H4.973a2.527 2.527 0 1 0 0 1.264h1.422a2.527 2.527 0 0 0 4.894 0h1a1.26 1.26 0 0 1 1.247 1.055l.103.623a2.526 2.526 0 0 0 2.492 2.111h.37a2.527 2.527 0 1 0 0-1.263h-.37a1.26 1.26 0 0 1-1.246-1.056l-.103-.623A2.52 2.52 0 0 0 13.96 12a2.52 2.52 0 0 0 .82-1.48l.104-.622a1.26 1.26 0 0 1 1.246-1.056h2.896a2.527 2.527 0 1 0 2.447-3.158m0 1.263a1.263 1.263 0 0 1 1.263 1.263a1.263 1.263 0 0 1-1.263 1.264A1.263 1.263 0 0 1 20.21 8.21a1.263 1.263 0 0 1 1.264-1.263m-18.948 3.79A1.263 1.263 0 0 1 3.79 12a1.263 1.263 0 0 1-1.264 1.263A1.263 1.263 0 0 1 1.263 12a1.263 1.263 0 0 1 1.263-1.263m6.316 0A1.263 1.263 0 0 1 10.105 12a1.263 1.263 0 0 1-1.263 1.263A1.263 1.263 0 0 1 7.58 12a1.263 1.263 0 0 1 1.263-1.263m10.106 3.79a1.263 1.263 0 0 1 1.263 1.263a1.263 1.263 0 0 1-1.263 1.263a1.263 1.263 0 0 1-1.264-1.263a1.263 1.263 0 0 1 1.263-1.264'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584l-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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-6l-6 6m-6-6l6 6'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-cash{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 15H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3'/%3E%3Cpath d='M7 10a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z'/%3E%3Cpath d='M12 14a2 2 0 1 0 4 0a2 2 0 0 0-4 0'/%3E%3C/g%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-cookie{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 13v.01M12 17v.01M12 12v.01M16 14v.01M11 8v.01m2.148-4.534l2.667 1.104a4 4 0 0 0 4.656 6.14l.053.132a3 3 0 0 1 0 2.296Q19.779 14.328 19.5 15q-.283.684-.66 2.216a3 3 0 0 1-1.624 1.623q-1.572.394-2.216.661q-.712.295-1.852 1.024a3 3 0 0 1-2.296 0Q9.649 19.77 9 19.5q-.707-.292-2.216-.66a3 3 0 0 1-1.623-1.624Q4.764 15.639 4.5 15q-.298-.718-1.024-1.852a3 3 0 0 1 0-2.296Q4.195 9.736 4.5 9q.257-.62.66-2.216a3 3 0 0 1 1.624-1.623Q8.331 4.777 9 4.5q.687-.285 1.852-1.024a3 3 0 0 1 2.296 0'/%3E%3C/svg%3E\");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-heart-broken{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M19.5 12.572L12 20l-7.5-7.428A5 5 0 1 1 12 6.006a5 5 0 1 1 7.5 6.572'/%3E%3Cpath d='m12 6l-2 4l4 3l-2 4v3'/%3E%3C/g%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='m3 7l9 6l9-6'/%3E%3C/g%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-repeat{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 12V9a3 3 0 0 1 3-3h13m-3-3l3 3l-3 3m3 3v3a3 3 0 0 1-3 3H4m3 3l-3-3l3-3'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-check{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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.46 20.846A12 12 0 0 1 3.5 6A12 12 0 0 0 12 3a12 12 0 0 0 8.5 3a12 12 0 0 1-.09 7.06M15 19l2 2l4-4'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-filled{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='m8.243 7.34l-6.38.925l-.113.023a1 1 0 0 0-.44 1.684l4.622 4.499l-1.09 6.355l-.013.11a1 1 0 0 0 1.464.944l5.706-3l5.693 3l.1.046a1 1 0 0 0 1.352-1.1l-1.091-6.355l4.624-4.5l.078-.085a1 1 0 0 0-.633-1.62l-6.38-.926l-2.852-5.78a1 1 0 0 0-1.794 0z'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-logos-airtable{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 215' width='256' height='215'%3E%3Cpath fill='%23FFBF00' d='M114.259 2.701L18.86 42.176c-5.305 2.195-5.25 9.73.089 11.847l95.797 37.989a35.54 35.54 0 0 0 26.208 0l95.799-37.99c5.337-2.115 5.393-9.65.086-11.846L141.442 2.7a35.55 35.55 0 0 0-27.183 0'/%3E%3Cpath fill='%2326B5F8' d='M136.35 112.757v94.902c0 4.514 4.55 7.605 8.746 5.942l106.748-41.435a6.39 6.39 0 0 0 4.035-5.941V71.322c0-4.514-4.551-7.604-8.747-5.941l-106.748 41.434a6.39 6.39 0 0 0-4.035 5.942'/%3E%3Cpath fill='%23ED3049' d='m111.423 117.654l-31.68 15.296l-3.217 1.555L9.65 166.548C5.411 168.593 0 165.504 0 160.795V71.72c0-1.704.874-3.175 2.046-4.283a7.3 7.3 0 0 1 1.618-1.213c1.598-.959 3.878-1.215 5.816-.448l101.41 40.18c5.155 2.045 5.56 9.268.533 11.697'/%3E%3Cpath fill-opacity='.25' d='m111.423 117.654l-31.68 15.296L2.045 67.438a7.3 7.3 0 0 1 1.618-1.213c1.598-.959 3.878-1.215 5.816-.448l101.41 40.18c5.155 2.045 5.56 9.268.533 11.697'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-anthropic-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 176' width='256' height='176'%3E%3Cpath fill='%23181818' d='m147.487 0l70.081 175.78H256L185.919 0zM66.183 106.221l23.98-61.774l23.98 61.774zM70.07 0L0 175.78h39.18l14.33-36.914h73.308l14.328 36.914h39.179L110.255 0z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-asana{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 102' width='512' height='102'%3E%3Cpath fill='%230D0E10' d='m499.094 77.034l.001.008c.31 3.53 3.133 8.022 8.024 8.022h2.862c1.11 0 2.019-.91 2.019-2.02V20.107h-.013a2.02 2.02 0 0 0-2.006-1.91h-8.868a2.02 2.02 0 0 0-2.007 1.91h-.011v5.114c-5.433-6.697-14-9.477-22.589-9.477c-19.526 0-35.354 15.84-35.354 35.382s15.828 35.383 35.354 35.383v.002c8.59 0 17.95-3.335 22.588-9.476m-22.554-2.91c-12.418 0-22.486-10.296-22.486-23c0-12.7 10.068-22.998 22.486-22.998s22.484 10.298 22.484 22.999c0 12.576-9.866 22.794-22.112 22.997zm-46.599 5.083l-.004-32.568h.001c0-18.359-11.573-30.744-30.028-30.744c-8.81 0-16.03 5.098-18.581 9.477l-.043-.25l-.047-.252l-.026-.125l-.055-.251l-.06-.25l-.065-.25l-.072-.248a10 10 0 0 0-.16-.492l-.09-.243c-.98-2.538-3.055-4.662-7.384-4.662h-2.87c-1.111 0-2.019.91-2.019 2.02v62.944h.012a2.02 2.02 0 0 0 2.007 1.91h8.868c.136 0 .269-.017.397-.042l.058-.015l.113-.036l.133-.038l.064-.023l.077-.036l.255-.143a2 2 0 0 0 .169-.126l.08-.07c.012-.013.028-.021.04-.033a2 2 0 0 0 .62-1.348h.011v-37.18c0-9.86 7.988-17.853 17.841-17.853s17.84 7.994 17.84 17.854l.009 31.077l.002-.011l.004.085v6.028h.012a2.02 2.02 0 0 0 2.007 1.91h8.868c.136 0 .269-.017.397-.042c.053-.01.101-.03.152-.045l.146-.042l.071-.025c.073-.03.139-.072.207-.11c.042-.024.086-.042.127-.069c.081-.053.156-.118.23-.183l.058-.048q.083-.08.156-.17l.086-.11a2 2 0 0 0 .364-.93l.013-.136h.011v-4.105zm-92.354-2.173v.008c.311 3.53 3.134 8.022 8.025 8.022h2.862c1.11 0 2.017-.91 2.017-2.02V20.107h-.011a2.02 2.02 0 0 0-2.006-1.91h-8.868a2.02 2.02 0 0 0-2.008 1.91h-.01v5.114c-5.434-6.697-14-9.477-22.59-9.477c-19.525 0-35.353 15.84-35.353 35.382s15.828 35.383 35.353 35.383v.002c8.59 0 17.952-3.335 22.589-9.476m-22.555-2.91c-12.417 0-22.484-10.296-22.484-23c0-12.7 10.067-22.998 22.484-22.998c12.419 0 22.484 10.298 22.484 22.999c0 12.576-9.865 22.794-22.112 22.997zm-87.829-6.096c5.92 4.104 12.382 6.097 18.591 6.097c1.22 0 2.448-.13 3.63-.384l.353-.08q.263-.062.523-.134l.344-.098q.172-.051.341-.105l.336-.113c.78-.271 1.52-.601 2.205-.988l.29-.169c2.385-1.436 4.01-3.586 4.01-6.34c0-3.709-3.604-5.789-8.24-7.332l-.54-.175l-.273-.087l-.551-.169l-.559-.165l-.564-.162l-.857-.238l-.865-.231l-1.162-.302l-2.905-.74l-1.143-.298l-.844-.227l-.555-.154l-.546-.156l-.27-.079l-.535-.16l-.263-.08l-.52-.166q-.256-.084-.508-.169c-8.374-2.847-15.587-8.735-15.587-18.268c0-14.589 12.989-20.614 25.111-20.614c7.681 0 15.607 2.535 20.745 6.166c.971.737 1.084 1.533.989 2.102l-.023.118l-.029.11l-.032.103l-.034.094l-.035.084l-.05.107l-.044.082l-.05.082l-4.905 7.01q-.046.067-.096.13l-.103.128c-.554.644-1.414 1.09-2.586.427l-.17-.102l-.855-.54l-.307-.187l-.337-.2l-.241-.14l-.255-.143l-.133-.074l-.275-.149l-.288-.15l-.3-.154l-.315-.154l-.327-.155l-.34-.155l-.352-.154l-.365-.153l-.377-.15a23.4 23.4 0 0 0-8.51-1.6c-7.396 0-11.851 3.42-11.851 7.656c0 2.407 1.299 4.032 3.388 5.26l.283.162q.648.357 1.382.674l.33.139l.168.068l.34.134l.174.066l.352.13l.358.127l.365.124l.185.061l.375.12l.572.178l.585.173l.596.17l.403.112l.408.111l.828.22l1.48.382l1.423.386l1.07.296l.715.202l.357.102l.713.207l.356.105l.711.214l.708.22c9.779 3.068 18.661 7.754 18.661 19.79c0 12.854-12.014 20.797-25.29 20.797c-10.063 0-18.629-2.87-25.814-8.147c-.904-.906-.88-1.772-.72-2.316l.035-.108l.037-.098l.038-.088l.038-.077l.05-.094l.071-.11l4.88-6.975c.837-1.098 1.857-.949 2.485-.648l.113.058l.103.06zm-34.091 9.006v.008c.31 3.53 3.134 8.022 8.025 8.022H204c1.11 0 2.019-.91 2.019-2.02V20.107h-.013a2.02 2.02 0 0 0-2.006-1.91h-8.868a2.02 2.02 0 0 0-2.008 1.91h-.01v5.114c-5.433-6.697-14-9.477-22.59-9.477c-19.524 0-35.353 15.84-35.353 35.382S151 86.509 170.525 86.509v.002c8.59 0 17.95-3.335 22.588-9.476m-22.554-2.91c-12.418 0-22.485-10.296-22.485-23c0-12.7 10.067-22.998 22.485-22.998s22.484 10.298 22.484 22.999c0 12.576-9.866 22.794-22.112 22.997z'/%3E%3Cpath fill='%23F06A6A' d='M85.605 53.532c-13.14 0-23.792 10.652-23.792 23.792s10.652 23.792 23.792 23.792s23.791-10.652 23.791-23.792s-10.651-23.792-23.791-23.792m-61.813.002C10.652 53.534 0 64.184 0 77.324s10.652 23.792 23.792 23.792s23.793-10.652 23.793-23.792s-10.653-23.79-23.793-23.79M78.49 23.79c0 13.141-10.652 23.794-23.792 23.794S30.907 36.932 30.907 23.791C30.907 10.653 41.558 0 54.698 0S78.49 10.653 78.49 23.791'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-asana-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 237' width='256' height='237'%3E%3Cpath fill='%23F06A6A' d='M200.325 125.27c-30.749 0-55.675 24.927-55.675 55.677s24.926 55.677 55.675 55.677S256 211.696 256 180.947c0-30.75-24.926-55.677-55.675-55.677m-144.65.005C24.927 125.275 0 150.197 0 180.947s24.927 55.677 55.675 55.677c30.75 0 55.678-24.928 55.678-55.677c0-30.75-24.928-55.672-55.678-55.672m128-69.6c0 30.75-24.927 55.68-55.674 55.68c-30.75 0-55.676-24.93-55.676-55.68C72.325 24.928 97.25 0 128 0c30.747 0 55.673 24.93 55.673 55.674'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-aws{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 153' width='256' height='153'%3E%3Cpath fill='%23252F3E' d='M72.392 55.438c0 3.137.34 5.68.933 7.545a45.4 45.4 0 0 0 2.712 6.103c.424.678.593 1.356.593 1.95c0 .847-.508 1.695-1.61 2.543l-5.34 3.56c-.763.509-1.526.763-2.205.763c-.847 0-1.695-.424-2.543-1.187a26 26 0 0 1-3.051-3.984c-.848-1.44-1.696-3.052-2.628-5.001q-9.919 11.697-24.922 11.698c-7.12 0-12.8-2.035-16.954-6.103c-4.153-4.07-6.272-9.495-6.272-16.276c0-7.205 2.543-13.054 7.714-17.462c5.17-4.408 12.037-6.612 20.768-6.612c2.882 0 5.849.254 8.985.678c3.137.424 6.358 1.102 9.749 1.865V29.33c0-6.443-1.357-10.935-3.985-13.563c-2.712-2.628-7.29-3.9-13.817-3.9c-2.967 0-6.018.34-9.155 1.103s-6.188 1.695-9.155 2.882c-1.356.593-2.373.932-2.967 1.102s-1.017.254-1.356.254c-1.187 0-1.78-.848-1.78-2.628v-4.154c0-1.356.17-2.373.593-2.966c.424-.594 1.187-1.187 2.374-1.78q4.45-2.29 10.68-3.815C33.908.763 38.316.255 42.978.255c10.088 0 17.463 2.288 22.21 6.866c4.662 4.577 7.036 11.528 7.036 20.853v27.464zM37.976 68.323c2.798 0 5.68-.508 8.731-1.526c3.052-1.017 5.765-2.882 8.053-5.425c1.357-1.61 2.374-3.39 2.882-5.425c.509-2.034.848-4.493.848-7.375v-3.56a71 71 0 0 0-7.799-1.441a64 64 0 0 0-7.968-.509c-5.68 0-9.833 1.102-12.63 3.391s-4.154 5.51-4.154 9.748c0 3.984 1.017 6.951 3.136 8.986c2.035 2.119 5.002 3.136 8.901 3.136m68.069 9.155c-1.526 0-2.543-.254-3.221-.848c-.678-.508-1.272-1.695-1.78-3.305L81.124 7.799c-.51-1.696-.764-2.798-.764-3.391c0-1.356.678-2.12 2.035-2.12h8.307c1.61 0 2.713.255 3.306.848c.678.509 1.187 1.696 1.695 3.306l14.241 56.117l13.224-56.117c.424-1.695.933-2.797 1.61-3.306c.679-.508 1.866-.847 3.392-.847h6.781c1.61 0 2.713.254 3.39.847c.679.509 1.272 1.696 1.611 3.306l13.394 56.795L168.01 6.442c.508-1.695 1.102-2.797 1.695-3.306c.678-.508 1.78-.847 3.306-.847h7.883c1.357 0 2.12.678 2.12 2.119c0 .424-.085.848-.17 1.356s-.254 1.187-.593 2.12l-20.43 65.525q-.762 2.544-1.78 3.306c-.678.509-1.78.848-3.22.848h-7.29c-1.611 0-2.713-.254-3.392-.848c-.678-.593-1.271-1.695-1.61-3.39l-13.14-54.676l-13.054 54.59c-.423 1.696-.932 2.798-1.61 3.391c-.678.594-1.865.848-3.39.848zm108.927 2.289c-4.408 0-8.816-.509-13.054-1.526c-4.239-1.017-7.544-2.12-9.748-3.39c-1.357-.764-2.29-1.611-2.628-2.374a6 6 0 0 1-.509-2.374V65.78c0-1.78.678-2.628 1.95-2.628a4.8 4.8 0 0 1 1.526.255c.508.17 1.271.508 2.119.847a46 46 0 0 0 9.324 2.967a51 51 0 0 0 10.088 1.017c5.34 0 9.494-.932 12.376-2.797s4.408-4.577 4.408-8.053c0-2.373-.763-4.323-2.289-5.934s-4.408-3.051-8.561-4.408l-12.292-3.814c-6.188-1.95-10.765-4.832-13.563-8.647c-2.797-3.73-4.238-7.883-4.238-12.291q0-5.34 2.289-9.41c1.525-2.712 3.56-5.085 6.103-6.95c2.543-1.95 5.425-3.391 8.816-4.408c3.39-1.017 6.95-1.441 10.68-1.441c1.865 0 3.815.085 5.68.339c1.95.254 3.73.593 5.51.932c1.695.424 3.306.848 4.832 1.357q2.288.762 3.56 1.525c1.187.679 2.034 1.357 2.543 2.12q.763 1.017.763 2.797v3.984c0 1.78-.678 2.713-1.95 2.713c-.678 0-1.78-.34-3.22-1.018q-7.25-3.306-16.276-3.306c-4.832 0-8.647.763-11.275 2.374c-2.627 1.61-3.984 4.069-3.984 7.544c0 2.374.848 4.408 2.543 6.019s4.832 3.221 9.325 4.662l12.037 3.815c6.103 1.95 10.511 4.662 13.139 8.137s3.9 7.46 3.9 11.868c0 3.645-.764 6.951-2.205 9.833c-1.525 2.882-3.56 5.425-6.188 7.46c-2.628 2.119-5.764 3.645-9.409 4.747c-3.815 1.187-7.799 1.78-12.122 1.78'/%3E%3Cpath fill='%23F90' d='M230.993 120.964c-27.888 20.599-68.408 31.534-103.247 31.534c-48.827 0-92.821-18.056-126.05-48.064c-2.628-2.373-.255-5.594 2.881-3.73c35.942 20.854 80.276 33.484 126.136 33.484c30.94 0 64.932-6.442 96.212-19.666c4.662-2.12 8.646 3.052 4.068 6.442m11.614-13.224c-3.56-4.577-23.566-2.204-32.636-1.102c-2.713.34-3.137-2.034-.678-3.814c15.936-11.19 42.13-7.968 45.181-4.239c3.052 3.815-.848 30.008-15.767 42.554c-2.288 1.95-4.492.933-3.475-1.61c3.39-8.393 10.935-27.296 7.375-31.789'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-azure-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 199' width='256' height='199'%3E%3Cpath d='M118.432 187.698c32.89-5.81 60.055-10.618 60.367-10.684l.568-.12l-31.052-36.935c-17.078-20.314-31.051-37.014-31.051-37.11c0-.182 32.063-88.477 32.243-88.792c.06-.105 21.88 37.567 52.893 91.32c29.035 50.323 52.973 91.815 53.195 92.203l.405.707l-98.684-.012l-98.684-.013l59.8-10.564zM0 176.435c0-.052 14.631-25.451 32.514-56.442l32.514-56.347l37.891-31.799C123.76 14.358 140.867.027 140.935.001c.069-.026-.205.664-.609 1.534s-18.919 40.582-41.145 88.25l-40.41 86.67l-29.386.037c-16.162.02-29.385-.005-29.385-.057z' fill='%230089D6' fill-rule='nonzero'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-bubble-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 276' width='256' height='276'%3E%3Cpath fill='%23262626' d='M156.688 71.53c-24.76 0-49.164 10.63-67.795 31.529V0H52.024v173.519c0 56.326 45.661 101.988 101.988 101.988S256 229.845 256 173.519S213.014 71.531 156.688 71.531m-2.676 164.694c-34.632 0-62.707-28.075-62.707-62.706s28.075-62.707 62.707-62.707c34.631 0 62.706 28.075 62.706 62.707s-28.075 62.706-62.706 62.706'/%3E%3Cpath fill='%2300F' d='M25.22 225.066c-13.93 0-25.22 11.292-25.22 25.22s11.291 25.22 25.22 25.22s25.22-11.292 25.22-25.22s-11.291-25.22-25.22-25.22'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-discord-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 199' width='256' height='199'%3E%3Cpath fill='%235865F2' d='M216.856 16.597A208.5 208.5 0 0 0 164.042 0c-2.275 4.113-4.933 9.645-6.766 14.046q-29.538-4.442-58.533 0c-1.832-4.4-4.55-9.933-6.846-14.046a207.8 207.8 0 0 0-52.855 16.638C5.618 67.147-3.443 116.4 1.087 164.956c22.169 16.555 43.653 26.612 64.775 33.193A161 161 0 0 0 79.735 175.3a136.4 136.4 0 0 1-21.846-10.632a109 109 0 0 0 5.356-4.237c42.122 19.702 87.89 19.702 129.51 0a132 132 0 0 0 5.355 4.237a136 136 0 0 1-21.886 10.653c4.006 8.02 8.638 15.67 13.873 22.848c21.142-6.58 42.646-16.637 64.815-33.213c5.316-56.288-9.08-105.09-38.056-148.36M85.474 135.095c-12.645 0-23.015-11.805-23.015-26.18s10.149-26.2 23.015-26.2s23.236 11.804 23.015 26.2c.02 14.375-10.148 26.18-23.015 26.18m85.051 0c-12.645 0-23.014-11.805-23.014-26.18s10.148-26.2 23.014-26.2c12.867 0 23.236 11.804 23.015 26.2c0 14.375-10.148 26.18-23.015 26.18'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-github-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 250' width='256' height='250'%3E%3Cpath fill='%23161614' d='M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46c6.397 1.185 8.746-2.777 8.746-6.158c0-3.052-.12-13.135-.174-23.83c-35.61 7.742-43.124-15.103-43.124-15.103c-5.823-14.795-14.213-18.73-14.213-18.73c-11.613-7.944.876-7.78.876-7.78c12.853.902 19.621 13.19 19.621 13.19c11.417 19.568 29.945 13.911 37.249 10.64c1.149-8.272 4.466-13.92 8.127-17.116c-28.431-3.236-58.318-14.212-58.318-63.258c0-13.975 5-25.394 13.188-34.358c-1.329-3.224-5.71-16.242 1.24-33.874c0 0 10.749-3.44 35.21 13.121c10.21-2.836 21.16-4.258 32.038-4.307c10.878.049 21.837 1.47 32.066 4.307c24.431-16.56 35.165-13.12 35.165-13.12c6.967 17.63 2.584 30.65 1.255 33.873c8.207 8.964 13.173 20.383 13.173 34.358c0 49.163-29.944 59.988-58.447 63.157c4.591 3.972 8.682 11.762 8.682 23.704c0 17.126-.148 30.91-.148 35.126c0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002C256 57.307 198.691 0 128.001 0m-80.06 182.34c-.282.636-1.283.827-2.194.39c-.929-.417-1.45-1.284-1.15-1.922c.276-.655 1.279-.838 2.205-.399c.93.418 1.46 1.293 1.139 1.931m6.296 5.618c-.61.566-1.804.303-2.614-.591c-.837-.892-.994-2.086-.375-2.66c.63-.566 1.787-.301 2.626.591c.838.903 1 2.088.363 2.66m4.32 7.188c-.785.545-2.067.034-2.86-1.104c-.784-1.138-.784-2.503.017-3.05c.795-.547 2.058-.055 2.861 1.075c.782 1.157.782 2.522-.019 3.08m7.304 8.325c-.701.774-2.196.566-3.29-.49c-1.119-1.032-1.43-2.496-.726-3.27c.71-.776 2.213-.558 3.315.49c1.11 1.03 1.45 2.505.701 3.27m9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033c-1.448-.439-2.395-1.613-2.103-2.626c.301-1.01 1.747-1.484 3.207-1.028c1.446.436 2.396 1.602 2.095 2.622m10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95c-1.53.034-2.769-.82-2.786-1.86c0-1.065 1.202-1.932 2.733-1.958c1.522-.03 2.768.818 2.768 1.868m10.555-.405c.182 1.03-.875 2.088-2.387 2.37c-1.485.271-2.861-.365-3.05-1.386c-.184-1.056.893-2.114 2.376-2.387c1.514-.263 2.868.356 3.061 1.403'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-google-calendar{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23FFF' d='M195.368 60.632H60.632v134.736h134.736z'/%3E%3Cpath fill='%23EA4335' d='M195.368 256L256 195.368l-30.316-5.172l-30.316 5.172l-5.533 27.73z'/%3E%3Cpath fill='%23188038' d='M0 195.368v40.421C0 246.956 9.044 256 20.21 256h40.422l6.225-30.316l-6.225-30.316l-33.033-5.172z'/%3E%3Cpath fill='%231967D2' d='M256 60.632V20.21C256 9.044 246.956 0 235.79 0h-40.422q-5.532 22.554-5.533 33.196q0 10.641 5.533 27.436q20.115 5.76 30.316 5.76T256 60.631'/%3E%3Cpath fill='%23FBBC04' d='M256 60.632h-60.632v134.736H256z'/%3E%3Cpath fill='%2334A853' d='M195.368 195.368H60.632V256h134.736z'/%3E%3Cpath fill='%234285F4' d='M195.368 0H20.211C9.044 0 0 9.044 0 20.21v175.158h60.632V60.632h134.736z'/%3E%3Cpath fill='%234285F4' d='M88.27 165.154c-5.036-3.402-8.523-8.37-10.426-14.94l11.689-4.816q1.59 6.063 5.558 9.398c2.627 2.223 5.827 3.318 9.566 3.318q5.734 0 9.852-3.487c2.746-2.324 4.127-5.288 4.127-8.875q0-5.508-4.345-8.994c-2.897-2.324-6.535-3.486-10.88-3.486h-6.754v-11.57h6.063q5.608 0 9.448-3.033c2.56-2.02 3.84-4.783 3.84-8.303c0-3.132-1.145-5.625-3.435-7.494c-2.29-1.87-5.188-2.813-8.708-2.813c-3.436 0-6.164.91-8.185 2.745a16.1 16.1 0 0 0-4.413 6.754l-11.57-4.817c1.532-4.345 4.345-8.185 8.471-11.503s9.398-4.985 15.798-4.985c4.733 0 8.994.91 12.767 2.745c3.772 1.836 6.736 4.379 8.875 7.613c2.14 3.25 3.2 6.888 3.2 10.93c0 4.126-.993 7.613-2.98 10.476s-4.43 5.052-7.327 6.585v.69a22.25 22.25 0 0 1 9.398 7.327c2.442 3.284 3.672 7.208 3.672 11.79c0 4.58-1.163 8.673-3.487 12.26c-2.324 3.588-5.54 6.417-9.617 8.472c-4.092 2.055-8.69 3.1-13.793 3.1c-5.912.016-11.369-1.685-16.405-5.087m71.797-58.005l-12.833 9.28l-6.417-9.734l23.023-16.607h8.825v78.333h-12.598z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-google-gmail{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 193' width='256' height='193'%3E%3Cpath fill='%234285F4' d='M58.182 192.05V93.14L27.507 65.077L0 49.504v125.091c0 9.658 7.825 17.455 17.455 17.455z'/%3E%3Cpath fill='%2334A853' d='M197.818 192.05h40.727c9.659 0 17.455-7.826 17.455-17.455V49.505l-31.156 17.837l-27.026 25.798z'/%3E%3Cpath fill='%23EA4335' d='m58.182 93.14l-4.174-38.647l4.174-36.989L128 69.868l69.818-52.364l4.669 34.992l-4.669 40.644L128 145.504z'/%3E%3Cpath fill='%23FBBC04' d='M197.818 17.504V93.14L256 49.504V26.231c0-21.585-24.64-33.89-41.89-20.945z'/%3E%3Cpath fill='%23C5221F' d='m0 49.504l26.759 20.07L58.182 93.14V17.504L41.89 5.286C24.61-7.66 0 4.646 0 26.23z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-google-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 262' width='256' height='262'%3E%3Cpath fill='%234285F4' d='M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622l38.755 30.023l2.685.268c24.659-22.774 38.875-56.282 38.875-96.027'/%3E%3Cpath fill='%2334A853' d='M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055c-34.523 0-63.824-22.773-74.269-54.25l-1.531.13l-40.298 31.187l-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1'/%3E%3Cpath fill='%23FBBC05' d='M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82c0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602z'/%3E%3Cpath fill='%23EB4335' d='M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0C79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-helpscout-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 310' width='256' height='310'%3E%3Cpath fill='%231292EE' d='m18.432 180.969l90.484-90.485a63.72 63.72 0 0 0 18.99-45.428A64.25 64.25 0 0 0 109.476 0L18.99 90.484A63.72 63.72 0 0 0 0 135.913c0 17.687 7.075 33.512 18.432 45.056m219.136-52.876l-90.484 90.484a63.72 63.72 0 0 0-18.99 45.429a64.25 64.25 0 0 0 18.431 45.056l90.484-90.485A63.72 63.72 0 0 0 256 173.15c0-17.687-7.075-33.513-18.432-45.056m-.559-37.422A63.72 63.72 0 0 0 256 45.242A64.25 64.25 0 0 0 237.568.186L18.991 218.577C7.26 230.307 0 246.32 0 264.192a64.25 64.25 0 0 0 18.432 45.056z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-hubspot{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 149' width='512' height='149'%3E%3Cpath fill='%2345535E' d='M.06 27.679h17.852v39.662h37.651V27.679h17.875v97.358H55.563V84.542H17.912v40.495H.06zm129.933 65.647c0 8.15-6.64 14.782-14.788 14.782c-8.151 0-14.787-6.632-14.787-14.782V51.41h-16.93v41.916c0 17.487 14.229 31.711 31.717 31.711c17.484 0 31.712-14.224 31.712-31.711V51.41h-16.924zm64.186-41.425c-8.398 0-14.26 2.437-19.921 7.994V27.679h-16.985v59.705c0 22.348 16.158 37.653 34.311 37.653c20.181 0 37.863-15.578 37.863-36.567c0-20.723-16.305-36.569-35.268-36.569m.422 57.423c-11.509 0-20.31-9.612-20.31-20.854c0-11.244 8.801-20.859 20.31-20.859c9.752 0 18.558 9.615 18.558 20.859c0 11.242-8.806 20.854-18.558 20.854m63.373-53.144c0-8.538 5.689-11.245 11.917-11.245c5.014 0 11.649 3.792 15.979 8.398l11.103-13.001c-5.549-7.448-16.788-12.596-25.998-12.596c-18.421 0-31.694 10.7-31.694 28.444c0 32.91 40.497 22.478 40.497 40.902c0 5.682-5.551 10.698-11.913 10.698c-10.026 0-13.278-4.876-17.881-10.024l-12.327 12.729c7.86 9.617 17.608 14.495 29.257 14.495c17.47 0 31.556-10.835 31.556-27.767c0-36.566-40.496-25.188-40.496-41.033m85.21-5.233c-18.151 0-34.311 15.296-34.311 37.649v59.859h16.984v-32.369c5.662 5.553 11.521 7.994 19.922 7.994c18.962 0 35.269-15.844 35.269-36.567c0-20.992-17.687-36.566-37.864-36.566m3.018 57.425c-11.508 0-20.31-9.625-20.31-20.859c0-11.244 8.802-20.859 20.31-20.859c9.75 0 18.557 9.615 18.557 20.859c0 11.234-8.807 20.859-18.557 20.859m159.867.952c-10.018 0-12.862-4.332-12.862-10.971V68.965h15.572V54.069h-15.572v-19.64l-17.195 7.718v59.863c0 15.306 10.56 23.027 25.045 23.027c2.167 0 5.15-.14 6.777-.541l4.199-15.438c-1.896.131-4.062.266-5.964.266'/%3E%3Cpath fill='%23F8761F' d='M461.278 69.831c-3.256-5.602-7.836-10.093-13.562-13.474c-4.279-2.491-8.716-4.072-13.716-4.751v-17.8c5-2.123 8.103-6.822 8.103-12.304c0-7.472-5.992-13.527-13.458-13.527c-7.472 0-13.569 6.055-13.569 13.527c0 5.482 2.924 10.181 7.924 12.304v17.808c-4 .578-8.148 1.825-11.936 3.741c-7.737-5.876-33.107-25.153-47.948-36.412c.352-1.269.623-2.577.623-3.957c0-8.276-6.702-14.984-14.981-14.984S333.78 6.71 333.78 14.986s6.706 14.985 14.985 14.985c2.824 0 5.436-.826 7.69-2.184l3.132 2.376l43.036 31.008c-2.275 2.089-4.394 4.465-6.089 7.131C393.099 73.737 391 79.717 391 86.24v1.361c0 4.579.87 8.902 2.352 12.963c1.305 3.546 3.213 6.77 5.576 9.685l-14.283 14.318a11.5 11.5 0 0 0-12.166 2.668a11.5 11.5 0 0 0-3.388 8.19c.001 3.093 1.206 6 3.394 8.187a11.5 11.5 0 0 0 8.188 3.394a11.5 11.5 0 0 0 8.191-3.394a11.5 11.5 0 0 0 3.39-8.187c0-1.197-.185-2.365-.533-3.475l14.763-14.765c2.024 1.398 4.21 2.575 6.56 3.59c4.635 2.004 9.751 3.225 15.35 3.225h1.026c6.19 0 12.029-1.454 17.518-4.428c5.784-3.143 10.311-7.441 13.731-12.928c3.438-5.502 5.331-11.581 5.331-18.269v-.334c0-6.579-1.523-12.649-4.722-18.21m-18.038 30.973c-4.007 4.453-8.613 7.196-13.82 7.196h-.858c-2.974 0-5.883-.822-8.731-2.317c-3.21-1.646-5.65-3.994-7.647-6.967c-2.064-2.918-3.184-6.104-3.184-9.482v-1.026c0-3.321.637-6.47 2.243-9.444c1.717-3.251 4.036-5.779 7.12-7.789c3.028-1.996 6.262-2.975 9.864-2.975h.335c3.266 0 6.358.644 9.276 2.137c2.973 1.592 5.402 3.767 7.285 6.628c1.829 2.862 2.917 5.949 3.267 9.312c.055.699.083 1.415.083 2.099c0 4.564-1.744 8.791-5.233 12.628'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-intercom{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 130' width='512' height='130'%3E%3Cpath d='M110.27 0a15.2 15.2 0 0 1 5.996 1.209a15.6 15.6 0 0 1 5.094 3.495a16.3 16.3 0 0 1 3.416 5.251a16.8 16.8 0 0 1 1.218 6.207v97.006a16.8 16.8 0 0 1-1.231 6.204a16.3 16.3 0 0 1-3.428 5.243a15.6 15.6 0 0 1-5.1 3.484a15.2 15.2 0 0 1-6 1.195H15.759c-2.059.013-4.1-.393-6.007-1.198a15.6 15.6 0 0 1-5.105-3.493a16.3 16.3 0 0 1-3.425-5.256A16.8 16.8 0 0 1 0 113.132v-96.97c.01-2.135.424-4.247 1.221-6.215a16.3 16.3 0 0 1 3.425-5.255a15.6 15.6 0 0 1 5.105-3.494A15.2 15.2 0 0 1 15.758 0ZM20.82 90.583l-.236.012a4.14 4.14 0 0 0-2.851 1.49a4.3 4.3 0 0 0-.783 1.462a4.43 4.43 0 0 0 .263 3.266c.249.5.59.944 1.005 1.307c.658.574 16.139 13.97 44.71 13.97c28.573 0 44.157-13.468 44.711-14.042l.035.036a4.33 4.33 0 0 0 1.397-2.91a4.38 4.38 0 0 0-.981-3.088a4.2 4.2 0 0 0-2.87-1.48a4.16 4.16 0 0 0-3.053 1.013c-.138.108-14.164 11.888-39.273 11.888S23.862 91.799 23.619 91.619a4.1 4.1 0 0 0-3.036-1.024Zm412.223-49.857c13.284 0 19.03 9.149 19.03 23.839c0 14.883-5.81 23.839-19.03 23.839c-13.467 0-19.093-8.956-19.093-23.84c0-14.43 5.684-23.838 19.093-23.838M63.066 17.204a4.12 4.12 0 0 0-2.963 1.273a4.43 4.43 0 0 0-1.227 3.073v62.49c0 1.154.441 2.259 1.227 3.074a4.12 4.12 0 0 0 2.963 1.273a4.12 4.12 0 0 0 2.963-1.273a4.43 4.43 0 0 0 1.228-3.073V21.55a4.43 4.43 0 0 0-1.228-3.073a4.12 4.12 0 0 0-2.963-1.273m325.368 23.522c4.88 0 8.65 1.161 11.491 3.673c2.473 2.06 4.264 4.962 5.314 9.022c.555 2.126-.866 4.252-3.212 4.704c-2.224.386-4.013-1.096-4.694-3.222c-.742-2.06-1.733-3.543-2.905-4.577c-1.607-1.482-3.582-2.126-6.18-2.126c-2.78 0-5.191.837-6.982 2.705c-2.595 2.705-3.708 7.54-3.708 13.66c0 6.058 1.051 10.889 3.77 13.594c1.791 1.867 4.14 2.705 6.858 2.705c2.84 0 5.002-.772 6.797-2.512c.924-.903 1.73-2.06 2.286-3.415c.803-1.999 2.472-3.48 4.632-2.964c2.162.518 3.524 2.705 2.843 4.832c-1.114 3.542-3.027 6.378-5.622 8.311c-2.84 2.126-6.363 3.222-10.81 3.222c-5.684 0-9.27-1.74-11.99-4.186c-4.632-4.318-6.734-11.083-6.734-19.587c0-8.57 2.04-15.27 6.613-19.522c2.841-2.577 6.67-4.317 12.233-4.317m-57.204.704l.243.006h14.64c10.074 0 14.273 6.83 14.273 13.787c0 6.522-3.581 11.364-9.746 12.752l-.327.07l7.723 14.3c1.052 1.868.37 4.253-1.79 5.414c-2.037 1.062-4.247.31-5.335-1.436l-.101-.173l-8.589-16.557h-8.154l.062 14.046c0 2.191-1.605 3.993-3.892 3.993c-2.155 0-3.728-1.695-3.825-3.79l-.004-.203V46.525c0-3.182 1.616-5.026 4.585-5.094zm-130.86.002c3.892 0 5.497 2.191 7.043 5.413l7.66 15.66l6.549 15.207l-.185-14.563l-.062-17.588c0-2.192 1.605-3.994 3.893-3.994c2.219-.004 3.825 1.798 3.825 3.99V80.35c0 4.704-2.408 7.347-6.239 7.347h-.306c-3.645 0-5.377-2.192-6.92-5.414l-7.785-15.786l-6.92-16.3l.186 15.787l.062 17.588c0 2.192-1.605 3.994-3.892 3.994c-2.224 0-3.83-1.806-3.83-3.994V48.779c0-4.318 2.41-7.347 6.612-7.347zm-25.026.13c2.223 0 3.83 1.807 3.83 3.995v38.077c0 2.192-1.607 3.994-3.892 3.994c-2.224 0-3.831-1.806-3.831-3.994V45.557c0-2.192 1.607-3.994 3.893-3.994m329.859.005c4.325 0 6.733 2.705 6.733 7.54L512 83.573c0 2.192-1.607 3.994-3.893 3.994c-2.223 0-3.83-1.806-3.83-3.994V66.305l.186-16.816l-5.377 17.075l-5.435 16.816c-.924 2.963-2.841 4.125-5.251 4.125c-2.534 0-4.388-1.223-5.375-4.187l-5.562-16.75l-5.128-16.817l.184 16.558v17.268c0 2.192-1.607 3.994-3.892 3.994c-2.224 0-3.83-1.806-3.83-3.994v-34.47c0-4.77 2.471-7.54 6.796-7.54c4.08 0 6.365 2.253 7.66 6.378l5.683 17.588l3.46 11.986l3.522-11.986l5.684-17.588c1.3-4.125 3.524-6.378 7.6-6.378m-235.579 0c1.976 0 3.582 1.547 3.582 3.8c0 2.193-1.606 3.736-3.582 3.736h-9.576v34.47c0 2.192-1.605 3.994-3.893 3.994c-2.222 0-3.829-1.806-3.829-3.994v-34.47h-9.576c-1.976 0-3.58-1.547-3.58-3.801c0-2.192 1.604-3.735 3.58-3.735zm18.72-.131h22.242c1.975 0 3.58 1.609 3.58 3.8c0 2.192-1.605 3.736-3.58 3.736h-19.65v11.082h17.362c1.917 0 3.46 1.482 3.46 3.608s-1.543 3.608-3.46 3.608h-17.361v12.756h19.649c1.975 0 3.58 1.61 3.58 3.801c0 2.192-1.605 3.736-3.58 3.736h-22.428c-3.212.004-5.001-1.864-4.88-5.28V46.526c0-3.35 1.79-5.217 5.066-5.09M42.183 19.574a4.14 4.14 0 0 0-3.039 1.117a4.45 4.45 0 0 0-1.394 3.013v57.464a4.43 4.43 0 0 0 1.227 3.073a4.12 4.12 0 0 0 2.963 1.273a4.12 4.12 0 0 0 2.963-1.273a4.43 4.43 0 0 0 1.228-3.073V23.704a4.42 4.42 0 0 0-1.21-2.85a4.13 4.13 0 0 0-2.738-1.28m41.663-.215a4.12 4.12 0 0 0-2.963 1.273a4.43 4.43 0 0 0-1.228 3.072v57.464a4.43 4.43 0 0 0 1.228 3.073a4.12 4.12 0 0 0 2.963 1.273a4.12 4.12 0 0 0 2.963-1.273a4.43 4.43 0 0 0 1.227-3.073V23.704a4.43 4.43 0 0 0-1.227-3.072a4.12 4.12 0 0 0-2.963-1.273M432.98 48.266c-7.23 0-11.061 5.348-11.061 16.299c0 10.955 3.708 16.299 11.06 16.299c7.29 0 11.182-5.348 11.182-16.3c0-10.954-3.829-16.298-11.181-16.298M104.902 27.978a4.12 4.12 0 0 0-2.963 1.273a4.43 4.43 0 0 0-1.227 3.073v38.824a4.43 4.43 0 0 0 1.227 3.073a4.12 4.12 0 0 0 2.963 1.272a4.12 4.12 0 0 0 2.964-1.272a4.43 4.43 0 0 0 1.227-3.073V32.324a4.43 4.43 0 0 0-1.227-3.073a4.12 4.12 0 0 0-2.964-1.273m-83.741.216a4.14 4.14 0 0 0-3.039 1.116a4.45 4.45 0 0 0-1.394 3.014v38.752a4.43 4.43 0 0 0 1.227 3.073a4.12 4.12 0 0 0 2.963 1.272a4.12 4.12 0 0 0 2.963-1.272a4.43 4.43 0 0 0 1.228-3.073V32.324a4.42 4.42 0 0 0-1.21-2.851a4.13 4.13 0 0 0-2.738-1.28m325.072 20.774h-12.171v13.34h12.233c4.14 0 6.302-2.771 6.302-6.703s-2.287-6.637-6.364-6.637'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-intercom-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 263' width='256' height='263'%3E%3Cpath d='M221.66 144.561c0 2.342-.897 4.588-2.493 6.244c-1.597 1.656-3.763 2.586-6.021 2.586s-4.424-.93-6.021-2.586s-2.494-3.902-2.494-6.244V65.677c0-2.342.897-4.588 2.494-6.243s3.763-2.587 6.02-2.587c2.259 0 4.425.93 6.022 2.587c1.596 1.655 2.493 3.901 2.493 6.243zm-2.955 54.657c-1.126 1.168-32.792 28.533-90.846 28.533s-89.508-27.22-90.845-28.387a8.6 8.6 0 0 1-2.043-2.654a9 9 0 0 1-.533-6.637a8.8 8.8 0 0 1 1.59-2.969c1.47-1.763 3.552-2.852 5.793-3.03a8.32 8.32 0 0 1 6.17 2.082c.493.365 28.78 24.154 79.798 24.154s79.516-23.935 79.798-24.154a8.45 8.45 0 0 1 6.202-2.059c2.247.177 4.339 1.256 5.83 3.007a8.9 8.9 0 0 1 1.995 6.274c-.158 2.282-1.178 4.407-2.839 5.913zM33.988 65.678c.127-2.35 1.146-4.551 2.834-6.124s3.907-2.388 6.173-2.269a8.38 8.38 0 0 1 5.564 2.6a9 9 0 0 1 2.458 5.792v78.738c0 2.342-.897 4.588-2.494 6.244c-1.596 1.656-3.762 2.586-6.02 2.586c-2.259 0-4.424-.93-6.021-2.586s-2.494-3.902-2.494-6.244zM76.7 48.163c.128-2.35 1.146-4.551 2.834-6.124s3.908-2.388 6.174-2.268a8.38 8.38 0 0 1 5.564 2.599a9 9 0 0 1 2.458 5.793V164.92c0 2.341-.898 4.587-2.494 6.243s-3.763 2.586-6.02 2.586c-2.26 0-4.425-.93-6.022-2.586s-2.494-3.902-2.494-6.243zm42.925-4.379c0-2.342.897-4.587 2.494-6.243s3.763-2.587 6.02-2.587c2.259 0 4.425.93 6.021 2.587c1.597 1.656 2.494 3.901 2.494 6.243v126.973c0 2.342-.897 4.588-2.494 6.244c-1.596 1.656-3.762 2.586-6.02 2.586s-4.424-.93-6.021-2.586s-2.494-3.902-2.494-6.244zm42.221 4.379c0-2.342.897-4.588 2.494-6.244s3.763-2.586 6.02-2.586c2.259 0 4.425.93 6.021 2.586s2.494 3.902 2.494 6.244V164.92c0 2.341-.897 4.587-2.494 6.243c-1.596 1.656-3.762 2.586-6.02 2.586s-4.424-.93-6.021-2.586s-2.494-3.902-2.494-6.243zM223.982 0H32.018a30.8 30.8 0 0 0-12.205 2.434A31.7 31.7 0 0 0 9.44 9.533A33.1 33.1 0 0 0 2.482 20.21A34 34 0 0 0 0 32.839v197.028a34 34 0 0 0 2.482 12.628a33.1 33.1 0 0 0 6.958 10.678a31.7 31.7 0 0 0 10.373 7.098a30.8 30.8 0 0 0 12.205 2.434h191.964a30.8 30.8 0 0 0 12.188-2.427a31.7 31.7 0 0 0 10.365-7.08a33.1 33.1 0 0 0 6.963-10.652A34 34 0 0 0 256 229.94V32.84a34 34 0 0 0-2.475-12.612a33.1 33.1 0 0 0-6.94-10.67a31.75 31.75 0 0 0-10.35-7.102A30.8 30.8 0 0 0 224.053.001'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-linear-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23222326' d='m8.174 102.613l145.213 145.213c2.12 2.12 1.097 5.72-1.85 6.27a128 128 0 0 1-15.02 1.896a3.78 3.78 0 0 1-2.92-1.109L1.117 122.403a3.78 3.78 0 0 1-1.109-2.92c.34-5.095.978-10.107 1.896-15.02c.55-2.947 4.15-3.97 6.27-1.85m-4.092 58.796c-.97-3.614 3.3-5.894 5.946-3.248l87.81 87.811c2.647 2.646.367 6.915-3.247 5.946c-44.03-11.805-78.704-46.478-90.51-90.509m12.727-97.245c1.233-2.135 4.147-2.463 5.89-.719L192.556 233.3c1.744 1.744 1.417 4.658-.72 5.891a128 128 0 0 1-11.1 5.705c-1.43.65-3.11.322-4.22-.79L11.893 79.487c-1.111-1.112-1.439-2.79-.79-4.221a128 128 0 0 1 5.706-11.1M127.86 0C198.63 0 256 57.37 256 128.14c0 37.57-16.168 71.362-41.926 94.8c-1.487 1.354-3.768 1.264-5.19-.157L33.217 47.116c-1.421-1.422-1.51-3.703-.158-5.19C56.498 16.168 90.291 0 127.86 0'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-linkedin-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%230A66C2' d='M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4c-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.91 39.91 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186zM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009s9.851-22.014 22.008-22.016c12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97zM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-mailchimp{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 126' width='512' height='126'%3E%3Cpath fill='%230B0B0A' d='m473.798 79.036l-.078-.142l-.156-.493l.072-.146c4.88-10.055 10.47-15.818 15.336-15.818h.05c5.494.041 9.293 4.985 9.24 12.018c-.036 4.693-2.106 7.396-3.833 8.837c-1.973 1.645-4.598 2.585-7.207 2.585c-6.429-.049-10.842-3.746-13.424-6.841m-1.332 37.955c-.785 1.045-1.878 1.574-3.247 1.574c-1.572-.012-2.753-.56-3.556-1.633c-2.252-3.01-1.618-10.079 2.056-22.914c.437-1.533.915-3.075 1.417-4.583l.427-1.281l.373 1.296c4.283 14.816 5.132 24.082 2.53 27.54M315.164 48.744c.144-3.2.412-6.315.794-9.26c2.479-18.983 7.653-32.24 12.586-32.24h.021c2.352.017 3.53 1.796 3.504 5.284c-.066 8.571-5.497 20.842-16.14 36.472l-.832 1.224zm172.615 43.301l.173.003c10.358 0 17.649-7.178 17.727-17.45c.039-5.085-1.43-9.74-4.137-13.104c-2.863-3.56-6.87-5.46-11.59-5.496h-.093c-6.37 0-12.285 4.832-18.084 14.776l-.46.793l-.298-.866a480 480 0 0 0-3.548-9.936c-.545-1.482-.787-2.148-.844-2.364c-.278-1.075-1.198-1.744-2.403-1.744c-.74 0-1.528.252-2.274.726c-.739.47-1.151 1.045-1.299 1.812l-.038.115c-5.803 18.097-10.588 26.888-14.641 26.888c-.59-.005-1.05-.198-1.394-.58c-1.062-1.174-.801-3.965-.44-7.829c.264-2.838.568-6.052.44-9.461c-.24-6.556-3.825-10.492-9.592-10.536c-7.328-.002-12.078 7.8-14.266 12.453l-.653 1.389l-.144-1.528c-.547-5.757-2.479-12.634-8.58-12.68c-7.115 0-12.536 8.35-15.843 15.359l-.886 1.878l.089-2.075c.393-9.346.715-14.865.957-16.394c.242-1.536.115-2.567-.387-3.157c-.475-.553-1.373-.757-2.69-.675c-2.277.145-3.442 1.531-5.196 6.178c-2.88 7.633-10.207 25.39-16.058 25.39c-1.16-.008-2.08-.404-2.753-1.175c-2.453-2.813-1.472-10.417-.114-20.94l.103-.796c.642-4.982-.454-6.045-3.158-6.543a4.7 4.7 0 0 0-.824-.081c-2.16 0-3.172 2.07-5.189 7.821c-3.593 10.235-8.21 21-13.614 21q-.296 0-.59-.047c-2.864-.488-2.8-4.734-2.72-10.113c.04-2.909.09-6.207-.36-9.185c-.805-5.342-3.955-8.68-8.216-8.712c-8.506 0-14.243 10.892-16.91 17.385l-.605 1.47l-.2-1.578a146 146 0 0 1-1.034-12.553l-.006-.157l.097-.122c15.918-20.038 23.06-34.498 23.155-46.887c.062-7.914-3.592-12.668-9.767-12.716c-4.516 0-15.256 3.761-18.987 38.609a202 202 0 0 0-1.13 19.694l-.001.129l-.074.105c-7.281 10.542-22.826 28.673-38.042 28.673c-13.75 0-24.72-11.124-24.72-30.758c0-26.322 18.633-42.483 32.654-42.483l.115.001c3.047.023 5.66.874 7.556 2.461c1.97 1.647 2.999 3.957 2.979 6.677c-.03 3.634-1.211 5.502-2.356 7.306a26 26 0 0 0-.855 1.416c-.27.493-.518 1.21-.158 1.823c.369.628 1.31 1.024 2.457 1.031c3.338 0 8.386-4.83 8.441-12.11c.058-7.619-6.36-15.468-17.81-15.468c-17.328 0-40.662 19.035-40.662 49.885c0 21.823 13.682 36.906 32.217 36.906c13.152 0 26.163-9.416 37.685-25.146l.706-.953l.05 1.185c.246 5.757.663 10.294.97 13.607c.196 2.13.339 3.668.331 4.517c-.013 1.862.29 3.152.932 3.945c.64.794 1.66 1.169 3.202 1.18c2.589 0 3.106-1.765 4.13-6.117l.296-1.243c1.273-5.274 5.977-22.487 13.053-22.487q1.731.016 2.679 1.023c1.562 1.657 1.392 5.058 1.194 8.998c-.124 2.459-.252 4.998-.005 7.471c.667 6.677 3.55 9.942 8.815 9.98c5.406.003 11.046-5.82 14.022-11.231l.563-1.022l.218 1.146c.55 2.895 3.008 12.4 10.702 12.4c6.974 0 12.955-7.343 19.513-22.456l.858-1.973l-.053 2.153c-.14 5.726-.45 12.72-.452 18.125c-.003 4.182.42 5.78 2.353 5.78c.138 0 .286.018.439.018c1.854 0 3.112-1.105 3.74-3.294c4.934-17.197 9.199-25.207 13.424-25.207c4.137.033 4.525 7.596 4.856 20.963l.023.938c.1 4.674.268 6.743 3.173 6.765c2.204 0 2.752-1.732 3.891-5.994c.217-.813.455-1.704.734-2.667c3.983-13.821 7.286-19.46 11.397-19.46c3.52.026 3.716 3.655 3.781 4.847c.135 2.554-.128 5.228-.381 7.808c-.236 2.4-.48 4.88-.387 7.19c.215 5.406 3.175 8.406 8.335 8.445c6.697 0 12.743-7.833 18.037-23.276l.367-1.078l.42 1.058c.96 2.427 2.21 5.713 3.37 9.633l.044.15l-.063.141c-5.126 11.384-8.743 24.065-8.794 30.838c-.07 8.923 3.968 14.72 10.285 14.77h.109c3.436 0 11.446-1.38 11.602-14.148c.062-5.233-1.174-12.632-3.672-21.996l-.286-1.073l.922.616c3.19 2.115 6.787 3.248 10.405 3.278M150.475 65.838c-2.255 9.072-6.578 20.019-14.372 20.646c-.218.015-.43.027-.634.027c-3.233 0-5.046-2.118-5.388-6.293c-.43-5.226 1.825-11.343 5.738-15.592c2.492-2.706 5.303-4.195 7.913-4.195h.053c3.297.025 5.606 2.672 6.668 5.14l.056.127zm71.47-50.729l.112-.002c.734 0 1.38.37 1.92 1.098c2.557 3.459 2.594 16.078-1.804 30.44c-2.515 8.205-5.895 15.959-9.775 22.418l-.618 1.028l-.158-1.19c-.457-3.473-.682-7.088-.84-10.166c-1.123-21.705 5.443-43.329 11.163-43.626m-59.354 75.276c7.53-.605 13.507-10.848 15.726-15.223l.572-1.129l.217 1.247c1.064 6.155 4.413 16.498 14.887 16.578h.088c4.53 0 9.672-2.77 14.866-8.01l.381-.386l.277.463c3.498 5.85 8.19 8.957 13.183 8.703c7.354-.382 11.815-5.593 12.21-9.212c.1-.923-.145-1.79-.672-2.377c-.662-.737-1.62-.824-2.328-.148l-.334.318c-1.713 1.644-4.902 4.707-8.376 4.889c-4.255.208-7.403-2.336-9.437-7.586l-.084-.221l.143-.186c11.7-15.303 19.911-38.656 19.101-54.316c-.373-7.25-2.482-15.89-10.398-15.89q-.29 0-.59.015c-3.034.157-5.79 1.601-8.198 4.294c-7.345 8.218-11.189 28.445-9.794 51.531c.29 4.797 1.122 9.28 2.475 13.32l.077.225l-.155.182c-4.341 5.074-8.625 7.87-12.063 7.87c-8.27 0-7.992-13.866-7.337-25.368c.141-2.48.35-4.059-.383-4.957c-.525-.642-1.401-.959-2.679-.97l-.15-.001c-2.941 0-3.558.605-5.064 4.973c-3.133 9.075-9.316 24.303-15.537 24.303c-1.725-.015-3.041-.605-3.941-1.753c-3.018-3.853-.726-13.458 1.114-21.178c.331-1.388.648-2.72.92-3.954c.404-1.83.28-3.166-.367-3.975c-.648-.804-1.944-1.132-3.653-.996c-2.665.213-4.368 1.329-5.19 6.395l-.166 1.053l-.62-.749c-1.163-1.717-3.432-3.764-7.642-3.764q-.554 0-1.145.046c-4.494.369-9.611 3.5-13.356 8.171c-4.373 5.456-6.46 12.362-5.88 19.442c.032.375.086.735.14 1.092l.03.198l-.136.15c-2.616 2.85-5.281 4.295-7.922 4.295c-4.074-.032-6.414-3.06-6.414-8.104c0-8.495 5.756-34.096 5.756-43.365c0-9.864-4.395-15.234-12.028-15.292l-.115-.001c-11.144 0-19.83 12.647-28.143 38.664a439 439 0 0 0-2.299 7.515l-1.166 3.914l.346-4.068c.773-9.064 1.303-17.882 1.576-26.21c.414-12.575-1.286-20.668-5.196-24.74c-2.11-2.196-4.901-3.278-8.537-3.307h-.096c-13.638 0-20.17 23.001-24.927 39.23c-1.435 4.9-4.266 15.95-6.156 23.504l1.12-1.819c.839-9.513 3.27-33.342 3.11-46.268c-.171-13.867-4.79-20.085-14.975-20.163h-.125c-5.441 0-9.215 2.703-11.424 4.972C2.163 15.89-.047 21.212.075 25.807c.076 2.793 1.79 5.28 3.09 5.28c.846 0 1.315-1.13 1.518-1.802c3.15-10.417 7.228-15.482 12.464-15.482c2.17.016 3.785.657 4.996 1.956c4.088 4.386 3.345 16.231 1.996 37.734c-.435 6.93-.928 14.784-1.344 23.716c-.072 1.533-.167 3.011-.257 4.42c-.399 6.202-.714 11.104 1.638 11.47c3.062.477 5.055-.768 6.073-3.797c1.512-4.496 4.903-16.782 11.465-39.235C48.01 28.52 52.766 20.682 58.852 20.682c7.03 0 7.554 12.072 6.266 37.545c-.275 5.4-.642 11.516-.924 18.173q-.061 1.405-.127 2.716c-.27 5.512-.484 9.861 1.09 11.529c.49.519 1.16.776 2.043.78c3.048 0 3.963-2.67 5.482-7.1c.269-.781.553-1.616.87-2.491c10.443-28.808 18.166-53.803 28.53-53.803c3.11 0 5.526 2.525 5.526 7.45c0 11.368-5.556 33.332-5.556 44.467c0 3.99 1.147 7.572 3.317 10.089c2.227 2.583 5.342 3.962 9.01 3.991h.08c3.467 0 7.082-1.685 10.741-5.007l.344-.31l.275.372c2.41 3.24 6.3 4.98 10.499 4.656c6.441-.502 11.846-6.236 13.857-11.646l.392-1.057l.394 1.057c1.491 4.015 4.723 8.85 11.63 8.292'/%3E%3Cpath fill='%230B0B0A' d='M186.625 32.584c-2.877 0-5.201 2.267-5.221 5.053c-.024 2.807 2.285 5.108 5.144 5.131l.04.417v-.417c2.835 0 5.16-2.265 5.181-5.051c.023-2.808-2.285-5.11-5.144-5.133m180.897 0c-2.877 0-5.2 2.267-5.223 5.053c-.022 2.807 2.286 5.108 5.145 5.131l.04.417v-.417c2.838 0 5.162-2.265 5.183-5.051c.02-2.808-2.286-5.11-5.145-5.133'/%3E%3Cpath fill='%230B0C0A' d='M508.394 92.852a3.013 3.013 0 0 1-3.02-3.018a3.016 3.016 0 0 1 3.02-3.022a3.017 3.017 0 0 1 3.022 3.022a3.015 3.015 0 0 1-3.022 3.018m0-6.554a3.54 3.54 0 0 0-3.533 3.536a3.537 3.537 0 0 0 3.533 3.531a3.54 3.54 0 0 0 3.536-3.531a3.54 3.54 0 0 0-3.536-3.536'/%3E%3Cpath fill='%230B0C0A' d='M508.281 89.613h-.655v-1.375h.91c.437 0 .912.151.912.673c0 .676-.606.702-1.167.702m1.679-.702c0-.73-.359-1.128-1.281-1.128h-1.567v4.071h.514v-1.782h.73l1.217 1.782h.579l-1.216-1.782c.551-.096 1.024-.409 1.024-1.161'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-microsoft-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23F1511B' d='M121.666 121.666H0V0h121.666z'/%3E%3Cpath fill='%2380CC28' d='M256 121.666H134.335V0H256z'/%3E%3Cpath fill='%2300ADEF' d='M121.663 256.002H0V134.336h121.663z'/%3E%3Cpath fill='%23FBBC09' d='M256 256.002H134.335V134.336H256z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-microsoft-teams{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 239' width='256' height='239'%3E%3Cdefs%3E%3ClinearGradient id='SVGCXPeteLK' x1='17.372%25' x2='82.628%25' y1='-6.51%25' y2='106.51%25'%3E%3Cstop offset='0%25' stop-color='%235A62C3'/%3E%3Cstop offset='50%25' stop-color='%234D55BD'/%3E%3Cstop offset='100%25' stop-color='%233940AB'/%3E%3C/linearGradient%3E%3Cpath id='SVGirAuMb7G' d='M136.93 64.476v12.8a32.7 32.7 0 0 1-5.953-.952a38.7 38.7 0 0 1-26.79-22.742h21.848c6.008.022 10.872 4.887 10.895 10.894'/%3E%3C/defs%3E%3Cpath fill='%235059C9' d='M178.563 89.302h66.125c6.248 0 11.312 5.065 11.312 11.312v60.231c0 22.96-18.613 41.574-41.573 41.574h-.197c-22.96.003-41.576-18.607-41.579-41.568V95.215a5.91 5.91 0 0 1 5.912-5.913'/%3E%3Ccircle cx='223.256' cy='50.605' r='26.791' fill='%235059C9'/%3E%3Ccircle cx='139.907' cy='38.698' r='38.698' fill='%237B83EB'/%3E%3Cpath fill='%237B83EB' d='M191.506 89.302H82.355c-6.173.153-11.056 5.276-10.913 11.449v68.697c-.862 37.044 28.445 67.785 65.488 68.692c37.043-.907 66.35-31.648 65.489-68.692v-68.697c.143-6.173-4.74-11.296-10.913-11.449'/%3E%3Cpath d='M142.884 89.302v96.268a10.96 10.96 0 0 1-6.787 10.062c-1.3.55-2.697.833-4.108.833H76.68c-.774-1.965-1.488-3.93-2.084-5.953a72.5 72.5 0 0 1-3.155-21.076v-68.703c-.143-6.163 4.732-11.278 10.895-11.43z' opacity='.1'/%3E%3Cpath d='M136.93 89.302v102.222c0 1.411-.283 2.808-.833 4.108a10.96 10.96 0 0 1-10.062 6.787H79.48c-1.012-1.965-1.965-3.93-2.798-5.954a59 59 0 0 1-2.084-5.953a72.5 72.5 0 0 1-3.155-21.076v-68.703c-.143-6.163 4.732-11.278 10.895-11.43z' opacity='.2'/%3E%3Cpath d='M136.93 89.302v90.315c-.045 5.998-4.896 10.85-10.895 10.895H74.597a72.5 72.5 0 0 1-3.155-21.076v-68.703c-.143-6.163 4.732-11.278 10.895-11.43z' opacity='.2'/%3E%3Cpath d='M130.977 89.302v90.315c-.046 5.998-4.897 10.85-10.895 10.895H74.597a72.5 72.5 0 0 1-3.155-21.076v-68.703c-.143-6.163 4.732-11.278 10.895-11.43z' opacity='.2'/%3E%3Cpath d='M142.884 58.523v18.753c-1.012.06-1.965.12-2.977.12s-1.965-.06-2.977-.12a32.7 32.7 0 0 1-5.953-.952a38.7 38.7 0 0 1-26.791-22.742a33 33 0 0 1-1.905-5.954h29.708c6.007.023 10.872 4.887 10.895 10.895' opacity='.1'/%3E%3Cuse href='%23SVGirAuMb7G' opacity='.2'/%3E%3Cuse href='%23SVGirAuMb7G' opacity='.2'/%3E%3Cpath d='M130.977 64.476v11.848a38.7 38.7 0 0 1-26.791-22.743h15.896c6.008.023 10.872 4.888 10.895 10.895' opacity='.2'/%3E%3Cpath fill='url(%23SVGCXPeteLK)' d='M10.913 53.581h109.15c6.028 0 10.914 4.886 10.914 10.913v109.151c0 6.027-4.886 10.913-10.913 10.913H10.913C4.886 184.558 0 179.672 0 173.645V64.495C0 58.466 4.886 53.58 10.913 53.58'/%3E%3Cpath fill='%23FFF' d='M94.208 95.125h-21.82v59.416H58.487V95.125H36.769V83.599h57.439z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-monday-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 156' width='256' height='156'%3E%3Cpath fill='%23F62B54' d='M31.846 153.489a31.97 31.97 0 0 1-27.86-16.167a30.91 30.91 0 0 1 .875-31.823l57.373-90.096A31.99 31.99 0 0 1 90.556.015a31.93 31.93 0 0 1 27.41 16.896c5.349 10.113 4.68 22.28-1.725 31.774L58.904 138.78a31.98 31.98 0 0 1-27.058 14.709'/%3E%3Cpath fill='%23FC0' d='M130.256 153.488c-11.572 0-22.22-6.187-27.812-16.13a30.81 30.81 0 0 1 .875-31.737l57.264-89.89A31.94 31.94 0 0 1 188.93.016c11.669.255 22.244 6.782 27.592 16.993a30.81 30.81 0 0 1-2.066 31.92l-57.252 89.889a31.93 31.93 0 0 1-26.948 14.671'/%3E%3Cellipse cx='226.466' cy='125.324' fill='%2300CA72' rx='29.538' ry='28.918'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-notion-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 268' width='256' height='268'%3E%3Cpath fill='%23FFF' d='M16.092 11.538L164.09.608c18.179-1.56 22.85-.508 34.28 7.801l47.243 33.282C253.406 47.414 256 48.975 256 55.207v182.527c0 11.439-4.155 18.205-18.696 19.24L65.44 267.378c-10.913.517-16.11-1.043-21.825-8.327L8.826 213.814C2.586 205.487 0 199.254 0 191.97V29.726c0-9.352 4.155-17.153 16.092-18.188'/%3E%3Cpath d='M164.09.608L16.092 11.538C4.155 12.573 0 20.374 0 29.726v162.245c0 7.284 2.585 13.516 8.826 21.843l34.789 45.237c5.715 7.284 10.912 8.844 21.825 8.327l171.864-10.404c14.532-1.035 18.696-7.801 18.696-19.24V55.207c0-5.911-2.336-7.614-9.21-12.66l-1.185-.856L198.37 8.409C186.94.1 182.27-.952 164.09.608M69.327 52.22c-14.033.945-17.216 1.159-25.186-5.323L23.876 30.778c-2.06-2.086-1.026-4.69 4.163-5.207l142.274-10.395c11.947-1.043 18.17 3.12 22.842 6.758l24.401 17.68c1.043.525 3.638 3.637.517 3.637L71.146 52.095zm-16.36 183.954V81.222c0-6.767 2.077-9.887 8.3-10.413L230.02 60.93c5.724-.517 8.31 3.12 8.31 9.879v153.917c0 6.767-1.044 12.49-10.387 13.008l-161.487 9.361c-9.343.517-13.489-2.594-13.489-10.921M212.377 89.53c1.034 4.681 0 9.362-4.681 9.897l-7.783 1.542v114.404c-6.758 3.637-12.981 5.715-18.18 5.715c-8.308 0-10.386-2.604-16.609-10.396l-50.898-80.079v77.476l16.1 3.646s0 9.362-12.989 9.362l-35.814 2.077c-1.043-2.086 0-7.284 3.63-8.318l9.351-2.595V109.823l-12.98-1.052c-1.044-4.68 1.55-11.439 8.826-11.965l38.426-2.585l52.958 81.113v-71.76l-13.498-1.552c-1.043-5.733 3.111-9.896 8.3-10.404z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-openai-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 260' width='256' height='260'%3E%3Cpath d='M239.184 106.203a64.72 64.72 0 0 0-5.576-53.103C219.452 28.459 191 15.784 163.213 21.74A65.586 65.586 0 0 0 52.096 45.22a64.72 64.72 0 0 0-43.23 31.36c-14.31 24.602-11.061 55.634 8.033 76.74a64.67 64.67 0 0 0 5.525 53.102c14.174 24.65 42.644 37.324 70.446 31.36a64.72 64.72 0 0 0 48.754 21.744c28.481.025 53.714-18.361 62.414-45.481a64.77 64.77 0 0 0 43.229-31.36c14.137-24.558 10.875-55.423-8.083-76.483m-97.56 136.338a48.4 48.4 0 0 1-31.105-11.255l1.535-.87l51.67-29.825a8.6 8.6 0 0 0 4.247-7.367v-72.85l21.845 12.636c.218.111.37.32.409.563v60.367c-.056 26.818-21.783 48.545-48.601 48.601M37.158 197.93a48.35 48.35 0 0 1-5.781-32.589l1.534.921l51.722 29.826a8.34 8.34 0 0 0 8.441 0l63.181-36.425v25.221a.87.87 0 0 1-.358.665l-52.335 30.184c-23.257 13.398-52.97 5.431-66.404-17.803M23.549 85.38a48.5 48.5 0 0 1 25.58-21.333v61.39a8.29 8.29 0 0 0 4.195 7.316l62.874 36.272l-21.845 12.636a.82.82 0 0 1-.767 0L41.353 151.53c-23.211-13.454-31.171-43.144-17.804-66.405zm179.466 41.695l-63.08-36.63L161.73 77.86a.82.82 0 0 1 .768 0l52.233 30.184a48.6 48.6 0 0 1-7.316 87.635v-61.391a8.54 8.54 0 0 0-4.4-7.213m21.742-32.69l-1.535-.922l-51.619-30.081a8.39 8.39 0 0 0-8.492 0L99.98 99.808V74.587a.72.72 0 0 1 .307-.665l52.233-30.133a48.652 48.652 0 0 1 72.236 50.391zM88.061 139.097l-21.845-12.585a.87.87 0 0 1-.41-.614V65.685a48.652 48.652 0 0 1 79.757-37.346l-1.535.87l-51.67 29.825a8.6 8.6 0 0 0-4.246 7.367zm11.868-25.58L128.067 97.3l28.188 16.218v32.434l-28.086 16.218l-28.188-16.218z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-paypal{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 302' width='256' height='302'%3E%3Cpath fill='%2327346A' d='M217.168 23.507C203.234 7.625 178.046.816 145.823.816h-93.52A13.39 13.39 0 0 0 39.076 12.11L.136 259.077c-.774 4.87 2.997 9.28 7.933 9.28h57.736l14.5-91.971l-.45 2.88c1.033-6.501 6.593-11.296 13.177-11.296h27.436c53.898 0 96.101-21.892 108.429-85.221c.366-1.873.683-3.696.957-5.477q-2.334-1.236 0 0c3.671-23.407-.025-39.34-12.686-53.765'/%3E%3Cpath fill='%2327346A' d='M102.397 68.84a11.7 11.7 0 0 1 5.053-1.14h73.318c8.682 0 16.78.565 24.18 1.756a102 102 0 0 1 6.177 1.182a90 90 0 0 1 8.59 2.347c3.638 1.215 7.026 2.63 10.14 4.287c3.67-23.416-.026-39.34-12.687-53.765C203.226 7.625 178.046.816 145.823.816H52.295C45.71.816 40.108 5.61 39.076 12.11L.136 259.068c-.774 4.878 2.997 9.282 7.925 9.282h57.744L95.888 77.58a11.72 11.72 0 0 1 6.509-8.74'/%3E%3Cpath fill='%232790C3' d='M228.897 82.749c-12.328 63.32-54.53 85.221-108.429 85.221H93.024c-6.584 0-12.145 4.795-13.168 11.296L61.817 293.621c-.674 4.262 2.622 8.124 6.934 8.124h48.67a11.71 11.71 0 0 0 11.563-9.88l.474-2.48l9.173-58.136l.591-3.213a11.71 11.71 0 0 1 11.562-9.88h7.284c47.147 0 84.064-19.154 94.852-74.55c4.503-23.15 2.173-42.478-9.739-56.054c-3.613-4.112-8.1-7.508-13.327-10.28c-.283 1.79-.59 3.604-.957 5.477'/%3E%3Cpath fill='%231F264F' d='M216.952 72.128a90 90 0 0 0-5.818-1.49a110 110 0 0 0-6.177-1.174c-7.408-1.199-15.5-1.765-24.19-1.765h-73.309a11.6 11.6 0 0 0-5.053 1.149a11.68 11.68 0 0 0-6.51 8.74l-15.582 98.798l-.45 2.88c1.025-6.501 6.585-11.296 13.17-11.296h27.444c53.898 0 96.1-21.892 108.428-85.221c.367-1.873.675-3.688.958-5.477q-4.682-2.47-10.14-4.279a83 83 0 0 0-2.77-.865'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-pipedrive{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 117' width='512' height='117'%3E%3Cpath fill='%23525254' d='M80.214.286h16.323V17.48H80.214zm285.782 0h16.323V17.48h-16.323z'/%3E%3Cpath fill='%23231F1F' d='M44.138 23.65c-10.288 0-16.238 4.616-19.108 7.805c-.341-2.748-2.154-6.313-9.227-6.313H.443V41.22h6.295c1.065 0 1.408.34 1.408 1.403v73.412h18.31V88.482c0-.744-.015-1.439-.034-2.061c2.86 2.627 8.322 6.243 16.854 6.243c17.896 0 30.408-14.186 30.408-34.504c0-20.64-11.88-34.51-29.546-34.51m-3.72 53.066c-9.857 0-14.335-9.438-14.335-18.182c0-13.773 7.532-18.682 14.58-18.682c8.643 0 14.456 7.452 14.456 18.553c0 12.659-7.39 18.311-14.7 18.311'/%3E%3Cpath fill='%23231F1F' d='M97.788 73.817V34.918c0-6.577-3.17-9.776-9.661-9.776H71.768V41.22h6.302c1.061 0 1.402.34 1.402 1.402v38.77c0 6.67 3.072 9.774 9.645 9.774h16.38V75.23h-6.304c-1.014 0-1.405-.404-1.405-1.412'/%3E%3Cpath fill='%23231F1F' d='M145.614 23.65c-10.291 0-16.233 4.616-19.116 7.805c-.34-2.748-2.144-6.313-9.216-6.313h-15.37V41.22h6.302c1.061 0 1.405.34 1.405 1.403v73.412h18.318V88.482c0-.744-.02-1.439-.043-2.061c2.848 2.627 8.328 6.243 16.857 6.243c17.898 0 30.404-14.186 30.404-34.504c0-20.64-11.873-34.51-29.54-34.51m-3.736 53.066c-9.83 0-14.324-9.438-14.324-18.182c0-13.773 7.53-18.682 14.584-18.682c8.642 0 14.453 7.452 14.453 18.553c0 12.659-7.381 18.311-14.713 18.311m67.026-53.066c-19.724 0-33.516 14.193-33.516 34.51c0 19.988 14.882 34.504 35.388 34.504c16.132 0 25.988-9.549 26.404-9.953l.736-.726l-7.973-13.237l-1.186 1.122c-.076.057-7.313 6.727-16.872 6.727c-9.175 0-15.891-5.6-17.474-14.385h43.414l.104-1.2c.028-.164.391-4.06.391-5.964c0-18.778-11.822-31.399-29.416-31.399m-13.813 24.98c1.987-6.479 6.953-10.15 13.813-10.15c5.51 0 9.758 4.192 10.503 10.15zm109.816 25.188V10.06c0-6.572-3.213-9.774-9.788-9.774h-16.364v16.077h6.3c1.06 0 1.41.343 1.41 1.407v11.525c-2.702-2.44-7.98-5.646-17.064-5.646c-17.767 0-30.165 14.194-30.165 34.51c0 20.641 11.88 34.505 29.547 34.505c10.103 0 15.923-4.69 18.767-7.955c.37 2.85 2.215 6.457 9.067 6.457h15.862V75.231h-6.169c-1.015 0-1.403-.406-1.403-1.414m-32.65 2.9c-8.707 0-14.34-7.287-14.34-18.557c0-10.955 5.861-18.308 14.59-18.308c9.895 0 14.33 9.125 14.33 18.188c0 13.776-7.538 18.676-14.58 18.676m81.058-52.448c-7.62 0-14.636 4.399-18.794 11.406v-1.509c0-5.983-3.304-9.024-9.785-9.024h-15.74V41.22h6.295c1.06 0 1.411.338 1.411 1.403v48.545h18.306V64.743c0-3.48.444-6.831 1.31-9.926c2.754-9.113 10.079-12.357 16.002-12.357c2.1 0 3.63.223 3.653.23l1.53.23V24.721l-1.114-.189c-.056-.01-1.606-.264-3.074-.264m30.246 49.549V34.918c0-6.577-3.152-9.776-9.648-9.776h-14.801V41.22h4.731c1.068 0 1.407.34 1.407 1.402v38.77c0 6.67 3.073 9.774 9.658 9.774h16.365V75.23h-6.304c-1.015 0-1.408-.404-1.408-1.412'/%3E%3Cpath fill='%23231F1F' d='M452.359 41.22V25.142h-9.77c-5.705 0-8.767 1.978-10.575 6.84l-11.935 33.335a53 53 0 0 0-1.13 3.951c-.348-1.336-.758-2.738-1.211-3.976L405.803 31.97c-1.832-4.912-4.788-6.829-10.574-6.829h-10.384V41.22h2.695c1.428 0 1.887.484 2.228 1.378l18.474 48.568h20.586l18.477-48.568c.338-.894.81-1.378 2.242-1.378z'/%3E%3Cpath fill='%23231F1F' d='M511.196 61.013c.016-.165.387-4.062.387-5.965c0-18.778-11.827-31.399-29.426-31.399c-19.724 0-33.506 14.194-33.506 34.51c0 19.99 14.865 34.505 35.377 34.505c16.134 0 25.996-9.549 26.406-9.953l.745-.726l-7.959-13.237l-1.21 1.122c-.063.057-7.337 6.727-16.862 6.727c-9.18 0-15.9-5.6-17.487-14.385h43.428zm-42.85-12.383c2.003-6.48 6.953-10.152 13.811-10.152c5.525 0 9.757 4.193 10.507 10.152z'/%3E%3Cpath fill='%233B3B3C' d='M353.316 24.268c-5.918 0-11.43 2.677-15.567 7.132a1187 1187 0 0 1 10.529-.06c3.09 0 6.154.029 9.227.047v-6.666l-1.115-.189c-.056-.01-1.606-.264-3.074-.264m78.698 7.714l-.753 2.119c7.08.487 14.103 1.024 21.098 1.625V25.142h-9.768c-5.706 0-8.77 1.978-10.577 6.84M44.138 23.65c-10.288 0-16.24 4.616-19.108 7.804c-.343-2.747-2.154-6.312-9.227-6.312H.443V41.22h6.295c1.065 0 1.408.34 1.408 1.402v40.91a771 771 0 0 1 25.821-8.462c-5.38-3.079-7.884-9.998-7.884-16.538c0-13.77 7.532-18.68 14.58-18.68c8.643 0 14.456 7.452 14.456 18.553c0 4.662-1.012 8.36-2.646 11.186a876 876 0 0 1 20.814-5.623c.228-1.875.397-3.806.397-5.808c0-20.64-11.88-34.51-29.546-34.51m43.989 1.492H71.768V41.22h6.302c1.06 0 1.4.34 1.4 1.403v19.803a913 913 0 0 1 18.318-4.367V34.918c0-6.575-3.17-9.776-9.661-9.776M80.214.286h16.323V17.48H80.214zm65.402 23.364c-10.292 0-16.233 4.616-19.116 7.804c-.343-2.747-2.144-6.312-9.218-6.312h-15.368V41.22h6.3c1.061 0 1.407.34 1.407 1.402v12.825a1103 1103 0 0 1 18.78-3.81c2.098-8.498 8.043-11.785 13.738-11.785c5.155 0 9.263 2.688 11.768 7.18c6.32-1.053 12.68-2.068 19.097-3.029c-4.17-12.571-14.158-20.354-27.388-20.354m63.289.001c-14.411 0-25.622 7.587-30.63 19.593a1126 1126 0 0 1 23.577-3.14c2.029-1.057 4.391-1.623 7.053-1.623c1.009 0 1.946.188 2.854.448a1150 1150 0 0 1 21.777-2.251c-5.031-8.166-13.718-13.028-24.631-13.028M295.12.286h-16.364v16.077h6.3c1.058 0 1.41.343 1.41 1.407v11.525c-2.702-2.44-7.98-5.646-17.064-5.646c-9.944 0-18.203 4.447-23.552 11.935a1211 1211 0 0 1 59.058-3.499V10.06c0-6.572-3.213-9.774-9.788-9.774m29.619 24.856h-15.743v6.829c8.353-.266 16.744-.456 25.207-.552c-.927-4.151-4.079-6.277-9.464-6.277M365.996.286h16.323V17.48h-16.323zm7.919 24.856h-14.8v6.256q12.127.11 24.133.439c-.91-4.472-3.962-6.695-9.333-6.695m21.314 0h-10.384v6.744c7.108.21 14.173.47 21.198.79l-.24-.705c-1.832-4.912-4.788-6.829-10.574-6.829m86.928-1.492c-11.247 0-20.543 4.625-26.48 12.357c8.598.755 17.145 1.602 25.595 2.534c1.302.143 2.58.275 3.86.425c8.156.922 16.223 1.936 24.22 3.027c-4.189-11.333-14.09-18.344-27.195-18.344'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-salesforce{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 180' width='256' height='180'%3E%3Cpath fill='%2300A1E0' d='M106.553 19.651c8.248-8.594 19.731-13.924 32.43-13.924c16.883 0 31.612 9.414 39.455 23.389a54.5 54.5 0 0 1 22.3-4.74c30.449 0 55.134 24.9 55.134 55.615c0 30.719-24.685 55.62-55.134 55.62a54.7 54.7 0 0 1-10.86-1.083c-6.908 12.321-20.07 20.645-35.178 20.645a40.1 40.1 0 0 1-17.632-4.058c-7.002 16.47-23.316 28.019-42.33 28.019c-19.8 0-36.674-12.529-43.152-30.1c-2.83.602-5.763.915-8.772.915c-23.574 0-42.686-19.308-42.686-43.13a43.2 43.2 0 0 1 21.345-37.36a49.4 49.4 0 0 1-4.088-19.727C17.385 22.336 39.626.128 67.06.128c16.106 0 30.42 7.658 39.494 19.523'/%3E%3Cpath fill='%23FFF' d='M37.17 92.956c-.16.419.058.506.11.58c.48.349.968.6 1.46.88c2.609 1.385 5.071 1.79 7.647 1.79c5.246 0 8.503-2.79 8.503-7.283v-.087c0-4.153-3.676-5.662-7.126-6.75l-.448-.147c-2.601-.845-4.845-1.573-4.845-3.286v-.09c0-1.465 1.311-2.544 3.344-2.544c2.259 0 4.94.75 6.667 1.705c0 0 .506.328.692-.164c.102-.262.976-2.615 1.068-2.87c.098-.277-.077-.481-.255-.59c-1.971-1.2-4.696-2.019-7.516-2.019l-.525.004c-4.801 0-8.153 2.9-8.153 7.057v.087c0 4.383 3.698 5.803 7.162 6.794l.558.172c2.524.775 4.7 1.442 4.7 3.22v.087c0 1.625-1.414 2.835-3.695 2.835c-.885 0-3.708-.018-6.758-1.946c-.368-.215-.583-.371-.867-.542c-.15-.095-.524-.26-.688.236zm76.8 0c-.16.419.058.506.11.58c.48.349.968.6 1.46.88c2.608 1.385 5.071 1.79 7.647 1.79c5.246 0 8.503-2.79 8.503-7.283v-.087c0-4.153-3.676-5.662-7.126-6.75l-.448-.147c-2.601-.845-4.846-1.573-4.846-3.286v-.09c0-1.465 1.312-2.544 3.345-2.544c2.259 0 4.94.75 6.667 1.705c0 0 .506.328.692-.164c.102-.262.976-2.615 1.067-2.87c.099-.277-.076-.481-.255-.59c-1.97-1.2-4.696-2.019-7.515-2.019l-.525.004c-4.802 0-8.153 2.9-8.153 7.057v.087c0 4.383 3.697 5.803 7.162 6.794l.557.172c2.525.775 4.704 1.442 4.704 3.22v.087c0 1.625-1.418 2.835-3.698 2.835a12.4 12.4 0 0 1-6.758-1.946c-.368-.215-.587-.364-.863-.542c-.095-.062-.54-.234-.693.236zm52.429-8.799c0 2.54-.474 4.54-1.406 5.953c-.922 1.4-2.317 2.08-4.263 2.08c-1.949 0-3.337-.677-4.244-2.08c-.918-1.41-1.384-3.413-1.384-5.953c0-2.535.466-4.532 1.384-5.93c.907-1.385 2.295-2.059 4.244-2.059c1.946 0 3.34.674 4.266 2.058c.93 1.4 1.403 3.396 1.403 5.931m4.379-4.707c-.43-1.453-1.1-2.735-1.993-3.803c-.893-1.071-2.022-1.93-3.363-2.557c-1.337-.623-2.918-.94-4.692-.94c-1.778 0-3.359.317-4.696.94c-1.34.626-2.47 1.486-3.366 2.557c-.889 1.071-1.56 2.354-1.993 3.803c-.426 1.447-.64 3.028-.64 4.707c0 1.68.214 3.265.64 4.707c.434 1.45 1.1 2.732 1.997 3.804a9.4 9.4 0 0 0 3.362 2.535c1.34.609 2.918.918 4.696.918c1.774 0 3.352-.31 4.692-.918a9.4 9.4 0 0 0 3.363-2.535c.893-1.068 1.563-2.35 1.993-3.804c.43-1.446.645-3.03.645-4.707c0-1.675-.215-3.26-.645-4.707m35.959 12.063c-.145-.426-.557-.266-.557-.266c-.637.244-1.315.47-2.036.583a16 16 0 0 1-2.401.171c-2.12 0-3.804-.63-5.01-1.876c-1.209-1.246-1.887-3.26-1.88-5.986c.008-2.48.606-4.346 1.68-5.767c1.068-1.413 2.692-2.138 4.86-2.138c1.807 0 3.184.207 4.627.663c0 0 .346.15.51-.303c.382-1.063.667-1.825 1.075-2.994c.116-.332-.168-.474-.27-.514c-.568-.222-1.909-.583-2.922-.736c-.947-.145-2.054-.222-3.286-.222c-1.84 0-3.479.313-4.882.94c-1.399.623-2.586 1.483-3.526 2.554s-1.654 2.353-2.131 3.803c-.474 1.446-.714 3.035-.714 4.714c0 3.632.98 6.569 2.914 8.718c1.938 2.157 4.85 3.253 8.645 3.253c2.244 0 4.547-.455 6.2-1.107c0 0 .318-.153.18-.521zm7.663-9.788c.207-1.41.597-2.583 1.198-3.497c.907-1.388 2.291-2.15 4.237-2.15c1.945 0 3.231.765 4.153 2.15c.612.914.878 2.138.983 3.497zm14.743-3.1c-.372-1.403-1.294-2.82-1.898-3.468c-.955-1.028-1.887-1.746-2.813-2.146a10.8 10.8 0 0 0-4.248-.86c-1.85 0-3.53.31-4.892.95c-1.366.642-2.514 1.516-3.414 2.606c-.9 1.085-1.577 2.379-2.007 3.847c-.434 1.46-.652 3.053-.652 4.732c0 1.709.226 3.3.674 4.732c.451 1.443 1.173 2.715 2.15 3.767c.972 1.06 2.225 1.891 3.726 2.47c1.49.576 3.3.875 5.38.871c4.281-.015 6.537-.969 7.465-1.483c.164-.09.321-.251.124-.71l-.969-2.714c-.145-.405-.557-.255-.557-.255c-1.06.393-2.568 1.1-6.084 1.093c-2.299-.004-4.004-.682-5.071-1.742c-1.097-1.085-1.632-2.68-1.727-4.932l14.824.014s.39-.007.43-.386c.014-.16.51-3.046-.441-6.386m-133.46 3.1c.211-1.41.597-2.583 1.199-3.497c.907-1.388 2.291-2.15 4.236-2.15c1.946 0 3.232.765 4.157 2.15c.609.914.875 2.138.98 3.497zm14.74-3.1c-.372-1.403-1.29-2.82-1.895-3.468c-.954-1.028-1.887-1.746-2.812-2.146a10.8 10.8 0 0 0-4.248-.86c-1.847 0-3.53.31-4.892.95c-1.367.642-2.514 1.516-3.414 2.606c-.9 1.085-1.577 2.379-2.007 3.847c-.43 1.46-.652 3.053-.652 4.732c0 1.709.225 3.3.674 4.732c.451 1.443 1.173 2.715 2.149 3.767c.973 1.06 2.226 1.891 3.727 2.47c1.49.576 3.3.875 5.38.871c4.281-.015 6.536-.969 7.465-1.483c.164-.09.32-.251.124-.71l-.965-2.714c-.15-.405-.561-.255-.561-.255c-1.06.393-2.565 1.1-6.088 1.093c-2.295-.004-4-.682-5.067-1.742c-1.097-1.085-1.633-2.68-1.727-4.932l14.823.014s.39-.007.43-.386c.015-.16.51-3.046-.444-6.386M63.642 91.431c-.58-.462-.66-.579-.856-.878c-.292-.455-.441-1.104-.441-1.927c0-1.304.43-2.24 1.322-2.87c-.01.003 1.275-1.112 4.3-1.072c2.123.03 4.021.343 4.021.343v6.74h.004s-1.884.404-4.004.531c-3.017.182-4.357-.87-4.346-.867m5.898-10.415c-.601-.044-1.38-.07-2.313-.07c-1.272 0-2.5.16-3.65.47a9.5 9.5 0 0 0-3.097 1.436a7.15 7.15 0 0 0-2.15 2.444c-.524.977-.79 2.128-.79 3.417c0 1.312.225 2.452.677 3.385a6.1 6.1 0 0 0 1.935 2.317c.823.601 1.84 1.042 3.02 1.308c1.162.266 2.48.4 3.923.4c1.52 0 3.035-.123 4.503-.375a94 94 0 0 0 3.734-.721c.492-.117 1.039-.266 1.039-.266c.368-.091.338-.485.338-.485l-.007-13.555c0-2.973-.794-5.177-2.357-6.543c-1.555-1.363-3.847-2.051-6.809-2.051c-1.11 0-2.9.153-3.97.368c0 0-3.24.626-4.573 1.668c0 0-.291.182-.131.59l1.05 2.82c.13.364.484.24.484.24s.113-.043.244-.12c2.852-1.552 6.459-1.504 6.459-1.504c1.603 0 2.834.32 3.665.958c.809.619 1.22 1.555 1.22 3.53v.626c-1.275-.182-2.444-.287-2.444-.287m119.56-7.639a.4.4 0 0 0-.223-.532c-.251-.098-1.512-.364-2.485-.426c-1.861-.113-2.896.2-3.821.616c-.918.415-1.938 1.085-2.507 1.847v-1.804c0-.251-.178-.451-.426-.451h-3.8c-.247 0-.426.2-.426.451v22.11c0 .248.204.452.452.452h3.894a.45.45 0 0 0 .448-.452V84.142c0-1.482.164-2.962.492-3.89c.32-.919.758-1.654 1.297-2.183a4.55 4.55 0 0 1 1.833-1.1c.688-.211 1.45-.28 1.989-.28c.776 0 1.628.2 1.628.2c.284.033.445-.142.54-.4c.254-.678.976-2.708 1.114-3.112'/%3E%3Cpath fill='%23FFF' d='M152.544 63.13a13 13 0 0 0-1.465-.35a11.6 11.6 0 0 0-2.014-.152c-2.682 0-4.795.757-6.277 2.251c-1.476 1.486-2.478 3.749-2.98 6.725l-.183 1.002h-3.366s-.408-.015-.495.43l-.55 3.086c-.04.291.087.477.48.477h3.276l-3.323 18.55c-.258 1.494-.557 2.722-.889 3.654c-.324.918-.64 1.607-1.034 2.11c-.38.48-.736.838-1.356 1.045c-.51.172-1.1.252-1.745.252c-.357 0-.834-.059-1.187-.131a3.5 3.5 0 0 1-.802-.26s-.382-.145-.535.238c-.12.317-.995 2.717-1.1 3.013c-.102.295.043.524.229.593c.437.153.761.255 1.355.397c.824.194 1.52.204 2.172.204c1.362 0 2.608-.193 3.639-.564c1.035-.375 1.938-1.028 2.74-1.91c.863-.954 1.406-1.952 1.923-3.318c.514-1.348.955-3.024 1.304-4.976l3.341-18.897h4.882s.411.014.495-.434l.554-3.082c.036-.295-.087-.477-.485-.477h-4.74c.026-.106.241-1.774.784-3.344c.233-.667.67-1.21 1.038-1.581a3.1 3.1 0 0 1 1.243-.773c.47-.153 1.005-.226 1.592-.226c.444 0 .885.051 1.216.12c.46.099.638.15.758.186c.485.146.55.004.645-.23l1.133-3.11c.117-.335-.171-.478-.273-.518M86.322 95.19c0 .247-.179.448-.426.448h-3.931c-.248 0-.423-.2-.423-.448V63.553c0-.247.175-.448.423-.448h3.93c.248 0 .427.2.427.448z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-shopify{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 292' width='256' height='292'%3E%3Cpath fill='%2395BF46' d='M223.774 57.34c-.201-1.46-1.48-2.268-2.537-2.357a19614 19614 0 0 0-23.383-1.743s-15.507-15.395-17.209-17.099c-1.703-1.703-5.029-1.185-6.32-.805c-.19.056-3.388 1.043-8.678 2.68c-5.18-14.906-14.322-28.604-30.405-28.604c-.444 0-.901.018-1.358.044C129.31 3.407 123.644.779 118.75.779c-37.465 0-55.364 46.835-60.976 70.635c-14.558 4.511-24.9 7.718-26.221 8.133c-8.126 2.549-8.383 2.805-9.45 10.462C21.3 95.806.038 260.235.038 260.235l165.678 31.042l89.77-19.42S223.973 58.8 223.775 57.34M156.49 40.848l-14.019 4.339c.005-.988.01-1.96.01-3.023c0-9.264-1.286-16.723-3.349-22.636c8.287 1.04 13.806 10.469 17.358 21.32m-27.638-19.483c2.304 5.773 3.802 14.058 3.802 25.238c0 .572-.005 1.095-.01 1.624c-9.117 2.824-19.024 5.89-28.953 8.966c5.575-21.516 16.025-31.908 25.161-35.828m-11.131-10.537c1.617 0 3.246.549 4.805 1.622c-12.007 5.65-24.877 19.88-30.312 48.297l-22.886 7.088C75.694 46.16 90.81 10.828 117.72 10.828'/%3E%3Cpath fill='%235E8E3E' d='M221.237 54.983a19614 19614 0 0 0-23.383-1.743s-15.507-15.395-17.209-17.099c-.637-.634-1.496-.959-2.394-1.099l-12.527 256.233l89.762-19.418S223.972 58.8 223.774 57.34c-.201-1.46-1.48-2.268-2.537-2.357'/%3E%3Cpath fill='%23FFF' d='m135.242 104.585l-11.069 32.926s-9.698-5.176-21.586-5.176c-17.428 0-18.305 10.937-18.305 13.693c0 15.038 39.2 20.8 39.2 56.024c0 27.713-17.577 45.558-41.277 45.558c-28.44 0-42.984-17.7-42.984-17.7l7.615-25.16s14.95 12.835 27.565 12.835c8.243 0 11.596-6.49 11.596-11.232c0-19.616-32.16-20.491-32.16-52.724c0-27.129 19.472-53.382 58.778-53.382c15.145 0 22.627 4.338 22.627 4.338'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-slack-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23E01E5A' d='M53.841 161.32c0 14.832-11.987 26.82-26.819 26.82S.203 176.152.203 161.32c0-14.831 11.987-26.818 26.82-26.818H53.84zm13.41 0c0-14.831 11.987-26.818 26.819-26.818s26.819 11.987 26.819 26.819v67.047c0 14.832-11.987 26.82-26.82 26.82c-14.83 0-26.818-11.988-26.818-26.82z'/%3E%3Cpath fill='%2336C5F0' d='M94.07 53.638c-14.832 0-26.82-11.987-26.82-26.819S79.239 0 94.07 0s26.819 11.987 26.819 26.819v26.82zm0 13.613c14.832 0 26.819 11.987 26.819 26.819s-11.987 26.819-26.82 26.819H26.82C11.987 120.889 0 108.902 0 94.069c0-14.83 11.987-26.818 26.819-26.818z'/%3E%3Cpath fill='%232EB67D' d='M201.55 94.07c0-14.832 11.987-26.82 26.818-26.82s26.82 11.988 26.82 26.82s-11.988 26.819-26.82 26.819H201.55zm-13.41 0c0 14.832-11.988 26.819-26.82 26.819c-14.831 0-26.818-11.987-26.818-26.82V26.82C134.502 11.987 146.489 0 161.32 0s26.819 11.987 26.819 26.819z'/%3E%3Cpath fill='%23ECB22E' d='M161.32 201.55c14.832 0 26.82 11.987 26.82 26.818s-11.988 26.82-26.82 26.82c-14.831 0-26.818-11.988-26.818-26.82V201.55zm0-13.41c-14.831 0-26.818-11.988-26.818-26.82c0-14.831 11.987-26.818 26.819-26.818h67.25c14.832 0 26.82 11.987 26.82 26.819s-11.988 26.819-26.82 26.819z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-stripe{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 214' width='512' height='214'%3E%3Cpath fill='%23635BFF' d='M512 110.08c0-36.409-17.636-65.138-51.342-65.138c-33.85 0-54.33 28.73-54.33 64.854c0 42.808 24.179 64.426 58.88 64.426c16.925 0 29.725-3.84 39.396-9.244v-28.445c-9.67 4.836-20.764 7.823-34.844 7.823c-13.796 0-26.027-4.836-27.591-21.618h69.547c0-1.85.284-9.245.284-12.658m-70.258-13.511c0-16.071 9.814-22.756 18.774-22.756c8.675 0 17.92 6.685 17.92 22.756zm-90.31-51.627c-13.939 0-22.899 6.542-27.876 11.094l-1.85-8.818h-31.288v165.83l35.555-7.537l.143-40.249c5.12 3.698 12.657 8.96 25.173 8.96c25.458 0 48.64-20.48 48.64-65.564c-.142-41.245-23.609-63.716-48.498-63.716m-8.534 97.991c-8.391 0-13.37-2.986-16.782-6.684l-.143-52.765c3.698-4.124 8.818-6.968 16.925-6.968c12.942 0 21.902 14.506 21.902 33.137c0 19.058-8.818 33.28-21.902 33.28M241.493 36.551l35.698-7.68V0l-35.698 7.538zm0 10.809h35.698v124.444h-35.698zm-38.257 10.524L200.96 47.36h-30.72v124.444h35.556V87.467c8.39-10.951 22.613-8.96 27.022-7.396V47.36c-4.551-1.707-21.191-4.836-29.582 10.524m-71.112-41.386l-34.702 7.395l-.142 113.92c0 21.05 15.787 36.551 36.836 36.551c11.662 0 20.195-2.133 24.888-4.693V140.8c-4.55 1.849-27.022 8.391-27.022-12.658V77.653h27.022V47.36h-27.022zM35.982 83.484c0-5.546 4.551-7.68 12.09-7.68c10.808 0 24.461 3.272 35.27 9.103V51.484c-11.804-4.693-23.466-6.542-35.27-6.542C19.2 44.942 0 60.018 0 85.192c0 39.252 54.044 32.995 54.044 49.92c0 6.541-5.688 8.675-13.653 8.675c-11.804 0-26.88-4.836-38.827-11.378v33.849c13.227 5.689 26.596 8.106 38.827 8.106c29.582 0 49.92-14.648 49.92-40.106c-.142-42.382-54.329-34.845-54.329-50.774'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-telegram{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cdefs%3E%3ClinearGradient id='SVGuySfwdaH' x1='50%25' x2='50%25' y1='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%232AABEE'/%3E%3Cstop offset='100%25' stop-color='%23229ED9'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23SVGuySfwdaH)' d='M128 0C94.06 0 61.48 13.494 37.5 37.49A128.04 128.04 0 0 0 0 128c0 33.934 13.5 66.514 37.5 90.51C61.48 242.506 94.06 256 128 256s66.52-13.494 90.5-37.49c24-23.996 37.5-56.576 37.5-90.51s-13.5-66.514-37.5-90.51C194.52 13.494 161.94 0 128 0'/%3E%3Cpath fill='%23FFF' d='M57.94 126.648q55.98-24.384 74.64-32.152c35.56-14.786 42.94-17.354 47.76-17.441c1.06-.017 3.42.245 4.96 1.49c1.28 1.05 1.64 2.47 1.82 3.467c.16.996.38 3.266.2 5.038c-1.92 20.24-10.26 69.356-14.5 92.026c-1.78 9.592-5.32 12.808-8.74 13.122c-7.44.684-13.08-4.912-20.28-9.63c-11.26-7.386-17.62-11.982-28.56-19.188c-12.64-8.328-4.44-12.906 2.76-20.386c1.88-1.958 34.64-31.748 35.26-34.45c.08-.338.16-1.598-.6-2.262c-.74-.666-1.84-.438-2.64-.258c-1.14.256-19.12 12.152-54 35.686c-5.1 3.508-9.72 5.218-13.88 5.128c-4.56-.098-13.36-2.584-19.9-4.708c-8-2.606-14.38-3.984-13.82-8.41c.28-2.304 3.46-4.662 9.52-7.072'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-trello{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cdefs%3E%3ClinearGradient id='SVGRQlC3b0s' x1='50%25' x2='50%25' y1='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%230091E6'/%3E%3Cstop offset='100%25' stop-color='%230079BF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='256' height='256' fill='url(%23SVGRQlC3b0s)' rx='25'/%3E%3Crect width='78.08' height='112' x='144.64' y='33.28' fill='%23FFF' rx='12'/%3E%3Crect width='78.08' height='176' x='33.28' y='33.28' fill='%23FFF' rx='12'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-twilio-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23F12E45' d='M128 0c70.656 0 128 57.344 128 128s-57.344 128-128 128S0 198.656 0 128S57.344 0 128 0m0 33.792c-52.224 0-94.208 41.984-94.208 94.208S75.776 222.208 128 222.208s94.208-41.984 94.208-94.208S180.224 33.792 128 33.792m31.744 99.328c14.704 0 26.624 11.92 26.624 26.624s-11.92 26.624-26.624 26.624s-26.624-11.92-26.624-26.624s11.92-26.624 26.624-26.624m-63.488 0c14.704 0 26.624 11.92 26.624 26.624s-11.92 26.624-26.624 26.624s-26.624-11.92-26.624-26.624s11.92-26.624 26.624-26.624m63.488-63.488c14.704 0 26.624 11.92 26.624 26.624s-11.92 26.624-26.624 26.624s-26.624-11.92-26.624-26.624s11.92-26.624 26.624-26.624m-63.488 0c14.704 0 26.624 11.92 26.624 26.624s-11.92 26.624-26.624 26.624s-26.624-11.92-26.624-26.624s11.92-26.624 26.624-26.624'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-twitter{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 209' width='256' height='209'%3E%3Cpath fill='%2355acee' d='M256 25.45a105 105 0 0 1-30.166 8.27c10.845-6.5 19.172-16.793 23.093-29.057a105.2 105.2 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52c0 4.117.465 8.125 1.36 11.97c-43.65-2.191-82.35-23.1-108.255-54.876c-4.52 7.757-7.11 16.78-7.11 26.404c0 18.222 9.273 34.297 23.365 43.716a52.3 52.3 0 0 1-23.79-6.57q-.004.33-.003.661c0 25.447 18.104 46.675 42.13 51.5a52.6 52.6 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475c-17.975 14.086-40.622 22.483-65.228 22.483c-4.24 0-8.42-.249-12.529-.734c23.243 14.902 50.85 23.597 80.51 23.597c96.607 0 149.434-80.031 149.434-149.435q0-3.417-.152-6.795A106.8 106.8 0 0 0 256 25.45'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-typeform-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 257' width='256' height='257'%3E%3Cpath fill='%23262627' d='M121.24.474c33.019-2.718 56.734 6.045 82.25 31.547c27.549 27.532 45.864 63.212 50.8 101.218c5.492 42.266-2.062 73.807-25.326 96.898c-22.247 22.08-54.74 29.364-98.146 25.735l-1.797-.158c-36.963-3.398-63.107-15.517-88.438-41.171C13.526 187.14-.732 156.026.029 123.37c.372-15.987 4.901-29.612 13.635-42.98c5.726-8.765 11.54-15.602 23.704-28.14l4.06-4.158l4.474-4.536C74.73 14.58 93.707 2.741 121.24.475m80.288 33.51C176.586 9.057 153.672.59 121.468 3.241c-27.14 2.234-45.78 14.091-74.95 43.635l-2.11 2.141c-14.21 14.448-20.87 21.835-26.738 30.378l-.854 1.26l-.828 1.252c-8.461 12.95-12.824 26.078-13.184 41.528c-.743 31.846 13.194 62.258 39.754 89.157c25.267 25.59 51.225 37.4 88.49 40.514l1.85.148c41.744 3.21 72.867-4.002 94.11-25.087c22.57-22.402 29.92-53.088 24.53-94.57c-4.855-37.382-22.884-72.503-50.01-99.613M166.984 93.39v13.56h-28.797v77.712h-14.345V106.95H95.045V93.39z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-whatsapp-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 258' width='256' height='258'%3E%3Cdefs%3E%3ClinearGradient id='SVGBRLHCcSy' x1='50%25' x2='50%25' y1='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%231FAF38'/%3E%3Cstop offset='100%25' stop-color='%2360D669'/%3E%3C/linearGradient%3E%3ClinearGradient id='SVGHW6lecxh' x1='50%25' x2='50%25' y1='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%23F9F9F9'/%3E%3Cstop offset='100%25' stop-color='%23FFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23SVGBRLHCcSy)' d='M5.463 127.456c-.006 21.677 5.658 42.843 16.428 61.499L4.433 252.697l65.232-17.104a123 123 0 0 0 58.8 14.97h.054c67.815 0 123.018-55.183 123.047-123.01c.013-32.867-12.775-63.773-36.009-87.025c-23.23-23.25-54.125-36.061-87.043-36.076c-67.823 0-123.022 55.18-123.05 123.004'/%3E%3Cpath fill='url(%23SVGHW6lecxh)' d='M1.07 127.416c-.007 22.457 5.86 44.38 17.014 63.704L0 257.147l67.571-17.717c18.618 10.151 39.58 15.503 60.91 15.511h.055c70.248 0 127.434-57.168 127.464-127.423c.012-34.048-13.236-66.065-37.3-90.15C194.633 13.286 162.633.014 128.536 0C58.276 0 1.099 57.16 1.071 127.416m40.24 60.376l-2.523-4.005c-10.606-16.864-16.204-36.352-16.196-56.363C22.614 69.029 70.138 21.52 128.576 21.52c28.3.012 54.896 11.044 74.9 31.06c20.003 20.018 31.01 46.628 31.003 74.93c-.026 58.395-47.551 105.91-105.943 105.91h-.042c-19.013-.01-37.66-5.116-53.922-14.765l-3.87-2.295l-40.098 10.513z'/%3E%3Cpath fill='%23FFF' d='M96.678 74.148c-2.386-5.303-4.897-5.41-7.166-5.503c-1.858-.08-3.982-.074-6.104-.074c-2.124 0-5.575.799-8.492 3.984c-2.92 3.188-11.148 10.892-11.148 26.561s11.413 30.813 13.004 32.94c1.593 2.123 22.033 35.307 54.405 48.073c26.904 10.609 32.379 8.499 38.218 7.967c5.84-.53 18.844-7.702 21.497-15.139c2.655-7.436 2.655-13.81 1.859-15.142c-.796-1.327-2.92-2.124-6.105-3.716s-18.844-9.298-21.763-10.361c-2.92-1.062-5.043-1.592-7.167 1.597c-2.124 3.184-8.223 10.356-10.082 12.48c-1.857 2.129-3.716 2.394-6.9.801c-3.187-1.598-13.444-4.957-25.613-15.806c-9.468-8.442-15.86-18.867-17.718-22.056c-1.858-3.184-.199-4.91 1.398-6.497c1.431-1.427 3.186-3.719 4.78-5.578c1.588-1.86 2.118-3.187 3.18-5.311c1.063-2.126.531-3.986-.264-5.579c-.798-1.593-6.987-17.343-9.819-23.64'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-woocommerce-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 153' width='256' height='153'%3E%3Cpath fill='%237F54B3' fill-rule='evenodd' d='M232.138 0H23.759C10.572 0-.103 10.78.001 23.862v79.542c0 13.187 10.676 23.863 23.863 23.863h98.694l45.11 25.118l-10.258-25.118h74.728c13.187 0 23.862-10.676 23.862-23.863V23.862C256 10.675 245.325 0 232.138 0M19.364 18.42c-2.93.21-5.128 1.256-6.594 3.245c-1.465 1.883-1.988 4.29-1.674 7.012q9.262 58.871 17.269 79.437c2.093 5.023 4.5 7.431 7.326 7.222c4.396-.315 9.629-6.385 15.804-18.211q4.867-10.048 15.07-30.143c5.652 19.781 13.397 34.643 23.13 44.586c2.722 2.825 5.548 4.081 8.268 3.872c2.408-.21 4.292-1.465 5.548-3.768q1.57-2.982 1.256-6.907c-.628-9.524.314-22.816 2.93-39.876c2.721-17.583 6.07-30.247 10.152-37.782c.837-1.57 1.151-3.14 1.047-5.024c-.21-2.407-1.256-4.395-3.245-5.965c-1.988-1.57-4.186-2.303-6.593-2.094c-3.035.21-5.338 1.675-6.908 4.605c-6.489 11.827-11.094 30.98-13.815 57.563C84.358 66.145 81.01 54.32 78.392 40.4c-1.15-6.175-3.977-9.106-8.582-8.792q-4.71.315-7.85 6.28L39.04 81.53c-3.768-15.176-7.326-33.7-10.57-55.574q-1.1-8.164-9.106-7.536m201.68 7.536c7.431 1.57 12.978 5.547 16.746 12.14c3.349 5.652 5.023 12.455 5.023 20.619c0 10.78-2.72 20.618-8.163 29.618c-6.28 10.467-14.443 15.7-24.595 15.7q-2.67 0-5.652-.629c-7.43-1.57-12.978-5.546-16.746-12.14q-5.023-8.634-5.023-20.723q0-16.17 8.163-29.514c6.385-10.466 14.548-15.699 24.596-15.699q2.669 0 5.651.628m-4.395 56.62c3.872-3.453 6.488-8.581 7.954-15.489c.418-2.407.732-5.023.732-7.744c0-3.036-.628-6.28-1.884-9.525c-1.57-4.081-3.663-6.28-6.175-6.802c-3.767-.733-7.43 1.36-10.884 6.489c-2.826 3.977-4.606 8.163-5.547 12.454c-.524 2.407-.733 5.024-.733 7.64c0 3.035.628 6.28 1.884 9.524c1.57 4.082 3.663 6.28 6.175 6.803c2.616.523 5.442-.628 8.478-3.35m-44.481-44.48c-3.768-6.593-9.42-10.57-16.746-12.14q-2.983-.628-5.652-.628c-10.047 0-18.21 5.233-24.595 15.7q-8.164 13.343-8.163 29.513q0 12.09 5.023 20.723c3.768 6.594 9.315 10.57 16.746 12.14q2.982.628 5.652.628c10.152 0 18.315-5.232 24.595-15.699c5.442-9 8.163-18.839 8.163-29.618c0-8.164-1.675-14.967-5.023-20.618M158.98 67.088c-1.465 6.908-4.082 12.036-7.954 15.49c-3.035 2.721-5.86 3.872-8.477 3.35c-2.512-.524-4.606-2.722-6.175-6.804c-1.256-3.244-1.884-6.489-1.884-9.524c0-2.616.209-5.233.733-7.64c.941-4.291 2.72-8.477 5.546-12.454c3.455-5.129 7.118-7.222 10.885-6.49c2.512.524 4.605 2.722 6.175 6.803c1.256 3.245 1.884 6.49 1.884 9.525c0 2.72-.21 5.337-.733 7.744'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-zapier-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23FF4A00' d='M128.08 0c7.231.013 14.343.624 21.256 1.78V76.3l52.831-52.696a128.425 128.425 0 0 1 16.34 13.789a128.468 128.468 0 0 1 13.84 16.312L179.513 106.4h74.715A127.58 127.58 0 0 1 256 127.587v.173c0 7.226-.613 14.306-1.772 21.2H179.5l52.847 52.682a129.615 129.615 0 0 1-13.824 16.312h-.015a128.254 128.254 0 0 1-16.326 13.789l-52.846-52.696v74.52a130.321 130.321 0 0 1-21.243 1.781h-.186a130.26 130.26 0 0 1-21.23-1.78v-74.52l-52.831 52.695a128.401 128.401 0 0 1-30.18-30.1L76.5 148.96H1.785A126.984 126.984 0 0 1 0 127.72v-.371c.012-1.875.135-4.166.311-6.536l.055-.713c.522-6.671 1.419-13.7 1.419-13.7H76.5L23.666 53.705a126.265 126.265 0 0 1 13.81-16.286l.026-.026a127.746 127.746 0 0 1 16.344-13.789L106.677 76.3V1.78A130.278 130.278 0 0 1 127.933 0h.147Zm-.013 95.76h-.122a76.718 76.718 0 0 0-27.034 4.902a76.662 76.662 0 0 0-4.915 26.952v.12a76.383 76.383 0 0 0 4.927 26.951a76.608 76.608 0 0 0 27.022 4.902h.122c9.51 0 18.617-1.74 27.022-4.902a76.146 76.146 0 0 0 4.915-26.952v-.12c0-9.484-1.747-18.57-4.915-26.951a76.614 76.614 0 0 0-27.022-4.902Z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-zendesk-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 195' width='256' height='195'%3E%3Cpath fill='%2303363D' d='M118.25 51.233v142.773H0zm0-51.233c0 32.644-26.481 59.125-59.125 59.125S0 32.645 0 0zm19.5 194.006c0-32.677 26.449-59.125 59.125-59.125S256 161.361 256 194.006zm0-51.266V0H256z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-zoho{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 220' width='512' height='220'%3E%3Cpath fill='%23089949' d='M228.648 174.915c-3.905 0-7.861-.812-11.665-2.485l-81.146-36.161c-14.505-6.441-21.047-23.532-14.606-38.037l36.16-81.146C163.832 2.58 180.924-3.962 195.43 2.479l81.146 36.161c14.505 6.441 21.047 23.532 14.606 38.037l-36.16 81.146c-4.819 10.752-15.368 17.092-26.373 17.092m-4.92-17.7c6.137 2.738 13.339-.05 16.077-6.137l36.161-81.146c2.739-6.137-.05-13.338-6.137-16.077l-81.196-36.16c-6.137-2.74-13.339.05-16.077 6.136l-36.161 81.146c-2.739 6.137.05 13.338 6.136 16.077z'/%3E%3Cpath fill='%23F9B21D' d='M483.193 174.966h-88.855c-15.874 0-28.807-12.933-28.807-28.807V57.304c0-15.875 12.933-28.807 28.807-28.807h88.855c15.874 0 28.807 12.932 28.807 28.807v88.855c0 15.874-12.933 28.807-28.807 28.807M394.338 45.132c-6.694 0-12.172 5.477-12.172 12.172v88.855c0 6.694 5.478 12.172 12.172 12.172h88.855c6.695 0 12.172-5.478 12.172-12.172V57.304c0-6.695-5.477-12.172-12.172-12.172z'/%3E%3Cpath fill='%23E42527' d='m150.443 73.584l-11.969 26.778c-.152.304-.304.558-.456.811l4.666 28.807c1.065 6.644-3.45 12.882-10.042 13.947l-87.74 14.2a12.3 12.3 0 0 1-9.078-2.13c-2.637-1.876-4.361-4.716-4.869-7.911l-14.2-87.74a12.3 12.3 0 0 1 2.13-9.078c1.876-2.637 4.717-4.361 7.912-4.868l87.739-14.201c.66-.101 1.319-.152 1.927-.152c5.833 0 11.056 4.26 12.02 10.245l4.717 29.01l12.374-27.743l-.659-3.905C142.38 23.983 127.57 13.282 111.9 15.818l-87.74 14.2A28.2 28.2 0 0 0 5.445 41.531C.931 47.769-.844 55.376.374 62.984l14.2 87.74c1.217 7.607 5.325 14.25 11.563 18.764c4.92 3.601 10.752 5.427 16.788 5.427c1.521 0 3.093-.102 4.665-.355l87.74-14.2c15.671-2.537 26.372-17.346 23.836-33.017z'/%3E%3Cpath fill='%23226DB4' d='m255.68 115.475l12.881-28.857l-3.651-26.83c-.457-3.194.406-6.39 2.384-8.976s4.818-4.26 8.063-4.666l88.044-11.97c.558-.05 1.116-.1 1.674-.1c2.637 0 5.173.862 7.354 2.485c.405.304.76.659 1.115.963a29 29 0 0 1 14.759-8.317a28.1 28.1 0 0 0-5.833-5.934c-6.136-4.666-13.693-6.644-21.3-5.63l-88.145 11.97c-7.608 1.014-14.404 4.97-19.02 11.106c-4.665 6.137-6.643 13.694-5.629 21.301zm149.816 14.86l-11.564-85.203c-6.491.203-11.715 5.578-11.715 12.12v25.004l6.847 50.31c.456 3.196-.406 6.39-2.384 8.977s-4.818 4.26-8.064 4.666l-88.044 11.97c-3.195.456-6.39-.406-8.976-2.384s-4.26-4.818-4.666-8.064l-4.058-29.872l-12.882 28.857l.457 3.246c1.014 7.608 4.97 14.404 11.107 19.019c5.071 3.854 11.107 5.883 17.395 5.883c1.32 0 2.638-.101 3.956-.254l87.942-11.867c7.608-1.014 14.404-4.97 19.02-11.107c4.665-6.137 6.643-13.693 5.629-21.3'/%3E%3Cpath d='m157.087 217.11l12.578-18.561h-10.346a1.017 1.017 0 0 1-1.015-1.015v-2.485c0-.558.457-1.014 1.015-1.014h16.99c.557 0 1.014.456 1.014 1.014v.964c0 .203-.05.406-.152.558l-12.324 18.562h11.056c.558 0 1.014.456 1.014 1.014v2.485c0 .558-.456 1.015-1.014 1.015h-17.954a1.017 1.017 0 0 1-1.014-1.015v-.913c-.05-.253.05-.456.152-.608m52.948-10.447c0-7.607 5.579-13.085 13.186-13.085c7.861 0 13.186 5.376 13.186 13.136c0 7.861-5.426 13.288-13.287 13.288c-7.912 0-13.085-5.427-13.085-13.339m20.337.102c0-4.616-2.231-8.571-7.252-8.571c-5.072 0-7 4.108-7 8.774c0 4.412 2.385 8.47 7.253 8.47c5.021-.052 7-4.362 7-8.673m42.095-12.78h3.753c.558 0 1.014.456 1.014 1.013v9.434h10.65v-9.434c0-.557.457-1.014 1.015-1.014h3.753c.558 0 1.014.457 1.014 1.014v23.584c0 .557-.456 1.014-1.014 1.014h-3.702a1.017 1.017 0 0 1-1.015-1.014v-9.535h-10.65v9.535c0 .557-.457 1.014-1.015 1.014h-3.753a1.017 1.017 0 0 1-1.014-1.014v-23.584c-.05-.557.406-1.014.964-1.014m56.244 12.678c0-7.607 5.579-13.085 13.186-13.085c7.861 0 13.187 5.376 13.187 13.136c0 7.861-5.427 13.288-13.288 13.288c-7.912 0-13.085-5.427-13.085-13.339m20.287.102c0-4.616-2.232-8.571-7.253-8.571c-5.071 0-6.999 4.108-6.999 8.774c0 4.412 2.384 8.47 7.253 8.47c5.02-.052 6.999-4.362 6.999-8.673'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-zoom-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cdefs%3E%3ClinearGradient id='SVG4Ebe48Yy' x1='23.666%25' x2='76.334%25' y1='95.612%25' y2='4.388%25'%3E%3Cstop offset='0%25' stop-color='%230845BF'/%3E%3Cstop offset='19.11%25' stop-color='%230950DE'/%3E%3Cstop offset='38.23%25' stop-color='%230B59F6'/%3E%3Cstop offset='50%25' stop-color='%230B5CFF'/%3E%3Cstop offset='67.32%25' stop-color='%230E5EFE'/%3E%3Cstop offset='77.74%25' stop-color='%231665FC'/%3E%3Cstop offset='86.33%25' stop-color='%23246FF9'/%3E%3Cstop offset='93.88%25' stop-color='%23387FF4'/%3E%3Cstop offset='100%25' stop-color='%234F90EE'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23SVG4Ebe48Yy)' d='M256 128c0 13.568-1.024 27.136-3.328 40.192c-6.912 43.264-41.216 77.568-84.48 84.48C155.136 254.976 141.568 256 128 256s-27.136-1.024-40.192-3.328c-43.264-6.912-77.568-41.216-84.48-84.48C1.024 155.136 0 141.568 0 128s1.024-27.136 3.328-40.192c6.912-43.264 41.216-77.568 84.48-84.48C100.864 1.024 114.432 0 128 0s27.136 1.024 40.192 3.328c43.264 6.912 77.568 41.216 84.48 84.48C254.976 100.864 256 114.432 256 128'/%3E%3Cpath fill='%23FFF' d='M204.032 207.872H75.008c-8.448 0-16.64-4.608-20.48-12.032c-4.608-8.704-2.816-19.2 4.096-26.112l89.856-89.856H83.968c-17.664 0-32-14.336-32-32h118.784c8.448 0 16.64 4.608 20.48 12.032c4.608 8.704 2.816 19.2-4.096 26.112l-89.6 90.112h74.496c17.664 0 32 14.08 32 31.744'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.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-1155\\/678{aspect-ratio:1155/678}.aspect-\\[0\\.7\\]{aspect-ratio:.7}.aspect-\\[0\\.8\\]{aspect-ratio:.8}.aspect-\\[0\\.9\\]{aspect-ratio:.9}.aspect-\\[1\\.1\\]{aspect-ratio:1.1}.aspect-\\[3\\/4\\]{aspect-ratio:3/4}.aspect-\\[4\\/5\\]{aspect-ratio:4/5}.aspect-\\[9\\/16\\]{aspect-ratio:9/16}.aspect-\\[1155\\/678\\]{aspect-ratio:1155/678}.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-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.size-32{width:calc(var(--spacing)*32);height:calc(var(--spacing)*32)}.size-40{width:calc(var(--spacing)*40);height:calc(var(--spacing)*40)}.size-96{width:calc(var(--spacing)*96);height:calc(var(--spacing)*96)}.size-\\[1\\.1em\\]{width:1.1em;height:1.1em}.size-\\[1\\.2em\\]{width:1.2em;height:1.2em}.size-\\[800px\\]{width:800px;height:800px}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing)*1)}.h-1\\/3{height:33.3333%}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.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-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-32{height:calc(var(--spacing)*32)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-80{height:calc(var(--spacing)*80)}.h-92{height:calc(var(--spacing)*92)}.h-96{height:calc(var(--spacing)*96)}.h-\\[1\\.5px\\]{height:1.5px}.h-\\[28px\\]{height:28px}.h-\\[60px\\]{height:60px}.h-\\[80px\\]{height:80px}.h-\\[80vh\\]{height:80vh}.h-\\[100vh\\]{height:100vh}.h-\\[130\\%\\]{height:130%}.h-\\[300\\%\\]{height:300%}.h-\\[400px\\]{height:400px}.h-\\[500px\\]{height:500px}.h-\\[600px\\]{height:600px}.h-\\[620px\\]{height:620px}.h-\\[700px\\]{height:700px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[500px\\]{max-height:500px}.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-14{min-height:calc(var(--spacing)*14)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-288\\.75{width:calc(var(--spacing)*288.75)}.w-\\[1\\.5px\\]{width:1.5px}.w-\\[1px\\]{width:1px}.w-\\[3px\\]{width:3px}.w-\\[28px\\]{width:28px}.w-\\[60px\\]{width:60px}.w-\\[72rem\\]{width:72rem}.w-\\[80\\%\\]{width:80%}.w-\\[80px\\]{width:80px}.w-\\[80vw\\]{width:80vw}.w-\\[115\\%\\]{width:115%}.w-\\[250px\\]{width:250px}.w-\\[280px\\]{width:280px}.w-\\[300px\\]{width:300px}.w-\\[620px\\]{width:620px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.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-7xl{max-width:var(--container-7xl)}.max-w-\\[400px\\]{max-width:400px}.max-w-\\[420px\\]{max-width:420px}.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-lg{max-width:var(--breakpoint-lg)}.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-\\[120px\\]{min-width:120px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-\\[0_0_auto\\]{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-0{flex-basis:calc(var(--spacing)*0)}.basis-1\\/2{flex-basis:50%}.basis-full{flex-basis:100%}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.origin-top-left{transform-origin:0 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-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-6{--tw-translate-x:calc(var(--spacing)*6);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-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-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-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-12{rotate:12deg}.rotate-45{rotate:45deg}.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-bounce{animation:var(--animate-bounce)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.auto-rows-\\[320px\\]{grid-auto-rows:320px}.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))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.\\[gap\\:var\\(--gap\\)\\]{gap:var(--gap)}.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-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-10{gap:calc(var(--spacing)*10)}.gap-12{gap:calc(var(--spacing)*12)}.gap-14{gap:calc(var(--spacing)*14)}.gap-16{gap:calc(var(--spacing)*16)}: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-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-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-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)))}:where(.space-y-24>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*24)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*24)*calc(1 - var(--tw-space-y-reverse)))}: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-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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[40px\\]{border-radius:40px}.rounded-\\[45px\\]{border-radius:45px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-t-3xl{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.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-blue-600{border-color:var(--color-blue-600)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.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-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-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-red-100{border-color:var(--color-red-100)}.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-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\\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\\/30{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.border-white\\/100{border-color:var(--color-white)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-400{border-color:var(--color-yellow-400)}.bg-black{background-color:var(--color-black)}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.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\\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\\/40{background-color:color-mix(in oklab,var(--color-black)40%,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\\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-600\\/10{background-color:#155dfc1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-600\\/10{background-color:color-mix(in oklab,var(--color-blue-600)10%,transparent)}}.bg-blue-700{background-color:var(--color-blue-700)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\\/65{background-color:#1e2939a6}@supports (color:color-mix(in lab,red,red)){.bg-gray-800\\/65{background-color:color-mix(in oklab,var(--color-gray-800)65%,transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-950{background-color:var(--color-gray-950)}.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-500\\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-green-600\\/10{background-color:#00a5441a}@supports (color:color-mix(in lab,red,red)){.bg-green-600\\/10{background-color:color-mix(in oklab,var(--color-green-600)10%,transparent)}}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-indigo-600\\/10{background-color:#4f39f61a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-600\\/10{background-color:color-mix(in oklab,var(--color-indigo-600)10%,transparent)}}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-purple-700{background-color:var(--color-purple-700)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-slate-900\\/95{background-color:#0f172bf2}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\\/95{background-color:color-mix(in oklab,var(--color-slate-900)95%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/2\\.5{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.bg-white\\/2\\.5{background-color:color-mix(in oklab,var(--color-white)2.5%,transparent)}}.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\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\\/25{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.bg-white\\/25{background-color:color-mix(in oklab,var(--color-white)25%,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\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-white\\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.bg-white\\/100{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-600{background-color:var(--color-yellow-600)}.bg-linear-to-tr{--tw-gradient-position:to top right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-tr{--tw-gradient-position:to top right in oklab}}.bg-linear-to-tr{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-l{--tw-gradient-position:to left 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))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\\[\\#5d9bff\\]{--tw-gradient-from:#5d9bff;--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-\\[\\#647083\\]{--tw-gradient-from:#647083;--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-\\[\\#ff80b5\\]{--tw-gradient-from:#ff80b5;--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\\/0{--tw-gradient-from:#0000}@supports (color:color-mix(in lab,red,red)){.from-black\\/0{--tw-gradient-from:color-mix(in oklab,var(--color-black)0%,transparent)}}.from-black\\/0{--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\\/30{--tw-gradient-from:#0000004d}@supports (color:color-mix(in lab,red,red)){.from-black\\/30{--tw-gradient-from:color-mix(in oklab,var(--color-black)30%,transparent)}}.from-black\\/30{--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\\/60{--tw-gradient-from:#0009}@supports (color:color-mix(in lab,red,red)){.from-black\\/60{--tw-gradient-from:color-mix(in oklab,var(--color-black)60%,transparent)}}.from-black\\/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-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-gray-950{--tw-gradient-from:var(--color-gray-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))}.from-green-50{--tw-gradient-from:var(--color-green-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-green-500\\/10{--tw-gradient-from:#00c7581a}@supports (color:color-mix(in lab,red,red)){.from-green-500\\/10{--tw-gradient-from:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.from-green-500\\/10{--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-slate-50{--tw-gradient-from:var(--color-slate-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-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))}.from-white{--tw-gradient-from:var(--color-white);--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\\/20{--tw-gradient-via:#0003}@supports (color:color-mix(in lab,red,red)){.via-black\\/20{--tw-gradient-via:color-mix(in oklab,var(--color-black)20%,transparent)}}.via-black\\/20{--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-blue-950{--tw-gradient-via:var(--color-blue-950);--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-transparent{--tw-gradient-via:transparent;--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-white{--tw-gradient-via:var(--color-white);--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-\\[\\#9089fc\\]{--tw-gradient-to:#9089fc;--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-\\[\\#606060\\]{--tw-gradient-to:#606060;--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-\\[\\#ffae74\\]{--tw-gradient-to:#ffae74;--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{--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-black\\/10{--tw-gradient-to:#0000001a}@supports (color:color-mix(in lab,red,red)){.to-black\\/10{--tw-gradient-to:color-mix(in oklab,var(--color-black)10%,transparent)}}.to-black\\/10{--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\\/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\\/70{--tw-gradient-to:#000000b3}@supports (color:color-mix(in lab,red,red)){.to-black\\/70{--tw-gradient-to:color-mix(in oklab,var(--color-black)70%,transparent)}}.to-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))}.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-blue-50{--tw-gradient-to: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))}.to-blue-500\\/10{--tw-gradient-to:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.to-blue-500\\/10{--tw-gradient-to:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.to-blue-500\\/10{--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-green-50{--tw-gradient-to:var(--color-green-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-green-100{--tw-gradient-to:var(--color-green-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-indigo-100{--tw-gradient-to:var(--color-indigo-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-purple-950{--tw-gradient-to:var(--color-purple-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))}.to-transparent{--tw-gradient-to: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))}.to-white{--tw-gradient-to:var(--color-white);--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-40\\%{--tw-gradient-to-position:40%}.\\[mask-image\\:radial-gradient\\(450px_circle_at_center\\,white\\,transparent\\)\\]{-webkit-mask-image:radial-gradient(450px,#fff,#0000);mask-image:radial-gradient(450px,#fff,#0000)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.fill-current{fill:currentColor}.stroke-1{stroke-width:1px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.\\!p-0{padding:calc(var(--spacing)*0)!important}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.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-10{padding:calc(var(--spacing)*10)}.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-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.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-24{padding-inline:calc(var(--spacing)*24)}.px-36{padding-inline:calc(var(--spacing)*36)}.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-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-14{padding-block:calc(var(--spacing)*14)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.py-24{padding-block:calc(var(--spacing)*24)}.py-32{padding-block:calc(var(--spacing)*32)}.pt-2{padding-top:calc(var(--spacing)*2)}.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-12{padding-top:calc(var(--spacing)*12)}.pt-16{padding-top:calc(var(--spacing)*16)}.pt-20{padding-top:calc(var(--spacing)*20)}.pt-24{padding-top:calc(var(--spacing)*24)}.pt-32{padding-top:calc(var(--spacing)*32)}.pt-36{padding-top:calc(var(--spacing)*36)}.pt-40{padding-top:calc(var(--spacing)*40)}.pr-0{padding-right:calc(var(--spacing)*0)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-9{padding-bottom:calc(var(--spacing)*9)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pb-36{padding-bottom:calc(var(--spacing)*36)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-8{padding-left:calc(var(--spacing)*8)}.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)}.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-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--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-sm\\/6{font-size:var(--text-sm);line-height:calc(var(--spacing)*6)}.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-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.\\!leading-\\[1\\.1\\]{--tw-leading:1.1!important;line-height:1.1!important}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-\\[1\\.1\\]{--tw-leading:1.1;line-height:1.1}.leading-\\[1\\.2\\]{--tw-leading:1.2;line-height:1.2}.leading-\\[1\\.4\\]{--tw-leading:1.4;line-height:1.4}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-\\[1\\.6\\]{--tw-leading:1.6;line-height:1.6}.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-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-nowrap{text-wrap:nowrap}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.whitespace-nowrap{white-space:nowrap}.text-\\[\\#5865F2\\]{color:#5865f2}.text-black{color:var(--color-black)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-current{color:currentColor}.text-gray-300{color:var(--color-gray-300)}.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-400{color:var(--color-green-400)}.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-800{color:var(--color-green-800)}.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-orange-50{color:var(--color-orange-50)}.text-orange-300{color:var(--color-orange-300)}.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-purple-600{color:var(--color-purple-600)}.text-purple-800{color:var(--color-purple-800)}.text-purple-900{color:var(--color-purple-900)}.text-red-50{color:var(--color-red-50)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.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-900{color:var(--color-rose-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\\/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)}.text-yellow-900{color:var(--color-yellow-900)}.capitalize{text-transform:capitalize}.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,)}.placeholder-white\\/50::placeholder{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.placeholder-white\\/50::placeholder{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.accent-green-600{accent-color:var(--color-green-600)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.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-\\[inset_0_0_2px_1px_\\#ffffff4d\\]{--tw-shadow:inset 0 0 2px 1px var(--tw-shadow-color,#ffffff4d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 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)}.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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.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-3{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + 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)}.shadow-black\\/5{--tw-shadow-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.shadow-black\\/5{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)5%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-black\\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.ring-black\\/5{--tw-ring-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.ring-gray-200{--tw-ring-color:var(--color-gray-200)}.ring-white{--tw-ring-color:var(--color-white)}.ring-white\\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.ring-white\\/10{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.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,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));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,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.blur-xl{--tw-blur:blur(var(--blur-xl));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{--tw-backdrop-blur:blur(8px);-webkit-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-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-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-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-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-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-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-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));-webkit-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-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));-webkit-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-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-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-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-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,-webkit-backdrop-filter,backdrop-filter,display,visibility,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-shadow{transition-property:box-shadow;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-\\[5000\\]{--tw-duration:5000;transition-duration:5000}.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-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-transform{will-change:transform}.select-none{-webkit-user-select:none;user-select:none}.\\!\\[animation-duration\\:40s\\]{animation-duration:40s!important}.\\[--gap\\:1rem\\]{--gap:1rem}.\\[animation-play-state\\:running\\]{animation-play-state:running}.\\[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}:is(.\\*\\:h-full>*){height:100%}:is(.\\*\\:w-full>*){width:100%}@media (hover:hover){.group-hover\\:ml-1:is(:where(.group):hover *){margin-left:calc(var(--spacing)*1)}.group-hover\\:ml-3:is(:where(.group):hover *){margin-left:calc(var(--spacing)*3)}.group-hover\\:translate-x-0\\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\\:-translate-y-2:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.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\\:rotate-0:is(:where(.group):hover *){rotate:none}.group-hover\\:rotate-45:is(:where(.group):hover *){rotate:45deg}.group-hover\\:bg-gray-100:is(:where(.group):hover *){background-color:var(--color-gray-100)}.group-hover\\:bg-white:is(:where(.group):hover *){background-color:var(--color-white)}.group-hover\\:from-black\\/10:is(:where(.group):hover *){--tw-gradient-from:#0000001a}@supports (color:color-mix(in lab,red,red)){.group-hover\\:from-black\\/10:is(:where(.group):hover *){--tw-gradient-from:color-mix(in oklab,var(--color-black)10%,transparent)}}.group-hover\\:from-black\\/10:is(:where(.group):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))}.group-hover\\:to-black\\/20:is(:where(.group):hover *){--tw-gradient-to:#0003}@supports (color:color-mix(in lab,red,red)){.group-hover\\:to-black\\/20:is(:where(.group):hover *){--tw-gradient-to:color-mix(in oklab,var(--color-black)20%,transparent)}}.group-hover\\:to-black\\/20:is(:where(.group):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))}.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-80:is(:where(.group):hover *){opacity:.8}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\:shadow-md:is(:where(.group):hover *){--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.group-hover\\:\\[animation-play-state\\:paused\\]:is(:where(.group):hover *){animation-play-state:paused}}.group-active\\:opacity-50:is(:where(.group):active *){opacity:.5}.placeholder\\:text-gray-400::placeholder{color:var(--color-gray-400)}.placeholder\\:text-white\\/60::placeholder{color:#fff9}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-white\\/60::placeholder{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.last\\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.focus-within\\:ring-gray-600:focus-within{--tw-ring-color:var(--color-gray-600)}@media (hover:hover){.hover\\:-translate-y-4:hover{--tw-translate-y:calc(var(--spacing)*-4);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:translate-y-0:hover{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.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\\:scale-\\[1\\.02\\]:hover{scale:1.02}.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-indigo-200:hover{border-color:var(--color-indigo-200)}.hover\\:border-orange-200:hover{border-color:var(--color-orange-200)}.hover\\:border-red-200:hover{border-color:var(--color-red-200)}.hover\\:border-rose-200:hover{border-color:var(--color-rose-200)}.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-blue-700:hover{background-color:var(--color-blue-700)}.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\\/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-600:hover{background-color:var(--color-green-600)}.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-purple-700:hover{background-color:var(--color-purple-700)}.hover\\:bg-red-200:hover{background-color:var(--color-red-200)}.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-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\\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,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\\:bg-white\\/90:hover{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/90:hover{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.hover\\:bg-gradient-to-r:hover{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.hover\\:from-transparent:hover{--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))}.hover\\:to-gray-50:hover{--tw-gradient-to:var(--color-gray-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))}.hover\\:text-blue-700:hover{color:var(--color-blue-700)}.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\\:no-underline:hover{text-decoration-line:none}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-70:hover{opacity:.7}.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-90:hover{opacity:.9}.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\\:shadow-xl:hover{--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)}.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-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-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\\: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-green-500:focus{--tw-ring-color:var(--color-green-500)}.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\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.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\\: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}@media not all and (min-width:64rem){.max-lg\\:mx-auto{margin-inline:auto}.max-lg\\:w-full{width:100%}.max-lg\\:max-w-md{max-width:var(--container-md)}}@media (min-width:40rem){.sm\\:-mt-12{margin-top:calc(var(--spacing)*-12)}.sm\\:flex{display:flex}.sm\\:hidden{display:none}.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\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:gap-8{gap:calc(var(--spacing)*8)}.sm\\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\\:py-12{padding-block:calc(var(--spacing)*12)}.sm\\:pt-24{padding-top:calc(var(--spacing)*24)}.sm\\:pb-6{padding-bottom:calc(var(--spacing)*6)}.sm\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--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\\:-top-6{top:calc(var(--spacing)*-6)}.md\\:-top-10{top:calc(var(--spacing)*-10)}.md\\:-left-10{left:calc(var(--spacing)*-10)}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:col-span-4{grid-column:span 4/span 4}.md\\:row-span-1{grid-row:span 1/span 1}.md\\:row-span-2{grid-row:span 2/span 2}.md\\:mt-12{margin-top:calc(var(--spacing)*12)}.md\\:mt-16{margin-top:calc(var(--spacing)*16)}.md\\:mt-20{margin-top:calc(var(--spacing)*20)}.md\\:mr-8{margin-right:calc(var(--spacing)*8)}.md\\:mb-4{margin-bottom:calc(var(--spacing)*4)}.md\\:-ml-1{margin-left:calc(var(--spacing)*-1)}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.md\\:h-96{height:calc(var(--spacing)*96)}.md\\:h-\\[30rem\\]{height:30rem}.md\\:h-\\[80vh\\]{height:80vh}.md\\:h-\\[500px\\]{height:500px}.md\\:h-\\[600px\\]{height:600px}.md\\:max-h-\\[800px\\]{max-height:800px}.md\\:w-1\\/2{width:50%}.md\\:w-1\\/3{width:33.3333%}.md\\:w-\\[48\\%\\]{width:48%}.md\\:w-\\[320px\\]{width:320px}.md\\:w-auto{width:auto}.md\\:max-w-\\[500px\\]{max-width:500px}.md\\:basis-1\\/3{flex-basis:33.3333%}.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-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:justify-between{justify-content:space-between}.md\\:gap-4{gap:calc(var(--spacing)*4)}.md\\:gap-6{gap:calc(var(--spacing)*6)}.md\\:gap-8{gap:calc(var(--spacing)*8)}.md\\:gap-12{gap:calc(var(--spacing)*12)}.md\\:gap-16{gap:calc(var(--spacing)*16)}:where(.md\\: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)))}.md\\:overflow-hidden{overflow:hidden}.md\\:rounded-3xl{border-radius:var(--radius-3xl)}.md\\:p-6{padding:calc(var(--spacing)*6)}.md\\:p-8{padding:calc(var(--spacing)*8)}.md\\:p-12{padding:calc(var(--spacing)*12)}.md\\:px-6{padding-inline:calc(var(--spacing)*6)}.md\\:px-8{padding-inline:calc(var(--spacing)*8)}.md\\:px-12{padding-inline:calc(var(--spacing)*12)}.md\\:py-3{padding-block:calc(var(--spacing)*3)}.md\\:py-6{padding-block:calc(var(--spacing)*6)}.md\\:py-24{padding-block:calc(var(--spacing)*24)}.md\\:py-32{padding-block:calc(var(--spacing)*32)}.md\\:pr-8{padding-right:calc(var(--spacing)*8)}.md\\:pb-8{padding-bottom:calc(var(--spacing)*8)}.md\\:pl-8{padding-left:calc(var(--spacing)*8)}.md\\:text-center{text-align:center}.md\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.md\\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.md\\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.md\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\\:leading-\\[1\\.2\\]{--tw-leading:1.2;line-height:1.2}.md\\:leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.md\\: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)}.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\\:absolute{position:absolute}.lg\\:sticky{position:sticky}.lg\\:top-24{top:calc(var(--spacing)*24)}.lg\\:mx-auto{margin-inline:auto}.lg\\:-mt-24{margin-top:calc(var(--spacing)*-24)}.lg\\:mt-0{margin-top:calc(var(--spacing)*0)}.lg\\:mb-6{margin-bottom:calc(var(--spacing)*6)}.lg\\:mb-8{margin-bottom:calc(var(--spacing)*8)}.lg\\:mb-10{margin-bottom:calc(var(--spacing)*10)}.lg\\:mb-12{margin-bottom:calc(var(--spacing)*12)}.lg\\:ml-\\[50\\%\\]{margin-left:50%}.lg\\:block{display:block}.lg\\:grid{display:grid}.lg\\:hidden{display:none}.lg\\:h-64{height:calc(var(--spacing)*64)}.lg\\:h-72{height:calc(var(--spacing)*72)}.lg\\:h-80{height:calc(var(--spacing)*80)}.lg\\:h-96{height:calc(var(--spacing)*96)}.lg\\:h-\\[20rem\\]{height:20rem}.lg\\:h-\\[22rem\\]{height:22rem}.lg\\:h-\\[24rem\\]{height:24rem}.lg\\:h-\\[26rem\\]{height:26rem}.lg\\:h-\\[36rem\\]{height:36rem}.lg\\:max-h-\\[900px\\]{max-height:900px}.lg\\:w-1\\/2{width:50%}.lg\\:w-2\\/5{width:40%}.lg\\:w-72{width:calc(var(--spacing)*72)}.lg\\:max-w-4xl{max-width:var(--container-4xl)}.lg\\:max-w-7xl{max-width:var(--container-7xl)}.lg\\:max-w-\\[600px\\]{max-width:600px}.lg\\:max-w-xl{max-width:var(--container-xl)}.lg\\:basis-1\\/4{flex-basis:25%}.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\\:items-center{align-items:center}.lg\\:items-start{align-items:flex-start}.lg\\:justify-between{justify-content:space-between}.lg\\:justify-end{justify-content:flex-end}.lg\\:gap-0{gap:calc(var(--spacing)*0)}.lg\\:gap-16{gap:calc(var(--spacing)*16)}:where(.lg\\: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)))}.lg\\:self-start{align-self:flex-start}.lg\\:overflow-visible{overflow:visible}.lg\\:p-6{padding:calc(var(--spacing)*6)}.lg\\:p-16{padding:calc(var(--spacing)*16)}.lg\\:p-20{padding:calc(var(--spacing)*20)}.lg\\:px-6{padding-inline:calc(var(--spacing)*6)}.lg\\:px-8{padding-inline:calc(var(--spacing)*8)}.lg\\:py-32{padding-block:calc(var(--spacing)*32)}.lg\\:pt-32{padding-top:calc(var(--spacing)*32)}.lg\\:pr-8{padding-right:calc(var(--spacing)*8)}.lg\\:pr-16{padding-right:calc(var(--spacing)*16)}.lg\\:text-left{text-align:left}.lg\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.lg\\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.lg\\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.lg\\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.lg\\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.lg\\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.lg\\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.lg\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.lg\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.lg\\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:80rem){.xl\\:block{display:block}.xl\\:basis-1\\/5{flex-basis:20%}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container agent (min-width:140px){.\\@\\[140px\\]\\/agent\\:inline{display:inline}}@container agent (min-width:200px){.\\@\\[200px\\]\\/agent\\:h-3\\.5{height:calc(var(--spacing)*3.5)}.\\@\\[200px\\]\\/agent\\:w-3\\.5{width:calc(var(--spacing)*3.5)}.\\@\\[200px\\]\\/agent\\:gap-1{gap:calc(var(--spacing)*1)}.\\@\\[200px\\]\\/agent\\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@container agent (min-width:280px){.\\@\\[280px\\]\\/agent\\:gap-1\\.5{gap:calc(var(--spacing)*1.5)}}@container agent (min-width:400px){.\\@\\[400px\\]\\/agent\\:px-2{padding-inline:calc(var(--spacing)*2)}}@container agent (min-width:480px){.\\@\\[480px\\]\\/agent\\:px-6{padding-inline:calc(var(--spacing)*6)}}@container agent (min-width:580px){.\\@\\[580px\\]\\/agent\\:px-3{padding-inline:calc(var(--spacing)*3)}}@container (min-width:24rem){.\\@sm\\:py-4{padding-block:calc(var(--spacing)*4)}}@media (prefers-color-scheme:dark){.dark\\:border-gray-400{border-color:var(--color-gray-400)}.dark\\:border-gray-600{border-color:var(--color-gray-600)}.dark\\:border-gray-700{border-color:var(--color-gray-700)}.dark\\:border-gray-800\\/20{border-color:#1e293933}@supports (color:color-mix(in lab,red,red)){.dark\\:border-gray-800\\/20{border-color:color-mix(in oklab,var(--color-gray-800)20%,transparent)}}.dark\\:border-green-600{border-color:var(--color-green-600)}.dark\\:border-green-800\\/20{border-color:#01663033}@supports (color:color-mix(in lab,red,red)){.dark\\:border-green-800\\/20{border-color:color-mix(in oklab,var(--color-green-800)20%,transparent)}}.dark\\:border-indigo-600{border-color:var(--color-indigo-600)}.dark\\:border-indigo-800\\/20{border-color:#372aac33}@supports (color:color-mix(in lab,red,red)){.dark\\:border-indigo-800\\/20{border-color:color-mix(in oklab,var(--color-indigo-800)20%,transparent)}}.dark\\:border-orange-600{border-color:var(--color-orange-600)}.dark\\:border-orange-800\\/20{border-color:#9f2d0033}@supports (color:color-mix(in lab,red,red)){.dark\\:border-orange-800\\/20{border-color:color-mix(in oklab,var(--color-orange-800)20%,transparent)}}.dark\\:border-red-600{border-color:var(--color-red-600)}.dark\\:border-red-800\\/20{border-color:#9f071233}@supports (color:color-mix(in lab,red,red)){.dark\\:border-red-800\\/20{border-color:color-mix(in oklab,var(--color-red-800)20%,transparent)}}.dark\\:border-rose-600{border-color:var(--color-rose-600)}.dark\\:border-rose-800\\/20{border-color:#a3003733}@supports (color:color-mix(in lab,red,red)){.dark\\:border-rose-800\\/20{border-color:color-mix(in oklab,var(--color-rose-800)20%,transparent)}}.dark\\:bg-gray-600\\/30{background-color:#4a55654d}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-600\\/30{background-color:color-mix(in oklab,var(--color-gray-600)30%,transparent)}}.dark\\:bg-gray-600\\/90{background-color:#4a5565e6}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-600\\/90{background-color:color-mix(in oklab,var(--color-gray-600)90%,transparent)}}.dark\\:bg-gray-700\\/40{background-color:#36415366}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-700\\/40{background-color:color-mix(in oklab,var(--color-gray-700)40%,transparent)}}.dark\\:bg-gray-800\\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-800\\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.dark\\:bg-gray-900{background-color:var(--color-gray-900)}.dark\\:bg-gray-900\\/95{background-color:#101828f2}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-900\\/95{background-color:color-mix(in oklab,var(--color-gray-900)95%,transparent)}}.dark\\:bg-green-700\\/70{background-color:#008138b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-700\\/70{background-color:color-mix(in oklab,var(--color-green-700)70%,transparent)}}.dark\\:bg-green-800\\/20{background-color:#01663033}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-800\\/20{background-color:color-mix(in oklab,var(--color-green-800)20%,transparent)}}.dark\\:bg-indigo-700\\/70{background-color:#432dd7b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-indigo-700\\/70{background-color:color-mix(in oklab,var(--color-indigo-700)70%,transparent)}}.dark\\:bg-indigo-800\\/20{background-color:#372aac33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-indigo-800\\/20{background-color:color-mix(in oklab,var(--color-indigo-800)20%,transparent)}}.dark\\:bg-orange-700\\/70{background-color:#c53c00b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-orange-700\\/70{background-color:color-mix(in oklab,var(--color-orange-700)70%,transparent)}}.dark\\:bg-orange-800\\/20{background-color:#9f2d0033}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-orange-800\\/20{background-color:color-mix(in oklab,var(--color-orange-800)20%,transparent)}}.dark\\:bg-red-700\\/70{background-color:#bf000fb3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-700\\/70{background-color:color-mix(in oklab,var(--color-red-700)70%,transparent)}}.dark\\:bg-red-800\\/20{background-color:#9f071233}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-800\\/20{background-color:color-mix(in oklab,var(--color-red-800)20%,transparent)}}.dark\\:bg-rose-700\\/70{background-color:#c20039b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-700\\/70{background-color:color-mix(in oklab,var(--color-rose-700)70%,transparent)}}.dark\\:bg-rose-800\\/20{background-color:#a3003733}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-800\\/20{background-color:color-mix(in oklab,var(--color-rose-800)20%,transparent)}}.dark\\:bg-transparent{background-color:#0000}.dark\\:bg-white{background-color:var(--color-white)}.dark\\:text-gray-50{color:var(--color-gray-50)}.dark\\:text-gray-100{color:var(--color-gray-100)}.dark\\:text-gray-300{color:var(--color-gray-300)}.dark\\:text-gray-400{color:var(--color-gray-400)}.dark\\:text-gray-500{color:var(--color-gray-500)}.dark\\:text-green-50{color:var(--color-green-50)}.dark\\:text-green-100{color:var(--color-green-100)}.dark\\:text-green-400{color:var(--color-green-400)}.dark\\:text-green-500{color:var(--color-green-500)}.dark\\:text-indigo-50{color:var(--color-indigo-50)}.dark\\:text-indigo-100{color:var(--color-indigo-100)}.dark\\:text-indigo-400{color:var(--color-indigo-400)}.dark\\:text-indigo-500{color:var(--color-indigo-500)}.dark\\:text-orange-50{color:var(--color-orange-50)}.dark\\:text-orange-100{color:var(--color-orange-100)}.dark\\:text-orange-400{color:var(--color-orange-400)}.dark\\:text-orange-500{color:var(--color-orange-500)}.dark\\:text-red-50{color:var(--color-red-50)}.dark\\:text-red-100{color:var(--color-red-100)}.dark\\:text-red-400{color:var(--color-red-400)}.dark\\:text-red-500{color:var(--color-red-500)}.dark\\:text-rose-50{color:var(--color-rose-50)}.dark\\:text-rose-100{color:var(--color-rose-100)}.dark\\:text-rose-400{color:var(--color-rose-400)}.dark\\:text-rose-500{color:var(--color-rose-500)}.dark\\:text-white{color:var(--color-white)}.dark\\:\\[box-shadow\\:0_-20px_80px_-20px_\\#ffffff1f_inset\\]{box-shadow:inset 0 -20px 80px -20px #ffffff1f}.dark\\:ring-gray-600\\/70{--tw-ring-color:#4a5565b3}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-gray-600\\/70{--tw-ring-color:color-mix(in oklab,var(--color-gray-600)70%,transparent)}}.dark\\:placeholder\\:text-gray-500::placeholder{color:var(--color-gray-500)}.dark\\:focus-within\\:ring-gray-500:focus-within{--tw-ring-color:var(--color-gray-500)}@media (hover:hover){.dark\\:hover\\:border-gray-500:hover{border-color:var(--color-gray-500)}.dark\\:hover\\:border-gray-600:hover{border-color:var(--color-gray-600)}.dark\\:hover\\:border-green-700:hover{border-color:var(--color-green-700)}.dark\\:hover\\:border-indigo-700:hover{border-color:var(--color-indigo-700)}.dark\\:hover\\:border-orange-700:hover{border-color:var(--color-orange-700)}.dark\\:hover\\:border-red-700:hover{border-color:var(--color-red-700)}.dark\\:hover\\:border-rose-700:hover{border-color:var(--color-rose-700)}.dark\\:hover\\:bg-gray-600\\/50:hover{background-color:#4a556580}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-gray-600\\/50:hover{background-color:color-mix(in oklab,var(--color-gray-600)50%,transparent)}}.dark\\:hover\\:bg-green-400\\/10:hover{background-color:#05df721a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-green-400\\/10:hover{background-color:color-mix(in oklab,var(--color-green-400)10%,transparent)}}.dark\\:hover\\:bg-green-800:hover{background-color:var(--color-green-800)}.dark\\:hover\\:bg-green-800\\/40:hover{background-color:#01663066}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-green-800\\/40:hover{background-color:color-mix(in oklab,var(--color-green-800)40%,transparent)}}.dark\\:hover\\:bg-indigo-400\\/10:hover{background-color:#7d87ff1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-indigo-400\\/10:hover{background-color:color-mix(in oklab,var(--color-indigo-400)10%,transparent)}}.dark\\:hover\\:bg-indigo-800:hover{background-color:var(--color-indigo-800)}.dark\\:hover\\:bg-indigo-800\\/40:hover{background-color:#372aac66}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-indigo-800\\/40:hover{background-color:color-mix(in oklab,var(--color-indigo-800)40%,transparent)}}.dark\\:hover\\:bg-orange-400\\/10:hover{background-color:#ff8b1a1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-orange-400\\/10:hover{background-color:color-mix(in oklab,var(--color-orange-400)10%,transparent)}}.dark\\:hover\\:bg-orange-800:hover{background-color:var(--color-orange-800)}.dark\\:hover\\:bg-orange-800\\/40:hover{background-color:#9f2d0066}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-orange-800\\/40:hover{background-color:color-mix(in oklab,var(--color-orange-800)40%,transparent)}}.dark\\:hover\\:bg-red-400\\/10:hover{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-400\\/10:hover{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.dark\\:hover\\:bg-red-800:hover{background-color:var(--color-red-800)}.dark\\:hover\\:bg-red-800\\/40:hover{background-color:#9f071266}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-800\\/40:hover{background-color:color-mix(in oklab,var(--color-red-800)40%,transparent)}}.dark\\:hover\\:bg-rose-400\\/10:hover{background-color:#ff667f1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-rose-400\\/10:hover{background-color:color-mix(in oklab,var(--color-rose-400)10%,transparent)}}.dark\\:hover\\:bg-rose-800:hover{background-color:var(--color-rose-800)}.dark\\:hover\\:bg-rose-800\\/40:hover{background-color:#a3003766}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-rose-800\\/40:hover{background-color:color-mix(in oklab,var(--color-rose-800)40%,transparent)}}}.dark\\:focus\\:bg-gray-800:focus{background-color:var(--color-gray-800)}.dark\\:focus\\:ring-gray-500:focus{--tw-ring-color:var(--color-gray-500)}.dark\\:focus\\:ring-white\\/70:focus{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.dark\\:focus\\:ring-white\\/70:focus{--tw-ring-color:color-mix(in oklab,var(--color-white)70%,transparent)}}}.\\[\\&\\>div\\[data-slot\\=carousel-content\\]\\]\\:overflow-visible>div[data-slot=carousel-content]{overflow:visible}.\\[\\&\\>div\\[data-slot\\=carousel-content\\]\\]\\:\\[clip-path\\:inset\\(-100vw_-100vw_-100vw_0\\)\\]>div[data-slot=carousel-content]{clip-path:inset(-100vw -100vw -100vw 0)}.\\[\\&\\[data-state\\=open\\]\\>span\\:last-child\\]\\:rotate-180[data-state=open]>span:last-child{rotate:180deg}}@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-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}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}",this.shadowRoot.appendChild(i);const n=document.createElement("div");n.id="fiction-widget-root",this.shadowRoot.appendChild(n),this.app=((...e)=>{const t=(Fa||(Fa=yn(ja))).createApp(...e),{mount:i}=t;return t.mount=e=>{const n=function(e){return v(e)?document.querySelector(e):e}(e);if(!n)return;const r=t._component;m(r)||r.render||r.template||(r.template=n.innerHTML),1===n.nodeType&&(n.textContent="");const a=i(n,!1,function(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),a},t})(db,{handle:this.config.handle,context:this.config.context,firstMessage:this.config.firstMessage,position:this.config.position||"bottom-right",apiBase:this.config.apiBase}),this.widgetInstance=this.app.mount(n),document.body.appendChild(this.container)}getPositionStyles(e){switch(e){case"bottom-left":return"bottom: 24px; left: 24px;";case"top-right":return"top: 24px; right: 24px;";case"top-left":return"top: 24px; left: 24px;";default:return"bottom: 24px; right: 24px;"}}toggle(){this.widgetInstance?.toggle()}open(){this.widgetInstance?.open()}close(){this.widgetInstance?.close()}destroy(){this.app&&(this.app.unmount(),this.app=null),this.container&&(this.container.remove(),this.container=null),this.shadowRoot=null,this.widgetInstance=null,e.instances.delete(this.config.handle),this.config.handle}static destroyAll(){e.instances.forEach(e=>e.destroy()),e.instances.clear()}static getInstance(t){return e.instances.get(t)}};__publicField(ub,"instances",new Map);let hb=ub;class pb extends HTMLElement{constructor(){super(...arguments),__publicField(this,"widget",null)}connectedCallback(){const e=this.getAttribute("handle"),t=this.getAttribute("context"),i=this.getAttribute("first-message"),n=this.getAttribute("position"),r=this.getAttribute("api-base");e&&(this.widget=new hb({handle:e,context:t||void 0,firstMessage:i||void 0,position:n||void 0,apiBase:r||void 0}),window[`openFictionSelf_${e}`]=()=>{this.widget?.open()})}disconnectedCallback(){this.widget?.destroy()}}if("undefined"==typeof window||customElements.get("fiction-self")||customElements.define("fiction-self",pb),"undefined"!=typeof window){window.FictionWidget=hb;const e=()=>{document.querySelectorAll("fiction-self").forEach(e=>{e.getAttribute("handle")})};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}const gb=(e=0)=>t=>`\x1b[${t+e}m`,mb=(e=0)=>t=>`\x1b[${38+e};5;${t}m`,vb=(e=0)=>(t,i,n)=>`\x1b[${38+e};2;${t};${i};${n}m`,fb={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]}},bb=Object.keys(fb.modifier),kb=Object.keys(fb.color),wb=Object.keys(fb.bgColor),yb=[...kb,...wb],xb=function(){const e=new Map;for(const[t,i]of Object.entries(fb)){for(const[t,n]of Object.entries(i))fb[t]={open:`\x1b[${n[0]}m`,close:`\x1b[${n[1]}m`},i[t]=fb[t],e.set(n[0],n[1]);Object.defineProperty(fb,t,{value:i,enumerable:!1})}return Object.defineProperty(fb,"codes",{value:e,enumerable:!1}),fb.color.close="\x1b[39m",fb.bgColor.close="\x1b[49m",fb.color.ansi=gb(),fb.color.ansi256=mb(),fb.color.ansi16m=vb(),fb.bgColor.ansi=gb(10),fb.bgColor.ansi256=mb(10),fb.bgColor.ansi16m=vb(10),Object.defineProperties(fb,{rgbToAnsi256:{value:(e,t,i)=>e===t&&t===i?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(i/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[i]=t;3===i.length&&(i=[...i].map(e=>e+e).join(""));const n=Number.parseInt(i,16);return[n>>16&255,n>>8&255,255&n]},enumerable:!1},hexToAnsi256:{value:e=>fb.rgbToAnsi256(...fb.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return e-8+90;let t,i,n;if(e>=232)t=(10*(e-232)+8)/255,i=t,n=t;else{const r=(e-=16)%36;t=Math.floor(e/36)/5,i=Math.floor(r/6)/5,n=r%6/5}const r=2*Math.max(t,i,n);if(0===r)return 30;let a=30+(Math.round(n)<<2|Math.round(i)<<1|Math.round(t));return 2===r&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,i)=>fb.ansi256ToAnsi(fb.rgbToAnsi256(e,t,i)),enumerable:!1},hexToAnsi:{value:e=>fb.ansi256ToAnsi(fb.hexToAnsi256(e)),enumerable:!1}}),fb}(),Cb=(()=>{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})(),Sb=0!==Cb&&{level:Cb,hasBasic:!0,has256:Cb>=2,has16m:Cb>=3},Tb={stdout:Sb,stderr:Sb};function Eb(e,t,i){let n=e.indexOf(t);if(-1===n)return e;const r=t.length;let a=0,o="";do{o+=e.slice(a,n)+t+i,a=n+r,n=e.indexOf(t,a)}while(-1!==n);return o+=e.slice(a),o}const{stdout:Pb,stderr:Mb}=Tb,_b=Symbol("GENERATOR"),Ib=Symbol("STYLER"),Rb=Symbol("IS_EMPTY"),Ab=["ansi","ansi","ansi256","ansi16m"],Ob=Object.create(null),Db=e=>{const t=(...e)=>e.join(" ");return((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 i=Pb?Pb.level:0;e.level=void 0===t.level?i:t.level})(t,e),Object.setPrototypeOf(t,Lb.prototype),t};function Lb(e){return Db(e)}Object.setPrototypeOf(Lb.prototype,Function.prototype);for(const[Wb,$b]of Object.entries(xb))Ob[Wb]={get(){const e=zb(this,Ub($b.open,$b.close,this[Ib]),this[Rb]);return Object.defineProperty(this,Wb,{value:e}),e}};Ob.visible={get(){const e=zb(this,this[Ib],!0);return Object.defineProperty(this,"visible",{value:e}),e}};const Nb=(e,t,i,...n)=>"rgb"===e?"ansi16m"===t?xb[i].ansi16m(...n):"ansi256"===t?xb[i].ansi256(xb.rgbToAnsi256(...n)):xb[i].ansi(xb.rgbToAnsi(...n)):"hex"===e?Nb("rgb",t,i,...xb.hexToRgb(...n)):xb[i][e](...n),jb=["rgb","hex","ansi256"];for(const Wb of jb)Ob[Wb]={get(){const{level:e}=this;return function(...t){const i=Ub(Nb(Wb,Ab[e],"color",...t),xb.color.close,this[Ib]);return zb(this,i,this[Rb])}}},Ob["bg"+Wb[0].toUpperCase()+Wb.slice(1)]={get(){const{level:e}=this;return function(...t){const i=Ub(Nb(Wb,Ab[e],"bgColor",...t),xb.bgColor.close,this[Ib]);return zb(this,i,this[Rb])}}};const Fb=Object.defineProperties(()=>{},{...Ob,level:{enumerable:!0,get(){return this[_b].level},set(e){this[_b].level=e}}}),Ub=(e,t,i)=>{let n,r;return void 0===i?(n=e,r=t):(n=i.openAll+e,r=t+i.closeAll),{open:e,close:t,openAll:n,closeAll:r,parent:i}},zb=(e,t,i)=>{const n=(...e)=>Bb(n,1===e.length?""+e[0]:e.join(" "));return Object.setPrototypeOf(n,Fb),n[_b]=e,n[Ib]=t,n[Rb]=i,n},Bb=(e,t)=>{if(e.level<=0||!t)return e[Rb]?"":t;let i=e[Ib];if(void 0===i)return t;const{openAll:n,closeAll:r}=i;if(t.includes("\x1b"))for(;void 0!==i;)t=Eb(t,i.close,i.open),i=i.parent;const a=t.indexOf("\n");return-1!==a&&(t=function(e,t,i,n){let r=0,a="";do{const o="\r"===e[n-1];a+=e.slice(r,o?n-1:n)+t+(o?"\r\n":"\n")+i,r=n+1,n=e.indexOf("\n",r)}while(-1!==n);return a+=e.slice(r),a}(t,r,n,a)),n+t+r};Object.defineProperties(Lb.prototype,Ob);const Vb=Lb(),qb=Lb({level:Mb?Mb.level:0}),Hb=Object.freeze(Object.defineProperty({__proto__:null,Chalk:class{constructor(e){return Db(e)}},backgroundColorNames:wb,backgroundColors:wb,chalkStderr:qb,colorNames:yb,colors:yb,default:Vb,foregroundColorNames:kb,foregroundColors:kb,modifierNames:bb,modifiers:bb,supportsColor:Pb,supportsColorStderr:Mb},Symbol.toStringTag,{value:"Module"}));return e.FictionWidget=hb,e.default=hb,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),e}({});
|
|
3
|
+
/*! #__NO_SIDE_EFFECTS__ */function di(e,t){return m(e)?(()=>c({name:e.name},t,{setup:e}))():e}function ui(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function hi(e,t,n,r,o=!1){if(h(e))return void e.forEach((e,i)=>hi(e,t&&(h(t)?t[i]:t),n,r,o));if(pi(r)&&!o)return void(512&r.shapeFlag&&r.type.__asyncResolved&&r.component.subTree.component&&hi(e,t,n,r.component.subTree));const s=4&r.shapeFlag?Er(r.component):r.el,c=o?null:s,{i:d,r:p}=e,g=t&&t.r,f=d.refs===i?d.refs={}:d.refs,b=d.setupState,k=dt(b),w=b===i?a:e=>u(k,e);if(null!=g&&g!==p)if(v(g))f[g]=null,w(g)&&(b[g]=null);else if(pt(g)){g.value=null;const e=t;e.k&&(f[e.k]=null)}if(m(p))Tt(p,d,12,[c,f]);else{const t=v(p),i=pt(p);if(t||i){const r=()=>{if(e.f){const i=t?w(p)?b[p]:f[p]:p.value;if(o)h(i)&&l(i,s);else if(h(i))i.includes(s)||i.push(s);else if(t)f[p]=[s],w(p)&&(b[p]=f[p]);else{const t=[s];p.value=t,e.k&&(f[e.k]=t)}}else t?(f[p]=c,w(p)&&(b[p]=c)):i&&(p.value=c,e.k&&(f[e.k]=c))};c?(r.id=-1,wn(r,n)):r()}}}j().requestIdleCallback,j().cancelIdleCallback;const pi=e=>!!e.type.__asyncLoader,gi=e=>e.type.__isKeepAlive;function mi(e,t){fi(e,"a",t)}function vi(e,t){fi(e,"da",t)}function fi(e,t,i=mr){const n=e.__wdc||(e.__wdc=()=>{let t=i;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(ki(t,n,i),i){let e=i.parent;for(;e&&e.parent;)gi(e.parent.vnode)&&bi(n,t,i,e),e=e.parent}}function bi(e,t,i,n){const r=ki(t,e,n,!0);Ei(()=>{l(n[t],r)},i)}function ki(e,t,i=mr,n=!1){if(i){const r=i[e]||(i[e]=[]),a=t.__weh||(t.__weh=(...n)=>{me();const r=kr(i),a=Et(t,i,e,n);return r(),ve(),a});return n?r.unshift(a):r.push(a),a}}const wi=e=>(t,i=mr)=>{xr&&"sp"!==e||ki(e,(...e)=>t(...e),i)},yi=wi("bm"),xi=wi("m"),Ci=wi("bu"),Si=wi("u"),Ti=wi("bum"),Ei=wi("um"),Pi=wi("sp"),Mi=wi("rtg"),_i=wi("rtc");function Ii(e,t=mr){ki("ec",e,t)}const Ri=Symbol.for("v-ndc");function Ai(e){return v(e)?function(e,t,i=!0,n=!1){const r=Vt||mr;if(r){const i=r.type;{const e=function(e,t=!0){return m(e)?e.displayName||e.name:e.name||t&&e.__name}(i,!1);if(e&&(e===t||e===P(t)||e===I(P(t))))return i}const a=Oi(r[e]||i[e],t)||Oi(r.appContext[e],t);return!a&&n?i:a}}("components",e,!1)||e:e||Ri}function Oi(e,t){return e&&(e[t]||e[P(t)]||e[I(P(t))])}function Di(e,t,i,n){let r;const a=i,o=h(e);if(o||v(e)){let i=!1,n=!1;o&&ot(e)&&(i=!ct(e),n=st(e),e=_e(e)),r=new Array(e.length);for(let o=0,s=e.length;o<s;o++)r[o]=t(i?n?ht(ut(e[o])):ut(e[o]):e[o],o,void 0,a)}else if("number"==typeof e){r=new Array(e);for(let i=0;i<e;i++)r[i]=t(i+1,i,void 0,a)}else if(b(e))if(e[Symbol.iterator])r=Array.from(e,(e,i)=>t(e,i,void 0,a));else{const i=Object.keys(e);r=new Array(i.length);for(let n=0,o=i.length;n<o;n++){const o=i[n];r[n]=t(e[o],o,n,a)}}else r=[];return r}function Li(e,t,i={},n,r){if(Vt.ce||Vt.parent&&pi(Vt.parent)&&Vt.parent.ce)return Jn(),Xn(Vn,null,[ar("slot",i,n)],64);let a=e[t];a&&a._c&&(a._d=!1),Jn();const o=a&&Ni(a(i)),s=i.key||o&&o.key,c=Xn(Vn,{key:(s&&!f(s)?s:`_${t}`)+(!o&&n?"_fb":"")},o||[],o&&1===e._?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),a&&a._c&&(a._d=!0),c}function Ni(e){return e.some(e=>!er(e)||e.type!==Hn&&!(e.type===Vn&&!Ni(e.children)))?e:null}const ji=e=>e?yr(e)?Er(e):ji(e.parent):null,Fi=c(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=>ji(e.parent),$root:e=>ji(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Gi(e),$forceUpdate:e=>e.f||(e.f=()=>{Nt(e.update)}),$nextTick:e=>e.n||(e.n=Lt.bind(e.proxy)),$watch:e=>Rn.bind(e)}),Ui=(e,t)=>e!==i&&!e.__isScriptSetup&&u(e,t),zi={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:r,data:a,props:o,accessCache:s,type:c,appContext:l}=e;let d;if("$"!==t[0]){const c=s[t];if(void 0!==c)switch(c){case 1:return r[t];case 2:return a[t];case 4:return n[t];case 3:return o[t]}else{if(Ui(r,t))return s[t]=1,r[t];if(a!==i&&u(a,t))return s[t]=2,a[t];if((d=e.propsOptions[0])&&u(d,t))return s[t]=3,o[t];if(n!==i&&u(n,t))return s[t]=4,n[t];Vi&&(s[t]=0)}}const h=Fi[t];let p,g;return h?("$attrs"===t&&Ee(e.attrs,0,""),h(e)):(p=c.__cssModules)&&(p=p[t])?p:n!==i&&u(n,t)?(s[t]=4,n[t]):(g=l.config.globalProperties,u(g,t)?g[t]:void 0)},set({_:e},t,n){const{data:r,setupState:a,ctx:o}=e;return Ui(a,t)?(a[t]=n,!0):r!==i&&u(r,t)?(r[t]=n,!0):!(u(e.props,t)||"$"===t[0]&&t.slice(1)in e||(o[t]=n,0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:a,propsOptions:o,type:s}},c){let l,d;return!!(n[c]||e!==i&&"$"!==c[0]&&u(e,c)||Ui(t,c)||(l=o[0])&&u(l,c)||u(r,c)||u(Fi,c)||u(a.config.globalProperties,c)||(d=s.__cssModules)&&d[c])},defineProperty(e,t,i){return null!=i.get?e._.accessCache[t]=0:u(i,"value")&&this.set(e,t,i.value,null),Reflect.defineProperty(e,t,i)}};function Bi(e){return h(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}let Vi=!0;function qi(e,t,i){Et(h(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,i)}function Hi(e,t,i,n){let r=n.includes(".")?An(i,n):()=>i[n];if(v(e)){const i=t[e];m(i)&&_n(r,i)}else if(m(e))_n(r,e.bind(i));else if(b(e))if(h(e))e.forEach(e=>Hi(e,t,i,n));else{const n=m(e.handler)?e.handler.bind(i):t[e.handler];m(n)&&_n(r,n,e)}}function Gi(e){const t=e.type,{mixins:i,extends:n}=t,{mixins:r,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t);let c;return s?c=s:r.length||i||n?(c={},r.length&&r.forEach(e=>Wi(c,e,o,!0)),Wi(c,t,o)):c=t,b(t)&&a.set(t,c),c}function Wi(e,t,i,n=!1){const{mixins:r,extends:a}=t;a&&Wi(e,a,i,!0),r&&r.forEach(t=>Wi(e,t,i,!0));for(const o in t)if(n&&"expose"===o);else{const n=$i[o]||i&&i[o];e[o]=n?n(e[o],t[o]):t[o]}return e}const $i={data:Ji,props:Yi,emits:Yi,methods:Zi,computed:Zi,beforeCreate:Qi,created:Qi,beforeMount:Qi,mounted:Qi,beforeUpdate:Qi,updated:Qi,beforeDestroy:Qi,beforeUnmount:Qi,destroyed:Qi,unmounted:Qi,activated:Qi,deactivated:Qi,errorCaptured:Qi,serverPrefetch:Qi,components:Zi,directives:Zi,watch:function(e,t){if(!e)return t;if(!t)return e;const i=c(Object.create(null),e);for(const n in t)i[n]=Qi(e[n],t[n]);return i},provide:Ji,inject:function(e,t){return Zi(Ki(e),Ki(t))}};function Ji(e,t){return t?e?function(){return c(m(e)?e.call(this,this):e,m(t)?t.call(this,this):t)}:t:e}function Ki(e){if(h(e)){const t={};for(let i=0;i<e.length;i++)t[e[i]]=e[i];return t}return e}function Qi(e,t){return e?[...new Set([].concat(e,t))]:t}function Zi(e,t){return e?c(Object.create(null),e,t):t}function Yi(e,t){return e?h(e)&&h(t)?[...new Set([...e,...t])]:c(Object.create(null),Bi(e),Bi(null!=t?t:{})):t}function Xi(){return{app:null,config:{isNativeTag:a,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 en=0;function tn(e,t){return function(t,i=null){m(t)||(t=c({},t)),null==i||b(i)||(i=null);const n=Xi(),r=new WeakSet,a=[];let o=!1;const s=n.app={_uid:en++,_component:t,_props:i,_container:null,_context:n,_instance:null,version:Mr,get config(){return n.config},set config(e){},use:(e,...t)=>(r.has(e)||(e&&m(e.install)?(r.add(e),e.install(s,...t)):m(e)&&(r.add(e),e(s,...t))),s),mixin:e=>(n.mixins.includes(e)||n.mixins.push(e),s),component:(e,t)=>t?(n.components[e]=t,s):n.components[e],directive:(e,t)=>t?(n.directives[e]=t,s):n.directives[e],mount(r,a,c){if(!o){const a=s._ceVNode||ar(t,i);return a.appContext=n,!0===c?c="svg":!1===c&&(c=void 0),e(a,r,c),o=!0,s._container=r,r.__vue_app__=s,Er(a.component)}},onUnmount(e){a.push(e)},unmount(){o&&(Et(a,s._instance,16),e(null,s._container),delete s._container.__vue_app__)},provide:(e,t)=>(n.provides[e]=t,s),runWithContext(e){const t=nn;nn=s;try{return e()}finally{nn=t}}};return s}}let nn=null;function rn(e,t){if(mr){let i=mr.provides;const n=mr.parent&&mr.parent.provides;n===i&&(i=mr.provides=Object.create(n)),i[e]=t}}function an(e,t,i=!1){const n=vr();if(n||nn){let r=nn?nn._context.provides:n?null==n.parent||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return i&&m(t)?t.call(n&&n.proxy):t}}const on={},sn=()=>Object.create(on),cn=e=>Object.getPrototypeOf(e)===on;function ln(e,t,n,r){const[a,o]=e.propsOptions;let s,c=!1;if(t)for(let i in t){if(S(i))continue;const l=t[i];let d;a&&u(a,d=P(i))?o&&o.includes(d)?(s||(s={}))[d]=l:n[d]=l:Nn(e.emitsOptions,i)||i in r&&l===r[i]||(r[i]=l,c=!0)}if(o){const t=dt(n),r=s||i;for(let i=0;i<o.length;i++){const s=o[i];n[s]=dn(a,t,s,r[s],e,!u(r,s))}}return c}function dn(e,t,i,n,r,a){const o=e[i];if(null!=o){const e=u(o,"default");if(e&&void 0===n){const e=o.default;if(o.type!==Function&&!o.skipFactory&&m(e)){const{propsDefaults:a}=r;if(i in a)n=a[i];else{const o=kr(r);n=a[i]=e.call(null,t),o()}}else n=e;r.ce&&r.ce._setProp(i,n)}o[0]&&(a&&!e?n=!1:!o[1]||""!==n&&n!==_(i)||(n=!0))}return n}const un=new WeakMap;function hn(e,t,r=!1){const a=r?un:t.propsCache,o=a.get(e);if(o)return o;const s=e.props,l={},d=[];let p=!1;if(!m(e)){const i=e=>{p=!0;const[i,n]=hn(e,t,!0);c(l,i),n&&d.push(...n)};!r&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!s&&!p)return b(e)&&a.set(e,n),n;if(h(s))for(let n=0;n<s.length;n++){const e=P(s[n]);pn(e)&&(l[e]=i)}else if(s)for(const i in s){const e=P(i);if(pn(e)){const t=s[i],n=l[e]=h(t)||m(t)?{type:t}:c({},t),r=n.type;let a=!1,o=!0;if(h(r))for(let e=0;e<r.length;++e){const t=r[e],i=m(t)&&t.name;if("Boolean"===i){a=!0;break}"String"===i&&(o=!1)}else a=m(r)&&"Boolean"===r.name;n[0]=a,n[1]=o,(a||u(n,"default"))&&d.push(e)}}const g=[l,d];return b(e)&&a.set(e,g),g}function pn(e){return"$"!==e[0]&&!S(e)}const gn=e=>"_"===e||"_ctx"===e||"$stable"===e,mn=e=>h(e)?e.map(lr):[lr(e)],vn=(e,t,i)=>{if(t._n)return t;const n=Gt((...e)=>mn(t(...e)),i);return n._c=!1,n},fn=(e,t,i)=>{const n=e._ctx;for(const r in e){if(gn(r))continue;const i=e[r];if(m(i))t[r]=vn(0,i,n);else if(null!=i){const e=mn(i);t[r]=()=>e}}},bn=(e,t)=>{const i=mn(t);e.slots.default=()=>i},kn=(e,t,i)=>{for(const n in t)!i&&gn(n)||(e[n]=t[n])},wn=function(e,t){var i;t&&t.pendingBranch?h(e)?t.effects.push(...e):t.effects.push(e):(h(i=e)?It.push(...i):Rt&&-1===i.id?Rt.splice(At+1,0,i):1&i.flags||(It.push(i),i.flags|=1),jt())};function yn(e){return function(e){j().__VUE__=!0;const{insert:t,remove:a,patchProp:o,createElement:s,createText:c,createComment:l,setText:d,setElementText:h,parentNode:p,nextSibling:g,setScopeId:m=r,insertStaticContent:v}=e,f=(e,t,i,n=null,r=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!tr(e,t)&&(n=Q(e),G(e,r,a,!0),e=null),-2===t.patchFlag&&(c=!1,t.dynamicChildren=null);const{type:l,ref:d,shapeFlag:u}=t;switch(l){case qn:b(e,t,i,n);break;case Hn:w(e,t,i,n);break;case Gn:null==e&&y(t,i,n,o);break;case Vn:A(e,t,i,n,r,a,o,s,c);break;default:1&u?x(e,t,i,n,r,a,o,s,c):6&u?L(e,t,i,n,r,a,o,s,c):(64&u||128&u)&&l.process(e,t,i,n,r,a,o,s,c,te)}null!=d&&r?hi(d,e&&e.ref,a,t||e,!t):null==d&&e&&null!=e.ref&&hi(e.ref,null,a,e,!0)},b=(e,i,n,r)=>{if(null==e)t(i.el=c(i.children),n,r);else{const t=i.el=e.el;i.children!==e.children&&d(t,i.children)}},w=(e,i,n,r)=>{null==e?t(i.el=l(i.children||""),n,r):i.el=e.el},y=(e,t,i,n)=>{[e.el,e.anchor]=v(e.children,t,i,n,e.el,e.anchor)},x=(e,t,i,n,r,a,o,s,c)=>{"svg"===t.type?o="svg":"math"===t.type&&(o="mathml"),null==e?C(t,i,n,r,a,o,s,c):M(e,t,r,a,o,s,c)},C=(e,i,n,r,a,c,l,d)=>{let u,p;const{props:g,shapeFlag:m,transition:v,dirs:f}=e;if(u=e.el=s(e.type,c,g&&g.is,g),8&m?h(u,e.children):16&m&&E(e.children,u,null,r,a,xn(e,c),l,d),f&&$t(e,null,r,"created"),T(u,e,e.scopeId,l,r),g){for(const e in g)"value"===e||S(e)||o(u,e,null,g[e],c,r);"value"in g&&o(u,"value",null,g.value,c),(p=g.onVnodeBeforeMount)&&hr(p,r,e)}f&&$t(e,null,r,"beforeMount");const b=function(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}(a,v);b&&v.beforeEnter(u),t(u,i,n),((p=g&&g.onVnodeMounted)||b||f)&&wn(()=>{p&&hr(p,r,e),b&&v.enter(u),f&&$t(e,null,r,"mounted")},a)},T=(e,t,i,n,r)=>{if(i&&m(e,i),n)for(let a=0;a<n.length;a++)m(e,n[a]);if(r){let i=r.subTree;if(t===i||Bn(i.type)&&(i.ssContent===t||i.ssFallback===t)){const t=r.vnode;T(e,t,t.scopeId,t.slotScopeIds,r.parent)}}},E=(e,t,i,n,r,a,o,s,c=0)=>{for(let l=c;l<e.length;l++){const c=e[l]=s?dr(e[l]):lr(e[l]);f(null,c,t,i,n,r,a,o,s)}},M=(e,t,n,r,a,s,c)=>{const l=t.el=e.el;let{patchFlag:d,dynamicChildren:u,dirs:p}=t;d|=16&e.patchFlag;const g=e.props||i,m=t.props||i;let v;if(n&&Cn(n,!1),(v=m.onVnodeBeforeUpdate)&&hr(v,n,t,e),p&&$t(t,e,n,"beforeUpdate"),n&&Cn(n,!0),(g.innerHTML&&null==m.innerHTML||g.textContent&&null==m.textContent)&&h(l,""),u?I(e.dynamicChildren,u,l,n,r,xn(t,a),s):c||B(e,t,l,null,n,r,xn(t,a),s,!1),d>0){if(16&d)R(l,g,m,n,a);else if(2&d&&g.class!==m.class&&o(l,"class",null,m.class,a),4&d&&o(l,"style",g.style,m.style,a),8&d){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const i=e[t],r=g[i],s=m[i];s===r&&"value"!==i||o(l,i,r,s,a,n)}}1&d&&e.children!==t.children&&h(l,t.children)}else c||null!=u||R(l,g,m,n,a);((v=m.onVnodeUpdated)||p)&&wn(()=>{v&&hr(v,n,t,e),p&&$t(t,e,n,"updated")},r)},I=(e,t,i,n,r,a,o)=>{for(let s=0;s<t.length;s++){const c=e[s],l=t[s],d=c.el&&(c.type===Vn||!tr(c,l)||198&c.shapeFlag)?p(c.el):i;f(c,l,d,null,n,r,a,o,!0)}},R=(e,t,n,r,a)=>{if(t!==n){if(t!==i)for(const i in t)S(i)||i in n||o(e,i,t[i],null,a,r);for(const i in n){if(S(i))continue;const s=n[i],c=t[i];s!==c&&"value"!==i&&o(e,i,c,s,a,r)}"value"in n&&o(e,"value",t.value,n.value,a)}},A=(e,i,n,r,a,o,s,l,d)=>{const u=i.el=e?e.el:c(""),h=i.anchor=e?e.anchor:c("");let{patchFlag:p,dynamicChildren:g,slotScopeIds:m}=i;m&&(l=l?l.concat(m):m),null==e?(t(u,n,r),t(h,n,r),E(i.children||[],n,h,a,o,s,l,d)):p>0&&64&p&&g&&e.dynamicChildren?(I(e.dynamicChildren,g,n,a,o,s,l),(null!=i.key||a&&i===a.subTree)&&Sn(e,i,!0)):B(e,i,n,h,a,o,s,l,d)},L=(e,t,i,n,r,a,o,s,c)=>{t.slotScopeIds=s,null==e?512&t.shapeFlag?r.ctx.activate(t,i,n,o,c):N(t,i,n,r,a,o,c):F(e,t,c)},N=(e,t,n,r,a,o,s)=>{const c=e.component=function(e,t,n){const r=e.type,a=(t?t.appContext:e.appContext)||pr,o={uid:gr++,vnode:e,type:r,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Y(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(a.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:hn(r,a),emitsOptions:Ln(r,a),emit:null,emitted:null,propsDefaults:i,inheritAttrs:r.inheritAttrs,ctx:i,data:i,props:i,attrs:i,slots:i,refs:i,setupState:i,setupContext:null,suspense:n,suspenseId:n?n.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=Dn.bind(null,o),e.ce&&e.ce(o),o}(e,r,a);if(gi(e)&&(c.ctx.renderer=te),function(e,t=!1,i=!1){t&&br(t);const{props:n,children:r}=e.vnode,a=yr(e);(function(e,t,i,n=!1){const r={},a=sn();e.propsDefaults=Object.create(null),ln(e,t,r,a);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);i?e.props=n?r:at(r,!1,Ge,Ze,et):e.type.props?e.props=r:e.props=a,e.attrs=a})(e,n,a,t),((e,t,i)=>{const n=e.slots=sn();if(32&e.vnode.shapeFlag){const e=t._;e?(kn(n,t,i),i&&D(n,"_",e,!0)):fn(t,n)}else t&&bn(e,t)})(e,r,i||t);a&&function(e,t){const i=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,zi);const{setup:n}=i;if(n){me();const i=e.setupContext=n.length>1?function(e){return{attrs:new Proxy(e.attrs,Tr),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}(e):null,r=kr(e),a=Tt(n,e,0,[e.props,i]),o=k(a);if(ve(),r(),!o&&!e.sp||pi(e)||ui(e),o){if(a.then(wr,wr),t)return a.then(t=>{Cr(e,t)}).catch(t=>{Pt(t,e,0)});e.asyncDep=a}else Cr(e,a)}else Sr(e)}(e,t);t&&br(!1)}(c,!1,s),c.asyncDep){if(a&&a.registerDep(c,U,s),!e.el){const i=c.subTree=ar(Hn);w(null,i,t,n),e.placeholder=i.el}}else U(c,e,t,n,a,o,s)},F=(e,t,i)=>{const n=t.component=e.component;if(function(e,t,i){const{props:n,children:r,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(!(i&&c>=0))return!(!r&&!s||s&&s.$stable)||n!==o&&(n?!o||zn(n,o,l):!!o);if(1024&c)return!0;if(16&c)return n?zn(n,o,l):!!o;if(8&c){const e=t.dynamicProps;for(let t=0;t<e.length;t++){const i=e[t];if(o[i]!==n[i]&&!Nn(l,i))return!0}}return!1}(e,t,i)){if(n.asyncDep&&!n.asyncResolved)return void z(n,t,i);n.next=t,n.update()}else t.el=e.el,n.vnode=t},U=(e,t,i,n,r,a,o)=>{const s=()=>{if(e.isMounted){let{next:t,bu:i,u:n,parent:c,vnode:l}=e;{const i=Tn(e);if(i)return t&&(t.el=l.el,z(e,t,o)),void i.asyncDep.then(()=>{e.isUnmounted||s()})}let d,u=t;Cn(e,!1),t?(t.el=l.el,z(e,t,o)):t=l,i&&O(i),(d=t.props&&t.props.onVnodeBeforeUpdate)&&hr(d,c,t,l),Cn(e,!0);const h=jn(e),g=e.subTree;e.subTree=h,f(g,h,p(g.el),Q(g),e,r,a),t.el=h.el,null===u&&function({vnode:e,parent:t},i){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n!==e)break;(e=t.vnode).el=i,t=t.parent}}(e,h.el),n&&wn(n,r),(d=t.props&&t.props.onVnodeUpdated)&&wn(()=>hr(d,c,t,l),r)}else{let o;const{el:s,props:c}=t,{bm:l,m:d,parent:u,root:h,type:p}=e,g=pi(t);Cn(e,!1),l&&O(l),!g&&(o=c&&c.onVnodeBeforeMount)&&hr(o,u,t),Cn(e,!0);{h.ce&&!1!==h.ce._def.shadowRoot&&h.ce._injectChildStyle(p);const o=e.subTree=jn(e);f(null,o,i,n,e,r,a),t.el=o.el}if(d&&wn(d,r),!g&&(o=c&&c.onVnodeMounted)){const e=t;wn(()=>hr(o,u,e),r)}(256&t.shapeFlag||u&&pi(u.vnode)&&256&u.vnode.shapeFlag)&&e.a&&wn(e.a,r),e.isMounted=!0,t=i=n=null}};e.scope.on();const c=e.effect=new ee(s);e.scope.off();const l=e.update=c.run.bind(c),d=e.job=c.runIfDirty.bind(c);d.i=e,d.id=e.uid,c.scheduler=()=>Nt(d),Cn(e,!0),l()},z=(e,t,n)=>{t.component=e;const r=e.vnode.props;e.vnode=t,e.next=null,function(e,t,i,n){const{props:r,attrs:a,vnode:{patchFlag:o}}=e,s=dt(r),[c]=e.propsOptions;let l=!1;if(!(n||o>0)||16&o){let n;ln(e,t,r,a)&&(l=!0);for(const a in s)t&&(u(t,a)||(n=_(a))!==a&&u(t,n))||(c?!i||void 0===i[a]&&void 0===i[n]||(r[a]=dn(c,s,a,void 0,e,!0)):delete r[a]);if(a!==s)for(const e in a)t&&u(t,e)||(delete a[e],l=!0)}else if(8&o){const i=e.vnode.dynamicProps;for(let n=0;n<i.length;n++){let o=i[n];if(Nn(e.emitsOptions,o))continue;const d=t[o];if(c)if(u(a,o))d!==a[o]&&(a[o]=d,l=!0);else{const t=P(o);r[t]=dn(c,s,t,d,e,!1)}else d!==a[o]&&(a[o]=d,l=!0)}}l&&Pe(e.attrs,"set","")}(e,t.props,r,n),((e,t,n)=>{const{vnode:r,slots:a}=e;let o=!0,s=i;if(32&r.shapeFlag){const e=t._;e?n&&1===e?o=!1:kn(a,t,n):(o=!t.$stable,fn(t,a)),s=t}else t&&(bn(e,t),s={default:1});if(o)for(const i in a)gn(i)||null!=s[i]||delete a[i]})(e,t.children,n),me(),Ft(e),ve()},B=(e,t,i,n,r,a,o,s,c=!1)=>{const l=e&&e.children,d=e?e.shapeFlag:0,u=t.children,{patchFlag:p,shapeFlag:g}=t;if(p>0){if(128&p)return void q(l,u,i,n,r,a,o,s,c);if(256&p)return void V(l,u,i,n,r,a,o,s,c)}8&g?(16&d&&K(l,r,a),u!==l&&h(i,u)):16&d?16&g?q(l,u,i,n,r,a,o,s,c):K(l,r,a,!0):(8&d&&h(i,""),16&g&&E(u,i,n,r,a,o,s,c))},V=(e,t,i,r,a,o,s,c,l)=>{t=t||n;const d=(e=e||n).length,u=t.length,h=Math.min(d,u);let p;for(p=0;p<h;p++){const n=t[p]=l?dr(t[p]):lr(t[p]);f(e[p],n,i,null,a,o,s,c,l)}d>u?K(e,a,o,!0,!1,h):E(t,i,r,a,o,s,c,l,h)},q=(e,t,i,r,a,o,s,c,l)=>{let d=0;const u=t.length;let h=e.length-1,p=u-1;for(;d<=h&&d<=p;){const n=e[d],r=t[d]=l?dr(t[d]):lr(t[d]);if(!tr(n,r))break;f(n,r,i,null,a,o,s,c,l),d++}for(;d<=h&&d<=p;){const n=e[h],r=t[p]=l?dr(t[p]):lr(t[p]);if(!tr(n,r))break;f(n,r,i,null,a,o,s,c,l),h--,p--}if(d>h){if(d<=p){const e=p+1,n=e<u?t[e].el:r;for(;d<=p;)f(null,t[d]=l?dr(t[d]):lr(t[d]),i,n,a,o,s,c,l),d++}}else if(d>p)for(;d<=h;)G(e[d],a,o,!0),d++;else{const g=d,m=d,v=new Map;for(d=m;d<=p;d++){const e=t[d]=l?dr(t[d]):lr(t[d]);null!=e.key&&v.set(e.key,d)}let b,k=0;const w=p-m+1;let y=!1,x=0;const C=new Array(w);for(d=0;d<w;d++)C[d]=0;for(d=g;d<=h;d++){const n=e[d];if(k>=w){G(n,a,o,!0);continue}let r;if(null!=n.key)r=v.get(n.key);else for(b=m;b<=p;b++)if(0===C[b-m]&&tr(n,t[b])){r=b;break}void 0===r?G(n,a,o,!0):(C[r-m]=d+1,r>=x?x=r:y=!0,f(n,t[r],i,null,a,o,s,c,l),k++)}const S=y?function(e){const t=e.slice(),i=[0];let n,r,a,o,s;const c=e.length;for(n=0;n<c;n++){const c=e[n];if(0!==c){if(r=i[i.length-1],e[r]<c){t[n]=r,i.push(n);continue}for(a=0,o=i.length-1;a<o;)s=a+o>>1,e[i[s]]<c?a=s+1:o=s;c<e[i[a]]&&(a>0&&(t[n]=i[a-1]),i[a]=n)}}for(a=i.length,o=i[a-1];a-- >0;)i[a]=o,o=t[o];return i}(C):n;for(b=S.length-1,d=w-1;d>=0;d--){const e=m+d,n=t[e],h=t[e+1],p=e+1<u?h.el||h.placeholder:r;0===C[d]?f(null,n,i,p,a,o,s,c,l):y&&(b<0||d!==S[b]?H(n,i,p,2):b--)}}},H=(e,i,n,r,o=null)=>{const{el:s,type:c,transition:l,children:d,shapeFlag:u}=e;if(6&u)H(e.component.subTree,i,n,r);else if(128&u)e.suspense.move(i,n,r);else if(64&u)c.move(e,i,n,te);else if(c!==Vn)if(c!==Gn)if(2!==r&&1&u&&l)if(0===r)l.beforeEnter(s),t(s,i,n),wn(()=>l.enter(s),o);else{const{leave:r,delayLeave:o,afterLeave:c}=l,d=()=>{e.ctx.isUnmounted?a(s):t(s,i,n)},u=()=>{s._isLeaving&&s[Qt](!0),r(s,()=>{d(),c&&c()})};o?o(s,d,u):u()}else t(s,i,n);else(({el:e,anchor:i},n,r)=>{let a;for(;e&&e!==i;)a=g(e),t(e,n,r),e=a;t(i,n,r)})(e,i,n);else{t(s,i,n);for(let e=0;e<d.length;e++)H(d[e],i,n,r);t(e.anchor,i,n)}},G=(e,t,i,n=!1,r=!1)=>{const{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:d,patchFlag:u,dirs:h,cacheIndex:p}=e;if(-2===u&&(r=!1),null!=s&&(me(),hi(s,null,i,e,!0),ve()),null!=p&&(t.renderCache[p]=void 0),256&d)return void t.ctx.deactivate(e);const g=1&d&&h,m=!pi(e);let v;if(m&&(v=o&&o.onVnodeBeforeUnmount)&&hr(v,t,e),6&d)J(e.component,i,n);else{if(128&d)return void e.suspense.unmount(i,n);g&&$t(e,null,t,"beforeUnmount"),64&d?e.type.remove(e,t,i,te,n):l&&!l.hasOnce&&(a!==Vn||u>0&&64&u)?K(l,t,i,!1,!0):(a===Vn&&384&u||!r&&16&d)&&K(c,t,i),n&&W(e)}(m&&(v=o&&o.onVnodeUnmounted)||g)&&wn(()=>{v&&hr(v,t,e),g&&$t(e,null,t,"unmounted")},i)},W=e=>{const{type:t,el:i,anchor:n,transition:r}=e;if(t===Vn)return void $(i,n);if(t===Gn)return void(({el:e,anchor:t})=>{let i;for(;e&&e!==t;)i=g(e),a(e),e=i;a(t)})(e);const o=()=>{a(i),r&&!r.persisted&&r.afterLeave&&r.afterLeave()};if(1&e.shapeFlag&&r&&!r.persisted){const{leave:t,delayLeave:n}=r,a=()=>t(i,o);n?n(e.el,o,a):a()}else o()},$=(e,t)=>{let i;for(;e!==t;)i=g(e),a(e),e=i;a(t)},J=(e,t,i)=>{const{bum:n,scope:r,job:a,subTree:o,um:s,m:c,a:l}=e;En(c),En(l),n&&O(n),r.stop(),a&&(a.flags|=8,G(o,e,t,i)),s&&wn(s,t),wn(()=>{e.isUnmounted=!0},t)},K=(e,t,i,n=!1,r=!1,a=0)=>{for(let o=a;o<e.length;o++)G(e[o],t,i,n,r)},Q=e=>{if(6&e.shapeFlag)return Q(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=g(e.anchor||e.el),i=t&&t[Jt];return i?g(i):t};let Z=!1;const X=(e,t,i)=>{null==e?t._vnode&&G(t._vnode,null,null,!0):f(t._vnode||null,e,t,null,null,null,i),t._vnode=e,Z||(Z=!0,Ft(),Ut(),Z=!1)},te={p:f,um:G,m:H,r:W,mt:N,mc:E,pc:B,pbc:I,n:Q,o:e};return{render:X,hydrate:undefined,createApp:tn(X)}}(e)}function xn({type:e,props:t},i){return"svg"===i&&"foreignObject"===e||"mathml"===i&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:i}function Cn({effect:e,job:t},i){i?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Sn(e,t,i=!1){const n=e.children,r=t.children;if(h(n)&&h(r))for(let a=0;a<n.length;a++){const e=n[a];let t=r[a];1&t.shapeFlag&&!t.dynamicChildren&&((t.patchFlag<=0||32===t.patchFlag)&&(t=r[a]=dr(r[a]),t.el=e.el),i||-2===t.patchFlag||Sn(e,t)),t.type===qn&&-1!==t.patchFlag&&(t.el=e.el),t.type!==Hn||t.el||(t.el=e.el)}}function Tn(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Tn(t)}function En(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}const Pn=Symbol.for("v-scx"),Mn=()=>an(Pn);function _n(e,t,i){return In(e,t,i)}function In(e,t,n=i){const{immediate:a,deep:o,flush:s,once:d}=n,u=c({},n),p=t&&a||!t&&"post"!==s;let g;if(xr)if("sync"===s){const e=Mn();g=e.__watcherHandles||(e.__watcherHandles=[])}else if(!p){const e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}const v=mr;u.call=(e,t,i)=>Et(e,v,t,i);let f=!1;"post"===s?u.scheduler=e=>{wn(e,v&&v.suspense)}:"sync"!==s&&(f=!0,u.scheduler=(e,t)=>{t?e():Nt(e)}),u.augmentJob=e=>{t&&(e.flags|=4),f&&(e.flags|=2,v&&(e.id=v.uid,e.i=v))};const b=function(e,t,n=i){const{immediate:a,deep:o,once:s,scheduler:c,augmentJob:d,call:u}=n,p=e=>o?e:ct(e)||!1===o||0===o?St(e,1):St(e);let g,v,f,b,k=!1,w=!1;if(pt(e)?(v=()=>e.value,k=ct(e)):ot(e)?(v=()=>p(e),k=!0):h(e)?(w=!0,k=e.some(e=>ot(e)||ct(e)),v=()=>e.map(e=>pt(e)?e.value:ot(e)?p(e):m(e)?u?u(e,2):e():void 0)):v=m(e)?t?u?()=>u(e,2):e:()=>{if(f){me();try{f()}finally{ve()}}const t=Ct;Ct=g;try{return u?u(e,3,[b]):e(b)}finally{Ct=t}}:r,t&&o){const e=v,t=!0===o?1/0:o;v=()=>St(e(),t)}const y=Q,x=()=>{g.stop(),y&&y.active&&l(y.effects,g)};if(s&&t){const e=t;t=(...t)=>{e(...t),x()}}let C=w?new Array(e.length).fill(yt):yt;const S=e=>{if(1&g.flags&&(g.dirty||e))if(t){const e=g.run();if(o||k||(w?e.some((e,t)=>A(e,C[t])):A(e,C))){f&&f();const i=Ct;Ct=g;try{const i=[e,C===yt?void 0:w&&C[0]===yt?[]:C,b];C=e,u?u(t,3,i):t(...i)}finally{Ct=i}}}else g.run()};return d&&d(S),g=new ee(v),g.scheduler=c?()=>c(S,!1):S,b=e=>function(e,t=!1,i=Ct){if(i){let t=xt.get(i);t||xt.set(i,t=[]),t.push(e)}}(e,!1,g),f=g.onStop=()=>{const e=xt.get(g);if(e){if(u)u(e,4);else for(const t of e)t();xt.delete(g)}},t?a?S(!0):C=g.run():c?c(S.bind(null,!0),!0):g.run(),x.pause=g.pause.bind(g),x.resume=g.resume.bind(g),x.stop=x,x}(e,t,u);return xr&&(g?g.push(b):p&&b()),b}function Rn(e,t,i){const n=this.proxy,r=v(e)?e.includes(".")?An(n,e):()=>n[e]:e.bind(n,n);let a;m(t)?a=t:(a=t.handler,i=t);const o=kr(this),s=In(r,a.bind(n),i);return o(),s}function An(e,t){const i=t.split(".");return()=>{let t=e;for(let e=0;e<i.length&&t;e++)t=t[i[e]];return t}}const On=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${P(t)}Modifiers`]||e[`${_(t)}Modifiers`];function Dn(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||i;let a=n;const o=t.startsWith("update:"),s=o&&On(r,t.slice(7));let c;s&&(s.trim&&(a=n.map(e=>v(e)?e.trim():e)),s.number&&(a=n.map(L)));let l=r[c=R(t)]||r[c=R(P(t))];!l&&o&&(l=r[c=R(_(t))]),l&&Et(l,e,6,a);const d=r[c+"Once"];if(d){if(e.emitted){if(e.emitted[c])return}else e.emitted={};e.emitted[c]=!0,Et(d,e,6,a)}}function Ln(e,t,i=!1){const n=t.emitsCache,r=n.get(e);if(void 0!==r)return r;const a=e.emits;let o={},s=!1;if(!m(e)){const n=e=>{const i=Ln(e,t,!0);i&&(s=!0,c(o,i))};!i&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}return a||s?(h(a)?a.forEach(e=>o[e]=null):c(o,a),b(e)&&n.set(e,o),o):(b(e)&&n.set(e,null),null)}function Nn(e,t){return!(!e||!o(t))&&(t=t.slice(2).replace(/Once$/,""),u(e,t[0].toLowerCase()+t.slice(1))||u(e,_(t))||u(e,t))}function jn(e){const{type:t,vnode:i,proxy:n,withProxy:r,propsOptions:[a],slots:o,attrs:c,emit:l,render:d,renderCache:u,props:h,data:p,setupState:g,ctx:m,inheritAttrs:v}=e,f=Ht(e);let b,k;try{if(4&i.shapeFlag){const e=r||n,t=e;b=lr(d.call(t,e,u,h,g,p,m)),k=c}else{const e=t;b=lr(e.length>1?e(h,{attrs:c,slots:o,emit:l}):e(h,null)),k=t.props?c:Fn(c)}}catch(y){Wn.length=0,Pt(y,e,1),b=ar(Hn)}let w=b;if(k&&!1!==v){const e=Object.keys(k),{shapeFlag:t}=w;e.length&&7&t&&(a&&e.some(s)&&(k=Un(k,a)),w=or(w,k,!1,!0))}return i.dirs&&(w=or(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(i.dirs):i.dirs),i.transition&&ci(w,i.transition),b=w,Ht(f),b}const Fn=e=>{let t;for(const i in e)("class"===i||"style"===i||o(i))&&((t||(t={}))[i]=e[i]);return t},Un=(e,t)=>{const i={};for(const n in e)s(n)&&n.slice(9)in t||(i[n]=e[n]);return i};function zn(e,t,i){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;r<n.length;r++){const a=n[r];if(t[a]!==e[a]&&!Nn(i,a))return!0}return!1}const Bn=e=>e.__isSuspense,Vn=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),Hn=Symbol.for("v-cmt"),Gn=Symbol.for("v-stc"),Wn=[];let $n=null;function Jn(e=!1){Wn.push($n=e?null:[])}let Kn=1;function Qn(e,t=!1){Kn+=e,e<0&&$n&&t&&($n.hasOnce=!0)}function Zn(e){return e.dynamicChildren=Kn>0?$n||n:null,Wn.pop(),$n=Wn[Wn.length-1]||null,Kn>0&&$n&&$n.push(e),e}function Yn(e,t,i,n,r,a){return Zn(rr(e,t,i,n,r,a,!0))}function Xn(e,t,i,n,r){return Zn(ar(e,t,i,n,r,!0))}function er(e){return!!e&&!0===e.__v_isVNode}function tr(e,t){return e.type===t.type&&e.key===t.key}const ir=({key:e})=>null!=e?e:null,nr=({ref:e,ref_key:t,ref_for:i})=>("number"==typeof e&&(e=""+e),null!=e?v(e)||pt(e)||m(e)?{i:Vt,r:e,k:t,f:!!i}:e:null);function rr(e,t=null,i=null,n=0,r=null,a=(e===Vn?0:1),o=!1,s=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ir(t),ref:t&&nr(t),scopeId:qt,slotScopeIds:null,children:i,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:a,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Vt};return s?(ur(c,i),128&a&&e.normalize(c)):i&&(c.shapeFlag|=v(i)?8:16),Kn>0&&!o&&$n&&(c.patchFlag>0||6&a)&&32!==c.patchFlag&&$n.push(c),c}const ar=function(e,t=null,i=null,n=0,r=null,a=!1){if(e&&e!==Ri||(e=Hn),er(e)){const n=or(e,t,!0);return i&&ur(n,i),Kn>0&&!a&&$n&&(6&n.shapeFlag?$n[$n.indexOf(e)]=n:$n.push(n)),n.patchFlag=-2,n}var o;if(m(o=e)&&"__vccOpts"in o&&(e=e.__vccOpts),t){t=function(e){return e?lt(e)||cn(e)?c({},e):e:null}(t);let{class:e,style:i}=t;e&&!v(e)&&(t.class=q(e)),b(i)&&(lt(i)&&!h(i)&&(i=c({},i)),t.style=F(i))}return rr(e,t,i,n,r,v(e)?1:Bn(e)?128:Kt(e)?64:b(e)?4:m(e)?2:0,a,!0)};function or(e,t,i=!1,n=!1){const{props:r,ref:a,patchFlag:s,children:c,transition:l}=e,d=t?function(...e){const t={};for(let i=0;i<e.length;i++){const n=e[i];for(const e in n)if("class"===e)t.class!==n.class&&(t.class=q([t.class,n.class]));else if("style"===e)t.style=F([t.style,n.style]);else if(o(e)){const i=t[e],r=n[e];!r||i===r||h(i)&&i.includes(r)||(t[e]=i?[].concat(i,r):r)}else""!==e&&(t[e]=n[e])}return t}(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&ir(d),ref:t&&t.ref?i&&a?h(a)?a.concat(nr(t)):[a,nr(t)]:nr(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Vn?-1===s?16:16|s:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&or(e.ssContent),ssFallback:e.ssFallback&&or(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ci(u,l.clone(u)),u}function sr(e=" ",t=0){return ar(qn,null,e,t)}function cr(e="",t=!1){return t?(Jn(),Xn(Hn,null,e)):ar(Hn,null,e)}function lr(e){return null==e||"boolean"==typeof e?ar(Hn):h(e)?ar(Vn,null,e.slice()):er(e)?dr(e):ar(qn,null,String(e))}function dr(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:or(e)}function ur(e,t){let i=0;const{shapeFlag:n}=e;if(null==t)t=null;else if(h(t))i=16;else if("object"==typeof t){if(65&n){const i=t.default;return void(i&&(i._c&&(i._d=!1),ur(e,i()),i._c&&(i._d=!0)))}{i=32;const n=t._;n||cn(t)?3===n&&Vt&&(1===Vt.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Vt}}else m(t)?(t={default:t,_ctx:Vt},i=32):(t=String(t),64&n?(i=16,t=[sr(t)]):i=8);e.children=t,e.shapeFlag|=i}function hr(e,t,i,n=null){Et(e,t,7,[i,n])}const pr=Xi();let gr=0,mr=null;const vr=()=>mr||Vt;let fr,br;{const e=j(),t=(t,i)=>{let n;return(n=e[t])||(n=e[t]=[]),n.push(i),e=>{n.length>1?n.forEach(t=>t(e)):n[0](e)}};fr=t("__VUE_INSTANCE_SETTERS__",e=>mr=e),br=t("__VUE_SSR_SETTERS__",e=>xr=e)}const kr=e=>{const t=mr;return fr(e),e.scope.on(),()=>{e.scope.off(),fr(t)}},wr=()=>{mr&&mr.scope.off(),fr(null)};function yr(e){return 4&e.vnode.shapeFlag}let xr=!1;function Cr(e,t,i){m(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:b(t)&&(e.setupState=kt(t)),Sr(e)}function Sr(e,t,i){const n=e.type;e.render||(e.render=n.render||r);{const t=kr(e);me();try{!function(e){const t=Gi(e),i=e.proxy,n=e.ctx;Vi=!1,t.beforeCreate&&qi(t.beforeCreate,e,"bc");const{data:a,computed:o,methods:s,watch:c,provide:l,inject:d,created:u,beforeMount:p,mounted:g,beforeUpdate:v,updated:f,activated:k,deactivated:w,beforeDestroy:y,beforeUnmount:x,destroyed:C,unmounted:S,render:T,renderTracked:E,renderTriggered:P,errorCaptured:M,serverPrefetch:_,expose:I,inheritAttrs:R,components:A,directives:O,filters:D}=t;if(d&&function(e,t){h(e)&&(e=Ki(e));for(const i in e){const n=e[i];let r;r=b(n)?"default"in n?an(n.from||i,n.default,!0):an(n.from||i):an(n),pt(r)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[i]=r}}(d,n),s)for(const r in s){const e=s[r];m(e)&&(n[r]=e.bind(i))}if(a){const t=a.call(i,i);b(t)&&(e.data=nt(t))}if(Vi=!0,o)for(const h in o){const e=o[h],t=m(e)?e.bind(i,i):m(e.get)?e.get.bind(i,i):r,a=!m(e)&&m(e.set)?e.set.bind(i):r,s=Pr({get:t,set:a});Object.defineProperty(n,h,{enumerable:!0,configurable:!0,get:()=>s.value,set:e=>s.value=e})}if(c)for(const r in c)Hi(c[r],n,i,r);if(l){const e=m(l)?l.call(i):l;Reflect.ownKeys(e).forEach(t=>{rn(t,e[t])})}function L(e,t){h(t)?t.forEach(t=>e(t.bind(i))):t&&e(t.bind(i))}if(u&&qi(u,e,"c"),L(yi,p),L(xi,g),L(Ci,v),L(Si,f),L(mi,k),L(vi,w),L(Ii,M),L(_i,E),L(Mi,P),L(Ti,x),L(Ei,S),L(Pi,_),h(I))if(I.length){const t=e.exposed||(e.exposed={});I.forEach(e=>{Object.defineProperty(t,e,{get:()=>i[e],set:t=>i[e]=t,enumerable:!0})})}else e.exposed||(e.exposed={});T&&e.render===r&&(e.render=T),null!=R&&(e.inheritAttrs=R),A&&(e.components=A),O&&(e.directives=O),_&&ui(e)}(e)}finally{ve(),t()}}}const Tr={get:(e,t)=>(Ee(e,0,""),e[t])};function Er(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(kt((t=e.exposed,!u(t,"__v_skip")&&Object.isExtensible(t)&&D(t,"__v_skip",!0),t)),{get:(t,i)=>i in t?t[i]:i in Fi?Fi[i](e):void 0,has:(e,t)=>t in e||t in Fi})):e.proxy;var t}const Pr=(e,t)=>{const i=function(e,t,i=!1){let n,r;return m(e)?n=e:(n=e.get,r=e.set),new wt(n,r,i)}(e,0,xr);return i},Mr="3.5.19";let _r;const Ir="undefined"!=typeof window&&window.trustedTypes;if(Ir)try{_r=Ir.createPolicy("vue",{createHTML:e=>e})}catch(Gb){}const Rr=_r?e=>_r.createHTML(e):e=>e,Ar="undefined"!=typeof document?document:null,Or=Ar&&Ar.createElement("template"),Dr={insert:(e,t,i)=>{t.insertBefore(e,i||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,i,n)=>{const r="svg"===t?Ar.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?Ar.createElementNS("http://www.w3.org/1998/Math/MathML",e):i?Ar.createElement(e,{is:i}):Ar.createElement(e);return"select"===e&&n&&null!=n.multiple&&r.setAttribute("multiple",n.multiple),r},createText:e=>Ar.createTextNode(e),createComment:e=>Ar.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ar.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,i,n,r,a){const o=i?i.previousSibling:t.lastChild;if(r&&(r===a||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),i),r!==a&&(r=r.nextSibling););else{Or.innerHTML=Rr("svg"===n?`<svg>${e}</svg>`:"mathml"===n?`<math>${e}</math>`:e);const r=Or.content;if("svg"===n||"mathml"===n){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,i)}return[o?o.nextSibling:t.firstChild,i?i.previousSibling:t.lastChild]}},Lr="transition",Nr="animation",jr=Symbol("_vtc"),Fr={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},Ur=c({},ei,Fr),zr=(e=>(e.displayName="Transition",e.props=Ur,e))((e,{slots:t})=>function(e,t,i){const n=arguments.length;return 2===n?b(t)&&!h(t)?er(t)?ar(e,null,[t]):ar(e,t):ar(e,null,t):(n>3?i=Array.prototype.slice.call(arguments,2):3===n&&er(i)&&(i=[i]),ar(e,t,i))}(ni,qr(e),t)),Br=(e,t=[])=>{h(e)?e.forEach(e=>e(...t)):e&&e(...t)},Vr=e=>!!e&&(h(e)?e.some(e=>e.length>1):e.length>1);function qr(e){const t={};for(const c in e)c in Fr||(t[c]=e[c]);if(!1===e.css)return t;const{name:i="v",type:n,duration:r,enterFromClass:a=`${i}-enter-from`,enterActiveClass:o=`${i}-enter-active`,enterToClass:s=`${i}-enter-to`,appearFromClass:l=a,appearActiveClass:d=o,appearToClass:u=s,leaveFromClass:h=`${i}-leave-from`,leaveActiveClass:p=`${i}-leave-active`,leaveToClass:g=`${i}-leave-to`}=e,m=function(e){if(null==e)return null;if(b(e))return[Hr(e.enter),Hr(e.leave)];{const t=Hr(e);return[t,t]}}(r),v=m&&m[0],f=m&&m[1],{onBeforeEnter:k,onEnter:w,onEnterCancelled:y,onLeave:x,onLeaveCancelled:C,onBeforeAppear:S=k,onAppear:T=w,onAppearCancelled:E=y}=t,P=(e,t,i,n)=>{e._enterCancelled=n,Wr(e,t?u:s),Wr(e,t?d:o),i&&i()},M=(e,t)=>{e._isLeaving=!1,Wr(e,h),Wr(e,g),Wr(e,p),t&&t()},_=e=>(t,i)=>{const r=e?T:w,o=()=>P(t,e,i);Br(r,[t,o]),$r(()=>{Wr(t,e?l:a),Gr(t,e?u:s),Vr(r)||Kr(t,n,v,o)})};return c(t,{onBeforeEnter(e){Br(k,[e]),Gr(e,a),Gr(e,o)},onBeforeAppear(e){Br(S,[e]),Gr(e,l),Gr(e,d)},onEnter:_(!1),onAppear:_(!0),onLeave(e,t){e._isLeaving=!0;const i=()=>M(e,t);Gr(e,h),e._enterCancelled?(Gr(e,p),Xr()):(Xr(),Gr(e,p)),$r(()=>{e._isLeaving&&(Wr(e,h),Gr(e,g),Vr(x)||Kr(e,n,f,i))}),Br(x,[e,i])},onEnterCancelled(e){P(e,!1,void 0,!0),Br(y,[e])},onAppearCancelled(e){P(e,!0,void 0,!0),Br(E,[e])},onLeaveCancelled(e){M(e),Br(C,[e])}})}function Hr(e){const t=(e=>{const t=v(e)?Number(e):NaN;return isNaN(t)?e:t})(e);return t}function Gr(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[jr]||(e[jr]=new Set)).add(t)}function Wr(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const i=e[jr];i&&(i.delete(t),i.size||(e[jr]=void 0))}function $r(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Jr=0;function Kr(e,t,i,n){const r=e._endId=++Jr,a=()=>{r===e._endId&&n()};if(null!=i)return setTimeout(a,i);const{type:o,timeout:s,propCount:c}=Qr(e,t);if(!o)return n();const l=o+"end";let d=0;const u=()=>{e.removeEventListener(l,h),a()},h=t=>{t.target===e&&++d>=c&&u()};setTimeout(()=>{d<c&&u()},s+1),e.addEventListener(l,h)}function Qr(e,t){const i=window.getComputedStyle(e),n=e=>(i[e]||"").split(", "),r=n(`${Lr}Delay`),a=n(`${Lr}Duration`),o=Zr(r,a),s=n(`${Nr}Delay`),c=n(`${Nr}Duration`),l=Zr(s,c);let d=null,u=0,h=0;return t===Lr?o>0&&(d=Lr,u=o,h=a.length):t===Nr?l>0&&(d=Nr,u=l,h=c.length):(u=Math.max(o,l),d=u>0?o>l?Lr:Nr:null,h=d?d===Lr?a.length:c.length:0),{type:d,timeout:u,propCount:h,hasTransform:d===Lr&&/\b(transform|all)(,|$)/.test(n(`${Lr}Property`).toString())}}function Zr(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,i)=>Yr(t)+Yr(e[i])))}function Yr(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Xr(){return document.body.offsetHeight}const ea=Symbol("_vod"),ta=Symbol("_vsh"),ia=Symbol(""),na=/(^|;)\s*display\s*:/,ra=/\s*!important$/;function aa(e,t,i){if(h(i))i.forEach(i=>aa(e,t,i));else if(null==i&&(i=""),t.startsWith("--"))e.setProperty(t,i);else{const n=function(e,t){const i=sa[t];if(i)return i;let n=P(t);if("filter"!==n&&n in e)return sa[t]=n;n=I(n);for(let r=0;r<oa.length;r++){const i=oa[r]+n;if(i in e)return sa[t]=i}return t}(e,t);ra.test(i)?e.setProperty(_(n),i.replace(ra,""),"important"):e[n]=i}}const oa=["Webkit","Moz","ms"],sa={},ca="http://www.w3.org/1999/xlink";function la(e,t,i,n,r,a=H(t)){n&&t.startsWith("xlink:")?null==i?e.removeAttributeNS(ca,t.slice(6,t.length)):e.setAttributeNS(ca,t,i):null==i||a&&!G(i)?e.removeAttribute(t):e.setAttribute(t,a?"":f(i)?String(i):i)}function da(e,t,i,n,r){if("innerHTML"===t||"textContent"===t)return void(null!=i&&(e[t]="innerHTML"===t?Rr(i):i));const a=e.tagName;if("value"===t&&"PROGRESS"!==a&&!a.includes("-")){const n="OPTION"===a?e.getAttribute("value")||"":e.value,r=null==i?"checkbox"===e.type?"on":"":String(i);return n===r&&"_value"in e||(e.value=r),null==i&&e.removeAttribute(t),void(e._value=i)}let o=!1;if(""===i||null==i){const n=typeof e[t];"boolean"===n?i=G(i):null==i&&"string"===n?(i="",o=!0):"number"===n&&(i=0,o=!0)}try{e[t]=i}catch(Gb){}o&&e.removeAttribute(r||t)}function ua(e,t,i,n){e.addEventListener(t,i,n)}const ha=Symbol("_vei");const pa=/(?:Once|Passive|Capture)$/;let ga=0;const ma=Promise.resolve(),va=()=>ga||(ma.then(()=>ga=0),ga=Date.now()),fa=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ba=new WeakMap,ka=new WeakMap,wa=Symbol("_moveCb"),ya=Symbol("_enterCb"),xa=(e=>(delete e.props.mode,e))({name:"TransitionGroup",props:c({},Ur,{tag:String,moveClass:String}),setup(e,{slots:t}){const i=vr(),n=Yt();let r,a;return Si(()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,i){const n=e.cloneNode(),r=e[jr];r&&r.forEach(e=>{e.split(/\s+/).forEach(e=>e&&n.classList.remove(e))}),i.split(/\s+/).forEach(e=>e&&n.classList.add(e)),n.style.display="none";const a=1===t.nodeType?t:t.parentNode;a.appendChild(n);const{hasTransform:o}=Qr(n);return a.removeChild(n),o}(r[0].el,i.vnode.el,t))return void(r=[]);r.forEach(Sa),r.forEach(Ta);const n=r.filter(Ea);Xr(),n.forEach(e=>{const i=e.el,n=i.style;Gr(i,t),n.transform=n.webkitTransform=n.transitionDuration="";const r=i[wa]=e=>{e&&e.target!==i||e&&!/transform$/.test(e.propertyName)||(i.removeEventListener("transitionend",r),i[wa]=null,Wr(i,t))};i.addEventListener("transitionend",r)}),r=[]}),()=>{const o=dt(e),s=qr(o);let c=o.tag||Vn;if(r=[],a)for(let e=0;e<a.length;e++){const t=a[e];t.el&&t.el instanceof Element&&(r.push(t),ci(t,ai(t,s,n,i)),ba.set(t,t.el.getBoundingClientRect()))}a=t.default?li(t.default()):[];for(let e=0;e<a.length;e++){const t=a[e];null!=t.key&&ci(t,ai(t,s,n,i))}return ar(c,null,a)}}}),Ca=xa;function Sa(e){const t=e.el;t[wa]&&t[wa](),t[ya]&&t[ya]()}function Ta(e){ka.set(e,e.el.getBoundingClientRect())}function Ea(e){const t=ba.get(e),i=ka.get(e),n=t.left-i.left,r=t.top-i.top;if(n||r){const t=e.el.style;return t.transform=t.webkitTransform=`translate(${n}px,${r}px)`,t.transitionDuration="0s",e}}const Pa=e=>{const t=e.props["onUpdate:modelValue"]||!1;return h(t)?e=>O(t,e):t};function Ma(e){e.target.composing=!0}function _a(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ia=Symbol("_assign"),Ra={created(e,{modifiers:{lazy:t,trim:i,number:n}},r){e[Ia]=Pa(r);const a=n||r.props&&"number"===r.props.type;ua(e,t?"change":"input",t=>{if(t.target.composing)return;let n=e.value;i&&(n=n.trim()),a&&(n=L(n)),e[Ia](n)}),i&&ua(e,"change",()=>{e.value=e.value.trim()}),t||(ua(e,"compositionstart",Ma),ua(e,"compositionend",_a),ua(e,"change",_a))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:i,modifiers:{lazy:n,trim:r,number:a}},o){if(e[Ia]=Pa(o),e.composing)return;const s=null==t?"":t;if((!a&&"number"!==e.type||/^0\d/.test(e.value)?e.value:L(e.value))!==s){if(document.activeElement===e&&"range"!==e.type){if(n&&t===i)return;if(r&&e.value.trim()===s)return}e.value=s}}},Aa=["ctrl","shift","alt","meta"],Oa={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)=>Aa.some(i=>e[`${i}Key`]&&!t.includes(i))},Da=(e,t)=>{const i=e._withMods||(e._withMods={}),n=t.join(".");return i[n]||(i[n]=(i,...n)=>{for(let e=0;e<t.length;e++){const n=Oa[t[e]];if(n&&n(i,t))return}return e(i,...n)})},La={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Na=(e,t)=>{const i=e._withKeys||(e._withKeys={}),n=t.join(".");return i[n]||(i[n]=i=>{if(!("key"in i))return;const n=_(i.key);return t.some(e=>e===n||La[e]===n)?e(i):void 0})},ja=c({patchProp:(e,t,i,n,r,a)=>{const c="svg"===r;"class"===t?function(e,t,i){const n=e[jr];n&&(t=(t?[t,...n]:[...n]).join(" ")),null==t?e.removeAttribute("class"):i?e.setAttribute("class",t):e.className=t}(e,n,c):"style"===t?function(e,t,i){const n=e.style,r=v(i);let a=!1;if(i&&!r){if(t)if(v(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==i[t]&&aa(n,t,"")}else for(const e in t)null==i[e]&&aa(n,e,"");for(const e in i)"display"===e&&(a=!0),aa(n,e,i[e])}else if(r){if(t!==i){const e=n[ia];e&&(i+=";"+e),n.cssText=i,a=na.test(i)}}else t&&e.removeAttribute("style");ea in e&&(e[ea]=a?n.display:"",e[ta]&&(n.display="none"))}(e,i,n):o(t)?s(t)||function(e,t,i,n,r=null){const a=e[ha]||(e[ha]={}),o=a[t];if(n&&o)o.value=n;else{const[i,s]=function(e){let t;if(pa.test(e)){let i;for(t={};i=e.match(pa);)e=e.slice(0,e.length-i[0].length),t[i[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):_(e.slice(2)),t]}(t);if(n){const o=a[t]=function(e,t){const i=e=>{if(e._vts){if(e._vts<=i.attached)return}else e._vts=Date.now();Et(function(e,t){if(h(t)){const i=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{i.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,i.value),t,5,[e])};return i.value=e,i.attached=va(),i}(n,r);ua(e,i,o,s)}else o&&(function(e,t,i,n){e.removeEventListener(t,i,n)}(e,i,o,s),a[t]=void 0)}}(e,t,0,n,a):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,i,n){if(n)return"innerHTML"===t||"textContent"===t||!!(t in e&&fa(t)&&m(i));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(!fa(t)||!v(i))&&t in e}(e,t,n,c))?(da(e,t,n),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||la(e,t,n,c,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&v(n)?("true-value"===t?e._trueValue=n:"false-value"===t&&(e._falseValue=n),la(e,t,n,c)):da(e,P(t),n,0,t)}},Dr);let Fa;const Ua="undefined"!=typeof window,za="undefined"!=typeof process&&!Ua,Ba=Ua?"undefined"!=typeof window&&window.location&&!window.location.hostname.includes("localhost"):za&&"undefined"!=typeof process&&!0,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"],Ga=class e{constructor(e={},t){__publicField(this,"settings"),__publicField(this,"enabledInBrowser",!1),__publicField(this,"context"),this.context=t,this.settings={enabled:e.enabled??!0,minLevel:e.minLevel??this.getDefaultLevel(),timestamps:e.timestamps??!0},Ua&&this.initBrowserLogging()}getDefaultLevel(){if(za&&"undefined"!=typeof process&&process.env?.LOG_LEVEL)return process.env.LOG_LEVEL;if(Ua&&"undefined"!=typeof localStorage){const e=localStorage.getItem("FICTION_LOG_LEVEL");if(e)return e}return Ba?"info":"debug"}initBrowserLogging(){if(!Ua)return;const t="true"===localStorage.getItem("FICTION_LOG"),i=window.location?.hostname||"";this.enabledInBrowser=Va||t||"localhost"===i||i.includes("127.0.0.1"),!Ba||t||e.hasShownHelp||(e.hasShownHelp=!0)}shouldLog(e){return!!this.settings.enabled&&(!(Ua&&!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[i,n]of Object.entries(e)){const e=i.toLowerCase();Ha.some(t=>e.includes(t))?t[i]="[REDACTED]":t[i]="object"==typeof n&&null!==n?this.redactSensitive(n):n}return t}formatData(e,t=3,i=0){if(i>=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,i+1)).join(", ")}, ...]`:e.map(e=>this.formatData(e,t,i+1));try{const n={},r=Object.entries(e),a=Ba?50:200;for(const[e,o]of r.slice(0,a))n[e]=this.formatData(o,t,i+1);return r.length>a&&(n["..."]=r.length-a+" more properties"),this.redactSensitive(n)}catch{return"[Unserializable]"}}logToBrowser(e){if(!Ua||!this.shouldLog(e.level))return;const{level:t,description:i,context:n,data:r,error:a}=e,o=qa[t];n||this.context,t.toUpperCase(),o.color,a&&Error}async logToNode(e){if(!za||!this.shouldLog(e.level))return;const{level:t,description:i,context:n,data:r,error:a}=e,o=n||this.context||"www";if(Ba){const e={timestamp:this.formatISOTimestamp(),level:t.toUpperCase()};r&&(e.data=this.formatData(r)),a&&(e.error=this.formatData(a))}else try{const e=await Promise.resolve().then(()=>Hb).catch(()=>null),i=e?.default,n=qa[t],r=this.formatTimestamp();if(i){i.reset;const e=i.dim,s=i.hex(n.color);e(`${r} `),s(`${t.toUpperCase()} `);s(`(${o}): `),a&&a instanceof Error&&i&&a.stack}}catch{}}log(e){Ua?this.logToBrowser(e):za&&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!Ua||this.enabledInBrowser}setLevel(e){this.settings.minLevel=e}createContextLogger(t){const i=new e(this.settings,t);return{error:(e,t)=>i.error(e,t),warn:(e,t)=>i.warn(e,t),info:(e,t)=>i.info(e,t),debug:(e,t)=>i.debug(e,t),trace:(e,t)=>i.trace(e,t),isEnabled:()=>i.isEnabled(),setLevel:e=>i.setLevel(e)}}};__publicField(Ga,"hasShownHelp",!1);let Wa=Ga;const $a=new Wa;$a.error.bind($a),$a.warn.bind($a),$a.info.bind($a),$a.debug.bind($a),$a.trace.bind($a);class Ja{constructor(e,t){var i;__publicField(this,"name"),__publicField(this,"settings"),__publicField(this,"logger"),this.name=e,this.settings=t,this.logger=new Wa({},i=e).createContextLogger(i)}}class Ka extends Ja{constructor(e,t){super(e,t),__publicField(this,"env"),this.env=t.env}}class Qa extends Ja{constructor(e){super("EnvClient",{}),__publicField(this,"vars"),__publicField(this,"services",new Map),this.vars=e}get(e){return this.vars[e]}getAll(){return this.vars}getPublicEnv(){return Object.fromEntries(Object.entries(this.vars).filter(([e])=>e.startsWith("PUBLIC_")).map(([e,t])=>[e,String(t||"")]))}isDev(){return"development"===this.vars.NODE_ENV}isProd(){return"production"===this.vars.NODE_ENV}isTest(){return"test"===this.vars.NODE_ENV}registerService(e,t){this.services.set(e,t)}getService(e){return this.services.get(e)}}const Za=e=>{const t=to(e),{conflictingClassGroups:i,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{const i=e.split("-");return""===i[0]&&1!==i.length&&i.shift(),Ya(i,t)||eo(e)},getConflictingClassGroupIds:(e,t)=>{const r=i[e]||[];return t&&n[e]?[...r,...n[e]]:r}}},Ya=(e,t)=>{if(0===e.length)return t.classGroupId;const i=e[0],n=t.nextPart.get(i),r=n?Ya(e.slice(1),n):void 0;if(r)return r;if(0===t.validators.length)return;const a=e.join("-");return t.validators.find(({validator:e})=>e(a))?.classGroupId},Xa=/^\[(.+)\]$/,eo=e=>{if(Xa.test(e)){const t=Xa.exec(e)[1],i=t?.substring(0,t.indexOf(":"));if(i)return"arbitrary.."+i}},to=e=>{const{theme:t,classGroups:i}=e,n={nextPart:new Map,validators:[]};for(const r in i)io(i[r],n,r,t);return n},io=(e,t,i,n)=>{e.forEach(e=>{if("string"!=typeof e)return"function"==typeof e?ro(e)?void io(e(n),t,i,n):void t.validators.push({validator:e,classGroupId:i}):void Object.entries(e).forEach(([e,r])=>{io(r,no(t,e),i,n)});(""===e?t:no(t,e)).classGroupId=i})},no=(e,t)=>{let i=e;return t.split("-").forEach(e=>{i.nextPart.has(e)||i.nextPart.set(e,{nextPart:new Map,validators:[]}),i=i.nextPart.get(e)}),i},ro=e=>e.isThemeGetter,ao=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,i=new Map,n=new Map;const r=(r,a)=>{i.set(r,a),t++,t>e&&(t=0,n=i,i=new Map)};return{get(e){let t=i.get(e);return void 0!==t?t:void 0!==(t=n.get(e))?(r(e,t),t):void 0},set(e,t){i.has(e)?i.set(e,t):r(e,t)}}},oo=e=>{const{prefix:t,experimentalParseClassName:i}=e;let n=e=>{const t=[];let i,n=0,r=0,a=0;for(let c=0;c<e.length;c++){let o=e[c];if(0===n&&0===r){if(":"===o){t.push(e.slice(a,c)),a=c+1;continue}if("/"===o){i=c;continue}}"["===o?n++:"]"===o?n--:"("===o?r++:")"===o&&r--}const o=0===t.length?e:e.substring(a),s=so(o);return{modifiers:t,hasImportantModifier:s!==o,baseClassName:s,maybePostfixModifierPosition:i&&i>a?i-a:void 0}};if(t){const e=t+":",i=n;n=t=>t.startsWith(e)?i(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(i){const e=n;n=t=>i({className:t,parseClassName:e})}return n},so=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,co=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;const i=[];let n=[];return e.forEach(e=>{"["===e[0]||t[e]?(i.push(...n.sort(),e),n=[]):n.push(e)}),i.push(...n.sort()),i}},lo=/\s+/;function uo(){let e,t,i=0,n="";for(;i<arguments.length;)(e=arguments[i++])&&(t=ho(e))&&(n&&(n+=" "),n+=t);return n}const ho=e=>{if("string"==typeof e)return e;let t,i="";for(let n=0;n<e.length;n++)e[n]&&(t=ho(e[n]))&&(i&&(i+=" "),i+=t);return i};function po(e,...t){let i,n,r,a=function(s){const c=t.reduce((e,t)=>t(e),e());return i=(e=>({cache:ao(e.cacheSize),parseClassName:oo(e),sortModifiers:co(e),...Za(e)}))(c),n=i.cache.get,r=i.cache.set,a=o,o(s)};function o(e){const t=n(e);if(t)return t;const a=((e,t)=>{const{parseClassName:i,getClassGroupId:n,getConflictingClassGroupIds:r,sortModifiers:a}=t,o=[],s=e.trim().split(lo);let c="";for(let l=s.length-1;l>=0;l-=1){const e=s[l],{isExternal:t,modifiers:d,hasImportantModifier:u,baseClassName:h,maybePostfixModifierPosition:p}=i(e);if(t){c=e+(c.length>0?" "+c:c);continue}let g=!!p,m=n(g?h.substring(0,p):h);if(!m){if(!g){c=e+(c.length>0?" "+c:c);continue}if(m=n(h),!m){c=e+(c.length>0?" "+c:c);continue}g=!1}const v=a(d).join(":"),f=u?v+"!":v,b=f+m;if(o.includes(b))continue;o.push(b);const k=r(m,g);for(let i=0;i<k.length;++i){const e=k[i];o.push(f+e)}c=e+(c.length>0?" "+c:c)}return c})(e,i);return r(e,a),a}return function(){return a(uo.apply(null,arguments))}}const go=e=>{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},mo=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,vo=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fo=/^\d+\/\d+$/,bo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ko=/\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$/,wo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,yo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Co=e=>fo.test(e),So=e=>!!e&&!Number.isNaN(Number(e)),To=e=>!!e&&Number.isInteger(Number(e)),Eo=e=>e.endsWith("%")&&So(e.slice(0,-1)),Po=e=>bo.test(e),Mo=()=>!0,_o=e=>ko.test(e)&&!wo.test(e),Io=()=>!1,Ro=e=>yo.test(e),Ao=e=>xo.test(e),Oo=e=>!Lo(e)&&!Bo(e),Do=e=>Jo(e,Yo,Io),Lo=e=>mo.test(e),No=e=>Jo(e,Xo,_o),jo=e=>Jo(e,es,So),Fo=e=>Jo(e,Qo,Io),Uo=e=>Jo(e,Zo,Ao),zo=e=>Jo(e,is,Ro),Bo=e=>vo.test(e),Vo=e=>Ko(e,Xo),qo=e=>Ko(e,ts),Ho=e=>Ko(e,Qo),Go=e=>Ko(e,Yo),Wo=e=>Ko(e,Zo),$o=e=>Ko(e,is,!0),Jo=(e,t,i)=>{const n=mo.exec(e);return!!n&&(n[1]?t(n[1]):i(n[2]))},Ko=(e,t,i=!1)=>{const n=vo.exec(e);return!!n&&(n[1]?t(n[1]):i)},Qo=e=>"position"===e||"percentage"===e,Zo=e=>"image"===e||"url"===e,Yo=e=>"length"===e||"size"===e||"bg-size"===e,Xo=e=>"length"===e,es=e=>"number"===e,ts=e=>"family-name"===e,is=e=>"shadow"===e,ns=po(()=>{const e=go("color"),t=go("font"),i=go("text"),n=go("font-weight"),r=go("tracking"),a=go("leading"),o=go("breakpoint"),s=go("container"),c=go("spacing"),l=go("radius"),d=go("shadow"),u=go("inset-shadow"),h=go("text-shadow"),p=go("drop-shadow"),g=go("blur"),m=go("perspective"),v=go("aspect"),f=go("ease"),b=go("animate"),k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",Bo,Lo],w=()=>[Bo,Lo,c],y=()=>[Co,"full","auto",...w()],x=()=>[To,"none","subgrid",Bo,Lo],C=()=>["auto",{span:["full",To,Bo,Lo]},To,Bo,Lo],S=()=>[To,"auto",Bo,Lo],T=()=>["auto","min","max","fr",Bo,Lo],E=()=>["auto",...w()],P=()=>[Co,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...w()],M=()=>[e,Bo,Lo],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",Ho,Fo,{position:[Bo,Lo]}],I=()=>["auto","cover","contain",Go,Do,{size:[Bo,Lo]}],R=()=>[Eo,Vo,No],A=()=>["","none","full",l,Bo,Lo],O=()=>["",So,Vo,No],D=()=>[So,Eo,Ho,Fo],L=()=>["","none",g,Bo,Lo],N=()=>["none",So,Bo,Lo],j=()=>["none",So,Bo,Lo],F=()=>[So,Bo,Lo],U=()=>[Co,"full",...w()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Po],breakpoint:[Po],color:[Mo],container:[Po],"drop-shadow":[Po],ease:["in","out","in-out"],font:[Oo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Po],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Po],shadow:[Po],spacing:["px",So],text:[Po],"text-shadow":[Po],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Co,Lo,Bo,v]}],container:["container"],columns:[{columns:[So,Lo,Bo,s]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"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:k()}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:y()}],"inset-x":[{"inset-x":y()}],"inset-y":[{"inset-y":y()}],start:[{start:y()}],end:[{end:y()}],top:[{top:y()}],right:[{right:y()}],bottom:[{bottom:y()}],left:[{left:y()}],visibility:["visible","invisible","collapse"],z:[{z:[To,"auto",Bo,Lo]}],basis:[{basis:[Co,"full","auto",s,...w()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[So,Co,"auto","initial","none",Lo]}],grow:[{grow:["",So,Bo,Lo]}],shrink:[{shrink:["",So,Bo,Lo]}],order:[{order:[To,"first","last","none",Bo,Lo]}],"grid-cols":[{"grid-cols":x()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":S()}],"col-end":[{"col-end":S()}],"grid-rows":[{"grid-rows":x()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":S()}],"row-end":[{"row-end":S()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":T()}],"auto-rows":[{"auto-rows":T()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe","normal"]}],"justify-items":[{"justify-items":["start","end","center","stretch","center-safe","end-safe","normal"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"align-items":[{items:["start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"align-self":[{self:["auto","start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"place-items":[{"place-items":["start","end","center","stretch","center-safe","end-safe","baseline"]}],"place-self":[{"place-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:E()}],mx:[{mx:E()}],my:[{my:E()}],ms:[{ms:E()}],me:[{me:E()}],mt:[{mt:E()}],mr:[{mr:E()}],mb:[{mb:E()}],ml:[{ml:E()}],"space-x":[{"space-x":w()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":w()}],"space-y-reverse":["space-y-reverse"],size:[{size:P()}],w:[{w:[s,"screen",...P()]}],"min-w":[{"min-w":[s,"screen","none",...P()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[o]},...P()]}],h:[{h:["screen","lh",...P()]}],"min-h":[{"min-h":["screen","lh","none",...P()]}],"max-h":[{"max-h":["screen","lh",...P()]}],"font-size":[{text:["base",i,Vo,No]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,Bo,jo]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Eo,Lo]}],"font-family":[{font:[qo,Lo,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:[r,Bo,Lo]}],"line-clamp":[{"line-clamp":[So,"none",Bo,jo]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":["none",Bo,Lo]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Bo,Lo]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","wavy"]}],"text-decoration-thickness":[{decoration:[So,"from-font","auto",Bo,No]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[So,"auto",Bo,Lo]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:w()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Bo,Lo]}],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",Bo,Lo]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:_()}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:I()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},To,Bo,Lo],radial:["",Bo,Lo],conic:[To,Bo,Lo]},Wo,Uo]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:R()}],"gradient-via-pos":[{via:R()}],"gradient-to-pos":[{to:R()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:A()}],"rounded-s":[{"rounded-s":A()}],"rounded-e":[{"rounded-e":A()}],"rounded-t":[{"rounded-t":A()}],"rounded-r":[{"rounded-r":A()}],"rounded-b":[{"rounded-b":A()}],"rounded-l":[{"rounded-l":A()}],"rounded-ss":[{"rounded-ss":A()}],"rounded-se":[{"rounded-se":A()}],"rounded-ee":[{"rounded-ee":A()}],"rounded-es":[{"rounded-es":A()}],"rounded-tl":[{"rounded-tl":A()}],"rounded-tr":[{"rounded-tr":A()}],"rounded-br":[{"rounded-br":A()}],"rounded-bl":[{"rounded-bl":A()}],"border-w":[{border:O()}],"border-w-x":[{"border-x":O()}],"border-w-y":[{"border-y":O()}],"border-w-s":[{"border-s":O()}],"border-w-e":[{"border-e":O()}],"border-w-t":[{"border-t":O()}],"border-w-r":[{"border-r":O()}],"border-w-b":[{"border-b":O()}],"border-w-l":[{"border-l":O()}],"divide-x":[{"divide-x":O()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":O()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:["solid","dashed","dotted","double","hidden","none"]}],"divide-style":[{divide:["solid","dashed","dotted","double","hidden","none"]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:["solid","dashed","dotted","double","none","hidden"]}],"outline-offset":[{"outline-offset":[So,Bo,Lo]}],"outline-w":[{outline:["",So,Vo,No]}],"outline-color":[{outline:M()}],shadow:[{shadow:["","none",d,$o,zo]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":["none",u,$o,zo]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:O()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[So,No]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":O()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":["none",h,$o,zo]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[So,Bo,Lo]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],"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":[So]}],"mask-image-linear-from-pos":[{"mask-linear-from":D()}],"mask-image-linear-to-pos":[{"mask-linear-to":D()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":D()}],"mask-image-t-to-pos":[{"mask-t-to":D()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":D()}],"mask-image-r-to-pos":[{"mask-r-to":D()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":D()}],"mask-image-b-to-pos":[{"mask-b-to":D()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":D()}],"mask-image-l-to-pos":[{"mask-l-to":D()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":D()}],"mask-image-x-to-pos":[{"mask-x-to":D()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":D()}],"mask-image-y-to-pos":[{"mask-y-to":D()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[Bo,Lo]}],"mask-image-radial-from-pos":[{"mask-radial-from":D()}],"mask-image-radial-to-pos":[{"mask-radial-to":D()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"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":["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"]}],"mask-image-conic-pos":[{"mask-conic":[So]}],"mask-image-conic-from-pos":[{"mask-conic-from":D()}],"mask-image-conic-to-pos":[{"mask-conic-to":D()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:_()}],"mask-repeat":[{mask:["no-repeat",{repeat:["","x","y","space","round"]}]}],"mask-size":[{mask:I()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Bo,Lo]}],filter:[{filter:["","none",Bo,Lo]}],blur:[{blur:L()}],brightness:[{brightness:[So,Bo,Lo]}],contrast:[{contrast:[So,Bo,Lo]}],"drop-shadow":[{"drop-shadow":["","none",p,$o,zo]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:["",So,Bo,Lo]}],"hue-rotate":[{"hue-rotate":[So,Bo,Lo]}],invert:[{invert:["",So,Bo,Lo]}],saturate:[{saturate:[So,Bo,Lo]}],sepia:[{sepia:["",So,Bo,Lo]}],"backdrop-filter":[{"backdrop-filter":["","none",Bo,Lo]}],"backdrop-blur":[{"backdrop-blur":L()}],"backdrop-brightness":[{"backdrop-brightness":[So,Bo,Lo]}],"backdrop-contrast":[{"backdrop-contrast":[So,Bo,Lo]}],"backdrop-grayscale":[{"backdrop-grayscale":["",So,Bo,Lo]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[So,Bo,Lo]}],"backdrop-invert":[{"backdrop-invert":["",So,Bo,Lo]}],"backdrop-opacity":[{"backdrop-opacity":[So,Bo,Lo]}],"backdrop-saturate":[{"backdrop-saturate":[So,Bo,Lo]}],"backdrop-sepia":[{"backdrop-sepia":["",So,Bo,Lo]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Bo,Lo]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[So,"initial",Bo,Lo]}],ease:[{ease:["linear","initial",f,Bo,Lo]}],delay:[{delay:[So,Bo,Lo]}],animate:[{animate:["none",b,Bo,Lo]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,Bo,Lo]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:N()}],"rotate-x":[{"rotate-x":N()}],"rotate-y":[{"rotate-y":N()}],"rotate-z":[{"rotate-z":N()}],scale:[{scale:j()}],"scale-x":[{"scale-x":j()}],"scale-y":[{"scale-y":j()}],"scale-z":[{"scale-z":j()}],"scale-3d":["scale-3d"],skew:[{skew:F()}],"skew-x":[{"skew-x":F()}],"skew-y":[{"skew-y":F()}],transform:[{transform:[Bo,Lo,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:U()}],"translate-x":[{"translate-x":U()}],"translate-y":[{"translate-y":U()}],"translate-z":[{"translate-z":U()}],"translate-none":["translate-none"],accent:[{accent:M()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:M()}],"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",Bo,Lo]}],"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":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"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",Bo,Lo]}],fill:[{fill:["none",...M()]}],"stroke-w":[{stroke:[So,Vo,No,jo]}],stroke:[{stroke:["none",...M()]}],"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"]}}),rs={class:"spinner max-w-sm"},as={class:"ring-circular h-full w-full origin-center",viewBox:"25 25 50 50"},os=di({__name:"FSpinner",props:{width:{type:String,default:""},colorMode:{type:String,default:"primary"}},setup:e=>(t,i)=>(Jn(),Yn("div",rs,[(Jn(),Yn("svg",as,[rr("circle",{class:q([e.colorMode,"ring-path"]),cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":"5","stroke-miterlimit":"30"},null,2)]))]))}),ss={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"}}},cs={key:0,class:"absolute inset-0 flex items-center justify-center"},ls=di({__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=Pr(()=>({icon:"string"==typeof e.icon?e.icon:e.icon?.className,iconAfter:"string"==typeof e.iconAfter?e.iconAfter:e.iconAfter?.className})),i=Pr(()=>e.href?"a":e.tag),n=Pr(()=>({xxs:"size-2.5",xs:"size-3",sm:"size-3.5",md:"size-4",lg:"size-5",xl:"size-6"}[e.size])),r=Pr(()=>{const t="link"===e.design?"!px-1":"",i=ss[e.theme]?.[e.design]||ss.default[e.design],n=["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],i.base,`border ${i.border}`,i.hover].filter(Boolean).join(" ");return ns(n,e.class)}),a=Pr(()=>({design:(ss[e.theme]?.[e.design]||ss.default[e.design]).icon||""}));return(e,o)=>(Jn(),Xn(Ai(i.value),{href:e.href,class:q(r.value)},{default:Gt(()=>[e.loading?(Jn(),Yn("div",cs,[ar(os,{class:q(n.value)},null,8,["class"])])):cr("",!0),rr("span",{class:q(["flex items-center gap-2 transition-opacity duration-200",e.loading?"opacity-0":"opacity-100"])},[t.value.icon?(Jn(),Yn("span",{key:0,class:q(["flex items-center size-[1.1em] mt-[-.07em]",[t.value.icon,a.value]])},null,2)):cr("",!0),Li(e.$slots,"default"),t.value.iconAfter?(Jn(),Yn("span",{key:1,class:q(["flex items-center size-[1.1em] mt-[-.07em]",[t.value.iconAfter,a.value]])},null,2)):cr("",!0)],2)]),_:3},8,["href","class"]))}}),ds={class:"close-wrap overflow-hidden top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[28px] h-[28px] absolute"},us=(e,t)=>{const i=e.__vccOpts||e;for(const[n,r]of t)i[n]=r;return i},hs=us(di({name:"FClose",__name:"FClose",props:{colorMode:{default:"auto"}},emits:["click"],setup(e){const t=gt(!1),i=`close-${Math.random().toString(36).substr(2,9)}`;xi(()=>{setTimeout(()=>{t.value=!0},100)}),Ti(()=>{t.value=!1});const n=Pr(()=>"light"===e.colorMode?"bg-white":"dark"===e.colorMode?"bg-theme-950":"bg-theme-950 dark:bg-white");return(e,r)=>(Jn(),Yn("a",{id:i,class:q(["close block cursor-pointer duration-1000 hover:scale-110 active:scale-90 hover:rotate-90 transition-all ease-[cubic-bezier(0.25,1,0.33,1)] w-[60px] h-[60px] rounded-full",t.value?"in-view":"out-view"]),onClick:r[0]||(r[0]=t=>e.$emit("click",t))},[r[1]||(r[1]=rr("span",{class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[60px] h-[60px] rounded-full transition-all"},null,-1)),rr("span",ds,[rr("span",{class:q([n.value,"close-line close-line1 h-full w-[3px] absolute rounded-[5px] left-[13px] transition-all"])},null,2),rr("span",{class:q([n.value,"close-line close-line2 h-full w-[3px] absolute rounded-[5px] left-[13px] transition-all"])},null,2)])],2))}}),[["__scopeId","data-v-bbf0f1cb"]]),ps=["src","alt"],gs={key:0,class:"absolute top-1 right-1"},ms={class:"min-w-0"},vs=di({__name:"ProfileHeader",props:{person:{},size:{default:"md"},showOnlineIndicator:{type:Boolean,default:!0},layout:{default:"centered"}},setup(e){function t(e){const t=e.target;t.dataset.fallbackUsed||(t.dataset.fallbackUsed="true",t.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+")}return(e,i)=>(Jn(),Yn("div",{class:q(["flex gap-4",["centered"===e.layout?"flex-col items-center text-center":"flex-row items-center justify-center"]])},[rr("div",{class:q(["relative flex-shrink-0","lg"===e.size?"mb-6":""])},[rr("div",{class:q(["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"])},[rr("img",{src:"string"==typeof e.person.avatar?e.person.avatar:e.person.avatar?.src||"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+",alt:e.person.name,class:"w-full h-full object-cover",onError:t},null,40,ps)],2),e.showOnlineIndicator?(Jn(),Yn("div",gs,[...i[0]||(i[0]=[rr("div",{class:"w-4 h-4 bg-green-500 rounded-full ring-2 ring-white absolute",style:{animation:"ping 3s cubic-bezier(0, 0, 0.2, 1) infinite"}},null,-1),rr("div",{class:"w-4 h-4 bg-green-500 rounded-full ring-2 ring-white"},null,-1)])])):cr("",!0)],2),rr("div",ms,[rr("h1",{class:q(["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":""]])},$(e.person.name),3),rr("p",{class:q(["font-light",["lg"===e.size?"text-base text-white/60 mb-8":"text-sm sm:text-base","horizontal"===e.layout?"text-white/70 truncate":"text-white/60"]])},$("horizontal"===e.layout?e.person.title||"Digital Self":e.person.title),3)])],2))}}),fs={class:"px-4 pt-12 pb-8 border-b border-white/10"},bs={class:"flex-1 p-6 space-y-2"},ks=["onClick"],ws={class:"flex items-center gap-3"},ys={class:"flex-1"},xs={class:"font-medium text-white"},Cs={class:"flex items-start gap-3"},Ss={class:"flex-1"},Ts={class:"font-medium text-white mb-2"},Es=di({name:"AgentSidebar",__name:"AgentSidebar",props:{modelValue:{type:Boolean},self:{}},emits:["update:modelValue"],setup(e,{emit:t}){const i=e,n=t,r=gt(!1);xi(()=>{r.value=!0});const a=Pr({get:()=>i.modelValue,set:e=>n("update:modelValue",e)}),o=[{icon:"i-tabler-share",label:"Share This Digital Self",action:"share"},{icon:"i-tabler-user",label:"Visit Full Profile",action:"profile"},{icon:"i-tabler-sparkles",label:"Create Your Own",action:"create"},{icon:"i-tabler-bug",label:"Report an Issue",action:"report"}];return(e,t)=>(Jn(),Yn(Vn,null,[ar(zr,{"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:Gt(()=>[a.value?(Jn(),Yn("div",{key:0,class:"absolute inset-0 z-40 bg-black/50 backdrop-blur-sm",onClick:t[0]||(t[0]=e=>a.value=!1)})):cr("",!0)]),_:1}),ar(zr,{"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":"-translate-x-full","enter-to-class":"translate-x-0","leave-from-class":"translate-x-0","leave-to-class":"-translate-x-full"},{default:Gt(()=>[a.value?(Jn(),Yn("div",{key:0,class:"absolute inset-0 z-50 flex",onClick:t[3]||(t[3]=e=>a.value=!1)},[rr("div",{class:"relative w-[80%] max-w-[420px] h-full shadow-2xl bg-black/70 backdrop-blur-xl flex flex-col justify-center",onClick:t[2]||(t[2]=Da(()=>{},["stop"]))},[ar(hs,{class:"absolute -right-16 top-4 z-10","color-mode":"light",onClick:t[1]||(t[1]=e=>a.value=!1)}),rr("div",fs,[ar(vs,{person:{...e.self,title:`@${e.self.handle||e.self.agentId}`},size:"md","show-online-indicator":!1,layout:"horizontal"},null,8,["person"])]),rr("div",bs,[ar(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":"-translate-x-4 opacity-0","enter-to-class":"translate-x-0 opacity-100","leave-from-class":"translate-x-0 opacity-100","leave-to-class":"-translate-x-4 opacity-0"},{default:Gt(()=>[(Jn(),Yn(Vn,null,Di(o,(e,t)=>(Jn(),Yn(Vn,{key:e.action},["about"!==e.action?(Jn(),Yn("button",{key:0,style:F({transitionDelay:40*t+"ms"}),class:"cursor-pointer w-full text-left p-3 rounded-xl hover:bg-white/10 transition-all duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group",onClick:t=>{!function(e){const{action:t,self:n=i.self}=e;switch(t){case"share":{const e=`https://www.fiction.com/@${n.handle||n.agentId}`;navigator.clipboard.writeText(e);break}case"profile":window.open(`https://www.fiction.com/@${n.handle||n.agentId}`,"_blank");break;case"create":window.open("https://www.fiction.com","_blank");break;case"report":window.location.href="mailto:issues@fiction.com"}a.value=!1}({action:e.action})}},[rr("div",ws,[rr("i",{class:q([e.icon,"size-5 transition-transform duration-200 ease-[cubic-bezier(0.25,1,0.33,1)] group-hover:scale-110 text-white/70 group-hover:text-white"])},null,2),rr("div",ys,[rr("div",xs,$(e.label),1)])])],12,ks)):(Jn(),Yn("div",{key:1,style:F({transitionDelay:40*t+"ms"}),class:"p-3 rounded-xl bg-white/5"},[rr("div",Cs,[rr("i",{class:q([e.icon,"size-5 text-white/70 mt-0.5 flex-shrink-0"])},null,2),rr("div",Ss,[rr("div",Ts,$(e.label),1)])])],4))],64))),64))]),_:1})]),t[4]||(t[4]=rr("div",{class:"p-6"},[rr("div",{class:"text-center"},[rr("p",{class:"text-xs text-white/50"},[sr(" Digital Self by "),rr("a",{href:"https://www.fiction.com",class:"text-white/70 hover:text-white transition-colors ml-0.5",target:"_blank"}," Fiction.com ")])])],-1))])])):cr("",!0)]),_:1})],64))}});function Ps(e,t){return t.forEach(function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach(function(i){if("default"!==i&&!(i in e)){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}})}),Object.freeze(e)}var Ms=Object.defineProperty,_s=(e,t,i)=>((e,t,i)=>t in e?Ms(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);let Is=class{constructor(){_s(this,"_locking"),_s(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()}),i=this._locking.then(()=>e);return this._locking=this._locking.then(()=>t),i}};function Rs(e,t){if(!e)throw new Error(t)}function As(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 Os(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 Ds(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 Ls=Symbol("@bufbuild/protobuf/enum-type");function Ns(e,t,i,n){e[Ls]=js(t,i.map(t=>({no:t.no,name:t.name,localName:e[t.no]})))}function js(e,t,i){const n=Object.create(null),r=Object.create(null),a=[];for(const o of t){const e=Fs(o);a.push(e),n[o.name]=e,r[o.no]=e}return{typeName:e,values:a,findName:e=>n[e],findNumber:e=>r[e]}}function Fs(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}class Us{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){const i=this.getType().runtime.bin,n=i.makeReadOptions(t);return i.readMessage(this,n.readerFactory(e),e.byteLength,n),this}fromJson(e,t){const i=this.getType(),n=i.runtime.json,r=n.makeReadOptions(t);return n.readMessage(i,e,r,this),this}fromJsonString(e,t){let i;try{i=JSON.parse(e)}catch(Gb){throw new Error("cannot decode ".concat(this.getType().typeName," from JSON: ").concat(Gb instanceof Error?Gb.message:String(Gb)))}return this.fromJson(i,t)}toBinary(e){const t=this.getType().runtime.bin,i=t.makeWriteOptions(e),n=i.writerFactory();return t.writeMessage(this,n,i),n.finish()}toJson(e){const t=this.getType().runtime.json,i=t.makeWriteOptions(e);return t.writeMessage(this,i)}toJsonString(e){var t;const i=this.toJson(e);return JSON.stringify(i,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 zs(){let e=0,t=0;for(let n=0;n<28;n+=7){let i=this.buf[this.pos++];if(e|=(127&i)<<n,!(128&i))return this.assertBounds(),[e,t]}let i=this.buf[this.pos++];if(e|=(15&i)<<28,t=(112&i)>>4,!(128&i))return this.assertBounds(),[e,t];for(let n=3;n<=31;n+=7){let i=this.buf[this.pos++];if(t|=(127&i)<<n,!(128&i))return this.assertBounds(),[e,t]}throw new Error("invalid varint")}function Bs(e,t,i){for(let a=0;a<28;a+=7){const n=e>>>a,r=!(n>>>7==0&&0==t),o=255&(r?128|n:n);if(i.push(o),!r)return}const n=e>>>28&15|(7&t)<<4,r=!!(t>>3);if(i.push(255&(r?128|n:n)),r){for(let e=3;e<31;e+=7){const n=t>>>e,r=!(n>>>7==0),a=255&(r?128|n:n);if(i.push(a),!r)return}i.push(t>>>31&1)}}const Vs=4294967296;function qs(e){const t="-"===e[0];t&&(e=e.slice(1));const i=1e6;let n=0,r=0;function a(t,a){const o=Number(e.slice(t,a));r*=i,n=n*i+o,n>=Vs&&(r+=n/Vs|0,n%=Vs)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?Ws(n,r):Gs(n,r)}function Hs(e,t){if(({lo:e,hi:t}=function(e,t){return{lo:e>>>0,hi:t>>>0}}(e,t)),t<=2097151)return String(Vs*t+e);const i=16777215&(e>>>24|t<<8),n=t>>16&65535;let r=(16777215&e)+6777216*i+6710656*n,a=i+8147497*n,o=2*n;const s=1e7;return r>=s&&(a+=Math.floor(r/s),r%=s),a>=s&&(o+=Math.floor(a/s),a%=s),o.toString()+$s(a)+$s(r)}function Gs(e,t){return{lo:0|e,hi:0|t}}function Ws(e,t){return t=~t,e?e=1+~e:t+=1,Gs(e,t)}const $s=e=>{const t=String(e);return"0000000".slice(t.length)+t};function Js(e,t){if(e>=0){for(;e>127;)t.push(127&e|128),e>>>=7;t.push(e)}else{for(let i=0;i<9;i++)t.push(127&e|128),e>>=7;t.push(1)}}function Ks(){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 i=5;128&e&&i<10;i++)e=this.buf[this.pos++];if(128&e)throw new Error("invalid varint");return this.assertBounds(),t>>>0}const Qs=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"),i=BigInt("9223372036854775807"),n=BigInt("0"),r=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(e){const n="bigint"==typeof e?e:BigInt(e);if(n>i||n<t)throw new Error("int64 invalid: ".concat(e));return n},uParse(e){const t="bigint"==typeof e?e:BigInt(e);if(t>r||t<n)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,i)=>(e.setInt32(0,t,!0),e.setInt32(4,i,!0),e.getBigInt64(0,!0)),uDec:(t,i)=>(e.setInt32(0,t,!0),e.setInt32(4,i,!0),e.getBigUint64(0,!0))}}const t=e=>Rs(/^-?[0-9]+$/.test(e),"int64 invalid: ".concat(e)),i=e=>Rs(/^[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()),i(e),e),enc:e=>("string"!=typeof e&&(e=e.toString()),t(e),qs(e)),uEnc:e=>("string"!=typeof e&&(e=e.toString()),i(e),qs(e)),dec:(e,t)=>function(e,t){let i=Gs(e,t);const n=2147483648&i.hi;n&&(i=Ws(i.lo,i.hi));const r=Hs(i.lo,i.hi);return n?"-"+r:r}(e,t),uDec:(e,t)=>Hs(e,t)}}();var Zs,Ys,Xs,ec,tc,ic;function nc(e,t,i){if(t===i)return!0;if(e==Zs.BYTES){if(!(t instanceof Uint8Array&&i instanceof Uint8Array))return!1;if(t.length!==i.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==i[e])return!1;return!0}switch(e){case Zs.UINT64:case Zs.FIXED64:case Zs.INT64:case Zs.SFIXED64:case Zs.SINT64:return t==i}return!1}function rc(e,t){switch(e){case Zs.BOOL:return!1;case Zs.UINT64:case Zs.FIXED64:case Zs.INT64:case Zs.SFIXED64:case Zs.SINT64:return 0==t?Qs.zero:"0";case Zs.DOUBLE:case Zs.FLOAT:return 0;case Zs.BYTES:return new Uint8Array(0);case Zs.STRING:return"";default:return 0}}function ac(e,t){switch(e){case Zs.BOOL:return!1===t;case Zs.STRING:return""===t;case Zs.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return 0==t}}(Ys=Zs||(Zs={}))[Ys.DOUBLE=1]="DOUBLE",Ys[Ys.FLOAT=2]="FLOAT",Ys[Ys.INT64=3]="INT64",Ys[Ys.UINT64=4]="UINT64",Ys[Ys.INT32=5]="INT32",Ys[Ys.FIXED64=6]="FIXED64",Ys[Ys.FIXED32=7]="FIXED32",Ys[Ys.BOOL=8]="BOOL",Ys[Ys.STRING=9]="STRING",Ys[Ys.BYTES=12]="BYTES",Ys[Ys.UINT32=13]="UINT32",Ys[Ys.SFIXED32=15]="SFIXED32",Ys[Ys.SFIXED64=16]="SFIXED64",Ys[Ys.SINT32=17]="SINT32",Ys[Ys.SINT64=18]="SINT64",(ec=Xs||(Xs={}))[ec.BIGINT=0]="BIGINT",ec[ec.STRING=1]="STRING",(ic=tc||(tc={}))[ic.Varint=0]="Varint",ic[ic.Bit64=1]="Bit64",ic[ic.LengthDelimited=2]="LengthDelimited",ic[ic.StartGroup=3]="StartGroup",ic[ic.EndGroup=4]="EndGroup",ic[ic.Bit32=5]="Bit32";class oc{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 n=0;n<this.chunks.length;n++)e+=this.chunks[n].length;let t=new Uint8Array(e),i=0;for(let n=0;n<this.chunks.length;n++)t.set(this.chunks[n],i),i+=this.chunks[n].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(Os(e);e>127;)this.buf.push(127&e|128),e>>>=7;return this.buf.push(e),this}int32(e){return As(e),Js(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){Ds(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){Os(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){As(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return As(e),Js(e=(e<<1^e>>31)>>>0,this.buf),this}sfixed64(e){let t=new Uint8Array(8),i=new DataView(t.buffer),n=Qs.enc(e);return i.setInt32(0,n.lo,!0),i.setInt32(4,n.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),i=new DataView(t.buffer),n=Qs.uEnc(e);return i.setInt32(0,n.lo,!0),i.setInt32(4,n.hi,!0),this.raw(t)}int64(e){let t=Qs.enc(e);return Bs(t.lo,t.hi,this.buf),this}sint64(e){let t=Qs.enc(e),i=t.hi>>31;return Bs(t.lo<<1^i,(t.hi<<1|t.lo>>>31)^i,this.buf),this}uint64(e){let t=Qs.uEnc(e);return Bs(t.lo,t.hi,this.buf),this}}class sc{constructor(e,t){this.varint64=zs,this.uint32=Ks,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,i=7&e;if(t<=0||i<0||i>5)throw new Error("illegal tag: field no "+t+" wire type "+i);return[t,i]}skip(e,t){let i=this.pos;switch(e){case tc.Varint:for(;128&this.buf[this.pos++];);break;case tc.Bit64:this.pos+=4;case tc.Bit32:this.pos+=4;break;case tc.LengthDelimited:let i=this.uint32();this.pos+=i;break;case tc.StartGroup:for(;;){const[e,i]=this.tag();if(i===tc.EndGroup){if(void 0!==t&&e!==t)throw new Error("invalid end group tag");break}this.skip(i,e)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(i,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 Qs.dec(...this.varint64())}uint64(){return Qs.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),i=-(1&e);return e=(e>>>1|(1&t)<<31)^i,t=t>>>1^i,Qs.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 Qs.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return Qs.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 cc(e){const t=e.field.localName,i=Object.create(null);return i[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 rc(t.T,t.L);case"message":const e=t.T,i=new e;return e.fieldWrapper?e.fieldWrapper.unwrapField(i):i;case"map":throw"map fields are not allowed to be extensions"}}(e),[i,()=>i[t]]}let lc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),dc=[];for(let Wb=0;Wb<lc.length;Wb++)dc[lc[Wb].charCodeAt(0)]=Wb;dc["-".charCodeAt(0)]=lc.indexOf("+"),dc["_".charCodeAt(0)]=lc.indexOf("/");const uc={dec(e){let t=3*e.length/4;"="==e[e.length-2]?t-=2:"="==e[e.length-1]&&(t-=1);let i,n=new Uint8Array(t),r=0,a=0,o=0;for(let s=0;s<e.length;s++){if(i=dc[e.charCodeAt(s)],void 0===i)switch(e[s]){case"=":a=0;case"\n":case"\r":case"\t":case" ":continue;default:throw Error("invalid base64 string.")}switch(a){case 0:o=i,a=1;break;case 1:n[r++]=o<<2|(48&i)>>4,o=i,a=2;break;case 2:n[r++]=(15&o)<<4|(60&i)>>2,o=i,a=3;break;case 3:n[r++]=(3&o)<<6|i,a=0}}if(1==a)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(e){let t,i="",n=0,r=0;for(let a=0;a<e.length;a++)switch(t=e[a],n){case 0:i+=lc[t>>2],r=(3&t)<<4,n=1;break;case 1:i+=lc[r|t>>4],r=(15&t)<<2,n=2;break;case 2:i+=lc[r|t>>6],i+=lc[63&t],n=0}return n&&(i+=lc[r],i+="=",1==n&&(i+="=")),i}};function hc(e,t,i){mc(t,e);const n=t.runtime.bin.makeReadOptions(i),r=function(e,t){if(!t.repeated&&("enum"==t.kind||"scalar"==t.kind)){for(let i=e.length-1;i>=0;--i)if(e[i].no==t.no)return[e[i]];return[]}return e.filter(e=>e.no===t.no)}(e.getType().runtime.bin.listUnknownFields(e),t.field),[a,o]=cc(t);for(const s of r)t.runtime.bin.readField(a,n.readerFactory(s.data),t.field,s.wireType,n);return o()}function pc(e,t,i,n){mc(t,e);const r=t.runtime.bin.makeReadOptions(n),a=t.runtime.bin.makeWriteOptions(n);if(gc(e,t)){const i=e.getType().runtime.bin.listUnknownFields(e).filter(e=>e.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(const t of i)e.getType().runtime.bin.onUnknownField(e,t.no,t.wireType,t.data)}const o=a.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,i,o,a);const c=r.readerFactory(o.finish());for(;c.pos<c.len;){const[t,i]=c.tag(),n=c.skip(i,t);e.getType().runtime.bin.onUnknownField(e,t,i,n)}}function gc(e,t){const i=e.getType();return t.extendee.typeName===i.typeName&&!!i.runtime.bin.listUnknownFields(e).find(e=>e.no==t.field.no)}function mc(e,t){Rs(e.extendee.typeName==t.getType().typeName,"extension ".concat(e.typeName," can only be applied to message ").concat(e.extendee.typeName))}function vc(e,t){const i=e.localName;if(e.repeated)return t[i].length>0;if(e.oneof)return t[e.oneof.localName].case===i;switch(e.kind){case"enum":case"scalar":return e.opt||e.req?void 0!==t[i]:"enum"==e.kind?t[i]!==e.T.values[0].no:!ac(e.T,t[i]);case"message":return void 0!==t[i];case"map":return Object.keys(t[i]).length>0}}function fc(e,t){const i=e.localName,n=!e.opt&&!e.req;if(e.repeated)t[i]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case"map":t[i]={};break;case"enum":t[i]=n?e.T.values[0].no:void 0;break;case"scalar":t[i]=n?rc(e.T,e.L):void 0;break;case"message":t[i]=void 0}}function bc(e,t){if(null===e||"object"!=typeof e)return!1;if(!Object.getOwnPropertyNames(Us.prototype).every(t=>t in e&&"function"==typeof e[t]))return!1;const i=e.getType();return null!==i&&"function"==typeof i&&"typeName"in i&&"string"==typeof i.typeName&&(void 0===t||i.typeName==t.typeName)}function kc(e,t){return bc(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}Zs.DOUBLE,Zs.FLOAT,Zs.INT64,Zs.UINT64,Zs.INT32,Zs.UINT32,Zs.BOOL,Zs.STRING,Zs.BYTES;const wc={ignoreUnknownFields:!1},yc={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};const xc=Symbol(),Cc=Symbol();function Sc(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 Tc(e,t,i,n,r){let a=i.localName;if(i.repeated){if(Rs("map"!=i.kind),null===t)return;if(!Array.isArray(t))throw new Error("cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(t)));const o=e[a];for(const e of t){if(null===e)throw new Error("cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(e)));switch(i.kind){case"message":o.push(i.T.fromJson(e,n));break;case"enum":const t=Mc(i.T,e,n.ignoreUnknownFields,!0);t!==Cc&&o.push(t);break;case"scalar":try{o.push(Pc(i.T,e,i.L,!0))}catch(Gb){let n="cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(e));throw Gb instanceof Error&&Gb.message.length>0&&(n+=": ".concat(Gb.message)),new Error(n)}}}}else if("map"==i.kind){if(null===t)return;if("object"!=typeof t||Array.isArray(t))throw new Error("cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(t)));const o=e[a];for(const[e,a]of Object.entries(t)){if(null===a)throw new Error("cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: map value null"));let s;try{s=Ec(i.K,e)}catch(Gb){let n="cannot decode map key for field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(t));throw Gb instanceof Error&&Gb.message.length>0&&(n+=": ".concat(Gb.message)),new Error(n)}switch(i.V.kind){case"message":o[s]=i.V.T.fromJson(a,n);break;case"enum":const e=Mc(i.V.T,a,n.ignoreUnknownFields,!0);e!==Cc&&(o[s]=e);break;case"scalar":try{o[s]=Pc(i.V.T,a,Xs.BIGINT,!0)}catch(Gb){let n="cannot decode map value for field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(t));throw Gb instanceof Error&&Gb.message.length>0&&(n+=": ".concat(Gb.message)),new Error(n)}}}}else switch(i.oneof&&(e=e[i.oneof.localName]={case:a},a="value"),i.kind){case"message":const o=i.T;if(null===t&&"google.protobuf.Value"!=o.typeName)return;let s=e[a];bc(s)?s.fromJson(t,n):(e[a]=s=o.fromJson(t,n),o.fieldWrapper&&!i.oneof&&(e[a]=o.fieldWrapper.unwrapField(s)));break;case"enum":const c=Mc(i.T,t,n.ignoreUnknownFields,!1);switch(c){case xc:fc(i,e);break;case Cc:break;default:e[a]=c}break;case"scalar":try{const n=Pc(i.T,t,i.L,!1);n===xc?fc(i,e):e[a]=n}catch(Gb){let n="cannot decode field ".concat(r.typeName,".").concat(i.name," from JSON: ").concat(Sc(t));throw Gb instanceof Error&&Gb.message.length>0&&(n+=": ".concat(Gb.message)),new Error(n)}}}function Ec(e,t){if(e===Zs.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1}return Pc(e,t,Xs.BIGINT,!0).toString()}function Pc(e,t,i,n){if(null===t)return n?rc(e,i):xc;switch(e){case Zs.DOUBLE:case Zs.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 n=Number(t);if(Number.isNaN(n))break;if(!Number.isFinite(n))break;return e==Zs.FLOAT&&Ds(n),n;case Zs.INT32:case Zs.FIXED32:case Zs.SFIXED32:case Zs.SINT32:case Zs.UINT32:let r;if("number"==typeof t?r=t:"string"==typeof t&&t.length>0&&t.trim().length===t.length&&(r=Number(t)),void 0===r)break;return e==Zs.UINT32||e==Zs.FIXED32?Os(r):As(r),r;case Zs.INT64:case Zs.SFIXED64:case Zs.SINT64:if("number"!=typeof t&&"string"!=typeof t)break;const a=Qs.parse(t);return i?a.toString():a;case Zs.FIXED64:case Zs.UINT64:if("number"!=typeof t&&"string"!=typeof t)break;const o=Qs.uParse(t);return i?o.toString():o;case Zs.BOOL:if("boolean"!=typeof t)break;return t;case Zs.STRING:if("string"!=typeof t)break;try{encodeURIComponent(t)}catch(Gb){throw new Error("invalid UTF8")}return t;case Zs.BYTES:if(""===t)return new Uint8Array(0);if("string"!=typeof t)break;return uc.dec(t)}throw new Error}function Mc(e,t,i,n){if(null===t)return"google.protobuf.NullValue"==e.typeName?0:n?e.values[0].no:xc;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":const n=e.findName(t);if(void 0!==n)return n.no;if(i)return Cc}throw new Error("cannot decode enum ".concat(e.typeName," from JSON: ").concat(Sc(t)))}function _c(e){return!(!e.repeated&&"map"!=e.kind&&(e.oneof||"message"==e.kind||e.opt||e.req))}function Ic(e,t,i){if("map"==e.kind){Rs("object"==typeof t&&null!=t);const n={},r=Object.entries(t);switch(e.V.kind){case"scalar":for(const[i,a]of r)n[i.toString()]=Ac(e.V.T,a);break;case"message":for(const[e,a]of r)n[e.toString()]=a.toJson(i);break;case"enum":const t=e.V.T;for(const[e,a]of r)n[e.toString()]=Rc(t,a,i.enumAsInteger)}return i.emitDefaultValues||r.length>0?n:void 0}if(e.repeated){Rs(Array.isArray(t));const n=[];switch(e.kind){case"scalar":for(let i=0;i<t.length;i++)n.push(Ac(e.T,t[i]));break;case"enum":for(let r=0;r<t.length;r++)n.push(Rc(e.T,t[r],i.enumAsInteger));break;case"message":for(let e=0;e<t.length;e++)n.push(t[e].toJson(i))}return i.emitDefaultValues||n.length>0?n:void 0}switch(e.kind){case"scalar":return Ac(e.T,t);case"enum":return Rc(e.T,t,i.enumAsInteger);case"message":return kc(e.T,t).toJson(i)}}function Rc(e,t,i){var n;if(Rs("number"==typeof t),"google.protobuf.NullValue"==e.typeName)return null;if(i)return t;const r=e.findNumber(t);return null!==(n=null==r?void 0:r.name)&&void 0!==n?n:t}function Ac(e,t){switch(e){case Zs.INT32:case Zs.SFIXED32:case Zs.SINT32:case Zs.FIXED32:case Zs.UINT32:return Rs("number"==typeof t),t;case Zs.FLOAT:case Zs.DOUBLE:return Rs("number"==typeof t),Number.isNaN(t)?"NaN":t===Number.POSITIVE_INFINITY?"Infinity":t===Number.NEGATIVE_INFINITY?"-Infinity":t;case Zs.STRING:return Rs("string"==typeof t),t;case Zs.BOOL:return Rs("boolean"==typeof t),t;case Zs.UINT64:case Zs.FIXED64:case Zs.INT64:case Zs.SFIXED64:case Zs.SINT64:return Rs("bigint"==typeof t||"string"==typeof t||"number"==typeof t),t.toString();case Zs.BYTES:return Rs(t instanceof Uint8Array),uc.enc(t)}}const Oc=Symbol("@bufbuild/protobuf/unknown-fields"),Dc={readUnknownFields:!0,readerFactory:e=>new sc(e)},Lc={writeUnknownFields:!0,writerFactory:()=>new oc};function Nc(e,t,i,n,r){let{repeated:a,localName:o}=i;switch(i.oneof&&((e=e[i.oneof.localName]).case!=o&&delete e.value,e.case=o,o="value"),i.kind){case"scalar":case"enum":const s="enum"==i.kind?Zs.INT32:i.T;let c=Uc;if("scalar"==i.kind&&i.L>0&&(c=Fc),a){let i=e[o];if(n==tc.LengthDelimited&&s!=Zs.STRING&&s!=Zs.BYTES){let e=t.uint32()+t.pos;for(;t.pos<e;)i.push(c(t,s))}else i.push(c(t,s))}else e[o]=c(t,s);break;case"message":const l=i.T;a?e[o].push(jc(t,new l,r,i)):bc(e[o])?jc(t,e[o],r,i):(e[o]=jc(t,new l,r,i),!l.fieldWrapper||i.oneof||i.repeated||(e[o]=l.fieldWrapper.unwrapField(e[o])));break;case"map":let[d,u]=function(e,t,i){const n=t.uint32(),r=t.pos+n;let a,o;for(;t.pos<r;){const[n]=t.tag();switch(n){case 1:a=Uc(t,e.K);break;case 2:switch(e.V.kind){case"scalar":o=Uc(t,e.V.T);break;case"enum":o=t.int32();break;case"message":o=jc(t,new e.V.T,i,void 0)}}}if(void 0===a&&(a=rc(e.K,Xs.BIGINT)),"string"!=typeof a&&"number"!=typeof a&&(a=a.toString()),void 0===o)switch(e.V.kind){case"scalar":o=rc(e.V.T,Xs.BIGINT);break;case"enum":o=e.V.T.values[0].no;break;case"message":o=new e.V.T}return[a,o]}(i,t,r);e[o][d]=u}}function jc(e,t,i,n){const r=t.getType().runtime.bin,a=null==n?void 0:n.delimited;return r.readMessage(t,e,a?n.no:e.uint32(),i,a),t}function Fc(e,t){const i=Uc(e,t);return"bigint"==typeof i?i.toString():i}function Uc(e,t){switch(t){case Zs.STRING:return e.string();case Zs.BOOL:return e.bool();case Zs.DOUBLE:return e.double();case Zs.FLOAT:return e.float();case Zs.INT32:return e.int32();case Zs.INT64:return e.int64();case Zs.UINT64:return e.uint64();case Zs.FIXED64:return e.fixed64();case Zs.BYTES:return e.bytes();case Zs.FIXED32:return e.fixed32();case Zs.SFIXED32:return e.sfixed32();case Zs.SFIXED64:return e.sfixed64();case Zs.SINT64:return e.sint64();case Zs.UINT32:return e.uint32();case Zs.SINT32:return e.sint32()}}function zc(e,t,i,n){Rs(void 0!==t);const r=e.repeated;switch(e.kind){case"scalar":case"enum":let a="enum"==e.kind?Zs.INT32:e.T;if(r)if(Rs(Array.isArray(t)),e.packed)!function(e,t,i,n){if(!n.length)return;e.tag(i,tc.LengthDelimited).fork();let[,r]=Hc(t);for(let a=0;a<n.length;a++)e[r](n[a]);e.join()}(i,a,e.no,t);else for(const n of t)qc(i,a,e.no,n);else qc(i,a,e.no,t);break;case"message":if(r){Rs(Array.isArray(t));for(const r of t)Vc(i,n,e,r)}else Vc(i,n,e,t);break;case"map":Rs("object"==typeof t&&null!=t);for(const[r,o]of Object.entries(t))Bc(i,n,e,r,o)}}function Bc(e,t,i,n,r){e.tag(i.no,tc.LengthDelimited),e.fork();let a=n;switch(i.K){case Zs.INT32:case Zs.FIXED32:case Zs.UINT32:case Zs.SFIXED32:case Zs.SINT32:a=Number.parseInt(n);break;case Zs.BOOL:Rs("true"==n||"false"==n),a="true"==n}switch(qc(e,i.K,1,a),i.V.kind){case"scalar":qc(e,i.V.T,2,r);break;case"enum":qc(e,Zs.INT32,2,r);break;case"message":Rs(void 0!==r),e.tag(2,tc.LengthDelimited).bytes(r.toBinary(t))}e.join()}function Vc(e,t,i,n){const r=kc(i.T,n);i.delimited?e.tag(i.no,tc.StartGroup).raw(r.toBinary(t)).tag(i.no,tc.EndGroup):e.tag(i.no,tc.LengthDelimited).bytes(r.toBinary(t))}function qc(e,t,i,n){Rs(void 0!==n);let[r,a]=Hc(t);e.tag(i,r)[a](n)}function Hc(e){let t=tc.Varint;switch(e){case Zs.BYTES:case Zs.STRING:t=tc.LengthDelimited;break;case Zs.DOUBLE:case Zs.FIXED64:case Zs.SFIXED64:t=tc.Bit64;break;case Zs.FIXED32:case Zs.SFIXED32:case Zs.FLOAT:t=tc.Bit32}return[t,Zs[e].toLowerCase()]}function Gc(e){if(void 0===e)return e;if(bc(e))return e.clone();if(e instanceof Uint8Array){const t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Wc(e){return e instanceof Uint8Array?e:new Uint8Array(e)}class $c{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 i of this.list())i.oneof?i.oneof!==t&&(t=i.oneof,e.push(t)):e.push(i)}return this.members}}function Jc(e,t){const i=Qc(e);return t?i:tl(el(i))}const Kc=Qc;function Qc(e){let t=!1;const i=[];for(let n=0;n<e.length;n++){let r=e.charAt(n);switch(r){case"_":t=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":i.push(r),t=!1;break;default:t&&(t=!1,r=r.toUpperCase()),i.push(r)}}return i.join("")}const Zc=new Set(["constructor","toString","toJSON","valueOf"]),Yc=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),Xc=e=>"".concat(e,"$"),el=e=>Yc.has(e)?Xc(e):e,tl=e=>Zc.has(e)?Xc(e):e;class il{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=Jc(e,!1)}addField(e){Rs(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 nl=(rl=e=>new $c(e,e=>function(e){var t,i,n,r,a,o;const s=[];let c;for(const l of"function"==typeof e?e():e){const e=l;if(e.localName=Jc(l.name,void 0!==l.oneof),e.jsonName=null!==(t=l.jsonName)&&void 0!==t?t:Kc(l.name),e.repeated=null!==(i=l.repeated)&&void 0!==i&&i,"scalar"==l.kind&&(e.L=null!==(n=l.L)&&void 0!==n?n:Xs.BIGINT),e.delimited=null!==(r=l.delimited)&&void 0!==r&&r,e.req=null!==(a=l.req)&&void 0!==a&&a,e.opt=null!==(o=l.opt)&&void 0!==o&&o,void 0===l.packed&&(e.packed="enum"==l.kind||"scalar"==l.kind&&l.T!=Zs.BYTES&&l.T!=Zs.STRING),void 0!==l.oneof){const t="string"==typeof l.oneof?l.oneof:l.oneof.name;c&&c.name==t||(c=new il(t)),e.oneof=c,c.addField(e)}s.push(e)}return s}(e)),al=e=>{for(const t of e.getType().fields.byMember()){if(t.opt)continue;const i=t.localName,n=e;if(t.repeated)n[i]=[];else switch(t.kind){case"oneof":n[i]={case:void 0};break;case"enum":n[i]=0;break;case"map":n[i]={};break;case"scalar":n[i]=rc(t.T,t.L)}}},{syntax:"proto3",json:{makeReadOptions:function(e){return e?Object.assign(Object.assign({},wc),e):wc},makeWriteOptions:function(e){return e?Object.assign(Object.assign({},yc),e):yc},readMessage(e,t,i,n){if(null==t||Array.isArray(t)||"object"!=typeof t)throw new Error("cannot decode message ".concat(e.typeName," from JSON: ").concat(Sc(t)));n=null!=n?n:new e;const r=new Map,a=i.typeRegistry;for(const[o,s]of Object.entries(t)){const t=e.fields.findJsonName(o);if(t){if(t.oneof){if(null===s&&"scalar"==t.kind)continue;const i=r.get(t.oneof);if(void 0!==i)throw new Error("cannot decode message ".concat(e.typeName,' from JSON: multiple keys for oneof "').concat(t.oneof.name,'" present: "').concat(i,'", "').concat(o,'"'));r.set(t.oneof,o)}Tc(n,s,t,i,e)}else{let t=!1;if((null==a?void 0:a.findExtension)&&o.startsWith("[")&&o.endsWith("]")){const r=a.findExtension(o.substring(1,o.length-1));if(r&&r.extendee.typeName==e.typeName){t=!0;const[e,a]=cc(r);Tc(e,s,r.field,i,r),pc(n,r,a(),i)}}if(!t&&!i.ignoreUnknownFields)throw new Error("cannot decode message ".concat(e.typeName,' from JSON: key "').concat(o,'" is unknown'))}}return n},writeMessage(e,t){const i=e.getType(),n={};let r;try{for(r of i.fields.byNumber()){if(!vc(r,e)){if(r.req)throw"required field not set";if(!t.emitDefaultValues)continue;if(!_c(r))continue}const i=Ic(r,r.oneof?e[r.oneof.localName].value:e[r.localName],t);void 0!==i&&(n[t.useProtoFieldName?r.name:r.jsonName]=i)}const a=t.typeRegistry;if(null==a?void 0:a.findExtensionFor)for(const r of i.runtime.bin.listUnknownFields(e)){const o=a.findExtensionFor(i.typeName,r.no);if(o&&gc(e,o)){const i=hc(e,o,t),r=Ic(o.field,i,t);void 0!==r&&(n[o.field.jsonName]=r)}}}catch(Gb){const t=r?"cannot encode field ".concat(i.typeName,".").concat(r.name," to JSON"):"cannot encode message ".concat(i.typeName," to JSON"),n=Gb instanceof Error?Gb.message:String(Gb);throw new Error(t+(n.length>0?": ".concat(n):""))}return n},readScalar:(e,t,i)=>Pc(e,t,null!=i?i:Xs.BIGINT,!0),writeScalar(e,t,i){if(void 0!==t)return i||ac(e,t)?Ac(e,t):void 0},debug:Sc},bin:{makeReadOptions:function(e){return e?Object.assign(Object.assign({},Dc),e):Dc},makeWriteOptions:function(e){return e?Object.assign(Object.assign({},Lc),e):Lc},listUnknownFields(e){var t;return null!==(t=e[Oc])&&void 0!==t?t:[]},discardUnknownFields(e){delete e[Oc]},writeUnknownFields(e,t){const i=e[Oc];if(i)for(const n of i)t.tag(n.no,n.wireType).raw(n.data)},onUnknownField(e,t,i,n){const r=e;Array.isArray(r[Oc])||(r[Oc]=[]),r[Oc].push({no:t,wireType:i,data:n})},readMessage(e,t,i,n,r){const a=e.getType(),o=r?t.len:t.pos+i;let s,c;for(;t.pos<o&&([s,c]=t.tag(),!0!==r||c!=tc.EndGroup);){const i=a.fields.find(s);if(!i){const i=t.skip(c,s);n.readUnknownFields&&this.onUnknownField(e,s,c,i);continue}Nc(e,t,i,c,n)}if(r&&(c!=tc.EndGroup||s!==i))throw new Error("invalid end group tag")},readField:Nc,writeMessage(e,t,i){const n=e.getType();for(const r of n.fields.byNumber())if(vc(r,e))zc(r,r.oneof?e[r.oneof.localName].value:e[r.localName],t,i);else if(r.req)throw new Error("cannot encode field ".concat(n.typeName,".").concat(r.name," to binary: required field not set"));return i.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,i,n){void 0!==t&&zc(e,t,i,n)}},util:Object.assign(Object.assign({},{setEnumType:Ns,initPartial(e,t){if(void 0===e)return;const i=t.getType();for(const n of i.fields.byMember()){const i=n.localName,r=t,a=e;if(null!=a[i])switch(n.kind){case"oneof":const e=a[i].case;if(void 0===e)continue;const t=n.findField(e);let o=a[i].value;t&&"message"==t.kind&&!bc(o,t.T)?o=new t.T(o):t&&"scalar"===t.kind&&t.T===Zs.BYTES&&(o=Wc(o)),r[i]={case:e,value:o};break;case"scalar":case"enum":let s=a[i];n.T===Zs.BYTES&&(s=n.repeated?s.map(Wc):Wc(s)),r[i]=s;break;case"map":switch(n.V.kind){case"scalar":case"enum":if(n.V.T===Zs.BYTES)for(const[t,n]of Object.entries(a[i]))r[i][t]=Wc(n);else Object.assign(r[i],a[i]);break;case"message":const e=n.V.T;for(const t of Object.keys(a[i])){let n=a[i][t];e.fieldWrapper||(n=new e(n)),r[i][t]=n}}break;case"message":const c=n.T;if(n.repeated)r[i]=a[i].map(e=>bc(e,c)?e:new c(e));else{const e=a[i];c.fieldWrapper?"google.protobuf.BytesValue"===c.typeName?r[i]=Wc(e):r[i]=e:r[i]=bc(e,c)?e:new c(e)}}}},equals:(e,t,i)=>t===i||!(!t||!i)&&e.fields.byMember().every(e=>{const n=t[e.localName],r=i[e.localName];if(e.repeated){if(n.length!==r.length)return!1;switch(e.kind){case"message":return n.every((t,i)=>e.T.equals(t,r[i]));case"scalar":return n.every((t,i)=>nc(e.T,t,r[i]));case"enum":return n.every((e,t)=>nc(Zs.INT32,e,r[t]))}throw new Error("repeated cannot contain ".concat(e.kind))}switch(e.kind){case"message":let t=n,i=r;return e.T.fieldWrapper&&(void 0===t||bc(t)||(t=e.T.fieldWrapper.wrapField(t)),void 0===i||bc(i)||(i=e.T.fieldWrapper.wrapField(i))),e.T.equals(t,i);case"enum":return nc(Zs.INT32,n,r);case"scalar":return nc(e.T,n,r);case"oneof":if(n.case!==r.case)return!1;const a=e.findField(n.case);if(void 0===a)return!0;switch(a.kind){case"message":return a.T.equals(n.value,r.value);case"enum":return nc(Zs.INT32,n.value,r.value);case"scalar":return nc(a.T,n.value,r.value)}throw new Error("oneof cannot contain ".concat(a.kind));case"map":const o=Object.keys(n).concat(Object.keys(r));switch(e.V.kind){case"message":const t=e.V.T;return o.every(e=>t.equals(n[e],r[e]));case"enum":return o.every(e=>nc(Zs.INT32,n[e],r[e]));case"scalar":const i=e.V.T;return o.every(e=>nc(i,n[e],r[e]))}}}),clone(e){const t=e.getType(),i=new t,n=i;for(const r of t.fields.byMember()){const t=e[r.localName];let i;if(r.repeated)i=t.map(Gc);else if("map"==r.kind){i=n[r.localName];for(const[e,n]of Object.entries(t))i[e]=Gc(n)}else i="oneof"==r.kind?r.findField(t.case)?{case:t.case,value:Gc(t.value)}:{case:void 0}:Gc(t);n[r.localName]=i}for(const r of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(n,r.no,r.wireType,r.data);return i}}),{newFieldList:rl,initFields:al}),makeMessageType(e,t,i){return function(e,t,i,n){var r;const a=null!==(r=null==n?void 0:n.localName)&&void 0!==r?r:t.substring(t.lastIndexOf(".")+1),o={[a]:function(t){e.util.initFields(this),e.util.initPartial(t,this)}}[a];return Object.setPrototypeOf(o.prototype,new Us),Object.assign(o,{runtime:e,typeName:t,fields:e.util.newFieldList(i),fromBinary:(e,t)=>(new o).fromBinary(e,t),fromJson:(e,t)=>(new o).fromJson(e,t),fromJsonString:(e,t)=>(new o).fromJsonString(e,t),equals:(t,i)=>e.util.equals(o,t,i)}),o}(this,e,t,i)},makeEnum:function(e,t,i){const n={};for(const r of t){const e=Fs(r);n[e.localName]=e.no,n[e.no]=e.localName}return Ns(n,e,t),n},makeEnumType:js,getEnumType:function(e){const t=e[Ls];return Rs(t,"missing enum type on enum object"),t},makeExtension(e,t,i){return function(e,t,i,n){let r;return{typeName:t,extendee:i,get field(){if(!r){const i="function"==typeof n?n():n;i.name=t.split(".").pop(),i.jsonName="[".concat(t,"]"),r=e.util.newFieldList([i]).list()[0]}return r},runtime:e}}(this,e,t,i)}});var rl,al;class ol extends Us{constructor(e){super(),this.seconds=Qs.zero,this.nanos=0,nl.util.initPartial(e,this)}fromJson(e,t){if("string"!=typeof e)throw new Error("cannot decode google.protobuf.Timestamp from JSON: ".concat(nl.json.debug(e)));const i=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(!i)throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");const n=Date.parse(i[1]+"-"+i[2]+"-"+i[3]+"T"+i[4]+":"+i[5]+":"+i[6]+(i[8]?i[8]:"Z"));if(Number.isNaN(n))throw new Error("cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string");if(n<Date.parse("0001-01-01T00:00:00Z")||n>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=Qs.parse(n/1e3),this.nanos=0,i[7]&&(this.nanos=parseInt("1"+i[7]+"0".repeat(9-i[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 i="Z";if(this.nanos>0){const e=(this.nanos+1e9).toString().substring(1);i="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",i)}toDate(){return new Date(1e3*Number(this.seconds)+Math.ceil(this.nanos/1e6))}static now(){return ol.fromDate(new Date)}static fromDate(e){const t=e.getTime();return new ol({seconds:Qs.parse(Math.floor(t/1e3)),nanos:t%1e3*1e6})}static fromBinary(e,t){return(new ol).fromBinary(e,t)}static fromJson(e,t){return(new ol).fromJson(e,t)}static fromJsonString(e,t){return(new ol).fromJsonString(e,t)}static equals(e,t){return nl.util.equals(ol,e,t)}}ol.runtime=nl,ol.typeName="google.protobuf.Timestamp",ol.fields=nl.util.newFieldList(()=>[{no:1,name:"seconds",kind:"scalar",T:3},{no:2,name:"nanos",kind:"scalar",T:5}]);const sl=nl.makeMessageType("livekit.MetricsBatch",()=>[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:ol},{no:3,name:"str_data",kind:"scalar",T:9,repeated:!0},{no:4,name:"time_series",kind:"message",T:cl,repeated:!0},{no:5,name:"events",kind:"message",T:dl,repeated:!0}]),cl=nl.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:ll,repeated:!0},{no:5,name:"rid",kind:"scalar",T:13}]),ll=nl.makeMessageType("livekit.MetricSample",()=>[{no:1,name:"timestamp_ms",kind:"scalar",T:3},{no:2,name:"normalized_timestamp",kind:"message",T:ol},{no:3,name:"value",kind:"scalar",T:2}]),dl=nl.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:ol},{no:7,name:"normalized_end_timestamp",kind:"message",T:ol,opt:!0},{no:8,name:"metadata",kind:"scalar",T:9},{no:9,name:"rid",kind:"scalar",T:13}]),ul=nl.makeEnum("livekit.BackupCodecPolicy",[{no:0,name:"PREFER_REGRESSION"},{no:1,name:"SIMULCAST"},{no:2,name:"REGRESSION"}]),hl=nl.makeEnum("livekit.TrackType",[{no:0,name:"AUDIO"},{no:1,name:"VIDEO"},{no:2,name:"DATA"}]),pl=nl.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"}]),gl=nl.makeEnum("livekit.VideoQuality",[{no:0,name:"LOW"},{no:1,name:"MEDIUM"},{no:2,name:"HIGH"},{no:3,name:"OFF"}]),ml=nl.makeEnum("livekit.ConnectionQuality",[{no:0,name:"POOR"},{no:1,name:"GOOD"},{no:2,name:"EXCELLENT"},{no:3,name:"LOST"}]),vl=nl.makeEnum("livekit.ClientConfigSetting",[{no:0,name:"UNSET"},{no:1,name:"DISABLED"},{no:2,name:"ENABLED"}]),fl=nl.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"}]),bl=nl.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"}]),kl=nl.makeEnum("livekit.SubscriptionError",[{no:0,name:"SE_UNKNOWN"},{no:1,name:"SE_CODEC_UNSUPPORTED"},{no:2,name:"SE_TRACK_NOTFOUND"}]),wl=nl.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"}]),yl=nl.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:xl,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:Xl}]),xl=nl.makeMessageType("livekit.Codec",()=>[{no:1,name:"mime",kind:"scalar",T:9},{no:2,name:"fmtp_line",kind:"scalar",T:9}]),Cl=nl.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:nl.getEnumType(pl),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}]),Sl=nl.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:nl.getEnumType(Tl)},{no:4,name:"tracks",kind:"message",T:Il,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:Cl},{no:12,name:"region",kind:"scalar",T:9},{no:13,name:"is_publisher",kind:"scalar",T:8},{no:14,name:"kind",kind:"enum",T:nl.getEnumType(El)},{no:15,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:16,name:"disconnect_reason",kind:"enum",T:nl.getEnumType(fl)},{no:18,name:"kind_details",kind:"enum",T:nl.getEnumType(Pl),repeated:!0}]),Tl=nl.makeEnum("livekit.ParticipantInfo.State",[{no:0,name:"JOINING"},{no:1,name:"JOINED"},{no:2,name:"ACTIVE"},{no:3,name:"DISCONNECTED"}]),El=nl.makeEnum("livekit.ParticipantInfo.Kind",[{no:0,name:"STANDARD"},{no:1,name:"INGRESS"},{no:2,name:"EGRESS"},{no:3,name:"SIP"},{no:4,name:"AGENT"}]),Pl=nl.makeEnum("livekit.ParticipantInfo.KindDetail",[{no:0,name:"CLOUD_AGENT"},{no:1,name:"FORWARDED"}]),Ml=nl.makeEnum("livekit.Encryption.Type",[{no:0,name:"NONE"},{no:1,name:"GCM"},{no:2,name:"CUSTOM"}]),_l=nl.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:Rl,repeated:!0}]),Il=nl.makeMessageType("livekit.TrackInfo",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"type",kind:"enum",T:nl.getEnumType(hl)},{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:nl.getEnumType(pl)},{no:10,name:"layers",kind:"message",T:Rl,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:_l,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:nl.getEnumType(Ml)},{no:17,name:"stream",kind:"scalar",T:9},{no:18,name:"version",kind:"message",T:Xl},{no:19,name:"audio_features",kind:"enum",T:nl.getEnumType(wl),repeated:!0},{no:20,name:"backup_codec_policy",kind:"enum",T:nl.getEnumType(ul)}]),Rl=nl.makeMessageType("livekit.VideoLayer",()=>[{no:1,name:"quality",kind:"enum",T:nl.getEnumType(gl)},{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}]),Al=nl.makeMessageType("livekit.DataPacket",()=>[{no:1,name:"kind",kind:"enum",T:nl.getEnumType(Ol)},{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:Nl,oneof:"value"},{no:3,name:"speaker",kind:"message",T:Dl,oneof:"value"},{no:6,name:"sip_dtmf",kind:"message",T:jl,oneof:"value"},{no:7,name:"transcription",kind:"message",T:Fl,oneof:"value"},{no:8,name:"metrics",kind:"message",T:sl,oneof:"value"},{no:9,name:"chat_message",kind:"message",T:zl,oneof:"value"},{no:10,name:"rpc_request",kind:"message",T:Bl,oneof:"value"},{no:11,name:"rpc_ack",kind:"message",T:Vl,oneof:"value"},{no:12,name:"rpc_response",kind:"message",T:ql,oneof:"value"},{no:13,name:"stream_header",kind:"message",T:nd,oneof:"value"},{no:14,name:"stream_chunk",kind:"message",T:rd,oneof:"value"},{no:15,name:"stream_trailer",kind:"message",T:ad,oneof:"value"},{no:16,name:"sequence",kind:"scalar",T:13},{no:17,name:"participant_sid",kind:"scalar",T:9}]),Ol=nl.makeEnum("livekit.DataPacket.Kind",[{no:0,name:"RELIABLE"},{no:1,name:"LOSSY"}]),Dl=nl.makeMessageType("livekit.ActiveSpeakerUpdate",()=>[{no:1,name:"speakers",kind:"message",T:Ll,repeated:!0}]),Ll=nl.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}]),Nl=nl.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}]),jl=nl.makeMessageType("livekit.SipDTMF",()=>[{no:3,name:"code",kind:"scalar",T:13},{no:4,name:"digit",kind:"scalar",T:9}]),Fl=nl.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:Ul,repeated:!0}]),Ul=nl.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}]),zl=nl.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}]),Bl=nl.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}]),Vl=nl.makeMessageType("livekit.RpcAck",()=>[{no:1,name:"request_id",kind:"scalar",T:9}]),ql=nl.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:Hl,oneof:"value"}]),Hl=nl.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}]),Gl=nl.makeMessageType("livekit.ParticipantTracks",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"track_sids",kind:"scalar",T:9,repeated:!0}]),Wl=nl.makeMessageType("livekit.ServerInfo",()=>[{no:1,name:"edition",kind:"enum",T:nl.getEnumType($l)},{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}]),$l=nl.makeEnum("livekit.ServerInfo.Edition",[{no:0,name:"Standard"},{no:1,name:"Cloud"}]),Jl=nl.makeMessageType("livekit.ClientInfo",()=>[{no:1,name:"sdk",kind:"enum",T:nl.getEnumType(Kl)},{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}]),Kl=nl.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"}]),Ql=nl.makeMessageType("livekit.ClientConfiguration",()=>[{no:1,name:"video",kind:"message",T:Zl},{no:2,name:"screen",kind:"message",T:Zl},{no:3,name:"resume_connection",kind:"enum",T:nl.getEnumType(vl)},{no:4,name:"disabled_codecs",kind:"message",T:Yl},{no:5,name:"force_relay",kind:"enum",T:nl.getEnumType(vl)}]),Zl=nl.makeMessageType("livekit.VideoConfiguration",()=>[{no:1,name:"hardware_encoder",kind:"enum",T:nl.getEnumType(vl)}]),Yl=nl.makeMessageType("livekit.DisabledCodecs",()=>[{no:1,name:"codecs",kind:"message",T:xl,repeated:!0},{no:2,name:"publish",kind:"message",T:xl,repeated:!0}]),Xl=nl.makeMessageType("livekit.TimedVersion",()=>[{no:1,name:"unix_micro",kind:"scalar",T:3},{no:2,name:"ticks",kind:"scalar",T:5}]),ed=nl.makeEnum("livekit.DataStream.OperationType",[{no:0,name:"CREATE"},{no:1,name:"UPDATE"},{no:2,name:"DELETE"},{no:3,name:"REACTION"}]),td=nl.makeMessageType("livekit.DataStream.TextHeader",()=>[{no:1,name:"operation_type",kind:"enum",T:nl.getEnumType(ed)},{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"}),id=nl.makeMessageType("livekit.DataStream.ByteHeader",()=>[{no:1,name:"name",kind:"scalar",T:9}],{localName:"DataStream_ByteHeader"}),nd=nl.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:nl.getEnumType(Ml)},{no:8,name:"attributes",kind:"map",K:9,V:{kind:"scalar",T:9}},{no:9,name:"text_header",kind:"message",T:td,oneof:"content_header"},{no:10,name:"byte_header",kind:"message",T:id,oneof:"content_header"}],{localName:"DataStream_Header"}),rd=nl.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"}),ad=nl.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"}),od=nl.makeEnum("livekit.SignalTarget",[{no:0,name:"PUBLISHER"},{no:1,name:"SUBSCRIBER"}]),sd=nl.makeEnum("livekit.StreamState",[{no:0,name:"ACTIVE"},{no:1,name:"PAUSED"}]),cd=nl.makeEnum("livekit.CandidateProtocol",[{no:0,name:"UDP"},{no:1,name:"TCP"},{no:2,name:"TLS"}]),ld=nl.makeMessageType("livekit.SignalRequest",()=>[{no:1,name:"offer",kind:"message",T:kd,oneof:"message"},{no:2,name:"answer",kind:"message",T:kd,oneof:"message"},{no:3,name:"trickle",kind:"message",T:pd,oneof:"message"},{no:4,name:"add_track",kind:"message",T:hd,oneof:"message"},{no:5,name:"mute",kind:"message",T:gd,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:Td,oneof:"message"},{no:10,name:"update_layers",kind:"message",T:Pd,oneof:"message"},{no:11,name:"subscription_permission",kind:"message",T:zd,oneof:"message"},{no:12,name:"sync_state",kind:"message",T:qd,oneof:"message"},{no:13,name:"simulate",kind:"message",T:Wd,oneof:"message"},{no:14,name:"ping",kind:"scalar",T:3,oneof:"message"},{no:15,name:"update_metadata",kind:"message",T:Md,oneof:"message"},{no:16,name:"ping_req",kind:"message",T:$d,oneof:"message"},{no:17,name:"update_audio_track",kind:"message",T:Cd,oneof:"message"},{no:18,name:"update_video_track",kind:"message",T:Sd,oneof:"message"}]),dd=nl.makeMessageType("livekit.SignalResponse",()=>[{no:1,name:"join",kind:"message",T:md,oneof:"message"},{no:2,name:"answer",kind:"message",T:kd,oneof:"message"},{no:3,name:"offer",kind:"message",T:kd,oneof:"message"},{no:4,name:"trickle",kind:"message",T:pd,oneof:"message"},{no:5,name:"update",kind:"message",T:wd,oneof:"message"},{no:6,name:"track_published",kind:"message",T:fd,oneof:"message"},{no:8,name:"leave",kind:"message",T:Td,oneof:"message"},{no:9,name:"mute",kind:"message",T:gd,oneof:"message"},{no:10,name:"speakers_changed",kind:"message",T:Id,oneof:"message"},{no:11,name:"room_update",kind:"message",T:Rd,oneof:"message"},{no:12,name:"connection_quality",kind:"message",T:Od,oneof:"message"},{no:13,name:"stream_state_update",kind:"message",T:Ld,oneof:"message"},{no:14,name:"subscribed_quality_update",kind:"message",T:Fd,oneof:"message"},{no:15,name:"subscription_permission_update",kind:"message",T:Bd,oneof:"message"},{no:16,name:"refresh_token",kind:"scalar",T:9,oneof:"message"},{no:17,name:"track_unpublished",kind:"message",T:bd,oneof:"message"},{no:18,name:"pong",kind:"scalar",T:3,oneof:"message"},{no:19,name:"reconnect",kind:"message",T:vd,oneof:"message"},{no:20,name:"pong_resp",kind:"message",T:Jd,oneof:"message"},{no:21,name:"subscription_response",kind:"message",T:Zd,oneof:"message"},{no:22,name:"request_response",kind:"message",T:Yd,oneof:"message"},{no:23,name:"track_subscribed",kind:"message",T:eu,oneof:"message"},{no:24,name:"room_moved",kind:"message",T:Vd,oneof:"message"}]),ud=nl.makeMessageType("livekit.SimulcastCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"cid",kind:"scalar",T:9}]),hd=nl.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:nl.getEnumType(hl)},{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:nl.getEnumType(pl)},{no:9,name:"layers",kind:"message",T:Rl,repeated:!0},{no:10,name:"simulcast_codecs",kind:"message",T:ud,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:nl.getEnumType(Ml)},{no:15,name:"stream",kind:"scalar",T:9},{no:16,name:"backup_codec_policy",kind:"enum",T:nl.getEnumType(ul)},{no:17,name:"audio_features",kind:"enum",T:nl.getEnumType(wl),repeated:!0}]),pd=nl.makeMessageType("livekit.TrickleRequest",()=>[{no:1,name:"candidateInit",kind:"scalar",T:9},{no:2,name:"target",kind:"enum",T:nl.getEnumType(od)},{no:3,name:"final",kind:"scalar",T:8}]),gd=nl.makeMessageType("livekit.MuteTrackRequest",()=>[{no:1,name:"sid",kind:"scalar",T:9},{no:2,name:"muted",kind:"scalar",T:8}]),md=nl.makeMessageType("livekit.JoinResponse",()=>[{no:1,name:"room",kind:"message",T:yl},{no:2,name:"participant",kind:"message",T:Sl},{no:3,name:"other_participants",kind:"message",T:Sl,repeated:!0},{no:4,name:"server_version",kind:"scalar",T:9},{no:5,name:"ice_servers",kind:"message",T:_d,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:Ql},{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:Wl},{no:13,name:"sif_trailer",kind:"scalar",T:12},{no:14,name:"enabled_publish_codecs",kind:"message",T:xl,repeated:!0},{no:15,name:"fast_publish",kind:"scalar",T:8}]),vd=nl.makeMessageType("livekit.ReconnectResponse",()=>[{no:1,name:"ice_servers",kind:"message",T:_d,repeated:!0},{no:2,name:"client_configuration",kind:"message",T:Ql},{no:3,name:"server_info",kind:"message",T:Wl},{no:4,name:"last_message_seq",kind:"scalar",T:13}]),fd=nl.makeMessageType("livekit.TrackPublishedResponse",()=>[{no:1,name:"cid",kind:"scalar",T:9},{no:2,name:"track",kind:"message",T:Il}]),bd=nl.makeMessageType("livekit.TrackUnpublishedResponse",()=>[{no:1,name:"track_sid",kind:"scalar",T:9}]),kd=nl.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}]),wd=nl.makeMessageType("livekit.ParticipantUpdate",()=>[{no:1,name:"participants",kind:"message",T:Sl,repeated:!0}]),yd=nl.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:Gl,repeated:!0}]),xd=nl.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:nl.getEnumType(gl)},{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}]),Cd=nl.makeMessageType("livekit.UpdateLocalAudioTrack",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"features",kind:"enum",T:nl.getEnumType(wl),repeated:!0}]),Sd=nl.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}]),Td=nl.makeMessageType("livekit.LeaveRequest",()=>[{no:1,name:"can_reconnect",kind:"scalar",T:8},{no:2,name:"reason",kind:"enum",T:nl.getEnumType(fl)},{no:3,name:"action",kind:"enum",T:nl.getEnumType(Ed)},{no:4,name:"regions",kind:"message",T:Kd}]),Ed=nl.makeEnum("livekit.LeaveRequest.Action",[{no:0,name:"DISCONNECT"},{no:1,name:"RESUME"},{no:2,name:"RECONNECT"}]),Pd=nl.makeMessageType("livekit.UpdateVideoLayers",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"layers",kind:"message",T:Rl,repeated:!0}]),Md=nl.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}]),_d=nl.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}]),Id=nl.makeMessageType("livekit.SpeakersChanged",()=>[{no:1,name:"speakers",kind:"message",T:Ll,repeated:!0}]),Rd=nl.makeMessageType("livekit.RoomUpdate",()=>[{no:1,name:"room",kind:"message",T:yl}]),Ad=nl.makeMessageType("livekit.ConnectionQualityInfo",()=>[{no:1,name:"participant_sid",kind:"scalar",T:9},{no:2,name:"quality",kind:"enum",T:nl.getEnumType(ml)},{no:3,name:"score",kind:"scalar",T:2}]),Od=nl.makeMessageType("livekit.ConnectionQualityUpdate",()=>[{no:1,name:"updates",kind:"message",T:Ad,repeated:!0}]),Dd=nl.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:nl.getEnumType(sd)}]),Ld=nl.makeMessageType("livekit.StreamStateUpdate",()=>[{no:1,name:"stream_states",kind:"message",T:Dd,repeated:!0}]),Nd=nl.makeMessageType("livekit.SubscribedQuality",()=>[{no:1,name:"quality",kind:"enum",T:nl.getEnumType(gl)},{no:2,name:"enabled",kind:"scalar",T:8}]),jd=nl.makeMessageType("livekit.SubscribedCodec",()=>[{no:1,name:"codec",kind:"scalar",T:9},{no:2,name:"qualities",kind:"message",T:Nd,repeated:!0}]),Fd=nl.makeMessageType("livekit.SubscribedQualityUpdate",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"subscribed_qualities",kind:"message",T:Nd,repeated:!0},{no:3,name:"subscribed_codecs",kind:"message",T:jd,repeated:!0}]),Ud=nl.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}]),zd=nl.makeMessageType("livekit.SubscriptionPermission",()=>[{no:1,name:"all_participants",kind:"scalar",T:8},{no:2,name:"track_permissions",kind:"message",T:Ud,repeated:!0}]),Bd=nl.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}]),Vd=nl.makeMessageType("livekit.RoomMovedResponse",()=>[{no:1,name:"room",kind:"message",T:yl},{no:2,name:"token",kind:"scalar",T:9},{no:3,name:"participant",kind:"message",T:Sl},{no:4,name:"other_participants",kind:"message",T:Sl,repeated:!0}]),qd=nl.makeMessageType("livekit.SyncState",()=>[{no:1,name:"answer",kind:"message",T:kd},{no:2,name:"subscription",kind:"message",T:yd},{no:3,name:"publish_tracks",kind:"message",T:fd,repeated:!0},{no:4,name:"data_channels",kind:"message",T:Gd,repeated:!0},{no:5,name:"offer",kind:"message",T:kd},{no:6,name:"track_sids_disabled",kind:"scalar",T:9,repeated:!0},{no:7,name:"datachannel_receive_states",kind:"message",T:Hd,repeated:!0}]),Hd=nl.makeMessageType("livekit.DataChannelReceiveState",()=>[{no:1,name:"publisher_sid",kind:"scalar",T:9},{no:2,name:"last_seq",kind:"scalar",T:13}]),Gd=nl.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:nl.getEnumType(od)}]),Wd=nl.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:nl.getEnumType(cd),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"}]),$d=nl.makeMessageType("livekit.Ping",()=>[{no:1,name:"timestamp",kind:"scalar",T:3},{no:2,name:"rtt",kind:"scalar",T:3}]),Jd=nl.makeMessageType("livekit.Pong",()=>[{no:1,name:"last_ping_timestamp",kind:"scalar",T:3},{no:2,name:"timestamp",kind:"scalar",T:3}]),Kd=nl.makeMessageType("livekit.RegionSettings",()=>[{no:1,name:"regions",kind:"message",T:Qd,repeated:!0}]),Qd=nl.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}]),Zd=nl.makeMessageType("livekit.SubscriptionResponse",()=>[{no:1,name:"track_sid",kind:"scalar",T:9},{no:2,name:"err",kind:"enum",T:nl.getEnumType(kl)}]),Yd=nl.makeMessageType("livekit.RequestResponse",()=>[{no:1,name:"request_id",kind:"scalar",T:13},{no:2,name:"reason",kind:"enum",T:nl.getEnumType(Xd)},{no:3,name:"message",kind:"scalar",T:9}]),Xd=nl.makeEnum("livekit.RequestResponse.Reason",[{no:0,name:"OK"},{no:1,name:"NOT_FOUND"},{no:2,name:"NOT_ALLOWED"},{no:3,name:"LIMIT_EXCEEDED"}]),eu=nl.makeMessageType("livekit.TrackSubscribed",()=>[{no:1,name:"track_sid",kind:"scalar",T:9}]);function tu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var iu,nu,ru,au,ou,su,cu,lu,du={exports:{}},uu=(iu||(iu=1,ru=du.exports,au=function(){var e=function(){},t="undefined",i=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"],r={},a=null;function o(e,t){var i=e[t];if("function"==typeof i.bind)return i.bind(e);try{return Function.prototype.bind.call(i,e)}catch(Gb){return function(){return Function.prototype.apply.apply(i,[e,arguments])}}}function s(){console.log&&(console.log.apply||Function.prototype.apply.apply(console.log,[console,arguments])),console.trace}function c(){for(var i=this.getLevel(),r=0;r<n.length;r++){var a=n[r];this[a]=r<i?e:this.methodFactory(a,i,this.name)}if(this.log=this.debug,typeof console===t&&i<this.levels.SILENT)return"No console available for logging"}function l(e){return function(){typeof console!==t&&(c.call(this),this[e].apply(this,arguments))}}function d(n,r,a){return function(n){return"debug"===n&&(n="log"),typeof console!==t&&("trace"===n&&i?s:void 0!==console[n]?o(console,n):void 0!==console.log?o(console,"log"):e)}(n)||l.apply(this,arguments)}function u(e,i){var o,s,l,u=this,h="loglevel";function p(){var e;if(typeof window!==t&&h){try{e=window.localStorage[h]}catch(a){}if(typeof e===t)try{var i=window.document.cookie,n=encodeURIComponent(h),r=i.indexOf(n+"=");-1!==r&&(e=/^([^;]+)/.exec(i.slice(r+n.length+1))[1])}catch(a){}return void 0===u.levels[e]&&(e=void 0),e}}function g(e){var t=e;if("string"==typeof t&&void 0!==u.levels[t.toUpperCase()]&&(t=u.levels[t.toUpperCase()]),"number"==typeof t&&t>=0&&t<=u.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?h+=":"+e:"symbol"==typeof e&&(h=void 0),u.name=e,u.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},u.methodFactory=i||d,u.getLevel=function(){return null!=l?l:null!=s?s:o},u.setLevel=function(e,i){return l=g(e),!1!==i&&function(e){var i=(n[e]||"silent").toUpperCase();if(typeof window!==t&&h){try{return void(window.localStorage[h]=i)}catch(r){}try{window.document.cookie=encodeURIComponent(h)+"="+i+";"}catch(r){}}}(l),c.call(u)},u.setDefaultLevel=function(e){s=g(e),p()||u.setLevel(e,!1)},u.resetLevel=function(){l=null,function(){if(typeof window!==t&&h){try{window.localStorage.removeItem(h)}catch(e){}try{window.document.cookie=encodeURIComponent(h)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),c.call(u)},u.enableAll=function(e){u.setLevel(u.levels.TRACE,e)},u.disableAll=function(e){u.setLevel(u.levels.SILENT,e)},u.rebuild=function(){if(a!==u&&(o=g(a.getLevel())),c.call(u),a===u)for(var e in r)r[e].rebuild()},o=g(a?a.getLevel():"WARN");var m=p();null!=m&&(l=g(m)),c.call(u)}(a=new u).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=r[e];return t||(t=r[e]=new u(e,a.methodFactory)),t};var h=typeof window!==t?window.log:void 0;return a.noConflict=function(){return typeof window!==t&&window.log===a&&(window.log=h),a},a.getLoggers=function(){return r},a.default=a,a},(nu=du).exports?nu.exports=au():ru.log=au()),du.exports);(su=ou||(ou={}))[su.trace=0]="trace",su[su.debug=1]="debug",su[su.info=2]="info",su[su.warn=3]="warn",su[su.error=4]="error",su[su.silent=5]="silent",(lu=cu||(cu={})).Default="livekit",lu.Room="livekit-room",lu.Participant="livekit-participant",lu.Track="livekit-track",lu.Publication="livekit-track-publication",lu.Engine="livekit-engine",lu.Signal="livekit-signal",lu.PCManager="livekit-pc-manager",lu.PCTransport="livekit-pc-transport",lu.E2EE="lk-e2ee";let hu=uu.getLogger("livekit");function pu(e){const t=uu.getLogger(e);return t.setDefaultLevel(hu.getLevel()),t}Object.values(cu).map(e=>uu.getLogger(e)),hu.setDefaultLevel(ou.info);const gu=uu.getLogger("lk-e2ee"),mu=7e3,vu=[0,300,1200,2700,4800,mu,mu,mu,mu,mu];function fu(e,t,i,n){return new(i||(i=Promise))(function(r,a){function o(e){try{c(n.next(e))}catch(Gb){a(Gb)}}function s(e){try{c(n.throw(e))}catch(Gb){a(Gb)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(o,s)}c((n=n.apply(e,t||[])).next())})}function bu(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e=function(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise(function(n,r){!function(e,t,i,n){Promise.resolve(n).then(function(t){e({value:t,done:i})},t)}(n,r,(t=e[i](t)).done,t.value)})}}}"function"==typeof SuppressedError&&SuppressedError;var ku,wu={exports:{}},yu=function(){if(ku)return wu.exports;ku=1;var e,t="object"==typeof Reflect?Reflect:null,i=t&&"function"==typeof t.apply?t.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)};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 n=Number.isNaN||function(e){return e!=e};function r(){r.init.call(this)}wu.exports=r,wu.exports.once=function(e,t){return new Promise(function(i,n){function r(i){e.removeListener(t,a),n(i)}function a(){"function"==typeof e.removeListener&&e.removeListener("error",r),i([].slice.call(arguments))}g(e,t,a,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&g(e,"error",t,{once:!0})}(e,r)})},r.EventEmitter=r,r.prototype._events=void 0,r.prototype._eventsCount=0,r.prototype._maxListeners=void 0;var a=10;function o(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?r.defaultMaxListeners:e._maxListeners}function c(e,t,i,n){var r,a,c;if(o(i),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,i.listener?i.listener:i),a=e._events),c=a[t]),void 0===c)c=a[t]=i,++e._eventsCount;else if("function"==typeof c?c=a[t]=n?[i,c]:[c,i]:n?c.unshift(i):c.push(i),(r=s(e))>0&&c.length>r&&!c.warned){c.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+c.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=c.length,console&&console.warn}return e}function l(){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,i){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},r=l.bind(n);return r.listener=i,n.wrapFn=r,r}function u(e,t,i){var n=e._events;if(void 0===n)return[];var r=n[t];return void 0===r?[]:"function"==typeof r?i?[r.listener||r]:[r]:i?function(e){for(var t=new Array(e.length),i=0;i<t.length;++i)t[i]=e[i].listener||e[i];return t}(r):p(r,r.length)}function h(e){var t=this._events;if(void 0!==t){var i=t[e];if("function"==typeof i)return 1;if(void 0!==i)return i.length}return 0}function p(e,t){for(var i=new Array(t),n=0;n<t;++n)i[n]=e[n];return i}function g(e,t,i,n){if("function"==typeof e.on)n.once?e.once(t,i):e.on(t,i);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 r(a){n.once&&e.removeEventListener(t,r),i(a)})}}return Object.defineProperty(r,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(e){if("number"!=typeof e||e<0||n(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");a=e}}),r.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},r.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||n(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},r.prototype.getMaxListeners=function(){return s(this)},r.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,a=this._events;if(void 0!==a)r=r&&void 0===a.error;else if(!r)return!1;if(r){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var c=a[e];if(void 0===c)return!1;if("function"==typeof c)i(c,this,t);else{var l=c.length,d=p(c,l);for(n=0;n<l;++n)i(d[n],this,t)}return!0},r.prototype.addListener=function(e,t){return c(this,e,t,!1)},r.prototype.on=r.prototype.addListener,r.prototype.prependListener=function(e,t){return c(this,e,t,!0)},r.prototype.once=function(e,t){return o(t),this.on(e,d(this,e,t)),this},r.prototype.prependOnceListener=function(e,t){return o(t),this.prependListener(e,d(this,e,t)),this},r.prototype.removeListener=function(e,t){var i,n,r,a,s;if(o(t),void 0===(n=this._events))return this;if(void 0===(i=n[e]))return this;if(i===t||i.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||t));else if("function"!=typeof i){for(r=-1,a=i.length-1;a>=0;a--)if(i[a]===t||i[a].listener===t){s=i[a].listener,r=a;break}if(r<0)return this;0===r?i.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(i,r),1===i.length&&(n[e]=i[0]),void 0!==n.removeListener&&this.emit("removeListener",e,s||t)}return this},r.prototype.off=r.prototype.removeListener,r.prototype.removeAllListeners=function(e){var t,i,n;if(void 0===(i=this._events))return this;if(void 0===i.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==i[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete i[e]),this;if(0===arguments.length){var r,a=Object.keys(i);for(n=0;n<a.length;++n)"removeListener"!==(r=a[n])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=i[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},r.prototype.listeners=function(e){return u(this,e,!0)},r.prototype.rawListeners=function(e){return u(this,e,!1)},r.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},r.prototype.listenerCount=h,r.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]},wu.exports}();let xu=!0,Cu=!0;function Su(e,t,i){const n=e.match(t);return n&&n.length>=i&&parseFloat(n[i],10)}function Tu(e,t,i){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,r=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return r.apply(this,arguments);const a=e=>{const t=i(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,a),r.apply(this,[e,a])};const a=n.removeEventListener;n.removeEventListener=function(e,i){if(e!==t||!this._eventMap||!this._eventMap[t])return a.apply(this,arguments);if(!this._eventMap[t].has(i))return a.apply(this,arguments);const n=this._eventMap[t].get(i);return this._eventMap[t].delete(i),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,a.apply(this,[e,n])},Object.defineProperty(n,"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 Eu(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(xu=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function Pu(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(Cu=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function Mu(){if("object"==typeof window){if(xu)return;"undefined"!=typeof console&&console.log}}function _u(e,t){}function Iu(e){return"[object Object]"===Object.prototype.toString.call(e)}function Ru(e){return Iu(e)?Object.keys(e).reduce(function(t,i){const n=Iu(e[i]),r=n?Ru(e[i]):e[i],a=n&&!Object.keys(r).length;return void 0===r||a?t:Object.assign(t,{[i]:r})},{}):e}function Au(e,t,i){t&&!i.has(t.id)&&(i.set(t.id,t),Object.keys(t).forEach(n=>{n.endsWith("Id")?Au(e,e.get(t[n]),i):n.endsWith("Ids")&&t[n].forEach(t=>{Au(e,e.get(t),i)})}))}function Ou(e,t,i){const n=i?"outbound-rtp":"inbound-rtp",r=new Map;if(null===t)return r;const a=[];return e.forEach(e=>{"track"===e.type&&e.trackIdentifier===t.id&&a.push(e)}),a.forEach(t=>{e.forEach(i=>{i.type===n&&i.trackId===t.id&&Au(e,i,r)})}),r}const Du=Mu;function Lu(e,t){const i=e&&e.navigator;if(!i.mediaDevices)return;const n=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach(i=>{if("require"===i||"advanced"===i||"mediaSource"===i)return;const n="object"==typeof e[i]?e[i]:{ideal:e[i]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);const r=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};"number"==typeof n.ideal?(e[r("min",i)]=n.ideal,t.optional.push(e),e={},e[r("max",i)]=n.ideal,t.optional.push(e)):(e[r("",i)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[r("",i)]=n.exact):["min","max"].forEach(e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[r(e,i)]=n[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},r=function(e,r){if(t.version>=61)return r(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"==typeof e.video){let a=e.video.facingMode;a=a&&("object"==typeof a?a:{ideal:a});const o=t.version<66;if(a&&("user"===a.exact||"environment"===a.exact||"user"===a.ideal||"environment"===a.ideal)&&(!i.mediaDevices.getSupportedConstraints||!i.mediaDevices.getSupportedConstraints().facingMode||o)){let t;if(delete e.video.facingMode,"environment"===a.exact||"environment"===a.ideal?t=["back","rear"]:"user"!==a.exact&&"user"!==a.ideal||(t=["front"]),t)return i.mediaDevices.enumerateDevices().then(i=>{let o=(i=i.filter(e=>"videoinput"===e.kind)).find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!o&&i.length&&t.includes("back")&&(o=i[i.length-1]),o&&(e.video.deviceId=a.exact?{exact:o.deviceId}:{ideal:o.deviceId}),e.video=n(e.video),Du("chrome: "+JSON.stringify(e)),r(e)})}e.video=n(e.video)}return Du("chrome: "+JSON.stringify(e)),r(e)},a=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(i.getUserMedia=function(e,t,n){r(e,e=>{i.webkitGetUserMedia(e,t,e=>{n&&n(a(e))})})}.bind(i),i.mediaDevices.getUserMedia){const e=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(t){return r(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(a(e))))}}}function Nu(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function ju(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",i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===i.track.id):{track:i.track};const r=new Event("track");r.track=i.track,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)}),t.stream.getTracks().forEach(i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===i.id):{track:i};const r=new Event("track");r.track=i,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else Tu(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 i=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let r=i.apply(this,arguments);return r||(r=t(this,e),this._senders.push(r)),r};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.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 Uu(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 i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then(t=>Ou(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}),Tu(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then(t=>Ou(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,i,n;return this.getSenders().forEach(i=>{i.track===e&&(t?n=!0:t=i)}),this.getReceivers().forEach(t=>(t.track===e&&(i?n=!0:i=t),t.track===e)),n||t&&i?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():i?i.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function zu(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,i){if(!i)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[i.id]?-1===this._shimmedLocalStreams[i.id].indexOf(n)&&this._shimmedLocalStreams[i.id].push(n):this._shimmedLocalStreams[i.id]=[i,n],n};const i=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();i.apply(this,arguments);const n=this.getSenders().filter(e=>-1===t.indexOf(e));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{const i=this._shimmedLocalStreams[t].indexOf(e);-1!==i&&this._shimmedLocalStreams[t].splice(i,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]}),r.apply(this,arguments)}}function Bu(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return zu(e);const i=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=i.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};const n=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 i=new e.MediaStream(t.getTracks());this._streams[t.id]=i,this._reverseStreams[i.id]=t,t=i}n.apply(this,[t])};const r=e.RTCPeerConnection.prototype.removeStream;function a(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(r.id,"g"),n.id)}),new RTCSessionDescription({type:t.type,sdp:i})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},r.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,i){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const n=[].slice.call(arguments,1);if(1!==n.length||!n[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 r=this._streams[i.id];if(r)r.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{const n=new e.MediaStream([t]);this._streams[i.id]=n,this._reverseStreams[n.id]=i,this.addStream(n)}return this.getSenders().find(e=>e.track===t)},["createOffer","createAnswer"].forEach(function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?i.apply(this,[t=>{const i=a(this,t);e[0].apply(null,[i])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):i.apply(this,arguments).then(e=>a(this,e))}};e.RTCPeerConnection.prototype[t]=n[t]});const o=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(n.id,"g"),r.id)}),new RTCSessionDescription({type:t.type,sdp:i})}(this,arguments[0]),o.apply(this,arguments)):o.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:a(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(i=>{this._streams[i].getTracks().find(t=>e.track===t)&&(t=this._streams[i])}),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function Vu(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]})}function qu(e,t){Tu(e,"negotiationneeded",e=>{const i=e.target;if(!(t.version<72||i.getConfiguration&&"plan-b"===i.getConfiguration().sdpSemantics)||"stable"===i.signalingState)return e})}var Hu=Object.freeze({__proto__:null,fixNegotiationNeeded:qu,shimAddTrackRemoveTrack:Bu,shimAddTrackRemoveTrackWithNative:zu,shimGetSendersWithDtmf:Fu,shimGetUserMedia:Lu,shimMediaStream:Nu,shimOnTrack:ju,shimPeerConnection:Vu,shimSenderReceiverGetStats:Uu});function Gu(e,t){const i=e&&e.navigator,n=e&&e.MediaStreamTrack;if(i.getUserMedia=function(e,t,n){i.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in i.mediaDevices.getSupportedConstraints())){const e=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])},t=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(i){return"object"==typeof i&&"object"==typeof i.audio&&(i=JSON.parse(JSON.stringify(i)),e(i.audio,"autoGainControl","mozAutoGainControl"),e(i.audio,"noiseSuppression","mozNoiseSuppression")),t(i)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const i=t.apply(this,arguments);return e(i,"mozAutoGainControl","autoGainControl"),e(i,"mozNoiseSuppression","noiseSuppression"),i}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(i){return"audio"===this.kind&&"object"==typeof i&&(i=JSON.parse(JSON.stringify(i)),e(i,"autoGainControl","mozAutoGainControl"),e(i,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[i])}}}}function Wu(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 $u(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 i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]});const i={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,a]=arguments;return n.apply(this,[e||null]).then(e=>{if(t.version<53&&!r)try{e.forEach(e=>{e.type=i[e.type]||e.type})}catch(Gb){if("TypeError"!==Gb.name)throw Gb;e.forEach((t,n)=>{e.set(n,Object.assign({},t,{type:i[t.type]||t.type}))})}return e}).then(r,a)}}function Ju(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 i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.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 Ku(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}),Tu(e,"track",e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function Qu(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 Zu(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function Yu(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 i=e.length>0;i&&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 n=t.apply(this,arguments);if(i){const{sender:t}=n,i=t.getParameters();(!("encodings"in i)||1===i.encodings.length&&0===Object.keys(i.encodings[0]).length)&&(i.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(i).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return n})}function Xu(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 eh(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 th(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 ih=Object.freeze({__proto__:null,shimAddTransceiver:Yu,shimCreateAnswer:th,shimCreateOffer:eh,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(i){if(!i||!i.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===i.video?i.video={mediaSource:t}:i.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(i)})},shimGetParameters:Xu,shimGetUserMedia:Gu,shimOnTrack:Wu,shimPeerConnection:$u,shimRTCDataChannel:Zu,shimReceiverGetStats:Ku,shimRemoveStream:Qu,shimSenderGetStats:Ju});function nh(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(i=>t.call(this,i,e)),e.getVideoTracks().forEach(i=>t.call(this,i,e))},e.RTCPeerConnection.prototype.addTrack=function(e){for(var i=arguments.length,n=new Array(i>1?i-1:0),r=1;r<i;r++)n[r-1]=arguments[r];return n&&n.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 i=e.getTracks();this.getSenders().forEach(e=>{i.includes(e.track)&&this.removeTrack(e)})})}}function rh(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 i=new Event("addstream");i.stream=t,e.dispatchEvent(i)})}),t.apply(e,arguments)}}}function ah(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,i=t.createOffer,n=t.createAnswer,r=t.setLocalDescription,a=t.setRemoteDescription,o=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],r=i.apply(this,[n]);return t?(r.then(e,t),Promise.resolve()):r},t.createAnswer=function(e,t){const i=arguments.length>=2?arguments[2]:arguments[0],r=n.apply(this,[i]);return t?(r.then(e,t),Promise.resolve()):r};let s=function(e,t,i){const n=r.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n};t.setLocalDescription=s,s=function(e,t,i){const n=a.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.setRemoteDescription=s,s=function(e,t,i){const n=o.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.addIceCandidate=s}function oh(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,i=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>i(sh(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,i,n){t.mediaDevices.getUserMedia(e).then(i,n)}.bind(t))}function sh(e){return e&&void 0!==e.video?Object.assign({},e,{video:Ru(e.video)}):e}function ch(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,i){if(e&&e.iceServers){const t=[];for(let i=0;i<e.iceServers.length;i++){let n=e.iceServers[i];void 0===n.urls&&n.url?(_u(),n=JSON.parse(JSON.stringify(n)),n.urls=n.url,delete n.url,t.push(n)):t.push(e.iceServers[i])}e.iceServers=t}return new t(e,i)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function lh(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 dh(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 i=this.getTransceivers().find(e=>"video"===e.receiver.track.kind);!1===e.offerToReceiveVideo&&i?"sendrecv"===i.direction?i.setDirection?i.setDirection("sendonly"):i.direction="sendonly":"recvonly"===i.direction&&(i.setDirection?i.setDirection("inactive"):i.direction="inactive"):!0!==e.offerToReceiveVideo||i||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}}function uh(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var hh,ph=Object.freeze({__proto__:null,shimAudioContext:uh,shimCallbacksAPI:ah,shimConstraints:sh,shimCreateOfferLegacy:dh,shimGetUserMedia:oh,shimLocalStreamsAPI:nh,shimRTCIceServerUrls:ch,shimRemoteStreamsAPI:rh,shimTrackEventTransceiver:lh}),gh={exports:{}},mh=(hh||(hh=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 i=t.splitSections(e);return i&&i[0]},t.getMediaSections=function(e){const i=t.splitSections(e);return i.shift(),i},t.matchPrefix=function(e,i){return t.splitLines(e).filter(e=>0===e.indexOf(i))},t.parseCandidate=function(e){let t;t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" ");const i={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 n=8;n<t.length;n+=2)switch(t[n]){case"raddr":i.relatedAddress=t[n+1];break;case"rport":i.relatedPort=parseInt(t[n+1],10);break;case"tcptype":i.tcpType=t[n+1];break;case"ufrag":i.ufrag=t[n+1],i.usernameFragment=t[n+1];break;default:void 0===i[t[n]]&&(i[t[n]]=t[n+1])}return i},t.writeCandidate=function(e){const t=[];t.push(e.foundation);const i=e.component;"rtp"===i?t.push(1):"rtcp"===i?t.push(2):t.push(i),t.push(e.protocol.toUpperCase()),t.push(e.priority),t.push(e.address||e.ip),t.push(e.port);const n=e.type;return t.push("typ"),t.push(n),"host"!==n&&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 i={payloadType:parseInt(t.shift(),10)};return t=t[0].split("/"),i.name=t[0],i.clockRate=parseInt(t[1],10),i.channels=3===t.length?parseInt(t[2],10):1,i.numChannels=i.channels,i},t.writeRtpMap=function(e){let t=e.payloadType;void 0!==e.preferredPayloadType&&(t=e.preferredPayloadType);const i=e.channels||e.numChannels||1;return"a=rtpmap:"+t+" "+e.name+"/"+e.clockRate+(1!==i?"/"+i:"")+"\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 i;const n=e.substring(e.indexOf(" ")+1).split(";");for(let r=0;r<n.length;r++)i=n[r].trim().split("="),t[i[0].trim()]=i[1];return t},t.writeFmtp=function(e){let t="",i=e.payloadType;if(void 0!==e.preferredPayloadType&&(i=e.preferredPayloadType),e.parameters&&Object.keys(e.parameters).length){const n=[];Object.keys(e.parameters).forEach(t=>{void 0!==e.parameters[t]?n.push(t+"="+e.parameters[t]):n.push(t)}),t+="a=fmtp:"+i+" "+n.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="",i=e.payloadType;return void 0!==e.preferredPayloadType&&(i=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach(e=>{t+="a=rtcp-fb:"+i+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"}),t},t.parseSsrcMedia=function(e){const t=e.indexOf(" "),i={ssrc:parseInt(e.substring(7,t),10)},n=e.indexOf(":",t);return n>-1?(i.attribute=e.substring(t+1,n),i.value=e.substring(n+1)):i.attribute=e.substring(t+1),i},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 i=t.matchPrefix(e,"a=mid:")[0];if(i)return i.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,i){return{role:"auto",fingerprints:t.matchPrefix(e+i,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let i="a=setup:"+t+"\r\n";return e.fingerprints.forEach(e=>{i+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"}),i},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,i){return t.matchPrefix(e+i,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,i){const n=t.matchPrefix(e+i,"a=ice-ufrag:")[0],r=t.matchPrefix(e+i,"a=ice-pwd:")[0];return n&&r?{usernameFragment:n.substring(12),password:r.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 i={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(" ");i.profile=n[2];for(let a=3;a<n.length;a++){const r=n[a],o=t.matchPrefix(e,"a=rtpmap:"+r+" ")[0];if(o){const n=t.parseRtpMap(o),a=t.matchPrefix(e,"a=fmtp:"+r+" ");switch(n.parameters=a.length?t.parseFmtp(a[0]):{},n.rtcpFeedback=t.matchPrefix(e,"a=rtcp-fb:"+r+" ").map(t.parseRtcpFb),i.codecs.push(n),n.name.toUpperCase()){case"RED":case"ULPFEC":i.fecMechanisms.push(n.name.toUpperCase())}}}t.matchPrefix(e,"a=extmap:").forEach(e=>{i.headerExtensions.push(t.parseExtmap(e))});const r=t.matchPrefix(e,"a=rtcp-fb:* ").map(t.parseRtcpFb);return i.codecs.forEach(e=>{r.forEach(t=>{e.rtcpFeedback.find(e=>e.type===t.type&&e.parameter===t.parameter)||e.rtcpFeedback.push(t)})}),i},t.writeRtpDescription=function(e,i){let n="";n+="m="+e+" ",n+=i.codecs.length>0?"9":"0",n+=" "+(i.profile||"UDP/TLS/RTP/SAVPF")+" ",n+=i.codecs.map(e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType).join(" ")+"\r\n",n+="c=IN IP4 0.0.0.0\r\n",n+="a=rtcp:9 IN IP4 0.0.0.0\r\n",i.codecs.forEach(e=>{n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)});let r=0;return i.codecs.forEach(e=>{e.maxptime>r&&(r=e.maxptime)}),r>0&&(n+="a=maxptime:"+r+"\r\n"),i.headerExtensions&&i.headerExtensions.forEach(e=>{n+=t.writeExtmap(e)}),n},t.parseRtpEncodingParameters=function(e){const i=[],n=t.parseRtpParameters(e),r=-1!==n.fecMechanisms.indexOf("RED"),a=-1!==n.fecMechanisms.indexOf("ULPFEC"),o=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute),s=o.length>0&&o[0].ssrc;let c;const l=t.matchPrefix(e,"a=ssrc-group:FID").map(e=>e.substring(17).split(" ").map(e=>parseInt(e,10)));l.length>0&&l[0].length>1&&l[0][0]===s&&(c=l[0][1]),n.codecs.forEach(e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:s,codecPayloadType:parseInt(e.parameters.apt,10)};s&&c&&(t.rtx={ssrc:c}),i.push(t),r&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:s,mechanism:a?"red+ulpfec":"red"},i.push(t))}}),0===i.length&&s&&i.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,i.forEach(e=>{e.maxBitrate=d})),i},t.parseRtcpParameters=function(e){const i={},n=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"cname"===e.attribute)[0];n&&(i.cname=n.value,i.ssrc=n.ssrc);const r=t.matchPrefix(e,"a=rtcp-rsize");i.reducedSize=r.length>0,i.compound=0===r.length;const a=t.matchPrefix(e,"a=rtcp-mux");return i.mux=a.length>0,i},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 i;const n=t.matchPrefix(e,"a=msid:");if(1===n.length)return i=n[0].substring(7).split(" "),{stream:i[0],track:i[1]};const r=t.matchPrefix(e,"a=ssrc:").map(e=>t.parseSsrcMedia(e)).filter(e=>"msid"===e.attribute);return r.length>0?(i=r[0].value.split(" "),{stream:i[0],track:i[1]}):void 0},t.parseSctpDescription=function(e){const i=t.parseMLine(e),n=t.matchPrefix(e,"a=max-message-size:");let r;n.length>0&&(r=parseInt(n[0].substring(19),10)),isNaN(r)&&(r=65536);const a=t.matchPrefix(e,"a=sctp-port:");if(a.length>0)return{port:parseInt(a[0].substring(12),10),protocol:i.fmt,maxMessageSize:r};const o=t.matchPrefix(e,"a=sctpmap:");if(o.length>0){const e=o[0].substring(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:r}}},t.writeSctpDescription=function(e,t){let i=[];return i="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&&i.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),i.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,i,n){let r;const a=void 0!==i?i:2;return r=e||t.generateSessionId(),"v=0\r\no="+(n||"thisisadapterortc")+" "+r+" "+a+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,i){const n=t.splitLines(e);for(let t=0;t<n.length;t++)switch(n[t]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return n[t].substring(2)}return i?t.getDirection(i):"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 i=t.splitLines(e)[0].substring(2).split(" ");return{kind:i[0],port:parseInt(i[1],10),protocol:i[2],fmt:i.slice(3).join(" ")}},t.parseOLine=function(e){const i=t.matchPrefix(e,"o=")[0].substring(2).split(" ");return{username:i[0],sessionId:i[1],sessionVersion:parseInt(i[2],10),netType:i[3],addressType:i[4],address:i[5]}},t.isValidSDP=function(e){if("string"!=typeof e||0===e.length)return!1;const i=t.splitLines(e);for(let t=0;t<i.length;t++)if(i[t].length<2||"="!==i[t].charAt(1))return!1;return!0},e.exports=t}(gh)),gh.exports),vh=tu(mh),fh=Ps({__proto__:null,default:vh},[mh]);function bh(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 i=new t(e),n=vh.parseCandidate(e.candidate);for(const e in n)e in i||Object.defineProperty(i,e,{value:n[e]});return i.toJSON=function(){return{candidate:i.candidate,sdpMid:i.sdpMid,sdpMLineIndex:i.sdpMLineIndex,usernameFragment:i.usernameFragment}},i}return new t(e)},e.RTCIceCandidate.prototype=t.prototype,Tu(e,"icecandidate",t=>(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t))}function kh(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||Tu(e,"icecandidate",e=>{if(e.candidate){const t=vh.parseCandidate(e.candidate.candidate);"relay"===t.type&&(e.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[t.priority>>24])}return e})}function wh(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 i=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=vh.splitSections(e.sdp);return t.shift(),t.some(e=>{const t=vh.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 i=parseInt(t[1],10);return i!=i?-1:i}(arguments[0]),i=function(e){let i=65536;return"firefox"===t.browser&&(i=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),i}(e),n=function(e,i){let n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);const r=vh.matchPrefix(e.sdp,"a=max-message-size:");return r.length>0?n=parseInt(r[0].substring(19),10):"firefox"===t.browser&&-1!==i&&(n=2147483637),n}(arguments[0],e);let r;r=0===i&&0===n?Number.POSITIVE_INFINITY:0===i||0===n?Math.max(i,n):Math.min(i,n);const a={};Object.defineProperty(a,"maxMessageSize",{get:()=>r}),this._sctp=a}return i.apply(this,arguments)}}function yh(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const i=e.send;e.send=function(){const n=arguments[0],r=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&r>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return i.apply(e,arguments)}}const i=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=i.apply(this,arguments);return t(e,this),e},Tu(e,"datachannel",e=>(t(e.channel,e.target),e))}function xh(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 i=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 i=new Event("connectionstatechange",e);t.dispatchEvent(i)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),i.apply(this,arguments)}})}function Ch(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t._safariVersion>=13.1)return;const i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const i=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:i}):t.sdp=i}return i.apply(this,arguments)}}function Sh(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.addIceCandidate;i&&0!==i.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():i.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function Th(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.setLocalDescription;i&&0!==i.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return i.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?i.apply(this,[e]):("offer"===e.type?this.createOffer:this.createAnswer).apply(this).then(e=>i.apply(this,[e]))})}var Eh=Object.freeze({__proto__:null,removeExtmapAllowMixed:Ch,shimAddIceCandidateNullOrEmpty:Sh,shimConnectionState:xh,shimMaxMessageSize:wh,shimParameterlessSetLocalDescription:Th,shimRTCIceCandidate:bh,shimRTCIceCandidateRelayProtocol:kh,shimSendThrowTypeError:yh});!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 i=Mu,n=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:i}=e;if(i.userAgentData&&i.userAgentData.brands){const e=i.userAgentData.brands.find(e=>"Chromium"===e.brand);if(e)return{browser:"chrome",version:parseInt(e.version,10)}}if(i.mozGetUserMedia)t.browser="firefox",t.version=parseInt(Su(i.userAgent,/Firefox\/(\d+)\./,1));else if(i.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=parseInt(Su(i.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else{if(!e.RTCPeerConnection||!i.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=parseInt(Su(i.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype,t._safariVersion=Su(i.userAgent,/Version\/(\d+(\.?\d+))/,1)}return t}(e),r={browserDetails:n,commonShim:Eh,extractVersion:Su,disableLog:Eu,disableWarnings:Pu,sdp:fh};switch(n.browser){case"chrome":if(!Hu||!Vu||!t.shimChrome)return i("Chrome shim is not included in this adapter release."),r;if(null===n.version)return i("Chrome shim can not determine version, not shimming."),r;i("adapter.js shimming chrome."),r.browserShim=Hu,Sh(e,n),Th(e),Lu(e,n),Nu(e),Vu(e,n),ju(e),Bu(e,n),Fu(e),Uu(e),qu(e,n),bh(e),kh(e),xh(e),wh(e,n),yh(e),Ch(e,n);break;case"firefox":if(!ih||!$u||!t.shimFirefox)return i("Firefox shim is not included in this adapter release."),r;i("adapter.js shimming firefox."),r.browserShim=ih,Sh(e,n),Th(e),Gu(e,n),$u(e,n),Wu(e),Qu(e),Ju(e),Ku(e),Zu(e),Yu(e),Xu(e),eh(e),th(e),bh(e),xh(e),wh(e,n),yh(e);break;case"safari":if(!ph||!t.shimSafari)return i("Safari shim is not included in this adapter release."),r;i("adapter.js shimming safari."),r.browserShim=ph,Sh(e,n),Th(e),ch(e),dh(e),ah(e),nh(e),rh(e),lh(e),oh(e),uh(e),bh(e),kh(e),wh(e,n),yh(e),Ch(e,n);break;default:i("Unsupported browser!")}}({window:"undefined"==typeof window?void 0:window});const Ph="lk_e2ee";var Mh,_h,Ih,Rh,Ah,Oh,Dh,Lh,Nh,jh,Fh,Uh,zh,Bh,Vh,qh,Hh,Gh,Wh,$h,Jh,Kh;function Qh(){return void 0!==window.RTCRtpScriptTransform}(_h=Mh||(Mh={})).SetKey="setKey",_h.RatchetRequest="ratchetRequest",_h.KeyRatcheted="keyRatcheted",(Ih||(Ih={})).KeyRatcheted="keyRatcheted",(Ah=Rh||(Rh={})).ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",Ah.EncryptionError="encryptionError",(Oh||(Oh={})).Error="cryptorError",yu.EventEmitter;class Zh extends Error{constructor(e,t){super(t||"an error has occured"),this.name="LiveKitError",this.code=e}}(Lh=Dh||(Dh={}))[Lh.NotAllowed=0]="NotAllowed",Lh[Lh.ServerUnreachable=1]="ServerUnreachable",Lh[Lh.InternalError=2]="InternalError",Lh[Lh.Cancelled=3]="Cancelled",Lh[Lh.LeaveRequest=4]="LeaveRequest",Lh[Lh.Timeout=5]="Timeout";class Yh extends Zh{constructor(e,t,i,n){super(1,e),this.name="ConnectionError",this.status=i,this.reason=t,this.context=n,this.reasonName=Dh[t]}}class Xh extends Zh{constructor(e){super(21,null!=e?e:"device is unsupported"),this.name="DeviceUnsupportedError"}}class ep extends Zh{constructor(e){super(20,null!=e?e:"track is invalid"),this.name="TrackInvalidError"}}class tp extends Zh{constructor(e){super(10,null!=e?e:"unsupported server"),this.name="UnsupportedServer"}}class ip extends Zh{constructor(e){super(12,null!=e?e:"unexpected connection state"),this.name="UnexpectedConnectionState"}}class np extends Zh{constructor(e){super(13,null!=e?e:"unable to negotiate"),this.name="NegotiationError"}}class rp extends Zh{constructor(e,t){super(15,e),this.name="PublishTrackError",this.status=t}}class ap extends Zh{constructor(e,t){super(15,e),this.reason=t,this.reasonName="string"==typeof t?t:Xd[t]}}(jh=Nh||(Nh={}))[jh.AlreadyOpened=0]="AlreadyOpened",jh[jh.AbnormalEnd=1]="AbnormalEnd",jh[jh.DecodeFailed=2]="DecodeFailed",jh[jh.LengthExceeded=3]="LengthExceeded",jh[jh.Incomplete=4]="Incomplete",jh[jh.HandlerAlreadyRegistered=7]="HandlerAlreadyRegistered";class op extends Zh{constructor(e,t){super(16,e),this.name="DataStreamError",this.reason=t,this.reasonName=Nh[t]}}(Uh=Fh||(Fh={})).PermissionDenied="PermissionDenied",Uh.NotFound="NotFound",Uh.DeviceInUse="DeviceInUse",Uh.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}}(Fh||(Fh={})),(Bh=zh||(zh={}))[Bh.InvalidKey=0]="InvalidKey",Bh[Bh.MissingKey=1]="MissingKey",Bh[Bh.InternalError=2]="InternalError",(qh=Vh||(Vh={})).Connected="connected",qh.Reconnecting="reconnecting",qh.SignalReconnecting="signalReconnecting",qh.Reconnected="reconnected",qh.Disconnected="disconnected",qh.ConnectionStateChanged="connectionStateChanged",qh.Moved="moved",qh.MediaDevicesChanged="mediaDevicesChanged",qh.ParticipantConnected="participantConnected",qh.ParticipantDisconnected="participantDisconnected",qh.TrackPublished="trackPublished",qh.TrackSubscribed="trackSubscribed",qh.TrackSubscriptionFailed="trackSubscriptionFailed",qh.TrackUnpublished="trackUnpublished",qh.TrackUnsubscribed="trackUnsubscribed",qh.TrackMuted="trackMuted",qh.TrackUnmuted="trackUnmuted",qh.LocalTrackPublished="localTrackPublished",qh.LocalTrackUnpublished="localTrackUnpublished",qh.LocalAudioSilenceDetected="localAudioSilenceDetected",qh.ActiveSpeakersChanged="activeSpeakersChanged",qh.ParticipantMetadataChanged="participantMetadataChanged",qh.ParticipantNameChanged="participantNameChanged",qh.ParticipantAttributesChanged="participantAttributesChanged",qh.ParticipantActive="participantActive",qh.RoomMetadataChanged="roomMetadataChanged",qh.DataReceived="dataReceived",qh.SipDTMFReceived="sipDTMFReceived",qh.TranscriptionReceived="transcriptionReceived",qh.ConnectionQualityChanged="connectionQualityChanged",qh.TrackStreamStateChanged="trackStreamStateChanged",qh.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",qh.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",qh.AudioPlaybackStatusChanged="audioPlaybackChanged",qh.VideoPlaybackStatusChanged="videoPlaybackChanged",qh.MediaDevicesError="mediaDevicesError",qh.ParticipantPermissionsChanged="participantPermissionsChanged",qh.SignalConnected="signalConnected",qh.RecordingStatusChanged="recordingStatusChanged",qh.ParticipantEncryptionStatusChanged="participantEncryptionStatusChanged",qh.EncryptionError="encryptionError",qh.DCBufferStatusChanged="dcBufferStatusChanged",qh.ActiveDeviceChanged="activeDeviceChanged",qh.ChatMessage="chatMessage",qh.LocalTrackSubscribed="localTrackSubscribed",qh.MetricsReceived="metricsReceived",(Gh=Hh||(Hh={})).TrackPublished="trackPublished",Gh.TrackSubscribed="trackSubscribed",Gh.TrackSubscriptionFailed="trackSubscriptionFailed",Gh.TrackUnpublished="trackUnpublished",Gh.TrackUnsubscribed="trackUnsubscribed",Gh.TrackMuted="trackMuted",Gh.TrackUnmuted="trackUnmuted",Gh.LocalTrackPublished="localTrackPublished",Gh.LocalTrackUnpublished="localTrackUnpublished",Gh.LocalTrackCpuConstrained="localTrackCpuConstrained",Gh.LocalSenderCreated="localSenderCreated",Gh.ParticipantMetadataChanged="participantMetadataChanged",Gh.ParticipantNameChanged="participantNameChanged",Gh.DataReceived="dataReceived",Gh.SipDTMFReceived="sipDTMFReceived",Gh.TranscriptionReceived="transcriptionReceived",Gh.IsSpeakingChanged="isSpeakingChanged",Gh.ConnectionQualityChanged="connectionQualityChanged",Gh.TrackStreamStateChanged="trackStreamStateChanged",Gh.TrackSubscriptionPermissionChanged="trackSubscriptionPermissionChanged",Gh.TrackSubscriptionStatusChanged="trackSubscriptionStatusChanged",Gh.TrackCpuConstrained="trackCpuConstrained",Gh.MediaDevicesError="mediaDevicesError",Gh.AudioStreamAcquired="audioStreamAcquired",Gh.ParticipantPermissionsChanged="participantPermissionsChanged",Gh.PCTrackAdded="pcTrackAdded",Gh.AttributesChanged="attributesChanged",Gh.LocalTrackSubscribed="localTrackSubscribed",Gh.ChatMessage="chatMessage",Gh.Active="active",($h=Wh||(Wh={})).TransportsCreated="transportsCreated",$h.Connected="connected",$h.Disconnected="disconnected",$h.Resuming="resuming",$h.Resumed="resumed",$h.Restarting="restarting",$h.Restarted="restarted",$h.SignalResumed="signalResumed",$h.SignalRestarted="signalRestarted",$h.Closing="closing",$h.MediaTrackAdded="mediaTrackAdded",$h.ActiveSpeakersUpdate="activeSpeakersUpdate",$h.DataPacketReceived="dataPacketReceived",$h.RTPVideoMapUpdate="rtpVideoMapUpdate",$h.DCBufferStatusChanged="dcBufferStatusChanged",$h.ParticipantUpdate="participantUpdate",$h.RoomUpdate="roomUpdate",$h.SpeakersChanged="speakersChanged",$h.StreamStateChanged="streamStateChanged",$h.ConnectionQualityUpdate="connectionQualityUpdate",$h.SubscriptionError="subscriptionError",$h.SubscriptionPermissionUpdate="subscriptionPermissionUpdate",$h.RemoteMute="remoteMute",$h.SubscribedQualityUpdate="subscribedQualityUpdate",$h.LocalTrackUnpublished="localTrackUnpublished",$h.LocalTrackSubscribed="localTrackSubscribed",$h.Offline="offline",$h.SignalRequestResponse="signalRequestResponse",$h.SignalConnected="signalConnected",$h.RoomMoved="roomMoved",(Kh=Jh||(Jh={})).Message="message",Kh.Muted="muted",Kh.Unmuted="unmuted",Kh.Restarted="restarted",Kh.Ended="ended",Kh.Subscribed="subscribed",Kh.Unsubscribed="unsubscribed",Kh.CpuConstrained="cpuConstrained",Kh.UpdateSettings="updateSettings",Kh.UpdateSubscription="updateSubscription",Kh.AudioPlaybackStarted="audioPlaybackStarted",Kh.AudioPlaybackFailed="audioPlaybackFailed",Kh.AudioSilenceDetected="audioSilenceDetected",Kh.VisibilityChanged="visibilityChanged",Kh.VideoDimensionsChanged="videoDimensionsChanged",Kh.VideoPlaybackStarted="videoPlaybackStarted",Kh.VideoPlaybackFailed="videoPlaybackFailed",Kh.ElementAttached="elementAttached",Kh.ElementDetached="elementDetached",Kh.UpstreamPaused="upstreamPaused",Kh.UpstreamResumed="upstreamResumed",Kh.SubscriptionPermissionChanged="subscriptionPermissionChanged",Kh.SubscriptionStatusChanged="subscriptionStatusChanged",Kh.SubscriptionFailed="subscriptionFailed",Kh.TrackProcessorUpdate="trackProcessorUpdate",Kh.AudioTrackFeatureUpdate="audioTrackFeatureUpdate",Kh.TranscriptionReceived="transcriptionReceived",Kh.TimeSyncUpdate="timeSyncUpdate",Kh.PreConnectBufferFlushed="preConnectBufferFlushed";const sp=/version\/(\d+(\.?_?\d+)+)/i;let cp;function lp(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("undefined"==typeof navigator)return;const i=navigator.userAgent.toLowerCase();if(void 0===cp||t){const e=dp.find(e=>{let{test:t}=e;return t.test(i)});cp=null==e?void 0:e.describe(i)}return cp}const dp=[{test:/firefox|iceweasel|fxios/i,describe:e=>({name:"Firefox",version:up(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes("fxios")?"iOS":void 0,osVersion:hp(e)})},{test:/chrom|crios|crmo/i,describe:e=>({name:"Chrome",version:up(/(?:chrome|chromium|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e),os:e.toLowerCase().includes("crios")?"iOS":void 0,osVersion:hp(e)})},{test:/safari|applewebkit/i,describe:e=>({name:"Safari",version:up(sp,e),os:e.includes("mobile/")?"iOS":"macOS",osVersion:hp(e)})}];function up(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n=t.match(e);return n&&n.length>=i&&n[i]||""}function hp(e){return e.includes("mac os")?up(/\(.+?(\d+_\d+(:?_\d+)?)/,e,1).replace(/_/g,"."):void 0}class pp{}pp.setTimeout=function(){return setTimeout(...arguments)},pp.setInterval=function(){return setInterval(...arguments)},pp.clearTimeout=function(){return clearTimeout(...arguments)},pp.clearInterval=function(){return clearInterval(...arguments)};const gp=[];var mp,vp;(vp=mp||(mp={}))[vp.LOW=0]="LOW",vp[vp.MEDIUM=1]="MEDIUM",vp[vp.HIGH=2]="HIGH";class fp extends yu.EventEmitter{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n;super(),this.attachedElements=[],this.isMuted=!1,this.streamState=fp.StreamState.Active,this.isInBackground=!1,this._currentBitrate=0,this.log=hu,this.appVisibilityChangedListener=()=>{this.backgroundTimeout&&clearTimeout(this.backgroundTimeout),"hidden"===document.visibilityState?this.backgroundTimeout=setTimeout(()=>this.handleAppVisibilityChanged(),5e3):this.handleAppVisibilityChanged()},this.log=pu(null!==(n=i.loggerName)&&void 0!==n?n:cu.Track),this.loggerContextCb=i.loggerContextCb,this.setMaxListeners(100),this.kind=t,this._mediaStreamTrack=e,this._mediaStreamID=e.id,this.source=fp.Source.Unknown}get logContext(){var e;return Object.assign(Object.assign({},null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this)),Tg(this))}get currentBitrate(){return this._currentBitrate}get mediaStreamTrack(){return this._mediaStreamTrack}get mediaStreamID(){return this._mediaStreamID}attach(e){let t="audio";this.kind===fp.Kind.Video&&(t="video"),0===this.attachedElements.length&&this.kind===fp.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),bp(this.mediaStreamTrack,e);const i=e.srcObject.getTracks(),n=i.some(e=>"audio"===e.kind);return e.play().then(()=>{this.emit(n?Jh.AudioPlaybackStarted:Jh.VideoPlaybackStarted)}).catch(t=>{"NotAllowedError"===t.name?this.emit(n?Jh.AudioPlaybackFailed:Jh.VideoPlaybackFailed,t):"AbortError"===t.name?hu.debug("".concat(n?"audio":"video"," playback aborted, likely due to new play request")):hu.warn("could not playback ".concat(n?"audio":"video"),t),n&&e&&i.some(e=>"video"===e.kind)&&"NotAllowedError"===t.name&&(e.muted=!0,e.play().catch(()=>{}))}),this.emit(Jh.ElementAttached,e),e}detach(e){try{if(e){kp(this.mediaStreamTrack,e);const t=this.attachedElements.indexOf(e);return t>=0&&(this.attachedElements.splice(t,1),this.recycleElement(e),this.emit(Jh.ElementDetached,e)),e}const t=[];return this.attachedElements.forEach(e=>{kp(this.mediaStreamTrack,e),t.push(e),this.recycleElement(e),this.emit(Jh.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=pu(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 fu(this,void 0,void 0,function*(){this.isInBackground="hidden"===document.visibilityState,this.isInBackground||this.kind!==fp.Kind.Video||setTimeout(()=>this.attachedElements.forEach(e=>e.play().catch(()=>{})),0)})}addAppVisibilityListener(){Bp()?(this.isInBackground="hidden"===document.visibilityState,document.addEventListener("visibilitychange",this.appVisibilityChangedListener)):this.isInBackground=!1}removeAppVisibilityListener(){Bp()&&document.removeEventListener("visibilitychange",this.appVisibilityChangedListener)}}function bp(e,t){let i,n;i=t.srcObject instanceof MediaStream?t.srcObject:new MediaStream,n="audio"===e.kind?i.getAudioTracks():i.getVideoTracks(),n.includes(e)||(n.forEach(e=>{i.removeTrack(e)}),i.addTrack(e)),Fp()&&t instanceof HTMLVideoElement||(t.autoplay=!0),t.muted=0===i.getAudioTracks().length,t instanceof HTMLVideoElement&&(t.playsInline=!0),t.srcObject!==i&&(t.srcObject=i,(Fp()||jp())&&t instanceof HTMLVideoElement&&setTimeout(()=>{t.srcObject=i,t.play().catch(()=>{})},0))}function kp(e,t){if(t.srcObject instanceof MediaStream){const i=t.srcObject;i.removeTrack(e),i.getTracks().length>0?t.srcObject=i:t.srcObject=null}}!function(e){let t;var i;let n;var r;let a;var o;(i=t=e.Kind||(e.Kind={})).Audio="audio",i.Video="video",i.Unknown="unknown",(r=n=e.Source||(e.Source={})).Camera="camera",r.Microphone="microphone",r.ScreenShare="screen_share",r.ScreenShareAudio="screen_share_audio",r.Unknown="unknown",(o=a=e.StreamState||(e.StreamState={})).Active="active",o.Paused="paused",o.Unknown="unknown",e.kindToProto=function(e){switch(e){case t.Audio:return hl.AUDIO;case t.Video:return hl.VIDEO;default:return hl.DATA}},e.kindFromProto=function(e){switch(e){case hl.AUDIO:return t.Audio;case hl.VIDEO:return t.Video;default:return t.Unknown}},e.sourceToProto=function(e){switch(e){case n.Camera:return pl.CAMERA;case n.Microphone:return pl.MICROPHONE;case n.ScreenShare:return pl.SCREEN_SHARE;case n.ScreenShareAudio:return pl.SCREEN_SHARE_AUDIO;default:return pl.UNKNOWN}},e.sourceFromProto=function(e){switch(e){case pl.CAMERA:return n.Camera;case pl.MICROPHONE:return n.Microphone;case pl.SCREEN_SHARE:return n.ScreenShare;case pl.SCREEN_SHARE_AUDIO:return n.ScreenShareAudio;default:return n.Unknown}},e.streamStateFromProto=function(e){switch(e){case sd.ACTIVE:return a.Active;case sd.PAUSED:return a.Paused;default:return a.Unknown}}}(fp||(fp={}));class wp{constructor(e,t,i,n,r){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===i)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:i,maxFramerate:n,priority:r}}}get resolution(){return{width:this.width,height:this.height,frameRate:this.encoding.maxFramerate,aspectRatio:this.aspectRatio}}}const yp=["vp8","h264"],xp=["vp8","h264","vp9","av1","h265"];function Cp(e){return!!yp.find(t=>t===e)}var Sp,Tp,Ep,Pp;(Tp=Sp||(Sp={}))[Tp.PREFER_REGRESSION=0]="PREFER_REGRESSION",Tp[Tp.SIMULCAST=1]="SIMULCAST",Tp[Tp.REGRESSION=2]="REGRESSION",(Pp=Ep||(Ep={})).telephone={maxBitrate:12e3},Pp.speech={maxBitrate:24e3},Pp.music={maxBitrate:48e3},Pp.musicStereo={maxBitrate:64e3},Pp.musicHighQuality={maxBitrate:96e3},Pp.musicHighQualityStereo={maxBitrate:128e3};const Mp={h90:new wp(160,90,9e4,20),h180:new wp(320,180,16e4,20),h216:new wp(384,216,18e4,20),h360:new wp(640,360,45e4,20),h540:new wp(960,540,8e5,25),h720:new wp(1280,720,17e5,30),h1080:new wp(1920,1080,3e6,30),h1440:new wp(2560,1440,5e6,30),h2160:new wp(3840,2160,8e6,30)},_p={h120:new wp(160,120,7e4,20),h180:new wp(240,180,125e3,20),h240:new wp(320,240,14e4,20),h360:new wp(480,360,33e4,20),h480:new wp(640,480,5e5,20),h540:new wp(720,540,6e5,25),h720:new wp(960,720,13e5,30),h1080:new wp(1440,1080,23e5,30),h1440:new wp(1920,1440,38e5,30)},Ip={h360fps3:new wp(640,360,2e5,3,"medium"),h360fps15:new wp(640,360,4e5,15,"medium"),h720fps5:new wp(1280,720,8e5,5,"medium"),h720fps15:new wp(1280,720,15e5,15,"medium"),h720fps30:new wp(1280,720,2e6,30,"medium"),h1080fps15:new wp(1920,1080,25e5,15,"medium"),h1080fps30:new wp(1920,1080,5e6,30,"medium"),original:new wp(0,0,7e6,30,"medium")},Rp="https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension";function Ap(e){return fu(this,void 0,void 0,function*(){return new Promise(t=>pp.setTimeout(t,e))})}function Op(){return"addTransceiver"in RTCPeerConnection.prototype}function Dp(){return"addTrack"in RTCPeerConnection.prototype}function Lp(e){return"av1"===e||"vp9"===e}function Np(e){return!(!document||Up())&&(e||(e=document.createElement("audio")),"setSinkId"in e)}function jp(){var e;return"Firefox"===(null===(e=lp())||void 0===e?void 0:e.name)}function Fp(){var e;return"Safari"===(null===(e=lp())||void 0===e?void 0:e.name)}function Up(){const e=lp();return"Safari"===(null==e?void 0:e.name)||"iOS"===(null==e?void 0:e.os)}function zp(){var e,t;return!!Bp()&&(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 Bp(){return"undefined"!=typeof document}function Vp(){return"ReactNative"==navigator.product}function qp(e){return e.hostname.endsWith(".livekit.cloud")||e.hostname.endsWith(".livekit.run")}function Hp(){if(global&&global.LiveKitReactNativeGlobal)return global.LiveKitReactNativeGlobal}function Gp(){if(!Vp())return;let e=Hp();return e?e.platform:void 0}function Wp(){if(Bp())return window.devicePixelRatio;if(Vp()){let e=Hp();if(e)return e.devicePixelRatio}return 1}function $p(e,t){const i=e.split("."),n=t.split("."),r=Math.min(i.length,n.length);for(let a=0;a<r;++a){const e=parseInt(i[a],10),t=parseInt(n[a],10);if(e>t)return 1;if(e<t)return-1;if(a===r-1&&e===t)return 0}return""===e&&""!==t?-1:""===t?1:i.length==n.length?0:i.length<n.length?-1:1}function Jp(e){for(const t of e)t.target.handleResize(t)}function Kp(e){for(const t of e)t.target.handleVisibilityChanged(t)}let Qp=null;const Zp=()=>(Qp||(Qp=new ResizeObserver(Jp)),Qp);let Yp=null;const Xp=()=>(Yp||(Yp=new IntersectionObserver(Kp,{root:null,rootMargin:"0px"})),Yp);function eg(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const r=document.createElement("canvas");r.width=e,r.height=t;const a=r.getContext("2d");null==a||a.fillRect(0,0,r.width,r.height),n&&a&&(a.beginPath(),a.arc(e/2,t/2,50,0,2*Math.PI,!0),a.closePath(),a.fillStyle="grey",a.fill());const o=r.captureStream(),[s]=o.getTracks();if(!s)throw Error("Could not get empty media stream video track");return s.enabled=i,s}let tg;function ig(){if(!tg){const e=new AudioContext,t=e.createOscillator(),i=e.createGain();i.gain.setValueAtTime(0,0);const n=e.createMediaStreamDestination();if(t.connect(i),i.connect(n),t.start(),[tg]=n.stream.getAudioTracks(),!tg)throw Error("Could not get empty media stream audio track");tg.enabled=!1}return tg.clone()}class ng{get isResolved(){return this._isResolved}constructor(e,t){this._isResolved=!1,this.onFinally=t,this.promise=new Promise((t,i)=>fu(this,void 0,void 0,function*(){this.resolve=t,this.reject=i,e&&(yield e(t,i))})).finally(()=>{var e;this._isResolved=!0,null===(e=this.onFinally)||void 0===e||e.call(this)})}}function rg(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 ag(e){return e.startsWith("ws")?e.replace(/^(ws)/,"http"):e}function og(e){switch(e.reason){case Dh.LeaveRequest:return e.context;case Dh.Cancelled:return fl.CLIENT_INITIATED;case Dh.NotAllowed:return fl.USER_REJECTED;case Dh.ServerUnreachable:return fl.JOIN_FAILURE;default:return fl.UNKNOWN_REASON}}function sg(e){return void 0!==e?Number(e):void 0}function cg(e){return void 0!==e?BigInt(e):void 0}function lg(e){return!!e&&!(e instanceof MediaStreamTrack)&&e.isLocal}function dg(e){return!!e&&e.kind==fp.Kind.Audio}function ug(e){return!!e&&e.kind==fp.Kind.Video}function hg(e){return lg(e)&&ug(e)}function pg(e){return lg(e)&&dg(e)}function gg(e){return!!e&&!e.isLocal}function mg(e){return!!e&&!e.isLocal}function vg(e){return gg(e)&&ug(e)}function fg(e,t,i){var n,r,a,o;const{optionsWithoutProcessor:s,audioProcessor:c,videoProcessor:l}=Eg(null!=e?e:{}),d=null==t?void 0:t.processor,u=null==i?void 0:i.processor,h=null!=s?s:{};return!0===h.audio&&(h.audio={}),!0===h.video&&(h.video={}),h.audio&&(bg(h.audio,t),null!==(n=(a=h.audio).deviceId)&&void 0!==n||(a.deviceId={ideal:"default"}),(c||d)&&(h.audio.processor=null!=c?c:d)),h.video&&(bg(h.video,i),null!==(r=(o=h.video).deviceId)&&void 0!==r||(o.deviceId={ideal:"default"}),(l||u)&&(h.video.processor=null!=l?l:u)),h}function bg(e,t){return Object.keys(t).forEach(i=>{void 0===e[i]&&(e[i]=t[i])}),e}function kg(e){var t,i,n,r;const a={};if(e.video)if("object"==typeof e.video){const i={},r=i,o=e.video;Object.keys(o).forEach(e=>{"resolution"===e?bg(r,o.resolution):r[e]=o[e]}),a.video=i,null!==(t=(n=a.video).deviceId)&&void 0!==t||(n.deviceId={ideal:"default"})}else a.video=!!e.video&&{deviceId:{ideal:"default"}};else a.video=!1;return e.audio?"object"==typeof e.audio?(a.audio=e.audio,null!==(i=(r=a.audio).deviceId)&&void 0!==i||(r.deviceId={ideal:"default"})):a.audio={deviceId:{ideal:"default"}}:a.audio=!1,a}function wg(){var e;const t="undefined"!=typeof window&&(window.AudioContext||window.webkitAudioContext);if(t){const i=new t({latencyHint:"interactive"});if("suspended"===i.state&&"undefined"!=typeof window&&(null===(e=window.document)||void 0===e?void 0:e.body)){const e=()=>fu(this,void 0,void 0,function*(){var t;try{"suspended"===i.state&&(yield i.resume())}catch(Gb){}null===(t=window.document.body)||void 0===t||t.removeEventListener("click",e)});window.document.body.addEventListener("click",e)}return i}}function yg(e){return"audioinput"===e?fp.Source.Microphone:"videoinput"===e?fp.Source.Camera:fp.Source.Unknown}function xg(e){return e===fp.Source.Microphone?"audioinput":e===fp.Source.Camera?"videoinput":void 0}function Cg(e){return e.split("/")[1].toLowerCase()}function Sg(e){const t=[];return e.forEach(e=>{void 0!==e.track&&t.push(new fd({cid:e.track.mediaStreamID,track:e.trackInfo}))}),t}function Tg(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?Tg(e.track):{})}}function Eg(e){const t=Object.assign({},e);let i,n;return"object"==typeof t.audio&&t.audio.processor&&(i=t.audio.processor,t.audio=Object.assign(Object.assign({},t.audio),{processor:void 0})),"object"==typeof t.video&&t.video.processor&&(n=t.video.processor,t.video=Object.assign(Object.assign({},t.video),{processor:void 0})),{audioProcessor:i,videoProcessor:n,optionsWithoutProcessor:(r=t,void 0===r?r:"function"==typeof structuredClone?"object"==typeof r&&null!==r?structuredClone(Object.assign({},r)):structuredClone(r):JSON.parse(JSON.stringify(r)))};var r}function Pg(e,t){return e.width*e.height<t.width*t.height}class Mg extends yu.EventEmitter{constructor(e){super(),this.onWorkerMessage=e=>{var t,i;const{kind:n,data:r}=e.data;switch(n){case"error":hu.error(r.error.message),this.emit(Rh.EncryptionError,r.error);break;case"initAck":r.enabled&&this.keyProvider.getKeys().forEach(e=>{this.postKey(e)});break;case"enable":if(r.enabled&&this.keyProvider.getKeys().forEach(e=>{this.postKey(e)}),this.encryptionEnabled!==r.enabled&&r.participantIdentity===(null===(t=this.room)||void 0===t?void 0:t.localParticipant.identity))this.emit(Rh.ParticipantEncryptionStatusChanged,r.enabled,this.room.localParticipant),this.encryptionEnabled=r.enabled;else if(r.participantIdentity){const e=null===(i=this.room)||void 0===i?void 0:i.getParticipantByIdentity(r.participantIdentity);if(!e)throw TypeError("couldn't set encryption status, participant not found".concat(r.participantIdentity));this.emit(Rh.ParticipantEncryptionStatusChanged,r.enabled,e)}break;case"ratchetKey":this.keyProvider.emit(Mh.KeyRatcheted,r.ratchetResult,r.participantIdentity,r.keyIndex)}},this.onWorkerError=e=>{hu.error("e2ee worker encountered an error:",{error:e.error}),this.emit(Rh.EncryptionError,e.error)},this.keyProvider=e.keyProvider,this.worker=e.worker,this.encryptionEnabled=!1}setup(e){if(!(void 0!==window.RTCRtpSender&&void 0!==window.RTCRtpSender.prototype.createEncodedStreams||Qh()))throw new Xh("tried to setup end-to-end encryption on an unsupported browser");if(hu.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:gu.getLevel()}};this.worker&&(hu.info("initializing worker",{worker:this.worker}),this.worker.onmessage=this.onWorkerMessage,this.worker.onerror=this.onWorkerError,this.worker.postMessage(t))}}setParticipantCryptorEnabled(e,t){hu.debug("set e2ee to ".concat(e," for participant ").concat(t)),this.postEnable(e,t)}setSifTrailer(e){e&&0!==e.length?this.postSifTrailer(e):hu.warn("ignoring server sent trailer as it's empty")}setupEngine(e){e.on(Wh.RTPVideoMapUpdate,e=>{this.postRTPMap(e)})}setupEventListeners(e,t){e.on(Vh.TrackPublished,(e,t)=>this.setParticipantCryptorEnabled(e.trackInfo.encryption!==Ml.NONE,t.identity)),e.on(Vh.ConnectionStateChanged,t=>{t===Zm.Connected&&e.remoteParticipants.forEach(e=>{e.trackPublications.forEach(t=>{this.setParticipantCryptorEnabled(t.trackInfo.encryption!==Ml.NONE,e.identity)})})}).on(Vh.TrackUnsubscribed,(e,t,i)=>{var n;const r={kind:"removeTransform",data:{participantIdentity:i.identity,trackId:e.mediaStreamID}};null===(n=this.worker)||void 0===n||n.postMessage(r)}).on(Vh.TrackSubscribed,(e,t,i)=>{this.setupE2EEReceiver(e,i.identity,t.trackInfo)}).on(Vh.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(Hh.LocalSenderCreated,(e,t)=>fu(this,void 0,void 0,function*(){this.setupE2EESender(t,e)})),t.on(Mh.SetKey,e=>this.postKey(e)).on(Mh.RatchetRequest,(e,t)=>this.postRatchetRequest(e,t))}postRatchetRequest(e,t){if(!this.worker)throw Error("could not ratchet key, worker is missing");const i={kind:"ratchetRequest",data:{participantIdentity:e,keyIndex:t}};this.worker.postMessage(i)}postKey(e){let{key:t,participantIdentity:i,keyIndex:n}=e;var r;if(!this.worker)throw Error("could not set key, worker is missing");const a={kind:"setKey",data:{participantIdentity:i,isPublisher:i===(null===(r=this.room)||void 0===r?void 0:r.localParticipant.identity),key:t,keyIndex:n}};this.worker.postMessage(a)}postEnable(e,t){if(!this.worker)throw new ReferenceError("failed to enable e2ee, worker is not ready");{const i={kind:"enable",data:{enabled:e,participantIdentity:t}};this.worker.postMessage(i)}}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 i={kind:"setRTPMap",data:{map:e,participantIdentity:this.room.localParticipant.identity}};this.worker.postMessage(i)}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,i){if(e.receiver){if(!(null==i?void 0:i.mimeType)||""===i.mimeType)throw new TypeError("MimeType missing from trackInfo, cannot set up E2EE cryptor");this.handleReceiver(e.receiver,e.mediaStreamID,t,"video"===e.kind?Cg(i.mimeType):void 0)}}setupE2EESender(e,t){lg(e)&&t?this.handleSender(t,e.mediaStreamID,void 0):t||hu.warn("early return because sender is not ready")}handleReceiver(e,t,i,n){return fu(this,void 0,void 0,function*(){if(this.worker){if(Qh()){const r={kind:"decode",participantIdentity:i,trackId:t,codec:n};e.transform=new RTCRtpScriptTransform(this.worker,r)}else{if(Ph in e&&n){const e={kind:"updateCodec",data:{trackId:t,codec:n,participantIdentity:i}};return void this.worker.postMessage(e)}let r=e.writableStream,a=e.readableStream;if(!r||!a){const t=e.createEncodedStreams();e.writableStream=t.writable,r=t.writable,e.readableStream=t.readable,a=t.readable}const o={kind:"decode",data:{readableStream:a,writableStream:r,trackId:t,codec:n,participantIdentity:i,isReuse:Ph in e}};this.worker.postMessage(o,[a,r])}e[Ph]=!0}})}handleSender(e,t,i){var n;if(!(Ph in e)&&this.worker){if(!(null===(n=this.room)||void 0===n?void 0:n.localParticipant.identity)||""===this.room.localParticipant.identity)throw TypeError("local identity needs to be known in order to set up encrypted sender");if(Qh()){hu.info("initialize script transform");const n={kind:"encode",participantIdentity:this.room.localParticipant.identity,trackId:t,codec:i};e.transform=new RTCRtpScriptTransform(this.worker,n)}else{hu.info("initialize encoded streams");const n=e.createEncodedStreams(),r={kind:"encode",data:{readableStream:n.readable,writableStream:n.writable,codec:i,trackId:t,participantIdentity:this.room.localParticipant.identity,isReuse:!1}};this.worker.postMessage(r,[n.readable,n.writable])}e[Ph]=!0}}}const _g="default";class Ig{constructor(){this._previousDevices=[]}static getInstance(){return void 0===this.instance&&(this.instance=new Ig),this.instance}get previousDevices(){return this._previousDevices}getDevices(e){return fu(this,arguments,void 0,function(e){var t=this;let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var n;if((null===(n=Ig.userMediaPromiseMap)||void 0===n?void 0:n.size)>0){hu.debug("awaiting getUserMedia promise");try{e?yield Ig.userMediaPromiseMap.get(e):yield Promise.all(Ig.userMediaPromiseMap.values())}catch(Gb){hu.warn("error waiting for media permissons")}}let r=yield navigator.mediaDevices.enumerateDevices();if(i&&(!Fp()||!t.hasDeviceInUse(e))&&(0===r.filter(t=>t.kind===e).length||r.some(t=>{const i=""===t.label,n=!e||t.kind===e;return i&&n}))){const t={video:"audioinput"!==e&&"audiooutput"!==e,audio:"videoinput"!==e&&{deviceId:{ideal:"default"}}},i=yield navigator.mediaDevices.getUserMedia(t);r=yield navigator.mediaDevices.enumerateDevices(),i.getTracks().forEach(e=>{e.stop()})}return t._previousDevices=r,e&&(r=r.filter(t=>t.kind===e)),r}()})}normalizeDeviceId(e,t,i){return fu(this,void 0,void 0,function*(){if(t!==_g)return t;const n=yield this.getDevices(e),r=n.find(e=>e.deviceId===_g);if(!r)return void hu.warn("could not reliably determine default device");const a=n.find(e=>e.deviceId!==_g&&e.groupId===(null!=i?i:r.groupId));if(a)return null==a?void 0:a.deviceId;hu.warn("could not reliably determine default device")})}hasDeviceInUse(e){return e?Ig.userMediaPromiseMap.has(e):Ig.userMediaPromiseMap.size>0}}var Rg,Ag;Ig.mediaDeviceKinds=["audioinput","audiooutput","videoinput"],Ig.userMediaPromiseMap=new Map,(Ag=Rg||(Rg={}))[Ag.WAITING=0]="WAITING",Ag[Ag.RUNNING=1]="RUNNING",Ag[Ag.COMPLETED=2]="COMPLETED";class Og{constructor(){this.pendingTasks=new Map,this.taskMutex=new Is,this.nextTaskIndex=0}run(e){return fu(this,void 0,void 0,function*(){const t={id:this.nextTaskIndex++,enqueuedAt:Date.now(),status:Rg.WAITING};this.pendingTasks.set(t.id,t);const i=yield this.taskMutex.lock();try{return t.executedAt=Date.now(),t.status=Rg.RUNNING,yield e()}finally{t.status=Rg.COMPLETED,this.pendingTasks.delete(t.id),i()}})}flush(){return fu(this,void 0,void 0,function*(){return this.run(()=>fu(this,void 0,void 0,function*(){}))})}snapshot(){return Array.from(this.pendingTasks.values())}}function Dg(e,t){return e.pathname="".concat(function(e){return e.endsWith("/")?e:"".concat(e,"/")}(e.pathname)).concat(t),e.toString()}const Lg=["syncState","trickle","offer","answer","simulate","leave"];var Ng,jg;(jg=Ng||(Ng={}))[jg.CONNECTING=0]="CONNECTING",jg[jg.CONNECTED=1]="CONNECTED",jg[jg.RECONNECTING=2]="RECONNECTING",jg[jg.DISCONNECTING=3]="DISCONNECTING",jg[jg.DISCONNECTED=4]="DISCONNECTED";class Fg{get currentState(){return this.state}get isDisconnected(){return this.state===Ng.DISCONNECTING||this.state===Ng.DISCONNECTED}get isEstablishingConnection(){return this.state===Ng.CONNECTING||this.state===Ng.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 i;this.rtt=0,this.state=Ng.DISCONNECTED,this.log=hu,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=pu(null!==(i=t.loggerName)&&void 0!==i?i:cu.Signal),this.loggerContextCb=t.loggerContextCb,this.useJSON=e,this.requestQueue=new Og,this.queuedRequests=[],this.closingLock=new Is,this.connectionLock=new Is,this.state=Ng.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,i,n){return fu(this,void 0,void 0,function*(){return this.state=Ng.CONNECTING,this.options=i,yield this.connect(e,t,i,n)})}reconnect(e,t,i,n){return fu(this,void 0,void 0,function*(){if(this.options)return this.state=Ng.RECONNECTING,this.clearPingInterval(),yield this.connect(e,t,Object.assign(Object.assign({},this.options),{reconnect:!0,sid:i,reconnectReason:n}));this.log.warn("attempted to reconnect without signal options being set, ignoring",this.logContext)})}connect(e,t,i,n){this.connectOptions=i;const r=function(e,t,i){var n;const r=new URLSearchParams;return r.set("access_token",e),i.reconnect&&(r.set("reconnect","1"),i.sid&&r.set("sid",i.sid)),r.set("auto_subscribe",i.autoSubscribe?"1":"0"),r.set("sdk",Vp()?"reactnative":"js"),r.set("version",t.version),r.set("protocol",t.protocol.toString()),t.deviceModel&&r.set("device_model",t.deviceModel),t.os&&r.set("os",t.os),t.osVersion&&r.set("os_version",t.osVersion),t.browser&&r.set("browser",t.browser),t.browserVersion&&r.set("browser_version",t.browserVersion),i.adaptiveStream&&r.set("adaptive_stream","1"),i.reconnectReason&&r.set("reconnect_reason",i.reconnectReason.toString()),(null===(n=navigator.connection)||void 0===n?void 0:n.type)&&r.set("network",navigator.connection.type),r}(t,function(){var e;const t=new Jl({sdk:Kl.JS,protocol:16,version:"2.15.5"});return Vp()&&(t.os=null!==(e=Gp())&&void 0!==e?e:""),t}(),i),a=function(e,t){const i=new URL(function(e){return e.startsWith("http")?e.replace(/^(http)/,"ws"):e}(e));return t.forEach((e,t)=>{i.searchParams.set(t,e)}),Dg(i,"rtc")}(e,r),o=Dg(new URL(ag(a)),"validate");return new Promise((e,t)=>fu(this,void 0,void 0,function*(){const r=yield this.connectionLock.lock();try{const r=()=>fu(this,void 0,void 0,function*(){this.close(),clearTimeout(s),t(new Yh("room connection has been cancelled (signal)",Dh.Cancelled))}),s=setTimeout(()=>{this.close(),t(new Yh("room connection has timed out (signal)",Dh.ServerUnreachable))},i.websocketTimeout);(null==n?void 0:n.aborted)&&r(),null==n||n.addEventListener("abort",r);const c=new URL(a);c.searchParams.has("access_token")&&c.searchParams.set("access_token","<redacted>"),this.log.debug("connecting to ".concat(c),Object.assign({reconnect:i.reconnect,reconnectReason:i.reconnectReason},this.logContext)),this.ws&&(yield this.close(!1)),this.ws=new WebSocket(a),this.ws.binaryType="arraybuffer",this.ws.onopen=()=>{clearTimeout(s)},this.ws.onerror=e=>fu(this,void 0,void 0,function*(){if(this.state===Ng.CONNECTED)this.handleWSError(e);else{this.state=Ng.DISCONNECTED,clearTimeout(s);try{const i=yield fetch(o);if(i.status.toFixed(0).startsWith("4")){const e=yield i.text();t(new Yh(e,Dh.NotAllowed,i.status))}else t(new Yh("Encountered unknown websocket error during connection: ".concat(e.toString()),Dh.InternalError,i.status))}catch(Gb){t(new Yh(Gb instanceof Error?Gb.message:"server was not reachable",Dh.ServerUnreachable))}}}),this.ws.onmessage=a=>fu(this,void 0,void 0,function*(){var o,s,c;let l;if("string"==typeof a.data){const e=JSON.parse(a.data);l=dd.fromJson(e,{ignoreUnknownFields:!0})}else{if(!(a.data instanceof ArrayBuffer))return void this.log.error("could not decode websocket message: ".concat(typeof a.data),this.logContext);l=dd.fromBinary(new Uint8Array(a.data))}if(this.state!==Ng.CONNECTED){let a=!1;if("join"===(null===(o=l.message)||void 0===o?void 0:o.case)?(this.state=Ng.CONNECTED,null==n||n.removeEventListener("abort",r),this.pingTimeoutDuration=l.message.value.pingTimeout,this.pingIntervalDuration=l.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(l.message.value)):this.state===Ng.RECONNECTING&&"leave"!==l.message.case?(this.state=Ng.CONNECTED,null==n||n.removeEventListener("abort",r),this.startPingInterval(),"reconnect"===(null===(s=l.message)||void 0===s?void 0:s.case)?e(l.message.value):(this.log.debug("declaring signal reconnected without reconnect response received",this.logContext),e(void 0),a=!0)):this.isEstablishingConnection&&"leave"===l.message.case?t(new Yh("Received leave request while trying to (re)connect",Dh.LeaveRequest,void 0,l.message.value.reason)):i.reconnect||t(new Yh("did not receive join response, got ".concat(null===(c=l.message)||void 0===c?void 0:c.case," instead"),Dh.InternalError)),!a)return}this.signalLatency&&(yield Ap(this.signalLatency)),this.handleSignalResponse(l)}),this.ws.onclose=e=>{this.isEstablishingConnection&&t(new Yh("Websocket got closed during a (re)connection attempt",Dh.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{r()}}))}close(){return fu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){const i=yield e.closingLock.lock();try{if(e.clearPingInterval(),t&&(e.state=Ng.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,Ap(250)])),e.ws=void 0}}finally{t&&(e.state=Ng.DISCONNECTED),i()}}()})}sendOffer(e,t){this.log.debug("sending offer",Object.assign(Object.assign({},this.logContext),{offerSdp:e.sdp})),this.sendRequest({case:"offer",value:zg(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:zg(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 pd({candidateInit:JSON.stringify(e),target:t})})}sendMuteTrack(e,t){return this.sendRequest({case:"mute",value:new gd({sid:e,muted:t})})}sendAddTrack(e){return this.sendRequest({case:"addTrack",value:e})}sendUpdateLocalMetadata(e,t){return fu(this,arguments,void 0,function(e,t){var i=this;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function*(){const r=i.getNextRequestId();return yield i.sendRequest({case:"updateMetadata",value:new Md({requestId:r,metadata:e,name:t,attributes:n})}),r}()})}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 Pd({trackSid:e,layers:t})})}sendUpdateSubscriptionPermissions(e,t){return this.sendRequest({case:"subscriptionPermission",value:new zd({allParticipants:e,trackPermissions:t})})}sendSimulateScenario(e){return this.sendRequest({case:"simulate",value:e})}sendPing(){return Promise.all([this.sendRequest({case:"ping",value:Qs.parse(Date.now())}),this.sendRequest({case:"pingReq",value:new $d({timestamp:Qs.parse(Date.now()),rtt:Qs.parse(this.rtt)})})])}sendUpdateLocalAudioTrack(e,t){return this.sendRequest({case:"updateAudioTrack",value:new Cd({trackSid:e,features:t})})}sendLeave(){return this.sendRequest({case:"leave",value:new Td({reason:fl.CLIENT_INITIATED,action:Ed.DISCONNECT})})}sendRequest(e){return fu(this,arguments,void 0,function(e){var t=this;let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function*(){const n=!i&&!function(e){const t=Lg.indexOf(e.case)>=0;return hu.trace("request allowed to bypass queue:",{canPass:t,req:e}),t}(e);if(n&&t.state===Ng.RECONNECTING)return void t.queuedRequests.push(()=>fu(t,void 0,void 0,function*(){yield this.sendRequest(e,!0)}));if(i||(yield t.requestQueue.flush()),t.signalLatency&&(yield Ap(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 r=new ld({message:e});try{t.useJSON?t.ws.send(r.toJsonString()):t.ws.send(r.toBinary())}catch(Gb){t.log.error("error sending signal message",Object.assign(Object.assign({},t.logContext),{error:Gb}))}}()})}handleSignalResponse(e){var t,i;const n=e.message;if(null==n)return void this.log.debug("received unsupported message",this.logContext);let r=!1;if("answer"===n.case){const e=Ug(n.value);this.onAnswer&&this.onAnswer(e,n.value.id)}else if("offer"===n.case){const e=Ug(n.value);this.onOffer&&this.onOffer(e,n.value.id)}else if("trickle"===n.case){const e=JSON.parse(n.value.candidateInit);this.onTrickle&&this.onTrickle(e,n.value.target)}else"update"===n.case?this.onParticipantUpdate&&this.onParticipantUpdate(null!==(t=n.value.participants)&&void 0!==t?t:[]):"trackPublished"===n.case?this.onLocalTrackPublished&&this.onLocalTrackPublished(n.value):"speakersChanged"===n.case?this.onSpeakersChanged&&this.onSpeakersChanged(null!==(i=n.value.speakers)&&void 0!==i?i:[]):"leave"===n.case?this.onLeave&&this.onLeave(n.value):"mute"===n.case?this.onRemoteMuteChanged&&this.onRemoteMuteChanged(n.value.sid,n.value.muted):"roomUpdate"===n.case?this.onRoomUpdate&&n.value.room&&this.onRoomUpdate(n.value.room):"connectionQuality"===n.case?this.onConnectionQuality&&this.onConnectionQuality(n.value):"streamStateUpdate"===n.case?this.onStreamStateUpdate&&this.onStreamStateUpdate(n.value):"subscribedQualityUpdate"===n.case?this.onSubscribedQualityUpdate&&this.onSubscribedQualityUpdate(n.value):"subscriptionPermissionUpdate"===n.case?this.onSubscriptionPermissionUpdate&&this.onSubscriptionPermissionUpdate(n.value):"refreshToken"===n.case?this.onTokenRefresh&&this.onTokenRefresh(n.value):"trackUnpublished"===n.case?this.onLocalTrackUnpublished&&this.onLocalTrackUnpublished(n.value):"subscriptionResponse"===n.case?this.onSubscriptionError&&this.onSubscriptionError(n.value):"pong"===n.case||("pongResp"===n.case?(this.rtt=Date.now()-Number.parseInt(n.value.lastPingTimestamp.toString()),this.resetPingTimeout(),r=!0):"requestResponse"===n.case?this.onRequestResponse&&this.onRequestResponse(n.value):"trackSubscribed"===n.case?this.onLocalTrackSubscribed&&this.onLocalTrackSubscribed(n.value.trackSid):"roomMoved"===n.case?(this.onTokenRefresh&&this.onTokenRefresh(n.value.token),this.onRoomMoved&&this.onRoomMoved(n.value)):this.log.debug("unsupported message",Object.assign(Object.assign({},this.logContext),{msgCase:n.case})));r||this.resetPingTimeout()}setReconnected(){for(;this.queuedRequests.length>0;){const e=this.queuedRequests.shift();e&&this.requestQueue.run(e)}}handleOnClose(e){return fu(this,void 0,void 0,function*(){if(this.state===Ng.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=pp.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&&pp.clearTimeout(this.pingTimeout)}startPingInterval(){this.clearPingInterval(),this.resetPingTimeout(),this.pingIntervalDuration?(this.log.debug("start ping interval",this.logContext),this.pingInterval=pp.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&&pp.clearInterval(this.pingInterval)}}function Ug(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 zg(e,t){return new kd({sdp:e.sdp,type:e.type,id:t})}class Bg{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 Vg{constructor(e){this._map=new Map,this._lastCleanup=0,this.ttl=e}set(e,t){const i=Date.now();i-this._lastCleanup>this.ttl/2&&this.cleanup();const n=i+this.ttl;return this._map.set(e,{value:t,expiresAt:n}),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,i]of this._map.entries())i.expiresAt<e&&this._map.delete(t);this._lastCleanup=e}get size(){return this.cleanup(),this._map.size}forEach(e){this.cleanup();for(const[t,i]of this._map.entries())i.expiresAt>=Date.now()&&e(i.value,t,this.asValueMap())}map(e){this.cleanup();const t=[],i=this.asValueMap();for(const[n,r]of i.entries())t.push(e(r,n,i));return t}asValueMap(){const e=new Map;for(const[t,i]of this._map.entries())i.expiresAt>=Date.now()&&e.set(t,i.value);return e}}var qg,Hg,Gg,Wg,$g,Jg={},Kg={},Qg={exports:{}};function Zg(){if(qg)return Qg.exports;qg=1;var e=Qg.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")})}),Qg.exports}function Yg(){if(Wg)return Gg;Wg=1;var e=Zg(),t=/%[sdv%]/g,i=function(e){var i=1,n=arguments,r=n.length;return e.replace(t,function(e){if(i>=r)return e;var t=n[i];switch(i+=1,e){case"%%":return"%";case"%s":return String(t);case"%d":return Number(t);case"%v":return""}})},n=function(e,t,n){var r=[e+"="+(t.format instanceof Function?t.format(t.push?n:n[t.name]):t.format)];if(t.names)for(var a=0;a<t.names.length;a+=1){var o=t.names[a];t.name?r.push(n[t.name][o]):r.push(n[t.names[a]])}else r.push(n[t.name]);return i.apply(null,r)},r=["v","o","s","i","u","e","p","c","b","t","r","z","a"],a=["i","c","b","a"];return Gg=function(t,i){i=i||{},null==t.version&&(t.version=0),null==t.name&&(t.name=" "),t.media.forEach(function(e){null==e.payloads&&(e.payloads="")});var o=i.outerOrder||r,s=i.innerOrder||a,c=[];return o.forEach(function(i){e[i].forEach(function(e){e.name in t&&null!=t[e.name]?c.push(n(i,e,t)):e.push in t&&null!=t[e.push]&&t[e.push].forEach(function(t){c.push(n(i,e,t))})})}),t.media.forEach(function(t){c.push(n("m",e.m[0],t)),s.forEach(function(i){e[i].forEach(function(e){e.name in t&&null!=t[e.name]?c.push(n(i,e,t)):e.push in t&&null!=t[e.push]&&t[e.push].forEach(function(t){c.push(n(i,e,t))})})})}),c.join("\r\n")+"\r\n"}}var Xg=function(){if($g)return Jg;$g=1;var e=(Hg||(Hg=1,function(e){var t=function(e){return String(Number(e))===e?Number(e):e},i=function(e,i,n){var r=e.name&&e.names;e.push&&!i[e.push]?i[e.push]=[]:r&&!i[e.name]&&(i[e.name]={});var a=e.push?{}:r?i[e.name]:i;!function(e,i,n,r){if(r&&!n)i[r]=t(e[1]);else for(var a=0;a<n.length;a+=1)null!=e[a+1]&&(i[n[a]]=t(e[a+1]))}(n.match(e.reg),a,e.names,e.name),e.push&&i[e.push].push(a)},n=Zg(),r=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},a=[],o=t;return e.split(/(\r\n|\r|\n)/).filter(r).forEach(function(e){var t=e[0],r=e.slice(2);"m"===t&&(a.push({rtp:[],fmtp:[]}),o=a[a.length-1]);for(var s=0;s<(n[t]||[]).length;s+=1){var c=n[t][s];if(c.reg.test(r))return i(c,o,r)}}),t.media=a,t};var a=function(e,i){var n=i.split(/=(.+)/,2);return 2===n.length?e[n[0]]=t(n[1]):1===n.length&&i.length>1&&(e[n[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(a,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var i=[],n=e.split(" ").map(t),r=0;r<n.length;r+=3)i.push({component:n[r],ip:n[r+1],port:n[r+2]});return i},e.parseImageAttributes=function(e){return e.split(" ").map(function(e){return e.substring(1,e.length-1).split(",").reduce(a,{})})},e.parseSimulcastStreamList=function(e){return e.split(";").map(function(e){return e.split(",").map(function(e){var i,n=!1;return"~"!==e[0]?i=t(e):(i=t(e.substring(1,e.length)),n=!0),{scid:i,paused:n}})})}}(Kg)),Kg),t=Yg(),i=Zg();return Jg.grammar=i,Jg.write=t,Jg.parse=e.parse,Jg.parseParams=e.parseParams,Jg.parseFmtpConfig=e.parseFmtpConfig,Jg.parsePayloads=e.parsePayloads,Jg.parseRemoteCandidates=e.parseRemoteCandidates,Jg.parseImageAttributes=e.parseImageAttributes,Jg.parseSimulcastStreamList=e.parseSimulcastStreamList,Jg}();function em(e,t,i){var n,r,a;void 0===t&&(t=50),void 0===i&&(i={});var o=null!=(n=i.isImmediate)&&n,s=null!=(r=i.callback)&&r,c=i.maxWait,l=Date.now(),d=[],u=function(){var i=[].slice.call(arguments),n=this;return new Promise(function(r,u){var h=o&&void 0===a;if(void 0!==a&&clearTimeout(a),a=setTimeout(function(){if(a=void 0,l=Date.now(),!o){var t=e.apply(n,i);s&&s(t),d.forEach(function(e){return(0,e.resolve)(t)}),d=[]}},function(){if(void 0!==c){var e=Date.now()-l;if(e+t>=c)return c-e}return t}()),h){var p=e.apply(n,i);return s&&s(p),r(p)}d.push({resolve:r,reject:u})})};return u.cancel=function(e){void 0!==a&&clearTimeout(a),d.forEach(function(t){return(0,t.reject)(e)}),d=[]},u}const tm="negotiationStarted",im="negotiationComplete",nm="rtpVideoPayloadTypes";class rm extends yu.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 i;super(),this.log=hu,this.ddExtID=0,this.latestOfferId=0,this.pendingCandidates=[],this.restartingIce=!1,this.renegotiate=!1,this.trackBitrates=[],this.remoteStereoMids=[],this.remoteNackMids=[],this.negotiate=em(e=>fu(this,void 0,void 0,function*(){this.emit(tm);try{yield this.createAndSendOffer()}catch(Gb){if(!e)throw Gb;e(Gb)}}),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=pu(null!==(i=t.loggerName)&&void 0!==i?i:cu.PCTransport),this.loggerOptions=t,this.config=e,this._pc=this.createPC(),this.offerLock=new Is}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 fu(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 fu(this,void 0,void 0,function*(){var i;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 n;if("offer"===e.type){let{stereoMids:t,nackMids:i}=function(e){var t;const i=[],n=[],r=Xg.parse(null!==(t=e.sdp)&&void 0!==t?t:"");let a=0;return r.media.forEach(e=>{var t;"audio"===e.type&&(e.rtp.some(e=>"opus"===e.codec&&(a=e.payload,!0)),(null===(t=e.rtcpFb)||void 0===t?void 0:t.some(e=>e.payload===a&&"nack"===e.type))&&n.push(e.mid),e.fmtp.some(t=>t.payload===a&&(t.config.includes("sprop-stereo=1")&&i.push(e.mid),!0)))}),{stereoMids:i,nackMids:n}}(e);this.remoteStereoMids=t,this.remoteNackMids=i}else if("answer"===e.type){const t=Xg.parse(null!==(i=e.sdp)&&void 0!==i?i:"");t.media.forEach(e=>{"audio"===e.type&&this.trackBitrates.some(t=>{if(!t.transceiver||e.mid!=t.transceiver.mid)return!1;let i=0;if(e.rtp.some(e=>e.codec.toUpperCase()===t.codec.toUpperCase()&&(i=e.payload,!0)),0===i)return!0;let n=!1;for(const r of e.fmtp)if(r.payload===i){r.config=r.config.split(";").filter(e=>!e.includes("maxaveragebitrate")).join(";"),t.maxbr>0&&(r.config+=";maxaveragebitrate=".concat(1e3*t.maxbr)),n=!0;break}return n||t.maxbr>0&&e.fmtp.push({payload:i,config:"maxaveragebitrate=".concat(1e3*t.maxbr)}),!0})}),n=Xg.write(t)}return yield this.setMungedSDP(e,n,!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(im),e.sdp)&&Xg.parse(e.sdp).media.forEach(e=>{"video"===e.type&&this.emit(nm,e.rtp)}),!0})}createAndSendOffer(e){return fu(this,void 0,void 0,function*(){var t;const i=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 i=this.latestOfferId+1;this.latestOfferId=i;const n=yield this.pc.createOffer(e);this.log.debug("original offer",Object.assign({sdp:n.sdp},this.logContext));const r=Xg.parse(null!==(t=n.sdp)&&void 0!==t?t:"");if(r.media.forEach(e=>{om(e),"audio"===e.type?am(e,[],[]):"video"===e.type&&this.trackBitrates.some(t=>{if(!e.msid||!t.cid||!e.msid.includes(t.cid))return!1;let i=0;if(e.rtp.some(e=>e.codec.toUpperCase()===t.codec.toUpperCase()&&(i=e.payload,!0)),0===i)return!0;if(Lp(t.codec)&&!Fp()&&this.ensureVideoDDExtensionForSVC(e,r),"av1"!==t.codec)return!0;const n=Math.round(.7*t.maxbr);for(const r of e.fmtp)if(r.payload===i){r.config.includes("x-google-start-bitrate")||(r.config+=";x-google-start-bitrate=".concat(n));break}return!0})}),this.latestOfferId>i)return void this.log.warn("latestOfferId mismatch",Object.assign(Object.assign({},this.logContext),{latestOfferId:this.latestOfferId,offerId:i}));yield this.setMungedSDP(n,Xg.write(r)),this.onOffer(n,this.latestOfferId)}finally{i()}})}createAndSetAnswer(){return fu(this,void 0,void 0,function*(){var e;const t=yield this.pc.createAnswer(),i=Xg.parse(null!==(e=t.sdp)&&void 0!==e?e:"");return i.media.forEach(e=>{om(e),"audio"===e.type&&am(e,this.remoteStereoMids,this.remoteNackMids)}),yield this.setMungedSDP(t,Xg.write(i)),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 ip("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 ip("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 fu(this,void 0,void 0,function*(){var e;if(!this._pc)return;let t="";const i=new Map,n=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),i.set(e.id,e);break;case"remote-candidate":n.set(e.id,"".concat(e.address,":").concat(e.port))}}),""===t)return;const r=null===(e=i.get(t))||void 0===e?void 0:e.remoteCandidateId;return void 0!==r?n.get(r):void 0})}setMungedSDP(e,t,i){return fu(this,void 0,void 0,function*(){if(t){const n=e.sdp;e.sdp=t;try{return this.log.debug("setting munged ".concat(i?"remote":"local"," description"),this.logContext),void(i?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e))}catch(Gb){this.log.warn("not able to set ".concat(e.type,", falling back to unmodified sdp"),Object.assign(Object.assign({},this.logContext),{error:Gb,sdp:t})),e.sdp=n}}try{i?yield this.pc.setRemoteDescription(e):yield this.pc.setLocalDescription(e)}catch(Gb){let n="unknown error";Gb instanceof Error?n=Gb.message:"string"==typeof Gb&&(n=Gb);const r={error:n,sdp:e.sdp};throw!i&&this.pc.remoteDescription&&(r.remoteSdp=this.pc.remoteDescription),this.log.error("unable to set ".concat(e.type),Object.assign(Object.assign({},this.logContext),{fields:r})),new np(n)}})}ensureVideoDDExtensionForSVC(e,t){var i,n;if(!(null===(i=e.ext)||void 0===i?void 0:i.some(e=>e.uri===Rp))){if(0===this.ddExtID){let e=0;t.media.forEach(t=>{var i;"video"===t.type&&(null===(i=t.ext)||void 0===i||i.forEach(t=>{t.value>e&&(e=t.value)}))}),this.ddExtID=e+1}null===(n=e.ext)||void 0===n||n.push({value:this.ddExtID,uri:Rp})}}}function am(e,t,i){let n=0;e.rtp.some(e=>"opus"===e.codec&&(n=e.payload,!0)),n>0&&(e.rtcpFb||(e.rtcpFb=[]),i.includes(e.mid)&&!e.rtcpFb.some(e=>e.payload===n&&"nack"===e.type)&&e.rtcpFb.push({payload:n,type:"nack"}),t.includes(e.mid)&&e.fmtp.some(e=>e.payload===n&&(e.config.includes("stereo=1")||(e.config+=";stereo=1"),!0)))}function om(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)}}const sm="vp8",cm={audioPreset:Ep.music,dtx:!0,red:!0,forceStereo:!1,simulcast:!0,screenShareEncoding:Ip.h1080fps15.encoding,stopMicTrackOnMute:!1,videoCodec:sm,backupCodec:!0,preConnectBuffer:!1},lm={deviceId:{ideal:"default"},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0,voiceIsolation:!0},dm={deviceId:{ideal:"default"},resolution:Mp.h720.resolution},um={adaptiveStream:!1,dynacast:!1,stopLocalTrackOnUnpublish:!0,reconnectPolicy:new class{constructor(e){this._retryDelays=void 0!==e?[...e]:vu}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},hm={autoSubscribe:!0,maxRetries:1,peerConnectionTimeout:15e3,websocketTimeout:15e3};var pm,gm;(gm=pm||(pm={}))[gm.NEW=0]="NEW",gm[gm.CONNECTING=1]="CONNECTING",gm[gm.CONNECTED=2]="CONNECTED",gm[gm.FAILED=3]="FAILED",gm[gm.CLOSING=4]="CLOSING",gm[gm.CLOSED=5]="CLOSED";class mm{get needsPublisher(){return this.isPublisherConnectionRequired}get needsSubscriber(){return this.isSubscriberConnectionRequired}get currentState(){return this.state}constructor(e,t,i){var n;this.peerConnectionTimeout=hm.peerConnectionTimeout,this.log=hu,this.updateState=()=>{var e;const t=this.state,i=this.requiredTransports.map(e=>e.getConnectionState());i.every(e=>"connected"===e)?this.state=pm.CONNECTED:i.some(e=>"failed"===e)?this.state=pm.FAILED:i.some(e=>"connecting"===e)?this.state=pm.CONNECTING:i.every(e=>"closed"===e)?this.state=pm.CLOSED:i.some(e=>"closed"===e)?this.state=pm.CLOSING:i.every(e=>"new"===e)&&(this.state=pm.NEW),t!==this.state&&(this.log.debug("pc state change: from ".concat(pm[t]," to ").concat(pm[this.state]),this.logContext),null===(e=this.onStateChange)||void 0===e||e.call(this,this.state,this.publisher.getConnectionState(),this.subscriber.getConnectionState()))},this.log=pu(null!==(n=i.loggerName)&&void 0!==n?n:cu.PCManager),this.loggerOptions=i,this.isPublisherConnectionRequired=!t,this.isSubscriberConnectionRequired=t,this.publisher=new rm(e,i),this.subscriber=new rm(e,i),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,od.PUBLISHER)},this.subscriber.onIceCandidate=e=>{var t;null===(t=this.onIceCandidate)||void 0===t||t.call(this,e,od.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 i;null===(i=this.onPublisherOffer)||void 0===i||i.call(this,e,t)},this.state=pm.NEW,this.connectionLock=new Is,this.remoteOfferLock=new Is}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 fu(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(Gb){this.log.warn("could not removeTrack",Object.assign(Object.assign({},this.logContext),{error:Gb}))}}yield Promise.all([this.publisher.close(),this.subscriber.close()]),this.updateState()})}triggerIceRestart(){return fu(this,void 0,void 0,function*(){this.subscriber.restartingIce=!0,this.needsPublisher&&(yield this.createAndSendPublisherOffer({iceRestart:!0}))})}addIceCandidate(e,t){return fu(this,void 0,void 0,function*(){t===od.PUBLISHER?yield this.publisher.addIceCandidate(e):yield this.subscriber.addIceCandidate(e)})}createSubscriberAnswerFromOffer(e,t){return fu(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 i=yield this.remoteOfferLock.lock();try{if(!(yield this.subscriber.setRemoteDescription(e,t)))return;return yield this.subscriber.createAndSetAnswer()}finally{i()}})}updateConfiguration(e,t){this.publisher.setConfiguration(e),this.subscriber.setConfiguration(e),t&&this.triggerIceRestart()}ensurePCTransportConnection(e,t){return fu(this,void 0,void 0,function*(){var i;const n=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===(i=this.requiredTransports)||void 0===i?void 0:i.map(i=>this.ensureTransportConnected(i,e,t)))}finally{n()}})}negotiate(e){return fu(this,void 0,void 0,function*(){return new Promise((t,i)=>fu(this,void 0,void 0,function*(){const n=setTimeout(()=>{i("negotiation timed out")},this.peerConnectionTimeout);e.signal.addEventListener("abort",()=>{clearTimeout(n),i("negotiation aborted")}),this.publisher.once(tm,()=>{e.signal.aborted||this.publisher.once(im,()=>{clearTimeout(n),t()})}),yield this.publisher.negotiate(e=>{clearTimeout(n),i(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===od.PUBLISHER||e===od.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 fu(this,arguments,void 0,function(e,t){var i=this;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.peerConnectionTimeout;return function*(){if("connected"!==e.getConnectionState())return new Promise((e,r)=>fu(i,void 0,void 0,function*(){const i=()=>{this.log.warn("abort transport connection",this.logContext),pp.clearTimeout(a),r(new Yh("room connection has been cancelled",Dh.Cancelled))};(null==t?void 0:t.signal.aborted)&&i(),null==t||t.signal.addEventListener("abort",i);const a=pp.setTimeout(()=>{null==t||t.signal.removeEventListener("abort",i),r(new Yh("could not establish pc connection",Dh.InternalError))},n);for(;this.state!==pm.CONNECTED;)if(yield Ap(50),null==t?void 0:t.signal.aborted)return void r(new Yh("room connection has been cancelled",Dh.Cancelled));pp.clearTimeout(a),null==t||t.signal.removeEventListener("abort",i),e()}))}()})}}class vm extends Error{constructor(e,t,i){super(t),this.code=e,this.message=bm(t,vm.MAX_MESSAGE_BYTES),this.data=i?bm(i,vm.MAX_DATA_BYTES):void 0}static fromProto(e){return new vm(e.code,e.message,e.data)}toProto(){return new Hl({code:this.code,message:this.message,data:this.data})}static builtIn(e,t){return new vm(vm.ErrorCode[e],vm.ErrorMessage[e],t)}}function fm(e){return(new TextEncoder).encode(e).length}function bm(e,t){if(fm(e)<=t)return e;let i=0,n=e.length;const r=new TextEncoder;for(;i<n;){const a=Math.floor((i+n+1)/2);r.encode(e.slice(0,a)).length<=t?i=a:n=a-1}return e.slice(0,i)}vm.MAX_MESSAGE_BYTES=256,vm.MAX_DATA_BYTES=15360,vm.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},vm.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 km=2e3;function wm(e,t){if(!t)return 0;let i,n;return"bytesReceived"in e?(i=e.bytesReceived,n=t.bytesReceived):"bytesSent"in e&&(i=e.bytesSent,n=t.bytesSent),void 0===i||void 0===n||void 0===e.timestamp||void 0===t.timestamp?0:8*(i-n)*1e3/(e.timestamp-t.timestamp)}const ym="undefined"!=typeof MediaRecorder,xm=ym?MediaRecorder:class{constructor(){throw new Error("MediaRecorder is not available in this environment")}};class Cm extends xm{constructor(e,t){if(!ym)throw new Error("MediaRecorder is not available in this environment");let i,n;super(new MediaStream([e.mediaStreamTrack]),t);const r=()=>{this.removeEventListener("dataavailable",i),this.removeEventListener("stop",r),this.removeEventListener("error",a),null==n||n.close(),n=void 0},a=e=>{null==n||n.error(e),this.removeEventListener("dataavailable",i),this.removeEventListener("stop",r),this.removeEventListener("error",a),n=void 0};this.byteStream=new ReadableStream({start:e=>{n=e,i=t=>fu(this,void 0,void 0,function*(){let i;if(t.data.arrayBuffer){const e=yield t.data.arrayBuffer();i=new Uint8Array(e)}else{if(!t.data.byteArray)throw new Error("no data available!");i=t.data.byteArray}void 0!==n&&e.enqueue(i)}),this.addEventListener("dataavailable",i)},cancel:()=>{r()}}),this.addEventListener("stop",r),this.addEventListener("error",a)}}class Sm extends fp{get sender(){return this._sender}set sender(e){this._sender=e}get constraints(){return this._constraints}get hasPreConnectBuffer(){return!!this.localTrackRecorder}constructor(e,t,i){let n=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=em(()=>fu(this,void 0,void 0,function*(){yield this.pauseUpstream()}),5e3),this.handleTrackUnmuteEvent=()=>fu(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(Jh.Ended,this)},this.reacquireTrack=!1,this.providedByUser=n,this.muteLock=new Is,this.pauseUpstreamLock=new Is,this.trackChangeLock=new Is,this.trackChangeLock.lock().then(t=>fu(this,void 0,void 0,function*(){try{yield this.setMediaStreamTrack(e,!0)}finally{t()}})),this._constraints=e.getConstraints(),i&&(this._constraints=i)}get id(){return this._mediaStreamTrack.id}get dimensions(){if(this.kind!==fp.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 fu(this,void 0,void 0,function*(){var i;if(e===this._mediaStreamTrack&&!t)return;let n;if(this._mediaStreamTrack&&(this.attachedElements.forEach(e=>{kp(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&&(bp(e,this.processorElement),this.processorElement.muted=!0),yield this.processor.restart({track:e,kind:this.kind,element:this.processorElement}),n=this.processor.processedTrack}this.sender&&"closed"!==(null===(i=this.sender.transport)||void 0===i?void 0:i.state)&&(yield this.sender.replaceTrack(null!=n?n: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=>{bp(null!=n?n:e,t)}))})}waitForDimensions(){return fu(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e3;return function*(){var i;if(e.kind===fp.Kind.Audio)throw new Error("cannot get dimensions for audio tracks");"iOS"===(null===(i=lp())||void 0===i?void 0:i.os)&&(yield Ap(10));const n=Date.now();for(;Date.now()-n<t;){const t=e.dimensions;if(t)return t;yield Ap(50)}throw new ep("unable to get track dimensions after timeout")}()})}setDeviceId(e){return fu(this,void 0,void 0,function*(){return this._constraints.deviceId===e&&this._mediaStreamTrack.getSettings().deviceId===rg(e)||(this._constraints.deviceId=e,!!this.isMuted||(yield this.restartTrack(),rg(e)===this._mediaStreamTrack.getSettings().deviceId))})}getDeviceId(){return fu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){if(e.source===fp.Source.ScreenShare)return;const{deviceId:i,groupId:n}=e._mediaStreamTrack.getSettings(),r=e.kind===fp.Kind.Audio?"audioinput":"videoinput";return t?Ig.getInstance().normalizeDeviceId(r,i,n):i}()})}mute(){return fu(this,void 0,void 0,function*(){return this.setTrackMuted(!0),this})}unmute(){return fu(this,void 0,void 0,function*(){return this.setTrackMuted(!1),this})}replaceTrack(e,t){return fu(this,void 0,void 0,function*(){const i=yield this.trackChangeLock.lock();try{if(!this.sender)throw new ep("unable to replace an unpublished track");let i,n;return"boolean"==typeof t?i=t:void 0!==t&&(i=t.userProvidedTrack,n=t.stopProcessor),this.providedByUser=null==i||i,this.log.debug("replace MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(e),n&&this.processor&&(yield this.internalStopProcessor()),this}finally{i()}})}restart(e){return fu(this,void 0,void 0,function*(){this.manuallyStopped=!1;const t=yield this.trackChangeLock.lock();try{e||(e=this._constraints);const{deviceId:t,facingMode:i}=e,n=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]])}return i}(e,["deviceId","facingMode"]);this.log.debug("restarting track with constraints",Object.assign(Object.assign({},this.logContext),{constraints:e}));const r={audio:!1,video:!1};this.kind===fp.Kind.Video?r.video=!t&&!i||{deviceId:t,facingMode:i}:r.audio=!t||{deviceId:t},this.attachedElements.forEach(e=>{kp(this.mediaStreamTrack,e)}),this._mediaStreamTrack.removeEventListener("ended",this.handleEnded),this._mediaStreamTrack.stop();const a=(yield navigator.mediaDevices.getUserMedia(r)).getTracks()[0];return yield a.applyConstraints(n),a.addEventListener("ended",this.handleEnded),this.log.debug("re-acquired MediaStreamTrack",this.logContext),yield this.setMediaStreamTrack(a),this._constraints=e,this.emit(Jh.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?Jh.Muted:Jh.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 fu(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),zp()&&(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 fu(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(Jh.UpstreamPaused,this);const t=lp();if("Safari"===(null==t?void 0:t.name)&&$p(t.version,"12.0")<0)throw new Xh("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 fu(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(Jh.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 fu(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 fu(this,arguments,void 0,function(e){var t=this;let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var n;const r=yield t.trackChangeLock.lock();try{t.log.debug("setting up processor",t.logContext);const r=document.createElement(t.kind),a={kind:t.kind,track:t._mediaStreamTrack,element:r,audioContext:t.audioContext};if(yield e.init(a),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(bp(t._mediaStreamTrack,r),r.muted=!0,r.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(()=>{r.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=r,t.processor.processedTrack){for(const e of t.attachedElements)e!==t.processorElement&&i&&(kp(t._mediaStreamTrack,e),bp(t.processor.processedTrack,e));yield null===(n=t.sender)||void 0===n?void 0:n.replaceTrack(t.processor.processedTrack)}t.emit(Jh.TrackProcessorUpdate,t.processor)}finally{r()}}()})}getProcessor(){return this.processor}stopProcessor(){return fu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){const i=yield e.trackChangeLock.lock();try{yield e.internalStopProcessor(t)}finally{i()}}()})}internalStopProcessor(){return fu(this,arguments,void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){var i,n;e.processor&&(e.log.debug("stopping processor",e.logContext),null===(i=e.processor.processedTrack)||void 0===i||i.stop(),yield e.processor.destroy(),e.processor=void 0,t||(null===(n=e.processorElement)||void 0===n||n.remove(),e.processorElement=void 0),yield e._mediaStreamTrack.applyConstraints(e._constraints),yield e.setMediaStreamTrack(e._mediaStreamTrack,!0),e.emit(Jh.TrackProcessorUpdate))}()})}startPreConnectBuffer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100;if(ym)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 Cm(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 Tm extends Sm{get enhancedNoiseCancellation(){return this.isKrispNoiseFilterEnabled}constructor(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0;super(e,fp.Kind.Audio,t,i,r),this.stopOnMute=!1,this.isKrispNoiseFilterEnabled=!1,this.monitorSender=()=>fu(this,void 0,void 0,function*(){if(!this.sender)return void(this._currentBitrate=0);let e;try{e=yield this.getSenderStats()}catch(Gb){return void this.log.error("could not get audio sender stats",Object.assign(Object.assign({},this.logContext),{error:Gb}))}e&&this.prevStats&&(this._currentBitrate=wm(e,this.prevStats)),this.prevStats=e}),this.handleKrispNoiseFilterEnable=()=>{this.isKrispNoiseFilterEnabled=!0,this.log.debug("Krisp noise filter enabled",this.logContext),this.emit(Jh.AudioTrackFeatureUpdate,this,wl.TF_ENHANCED_NOISE_CANCELLATION,!0)},this.handleKrispNoiseFilterDisable=()=>{this.isKrispNoiseFilterEnabled=!1,this.log.debug("Krisp noise filter disabled",this.logContext),this.emit(Jh.AudioTrackFeatureUpdate,this,wl.TF_ENHANCED_NOISE_CANCELLATION,!1)},this.audioContext=n,this.checkForSilence()}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return fu(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===fp.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 fu(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!==rg(this._constraints.deviceId);return this.source!==fp.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 fu(this,void 0,void 0,function*(){let t;if(e){const i=kg({audio:e});"boolean"!=typeof i.audio&&(t=i.audio)}yield this.restart(t)})}restart(e){const t=Object.create(null,{restart:{get:()=>super.restart}});return fu(this,void 0,void 0,function*(){const i=yield t.restart.call(this,e);return this.checkForSilence(),i})}startMonitor(){Bp()&&(this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},km)))}setProcessor(e){return fu(this,void 0,void 0,function*(){var t;const i=yield this.trackChangeLock.lock();try{if(!Vp()&&!this.audioContext)throw Error("Audio context needs to be set on LocalAudioTrack in order to enable processors");this.processor&&(yield this.internalStopProcessor());const i={kind:this.kind,track:this._mediaStreamTrack,audioContext:this.audioContext};this.log.debug("setting up audio processor ".concat(e.name),this.logContext),yield e.init(i),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(Jh.TrackProcessorUpdate,this.processor)}finally{i()}})}setAudioContext(e){this.audioContext=e}getSenderStats(){return fu(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 fu(this,void 0,void 0,function*(){const e=yield function(e){return fu(this,arguments,void 0,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;return function*(){const i=wg();if(i){const n=i.createAnalyser();n.fftSize=2048;const r=n.frequencyBinCount,a=new Uint8Array(r);i.createMediaStreamSource(new MediaStream([e.mediaStreamTrack])).connect(n),yield Ap(t),n.getByteTimeDomainData(a);const o=a.some(e=>128!==e&&0!==e);return i.close(),!o}return!1}()})}(this);return e&&(this.isMuted||this.log.warn("silence detected on local audio track",this.logContext),this.emit(Jh.AudioSilenceDetected)),e})}}const Em=Object.values(Mp),Pm=Object.values(_p),Mm=Object.values(Ip),_m=[Mp.h180,Mp.h360],Im=[_p.h180,_p.h360],Rm=["q","h","f"];function Am(e,t,i,n){var r,a;let o=null==n?void 0:n.videoEncoding;e&&(o=null==n?void 0:n.screenShareEncoding);const s=null==n?void 0:n.simulcast,c=null==n?void 0:n.scalabilityMode,l=null==n?void 0:n.videoCodec;if(!o&&!s&&!c||!t||!i)return[{}];o||(o=function(e,t,i,n){const r=function(e,t,i){if(e)return Mm;const n=t>i?t/i:i/t;return Math.abs(n-16/9)<Math.abs(n-4/3)?Em:Pm}(e,t,i);let{encoding:a}=r[0];const o=Math.max(t,i);for(let s=0;s<r.length;s+=1){const e=r[s];if(a=e.encoding,e.width>=o)break}if(n)switch(n){case"av1":case"h265":a=Object.assign({},a),a.maxBitrate=.7*a.maxBitrate;break;case"vp9":a=Object.assign({},a),a.maxBitrate=.85*a.maxBitrate}return a}(e,t,i,l),hu.debug("using video encoding",o));const d=o.maxFramerate,u=new wp(t,i,o.maxBitrate,o.maxFramerate,o.priority);if(c&&Lp(l)){const e=new Nm(c),t=[];if(e.spatial>3)throw new Error("unsupported scalabilityMode: ".concat(c));const i=lp();if(Up()||Vp()||"Chrome"===(null==i?void 0:i.name)&&$p(null==i?void 0:i.version,"113")<0){const n="h"==e.suffix?2:3,r=function(e){return e||(e=lp()),"Safari"===(null==e?void 0:e.name)&&$p(e.version,"18.3")>0||"iOS"===(null==e?void 0:e.os)&&!!(null==e?void 0:e.osVersion)&&$p(e.osVersion,"18.3")>0}(i);for(let i=0;i<e.spatial;i+=1)t.push({rid:Rm[2-i],maxBitrate:o.maxBitrate/Math.pow(n,i),maxFramerate:u.encoding.maxFramerate,scaleResolutionDownBy:r?Math.pow(2,i):void 0});t[0].scalabilityMode=c}else t.push({maxBitrate:o.maxBitrate,maxFramerate:u.encoding.maxFramerate,scalabilityMode:c});return u.encoding.priority&&(t[0].priority=u.encoding.priority,t[0].networkPriority=u.encoding.priority),hu.debug("using svc encoding",{encodings:t}),t}if(!s)return[o];let h,p=[];if(p=e?null!==(r=Lm(null==n?void 0:n.screenShareSimulcastLayers))&&void 0!==r?r:Om(e,u):null!==(a=Lm(null==n?void 0:n.videoSimulcastLayers))&&void 0!==a?a:Om(e,u),p.length>0){const e=p[0];p.length>1&&([,h]=p);const n=Math.max(t,i);if(n>=960&&h)return Dm(t,i,[e,h,u],d);if(n>=480)return Dm(t,i,[e,u],d)}return Dm(t,i,[u])}function Om(e,t){if(e)return[{scaleResolutionDownBy:2,fps:(i=t).encoding.maxFramerate}].map(e=>{var t,n;return new wp(Math.floor(i.width/e.scaleResolutionDownBy),Math.floor(i.height/e.scaleResolutionDownBy),Math.max(15e4,Math.floor(i.encoding.maxBitrate/(Math.pow(e.scaleResolutionDownBy,2)*((null!==(t=i.encoding.maxFramerate)&&void 0!==t?t:30)/(null!==(n=e.fps)&&void 0!==n?n:30))))),e.fps,i.encoding.priority)});var i;const{width:n,height:r}=t,a=n>r?n/r:r/n;return Math.abs(a-16/9)<Math.abs(a-4/3)?_m:Im}function Dm(e,t,i,n){const r=[];if(i.forEach((i,a)=>{if(a>=Rm.length)return;const o=Math.min(e,t),s={rid:Rm[a],scaleResolutionDownBy:Math.max(1,o/Math.min(i.width,i.height)),maxBitrate:i.encoding.maxBitrate},c=n&&i.encoding.maxFramerate?Math.min(n,i.encoding.maxFramerate):i.encoding.maxFramerate;c&&(s.maxFramerate=c);const l=jp()||0===a;i.encoding.priority&&l&&(s.priority=i.encoding.priority,s.networkPriority=i.encoding.priority),r.push(s)}),Vp()&&"ios"===Gp()){let e;r.forEach(t=>{e?t.maxFramerate&&t.maxFramerate>e&&(e=t.maxFramerate):e=t.maxFramerate});let t=!0;r.forEach(i=>{var n;i.maxFramerate!=e&&(t&&(t=!1,hu.info("Simulcast on iOS React-Native requires all encodings to share the same framerate.")),hu.info('Setting framerate of encoding "'.concat(null!==(n=i.rid)&&void 0!==n?n:"",'" to ').concat(e)),i.maxFramerate=e)})}return r}function Lm(e){if(e)return e.sort((e,t)=>{const{encoding:i}=e,{encoding:n}=t;return i.maxBitrate>n.maxBitrate?1:i.maxBitrate<n.maxBitrate?-1:i.maxBitrate===n.maxBitrate&&i.maxFramerate&&n.maxFramerate?i.maxFramerate>n.maxFramerate?1:-1:0})}class Nm{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 jm extends Sm{get sender(){return this._sender}set sender(e){this._sender=e,this.degradationPreference&&this.setDegradationPreference(this.degradationPreference)}constructor(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3?arguments[3]:void 0;super(e,fp.Kind.Video,t,i,n),this.simulcastCodecs=new Map,this.degradationPreference="balanced",this.isCpuConstrained=!1,this.optimizeForPerformance=!1,this.monitorSender=()=>fu(this,void 0,void 0,function*(){if(!this.sender)return void(this._currentBitrate=0);let e;try{e=yield this.getSenderStats()}catch(Gb){return void this.log.error("could not get video sender stats",Object.assign(Object.assign({},this.logContext),{error:Gb}))}const t=new Map(e.map(e=>[e.rid,e])),i=e.some(e=>"cpu"===e.qualityLimitationReason);if(i!==this.isCpuConstrained&&(this.isCpuConstrained=i,this.isCpuConstrained&&this.emit(Jh.CpuConstrained)),this.prevStats){let e=0;t.forEach((t,i)=>{var n;const r=null===(n=this.prevStats)||void 0===n?void 0:n.get(i);e+=wm(t,r)}),this._currentBitrate=e}this.prevStats=t}),this.senderLock=new Is}get isSimulcast(){return!!(this.sender&&this.sender.getParameters().encodings.length>1)}startMonitor(e){var t;if(this.signalClient=e,!Bp())return;const i=null===(t=this.sender)||void 0===t?void 0:t.getParameters();i&&(this.encodings=i.encodings),this.monitorInterval||(this.monitorInterval=setInterval(()=>{this.monitorSender()},km))}stop(){this._mediaStreamTrack.getConstraints(),this.simulcastCodecs.forEach(e=>{e.mediaStreamTrack.stop()}),super.stop()}pauseUpstream(){const e=Object.create(null,{pauseUpstream:{get:()=>super.pauseUpstream}});return fu(this,void 0,void 0,function*(){var t,i,n,r,a;yield e.pauseUpstream.call(this);try{for(var o,s=!0,c=bu(this.simulcastCodecs.values());!(t=(o=yield c.next()).done);s=!0){r=o.value,s=!1;const e=r;yield null===(a=e.sender)||void 0===a?void 0:a.replaceTrack(null)}}catch(l){i={error:l}}finally{try{s||t||!(n=c.return)||(yield n.call(c))}finally{if(i)throw i.error}}})}resumeUpstream(){const e=Object.create(null,{resumeUpstream:{get:()=>super.resumeUpstream}});return fu(this,void 0,void 0,function*(){var t,i,n,r,a;yield e.resumeUpstream.call(this);try{for(var o,s=!0,c=bu(this.simulcastCodecs.values());!(t=(o=yield c.next()).done);s=!0){r=o.value,s=!1;const e=r;yield null===(a=e.sender)||void 0===a?void 0:a.replaceTrack(e.mediaStreamTrack)}}catch(l){i={error:l}}finally{try{s||t||!(n=c.return)||(yield n.call(c))}finally{if(i)throw i.error}}})}mute(){const e=Object.create(null,{mute:{get:()=>super.mute}});return fu(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!==fp.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 fu(this,void 0,void 0,function*(){const t=yield this.muteLock.lock();try{return this.isMuted?(this.source!==fp.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 fu(this,void 0,void 0,function*(){var e;if(!(null===(e=this.sender)||void 0===e?void 0:e.getStats))return[];const t=[],i=yield this.sender.getStats();return i.forEach(e=>{var n;if("outbound-rtp"===e.type){const r={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!==(n=e.rid)&&void 0!==n?n:e.id,retransmittedPacketsSent:e.retransmittedPacketsSent,targetBitrate:e.targetBitrate,timestamp:e.timestamp},a=i.get(e.remoteId);a&&(r.jitter=a.jitter,r.packetsLost=a.packetsLost,r.roundTripTime=a.roundTripTime),t.push(r)}}),t.sort((e,t)=>{var i,n;return(null!==(i=t.frameWidth)&&void 0!==i?i:0)-(null!==(n=e.frameWidth)&&void 0!==n?n:0)}),t})}setPublishingQuality(e){const t=[];for(let i=mp.LOW;i<=mp.HIGH;i+=1)t.push(new Nd({quality:i,enabled:i<=e}));this.log.debug("setting publishing quality. max quality ".concat(e),this.logContext),this.setPublishingLayers(Lp(this.codec),t)}restartTrack(e){return fu(this,void 0,void 0,function*(){var t,i,n,r,a;let o;if(e){const t=kg({video:e});"boolean"!=typeof t.video&&(o=t.video)}yield this.restart(o),this.isCpuConstrained=!1;try{for(var s,c=!0,l=bu(this.simulcastCodecs.values());!(t=(s=yield l.next()).done);c=!0){r=s.value,c=!1;const e=r;e.sender&&"closed"!==(null===(a=e.sender.transport)||void 0===a?void 0:a.state)&&(e.mediaStreamTrack=this.mediaStreamTrack.clone(),yield e.sender.replaceTrack(e.mediaStreamTrack))}}catch(d){i={error:d}}finally{try{c||t||!(n=l.return)||(yield n.call(l))}finally{if(i)throw i.error}}})}setProcessor(e){const t=Object.create(null,{setProcessor:{get:()=>super.setProcessor}});return fu(this,arguments,void 0,function(e){var i=this;let n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){var r,a,o,s,c,l;if(yield t.setProcessor.call(i,e,n),null===(c=i.processor)||void 0===c?void 0:c.processedTrack)try{for(var d,u=!0,h=bu(i.simulcastCodecs.values());!(r=(d=yield h.next()).done);u=!0){s=d.value,u=!1;const e=s;yield null===(l=e.sender)||void 0===l?void 0:l.replaceTrack(i.processor.processedTrack)}}catch(p){a={error:p}}finally{try{u||r||!(o=h.return)||(yield o.call(h))}finally{if(a)throw a.error}}}()})}setDegradationPreference(e){return fu(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(Gb){this.log.warn("failed to set degradationPreference",Object.assign({error:Gb},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 i={codec:e,mediaStreamTrack:this.mediaStreamTrack.clone(),sender:void 0,encodings:t};return this.simulcastCodecs.set(e,i),i}setSimulcastTrackSender(e,t){const i=this.simulcastCodecs.get(e);i&&(i.sender=t,setTimeout(()=>{this.subscribedCodecs&&this.setPublishingCodecs(this.subscribedCodecs)},5e3))}setPublishingCodecs(e){return fu(this,void 0,void 0,function*(){var t,i,n,r,a,o,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(Lp(e[0].codec),e[0].qualities),[];this.subscribedCodecs=e;const c=[];try{for(t=!0,i=bu(e);!(r=(n=yield i.next()).done);t=!0){s=n.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 Fm(t.sender,t.encodings,e.qualities,this.senderLock,Lp(e.codec),this.log,this.logContext));else for(const i of e.qualities)if(i.enabled){c.push(e.codec);break}}else yield this.setPublishingLayers(Lp(e.codec),e.qualities)}}catch(l){a={error:l}}finally{try{t||r||!(o=i.return)||(yield o.call(i))}finally{if(a)throw a.error}}return c})}setPublishingLayers(e,t){return fu(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 Fm(this.sender,this.encodings,t,this.senderLock,e,this.log,this.logContext)))})}prioritizePerformance(){return fu(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 i;return Object.assign(Object.assign({},e),{active:0===t,scaleResolutionDownBy:Math.max(1,Math.ceil((null!==(i=this.mediaStreamTrack.getSettings().height)&&void 0!==i?i:360)/360)),scalabilityMode:0===t&&Lp(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(Gb){this.log.error("failed to set performance optimised encodings",Object.assign(Object.assign({},this.logContext),{error:Gb})),this.optimizeForPerformance=!1}finally{e()}})}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return fu(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),zp()&&this.isInBackground&&this.source===fp.Source.Camera&&(this._mediaStreamTrack.enabled=!1)})}}function Fm(e,t,i,n,r,a,o){return fu(this,void 0,void 0,function*(){const s=yield n.lock();a.debug("setPublishingLayersForSender",Object.assign(Object.assign({},o),{sender:e,qualities:i,senderEncodings:t}));try{const n=e.getParameters(),{encodings:s}=n;if(!s)return;if(s.length!==t.length)return void a.warn("cannot set publishing layers, encodings mismatch",Object.assign(Object.assign({},o),{encodings:s,senderEncodings:t}));let c=!1;r&&i.some(e=>e.enabled)&&i.forEach(e=>e.enabled=!0),s.forEach((e,n)=>{var r;let s=null!==(r=e.rid)&&void 0!==r?r:"";""===s&&(s="q");const l=Um(s),d=i.find(e=>e.quality===l);d&&e.active!==d.enabled&&(c=!0,e.active=d.enabled,a.debug("setting layer ".concat(d.quality," to ").concat(e.active?"enabled":"disabled"),o),jp()&&(d.enabled?(e.scaleResolutionDownBy=t[n].scaleResolutionDownBy,e.maxBitrate=t[n].maxBitrate,e.maxFrameRate=t[n].maxFrameRate):(e.scaleResolutionDownBy=4,e.maxBitrate=10,e.maxFrameRate=2)))}),c&&(n.encodings=s,a.debug("setting encodings",Object.assign(Object.assign({},o),{encodings:n.encodings})),yield e.setParameters(n))}finally{s()}})}function Um(e){switch(e){case"f":default:return mp.HIGH;case"h":return mp.MEDIUM;case"q":return mp.LOW}}function zm(e,t,i,n){if(!i)return[new Rl({quality:mp.HIGH,width:e,height:t,bitrate:0,ssrc:0})];if(n){const n=i[0].scalabilityMode,r=new Nm(n),a=[],o="h"==r.suffix?1.5:2,s="h"==r.suffix?2:3;for(let c=0;c<r.spatial;c+=1)a.push(new Rl({quality:Math.min(mp.HIGH,r.spatial-1)-c,width:Math.ceil(e/Math.pow(o,c)),height:Math.ceil(t/Math.pow(o,c)),bitrate:i[0].maxBitrate?Math.ceil(i[0].maxBitrate/Math.pow(s,c)):0,ssrc:0}));return a}return i.map(i=>{var n,r,a;const o=null!==(n=i.scaleResolutionDownBy)&&void 0!==n?n:1;let s=Um(null!==(r=i.rid)&&void 0!==r?r:"");return new Rl({quality:s,width:Math.ceil(e/o),height:Math.ceil(t/o),bitrate:null!==(a=i.maxBitrate)&&void 0!==a?a:0,ssrc:0})})}const Bm="_lossy",Vm="_reliable",qm="leave-reconnect";var Hm,Gm,Wm,$m,Jm,Km,Qm,Zm,Ym,Xm,ev;(Gm=Hm||(Hm={}))[Gm.New=0]="New",Gm[Gm.Connected=1]="Connected",Gm[Gm.Disconnected=2]="Disconnected",Gm[Gm.Reconnecting=3]="Reconnecting",Gm[Gm.Closed=4]="Closed";class tv extends yu.EventEmitter{get isClosed(){return this._isClosed}get pendingReconnect(){return!!this.reconnectTimeout}constructor(e){var t;super(),this.options=e,this.rtcConfig={},this.peerConnectionTimeout=hm.peerConnectionTimeout,this.fullReconnectOnNext=!1,this.latestRemoteOfferId=0,this.subscriberPrimary=!1,this.pcState=Hm.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=hu,this.reliableDataSequence=1,this.reliableMessageBuffer=new Bg,this.reliableReceivedState=new Vg(3e4),this.handleDataChannel=e=>fu(this,[e],void 0,function(e){var t=this;let{channel:i}=e;return function*(){if(i){if(i.label===Vm)t.reliableDCSub=i;else{if(i.label!==Bm)return;t.lossyDCSub=i}t.log.debug("on data channel ".concat(i.id,", ").concat(i.label),t.logContext),i.onmessage=t.handleDataMessage}}()}),this.handleDataMessage=e=>fu(this,void 0,void 0,function*(){var t,i;const n=yield this.dataProcessLock.lock();try{let n;if(e.data instanceof ArrayBuffer)n=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}));n=yield e.data.arrayBuffer()}const r=Al.fromBinary(new Uint8Array(n));if(r.sequence>0&&""!==r.participantSid){const e=this.reliableReceivedState.get(r.participantSid);if(e&&r.sequence<=e)return;this.reliableReceivedState.set(r.participantSid,r.sequence)}"speaker"===(null===(t=r.value)||void 0===t?void 0:t.case)?this.emit(Wh.ActiveSpeakersUpdate,r.value.value.speakers):("user"===(null===(i=r.value)||void 0===i?void 0:i.case)&&function(e,t){const i=e.participantIdentity?e.participantIdentity:t.participantIdentity;e.participantIdentity=i,t.participantIdentity=i;const n=0!==e.destinationIdentities.length?e.destinationIdentities:t.destinationIdentities;e.destinationIdentities=n,t.destinationIdentities=n}(r,r.value.value),this.emit(Wh.DataPacketReceived,r))}finally{n()}}),this.handleDataError=e=>{const t=0===e.currentTarget.maxRetransmits?"lossy":"reliable";if(e instanceof ErrorEvent&&e.error){const{error:i}=e.error;this.log.error("DataChannel error on ".concat(t,": ").concat(e.message),Object.assign(Object.assign({},this.logContext),{error:i}))}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?Ol.LOSSY:Ol.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 i=Date.now()-this.reconnectStart;let n=this.getNextRetryDelay({elapsedMs:i,retryCount:this.reconnectAttempts});null!==n?(e===qm&&(n=0),this.log.debug("reconnecting in ".concat(n,"ms"),this.logContext),this.clearReconnectTimeout(),this.token&&this.regionUrlProvider&&this.regionUrlProvider.updateToken(this.token),this.reconnectTimeout=pp.setTimeout(()=>this.attemptReconnect(t).finally(()=>this.reconnectTimeout=void 0),n)):(e=>{this.log.warn("could not recover connection after ".concat(this.reconnectAttempts," attempts, ").concat(e,"ms. giving up"),this.logContext),this.emit(Wh.Disconnected),this.close()})(i)},this.waitForRestarted=()=>new Promise((e,t)=>{this.pcState===Hm.Connected&&e();const i=()=>{this.off(Wh.Disconnected,n),e()},n=()=>{this.off(Wh.Restarted,i),t()};this.once(Wh.Restarted,i),this.once(Wh.Disconnected,n)}),this.updateAndEmitDCBufferStatus=e=>{const t=this.isBufferStatusLow(e);void 0!==t&&t!==this.dcBufferStatus.get(e)&&(this.dcBufferStatus.set(e,t),this.emit(Wh.DCBufferStatusChanged,t,e))},this.isBufferStatusLow=e=>{const t=this.dataChannelForKind(e);if(t)return e===Ol.RELIABLE&&this.reliableMessageBuffer.alignBufferedAmount(t.bufferedAmount),t.bufferedAmount<=t.bufferedAmountLowThreshold},this.handleBrowserOnLine=()=>{this.client.currentState===Ng.RECONNECTING&&(this.clearReconnectTimeout(),this.attemptReconnect(bl.RR_SIGNAL_DISCONNECTED))},this.log=pu(null!==(t=e.loggerName)&&void 0!==t?t:cu.Engine),this.loggerOptions={loggerName:e.loggerName,loggerContextCb:()=>this.logContext},this.client=new Fg(void 0,this.loggerOptions),this.client.signalLatency=this.options.expSignalLatency,this.reconnectPolicy=this.options.reconnectPolicy,this.registerOnLineListener(),this.closingLock=new Is,this.dataProcessLock=new Is,this.dcBufferStatus=new Map([[Ol.LOSSY,!0],[Ol.RELIABLE,!0]]),this.client.onParticipantUpdate=e=>this.emit(Wh.ParticipantUpdate,e),this.client.onConnectionQuality=e=>this.emit(Wh.ConnectionQualityUpdate,e),this.client.onRoomUpdate=e=>this.emit(Wh.RoomUpdate,e),this.client.onSubscriptionError=e=>this.emit(Wh.SubscriptionError,e),this.client.onSubscriptionPermissionUpdate=e=>this.emit(Wh.SubscriptionPermissionUpdate,e),this.client.onSpeakersChanged=e=>this.emit(Wh.SpeakersChanged,e),this.client.onStreamStateUpdate=e=>this.emit(Wh.StreamStateChanged,e),this.client.onRequestResponse=e=>this.emit(Wh.SignalRequestResponse,e)}get logContext(){var e,t,i,n,r,a;return{room:null===(t=null===(e=this.latestJoinResponse)||void 0===e?void 0:e.room)||void 0===t?void 0:t.name,roomID:null===(n=null===(i=this.latestJoinResponse)||void 0===i?void 0:i.room)||void 0===n?void 0:n.sid,participant:null===(a=null===(r=this.latestJoinResponse)||void 0===r?void 0:r.participant)||void 0===a?void 0:a.identity,pID:this.participantSid}}join(e,t,i,n){return fu(this,void 0,void 0,function*(){this.url=e,this.token=t,this.signalOpts=i,this.maxJoinAttempts=i.maxRetries;try{this.joinAttempts+=1,this.setupSignalClientCallbacks();const r=yield this.client.join(e,t,i,n);return this._isClosed=!1,this.latestJoinResponse=r,this.subscriberPrimary=r.subscriberPrimary,this.pcManager||(yield this.configure(r)),this.subscriberPrimary&&!r.fastPublish||this.negotiate(),this.clientConfiguration=r.clientConfiguration,this.emit(Wh.SignalConnected,r),r}catch(Gb){if(Gb instanceof Yh&&Gb.reason===Dh.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,i,n);throw Gb}})}close(){return fu(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(Wh.Closing),this.removeAllListeners(),this.deregisterOnLineListener(),this.clearPendingReconnect(),yield this.cleanupPeerConnections(),yield this.cleanupClient()}finally{e()}})}cleanupPeerConnections(){return fu(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 Bg,this.reliableDataSequence=1,this.reliableReceivedState.clear()})}cleanupClient(){return fu(this,void 0,void 0,function*(){yield this.client.close(),this.client.resetCallbacks()})}addTrack(e){if(this.pendingTrackResolvers[e.cid])throw new ep("a track with the same ID has already been published");return new Promise((t,i)=>{const n=setTimeout(()=>{delete this.pendingTrackResolvers[e.cid],i(new Yh("publication of local track timed out, no response from server",Dh.Timeout))},1e4);this.pendingTrackResolvers[e.cid]={resolve:e=>{clearTimeout(n),t(e)},reject:()=>{clearTimeout(n),i(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(Gb){this.log.warn("failed to remove track",Object.assign(Object.assign({},this.logContext),{error:Gb}))}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 fu(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 fu(this,void 0,void 0,function*(){var t,i;if(this.pcManager&&this.pcManager.currentState!==pm.NEW)return;this.participantSid=null===(t=e.participant)||void 0===t?void 0:t.sid;const n=this.makeRTCConfiguration(e);var r;this.pcManager=new mm(n,e.subscriberPrimary,this.loggerOptions),this.emit(Wh.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,i,n)=>fu(this,void 0,void 0,function*(){if(this.log.debug("primary PC state changed ".concat(t),this.logContext),["closed","disconnected","failed"].includes(i)&&(this.publisherConnectionPromise=void 0),t===pm.CONNECTED){const t=this.pcState===Hm.New;this.pcState=Hm.Connected,t&&this.emit(Wh.Connected,e)}else t===pm.FAILED&&this.pcState===Hm.Connected&&(this.pcState=Hm.Disconnected,this.handleDisconnect("peerconnection failed","failed"===n?bl.RR_SUBSCRIBER_FAILED:bl.RR_PUBLISHER_FAILED));const r=this.client.isDisconnected||this.client.currentState===Ng.RECONNECTING,a=[pm.FAILED,pm.CLOSING,pm.CLOSED].includes(t);r&&a&&!this._isClosed&&this.emit(Wh.Offline)}),this.pcManager.onTrack=e=>{this.emit(Wh.MediaTrackAdded,e.track,e.streams[0],e.receiver)},void 0!==(r=null===(i=e.serverInfo)||void 0===i?void 0:i.protocol)&&r>13||this.createDataChannels()})}setupSignalClientCallbacks(){this.client.onAnswer=(e,t)=>fu(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)=>fu(this,void 0,void 0,function*(){if(this.latestRemoteOfferId=t,!this.pcManager)return;const i=yield this.pcManager.createSubscriberAnswerFromOffer(e,t);i&&this.client.sendAnswer(i,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:i}=this.pendingTrackResolvers[e.cid];delete this.pendingTrackResolvers[e.cid],i(e.track)},this.client.onLocalTrackUnpublished=e=>{this.emit(Wh.LocalTrackUnpublished,e)},this.client.onLocalTrackSubscribed=e=>{this.emit(Wh.LocalTrackSubscribed,e)},this.client.onTokenRefresh=e=>{this.token=e},this.client.onRemoteMuteChanged=(e,t)=>{this.emit(Wh.RemoteMute,e,t)},this.client.onSubscribedQualityUpdate=e=>{this.emit(Wh.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(Wh.RoomMoved,e)},this.client.onClose=()=>{this.handleDisconnect("signal",bl.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 Ed.DISCONNECT:this.emit(Wh.Disconnected,null==e?void 0:e.reason),this.close();break;case Ed.RECONNECT:this.fullReconnectOnNext=!0,this.handleDisconnect(qm);break;case Ed.RESUME:this.handleDisconnect(qm)}}}makeRTCConfiguration(e){var t;const i=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),i.encodedInsertableStreams=!0),e.iceServers&&!i.iceServers){const t=[];e.iceServers.forEach(e=>{const i={urls:e.urls};e.username&&(i.username=e.username),e.credential&&(i.credential=e.credential),t.push(i)}),i.iceServers=t}return e.clientConfiguration&&e.clientConfiguration.forceRelay===vl.ENABLED&&(i.iceTransportPolicy="relay"),i.sdpSemantics="unified-plan",i.continualGatheringPolicy="gather_continually",i}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(Bm,{ordered:!1,maxRetransmits:0}),this.reliableDC=this.pcManager.createPublisherDataChannel(Vm,{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,i){return fu(this,void 0,void 0,function*(){if(Op())return yield this.createTransceiverRTCRtpSender(e,t,i);if(Dp())return this.log.warn("using add-track fallback",this.logContext),yield this.createRTCRtpSender(e.mediaStreamTrack);throw new ip("Required webRTC APIs not supported on this device")})}createSimulcastSender(e,t,i,n){return fu(this,void 0,void 0,function*(){if(Op())return this.createSimulcastTransceiverSender(e,t,i,n);if(Dp())return this.log.debug("using add-track fallback",this.logContext),this.createRTCRtpSender(e.mediaStreamTrack);throw new ip("Cannot stream on this device")})}createTransceiverRTCRtpSender(e,t,i){return fu(this,void 0,void 0,function*(){if(!this.pcManager)throw new ip("publisher is closed");const n=[];e.mediaStream&&n.push(e.mediaStream),ug(e)&&(e.codec=t.videoCodec);const r={direction:"sendonly",streams:n};return i&&(r.sendEncodings=i),(yield this.pcManager.addPublisherTransceiver(e.mediaStreamTrack,r)).sender})}createSimulcastTransceiverSender(e,t,i,n){return fu(this,void 0,void 0,function*(){if(!this.pcManager)throw new ip("publisher is closed");const r={direction:"sendonly"};n&&(r.sendEncodings=n);const a=yield this.pcManager.addPublisherTransceiver(t.mediaStreamTrack,r);if(i.videoCodec)return e.setSimulcastTrackSender(i.videoCodec,a.sender),a.sender})}createRTCRtpSender(e){return fu(this,void 0,void 0,function*(){if(!this.pcManager)throw new ip("publisher is closed");return this.pcManager.addPublisherTrack(e)})}attemptReconnect(e){return fu(this,void 0,void 0,function*(){var t,i,n;if(!this._isClosed)if(this.attemptingReconnect)hu.warn("already attempting reconnect, returning early",this.logContext);else{(null===(t=this.clientConfiguration)||void 0===t?void 0:t.resumeConnection)!==vl.DISABLED&&(null!==(n=null===(i=this.pcManager)||void 0===i?void 0:i.currentState)&&void 0!==n?n:pm.NEW)!==pm.NEW||(this.fullReconnectOnNext=!0);try{this.attemptingReconnect=!0,this.fullReconnectOnNext?yield this.restartConnection():yield this.resumeConnection(e),this.clearPendingReconnect(),this.fullReconnectOnNext=!1}catch(Gb){this.reconnectAttempts+=1;let t=!0;Gb instanceof ip?(this.log.debug("received unrecoverable error",Object.assign(Object.assign({},this.logContext),{error:Gb})),t=!1):Gb instanceof iv||(this.fullReconnectOnNext=!0),t?this.handleDisconnect("reconnect",bl.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(Wh.Disconnected),yield this.close())}finally{this.attemptingReconnect=!1}}})}getNextRetryDelay(e){try{return this.reconnectPolicy.nextRetryDelayInMs(e)}catch(Gb){this.log.warn("encountered error in reconnect policy",Object.assign(Object.assign({},this.logContext),{error:Gb}))}return null}restartConnection(e){return fu(this,void 0,void 0,function*(){var t,i,n;try{if(!this.url||!this.token)throw new ip("could not reconnect, url or token not saved");let i;this.log.info("reconnecting, attempt: ".concat(this.reconnectAttempts),this.logContext),this.emit(Wh.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 iv;i=yield this.join(null!=e?e:this.url,this.token,this.signalOpts)}catch(Gb){if(Gb instanceof Yh&&Gb.reason===Dh.NotAllowed)throw new ip("could not reconnect, token might be expired");throw new iv}if(this.shouldFailNext)throw this.shouldFailNext=!1,new Error("simulated failure");if(this.client.setReconnected(),this.emit(Wh.SignalRestarted,i),yield this.waitForPCReconnected(),this.client.currentState!==Ng.CONNECTED)throw new iv("Signal connection got severed during reconnect");null===(t=this.regionUrlProvider)||void 0===t||t.resetAttempts(),this.emit(Wh.Restarted)}catch(r){const e=yield null===(i=this.regionUrlProvider)||void 0===i?void 0:i.getNextBestRegionUrl();if(e)return void(yield this.restartConnection(e));throw null===(n=this.regionUrlProvider)||void 0===n||n.resetAttempts(),r}})}resumeConnection(e){return fu(this,void 0,void 0,function*(){var t;if(!this.url||!this.token)throw new ip("could not reconnect, url or token not saved");if(!this.pcManager)throw new ip("publisher and subscriber connections unset");let i;this.log.info("resuming signal connection, attempt ".concat(this.reconnectAttempts),this.logContext),this.emit(Wh.Resuming);try{this.setupSignalClientCallbacks(),i=yield this.client.reconnect(this.url,this.token,this.participantSid,e)}catch(n){let e="";if(n instanceof Error&&(e=n.message,this.log.error(n.message,Object.assign(Object.assign({},this.logContext),{error:n}))),n instanceof Yh&&n.reason===Dh.NotAllowed)throw new ip("could not reconnect, token might be expired");if(n instanceof Yh&&n.reason===Dh.LeaveRequest)throw n;throw new iv(e)}if(this.emit(Wh.SignalResumed),i){const e=this.makeRTCConfiguration(i);this.pcManager.updateConfiguration(e),this.latestJoinResponse&&(this.latestJoinResponse.serverInfo=i.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!==Ng.CONNECTED)throw new iv("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==i?void 0:i.lastMessageSeq)&&this.resendReliableMessagesForResume(i.lastMessageSeq),this.emit(Wh.Resumed)})}waitForPCInitialConnection(e,t){return fu(this,void 0,void 0,function*(){if(!this.pcManager)throw new ip("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(t,e)})}waitForPCReconnected(){return fu(this,void 0,void 0,function*(){this.pcState=Hm.Reconnecting,this.log.debug("waiting for peer connection to reconnect",this.logContext);try{if(yield Ap(2e3),!this.pcManager)throw new ip("PC manager is closed");yield this.pcManager.ensurePCTransportConnection(void 0,this.peerConnectionTimeout),this.pcState=Hm.Connected}catch(Gb){throw this.pcState=Hm.Disconnected,new Yh("could not establish PC connection, ".concat(Gb.message),Dh.InternalError)}})}publishRpcResponse(e,t,i,n){return fu(this,void 0,void 0,function*(){const r=new Al({destinationIdentities:[e],kind:Ol.RELIABLE,value:{case:"rpcResponse",value:new ql({requestId:t,value:n?{case:"error",value:n.toProto()}:{case:"payload",value:null!=i?i:""}})}});yield this.sendDataPacket(r,Ol.RELIABLE)})}publishRpcAck(e,t){return fu(this,void 0,void 0,function*(){const i=new Al({destinationIdentities:[e],kind:Ol.RELIABLE,value:{case:"rpcAck",value:new Vl({requestId:t})}});yield this.sendDataPacket(i,Ol.RELIABLE)})}sendDataPacket(e,t){return fu(this,void 0,void 0,function*(){yield this.ensurePublisherConnected(t),t===Ol.RELIABLE&&(e.sequence=this.reliableDataSequence,this.reliableDataSequence+=1);const i=e.toBinary(),n=this.dataChannelForKind(t);if(n){if(t===Ol.RELIABLE&&this.reliableMessageBuffer.push({data:i,sequence:e.sequence}),this.attemptingReconnect)return;n.send(i)}this.updateAndEmitDCBufferStatus(t)})}resendReliableMessagesForResume(e){return fu(this,void 0,void 0,function*(){yield this.ensurePublisherConnected(Ol.RELIABLE);const t=this.dataChannelForKind(Ol.RELIABLE);t&&(this.reliableMessageBuffer.popToSequence(e),this.reliableMessageBuffer.getAll().forEach(e=>{t.send(e.data)})),this.updateAndEmitDCBufferStatus(Ol.RELIABLE)})}waitForBufferStatusLow(e){return new Promise((t,i)=>fu(this,void 0,void 0,function*(){if(this.isBufferStatusLow(e))t();else{const n=()=>i("Engine closed");for(this.once(Wh.Closing,n);!this.dcBufferStatus.get(e);)yield Ap(10);this.off(Wh.Closing,n),t()}}))}ensureDataTransportConnected(e){return fu(this,arguments,void 0,function(e){var t=this;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscriberPrimary;return function*(){var n;if(!t.pcManager)throw new ip("PC manager is closed");const r=i?t.pcManager.subscriber:t.pcManager.publisher,a=i?"Subscriber":"Publisher";if(!r)throw new Yh("".concat(a," connection not set"),Dh.InternalError);let o=!1;i||t.dataChannelForKind(e,i)||(t.createDataChannels(),o=!0),o||i||t.pcManager.publisher.isICEConnected||"checking"===t.pcManager.publisher.getICEConnectionState()||(o=!0),o&&t.negotiate();const s=t.dataChannelForKind(e,i);if("open"===(null==s?void 0:s.readyState))return;const c=(new Date).getTime()+t.peerConnectionTimeout;for(;(new Date).getTime()<c;){if(r.isICEConnected&&"open"===(null===(n=t.dataChannelForKind(e,i))||void 0===n?void 0:n.readyState))return;yield Ap(50)}throw new Yh("could not establish ".concat(a," connection, state: ").concat(r.getICEConnectionState()),Dh.InternalError)}()})}ensurePublisherConnected(e){return fu(this,void 0,void 0,function*(){this.publisherConnectionPromise||(this.publisherConnectionPromise=this.ensureDataTransportConnected(e,!1)),yield this.publisherConnectionPromise})}verifyTransport(){return!!this.pcManager&&this.pcManager.currentState===pm.CONNECTED&&!(!this.client.ws||this.client.ws.readyState===WebSocket.CLOSED)}negotiate(){return fu(this,void 0,void 0,function*(){return new Promise((e,t)=>fu(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 i=new AbortController,n=()=>{i.abort(),this.log.debug("engine disconnected while negotiation was ongoing",this.logContext),e()};this.isClosed&&t("cannot negotiate on closed engine"),this.on(Wh.Closing,n),this.pcManager.publisher.once(nm,e=>{const t=new Map;e.forEach(e=>{const i=e.codec.toLowerCase();var n;n=i,xp.includes(n)&&t.set(e.payload,i)}),this.emit(Wh.RTPVideoMapUpdate,t)});try{yield this.pcManager.negotiate(i),e()}catch(Gb){Gb instanceof np&&(this.fullReconnectOnNext=!0),this.handleDisconnect("negotiation",bl.RR_UNKNOWN),t(Gb)}finally{this.off(Wh.Closing,n)}}))})}dataChannelForKind(e,t){if(t){if(e===Ol.LOSSY)return this.lossyDCSub;if(e===Ol.RELIABLE)return this.reliableDCSub}else{if(e===Ol.LOSSY)return this.lossyDC;if(e===Ol.RELIABLE)return this.reliableDC}}sendSyncState(e,t){var i,n;if(!this.pcManager)return void this.log.warn("sync state cannot be sent without peer connection setup",this.logContext);const r=this.pcManager.subscriber.getLocalDescription(),a=this.pcManager.subscriber.getRemoteDescription(),o=null===(n=null===(i=this.signalOpts)||void 0===i?void 0:i.autoSubscribe)||void 0===n||n,s=new Array,c=new Array;e.forEach(e=>{e.isDesired!==o&&s.push(e.trackSid),e.isEnabled||c.push(e.trackSid)}),this.client.sendSyncState(new qd({answer:r?zg({sdp:r.sdp,type:r.type}):void 0,offer:a?zg({sdp:a.sdp,type:a.type}):void 0,subscription:new yd({trackSids:s,subscribe:!o,participantTracks:[]}),publishTracks:Sg(t),dataChannels:this.dataChannelsInfo(),trackSidsDisabled:c,datachannelReceiveStates:this.reliableReceivedState.map((e,t)=>new Hd({publisherSid:t,lastSeq:e}))}))}failNext(){this.shouldFailNext=!0}dataChannelsInfo(){const e=[],t=(t,i)=>{void 0!==(null==t?void 0:t.id)&&null!==t.id&&e.push(new Gd({label:t.label,id:t.id,target:i}))};return t(this.dataChannelForKind(Ol.LOSSY),od.PUBLISHER),t(this.dataChannelForKind(Ol.RELIABLE),od.PUBLISHER),t(this.dataChannelForKind(Ol.LOSSY,!0),od.SUBSCRIBER),t(this.dataChannelForKind(Ol.RELIABLE,!0),od.SUBSCRIBER),e}clearReconnectTimeout(){this.reconnectTimeout&&pp.clearTimeout(this.reconnectTimeout)}clearPendingReconnect(){this.clearReconnectTimeout(),this.reconnectAttempts=0}registerOnLineListener(){Bp()&&window.addEventListener("online",this.handleBrowserOnLine)}deregisterOnLineListener(){Bp()&&window.removeEventListener("online",this.handleBrowserOnLine)}}class iv extends Error{}class nv{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 qp(this.serverUrl)}getServerUrl(){return this.serverUrl}getNextBestRegionUrl(e){return fu(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),hu.debug("next region: ".concat(e.region)),e.url}return null})}resetAttempts(){this.attemptedRegions=[]}fetchRegionSettings(e){return fu(this,void 0,void 0,function*(){const t=yield fetch("".concat((i=this.serverUrl,"".concat(i.protocol.replace("ws","http"),"//").concat(i.host,"/settings")),"/regions"),{headers:{authorization:"Bearer ".concat(this.token)},signal:e});var i;if(t.ok){const e=yield t.json();return this.lastUpdateAt=Date.now(),e}throw new Yh("Could not fetch region settings: ".concat(t.statusText),401===t.status?Dh.NotAllowed:Dh.InternalError,t.status)})}setServerReportedRegions(e){this.regionSettings=e,this.lastUpdateAt=Date.now()}}class rv{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 op("Not enough chunk(s) received - expected ".concat(this.totalByteSize," bytes of data total, only received ").concat(this.bytesReceived," bytes"),Nh.Incomplete);if(this.bytesReceived>this.totalByteSize)throw new op("Extra chunk(s) received - expected ".concat(this.totalByteSize," bytes of data total, received ").concat(this.bytesReceived," bytes"),Nh.LengthExceeded)}}constructor(e,t,i,n){this.reader=t,this.totalByteSize=i,this._info=e,this.bytesReceived=0,this.outOfBandFailureRejectingFuture=n}}class av extends rv{handleChunkReceived(e){var t;this.bytesReceived+=e.content.byteLength,this.validateBytesReceived();const i=this.totalByteSize?this.bytesReceived/this.totalByteSize:void 0;null===(t=this.onProgress)||void 0===t||t.call(this,i)}[Symbol.asyncIterator](){const e=this.reader.getReader();let t=new ng,i=null,n=null;if(this.signal){const e=this.signal;n=()=>{var i;null===(i=t.reject)||void 0===i||i.call(t,e.reason)},e.addEventListener("abort",n),i=e}const r=()=>{e.releaseLock(),i&&n&&i.removeEventListener("abort",n),this.signal=void 0};return{next:()=>fu(this,void 0,void 0,function*(){var i,n;try{const{done:r,value:a}=yield Promise.race([e.read(),t.promise,null!==(n=null===(i=this.outOfBandFailureRejectingFuture)||void 0===i?void 0:i.promise)&&void 0!==n?n:new Promise(()=>{})]);return r?(this.validateBytesReceived(!0),{done:!0,value:void 0}):(this.handleChunkReceived(a),{done:!1,value:a.content})}catch(a){throw r(),a}}),return(){return fu(this,void 0,void 0,function*(){return r(),{done:!0,value:void 0}})}}}withAbortSignal(e){return this.signal=e,this}readAll(){return fu(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){var i,n,r,a;let o=new Set;const s=t.signal?e.withAbortSignal(t.signal):e;try{for(var c,l=!0,d=bu(s);!(i=(c=yield d.next()).done);l=!0){a=c.value,l=!1;const e=a;o.add(e)}}catch(u){n={error:u}}finally{try{l||i||!(r=d.return)||(yield r.call(d))}finally{if(n)throw n.error}}return Array.from(o)}()})}}class ov extends rv{constructor(e,t,i,n){super(e,t,i,n),this.receivedChunks=new Map}handleChunkReceived(e){var t;const i=sg(e.chunkIndex),n=this.receivedChunks.get(i);if(n&&n.version>e.version)return;this.receivedChunks.set(i,e),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(),t=new TextDecoder("utf-8",{fatal:!0});let i=new ng,n=null,r=null;if(this.signal){const e=this.signal;r=()=>{var t;null===(t=i.reject)||void 0===t||t.call(i,e.reason)},e.addEventListener("abort",r),n=e}const a=()=>{e.releaseLock(),n&&r&&n.removeEventListener("abort",r),this.signal=void 0};return{next:()=>fu(this,void 0,void 0,function*(){var n,r;try{const{done:a,value:s}=yield Promise.race([e.read(),i.promise,null!==(r=null===(n=this.outOfBandFailureRejectingFuture)||void 0===n?void 0:n.promise)&&void 0!==r?r:new Promise(()=>{})]);if(a)return this.validateBytesReceived(!0),{done:!0,value:void 0};{let e;this.handleChunkReceived(s);try{e=t.decode(s.content)}catch(o){throw new op("Cannot decode datastream chunk ".concat(s.chunkIndex," as text: ").concat(o),Nh.DecodeFailed)}return{done:!1,value:e}}}catch(o){throw a(),o}}),return(){return fu(this,void 0,void 0,function*(){return a(),{done:!0,value:void 0}})}}}withAbortSignal(e){return this.signal=e,this}readAll(){return fu(this,arguments,void 0,function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){var i,n,r,a;let o="";const s=t.signal?e.withAbortSignal(t.signal):e;try{for(var c,l=!0,d=bu(s);!(i=(c=yield d.next()).done);l=!0)a=c.value,l=!1,o+=a}catch(u){n={error:u}}finally{try{l||i||!(r=d.return)||(yield r.call(d))}finally{if(n)throw n.error}}return o}()})}}class sv{constructor(){this.log=hu,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 op('A text stream handler for topic "'.concat(e,'" has already been set.'),Nh.HandlerAlreadyRegistered);this.textStreamHandlers.set(e,t)}unregisterTextStreamHandler(e){this.textStreamHandlers.delete(e)}registerByteStreamHandler(e,t){if(this.byteStreamHandlers.has(e))throw new op('A byte stream handler for topic "'.concat(e,'" has already been set.'),Nh.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,i,n,r;const a=Array.from(this.textStreamControllers.entries()).filter(t=>t[1].sendingParticipantIdentity===e),o=Array.from(this.byteStreamControllers.entries()).filter(t=>t[1].sendingParticipantIdentity===e);if(a.length>0||o.length>0){const s=new op("Participant ".concat(e," unexpectedly disconnected in the middle of sending data"),Nh.AbnormalEnd);for(const[e,n]of o)null===(i=(t=n.outOfBandFailureRejectingFuture).reject)||void 0===i||i.call(t,s),this.byteStreamControllers.delete(e);for(const[e,t]of a)null===(r=(n=t.outOfBandFailureRejectingFuture).reject)||void 0===r||r.call(n,s),this.textStreamControllers.delete(e)}}handleDataStreamPacket(e){return fu(this,void 0,void 0,function*(){switch(e.value.case){case"streamHeader":return this.handleStreamHeader(e.value.value,e.participantIdentity);case"streamChunk":return this.handleStreamChunk(e.value.value);case"streamTrailer":return this.handleStreamTrailer(e.value.value);default:throw new Error('DataPacket of value "'.concat(e.value.case,'" is not data stream related!'))}})}handleStreamHeader(e,t){return fu(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 r;const a=new ng,o={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:sg(e.timestamp),attributes:e.attributes},s=new ReadableStream({start:i=>{if(r=i,this.textStreamControllers.has(e.streamId))throw new op("A data stream read is already in progress for a stream with id ".concat(e.streamId,"."),Nh.AlreadyOpened);this.byteStreamControllers.set(e.streamId,{info:o,controller:r,startTime:Date.now(),sendingParticipantIdentity:t,outOfBandFailureRejectingFuture:a})}});n(new av(o,s,sg(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 r=new ng,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},o=new ReadableStream({start:i=>{if(n=i,this.textStreamControllers.has(e.streamId))throw new op("A data stream read is already in progress for a stream with id ".concat(e.streamId,"."),Nh.AlreadyOpened);this.textStreamControllers.set(e.streamId,{info:a,controller:n,startTime:Date.now(),sendingParticipantIdentity:t,outOfBandFailureRejectingFuture:r})}});i(new ov(a,o,sg(e.totalLength),r),{identity:t})}})}handleStreamChunk(e){const t=this.byteStreamControllers.get(e.streamId);t&&e.content.length>0&&t.controller.enqueue(e);const i=this.textStreamControllers.get(e.streamId);i&&e.content.length>0&&i.controller.enqueue(e)}handleStreamTrailer(e){const t=this.textStreamControllers.get(e.streamId);t&&(t.info.attributes=Object.assign(Object.assign({},t.info.attributes),e.attributes),t.controller.close(),this.textStreamControllers.delete(e.streamId));const i=this.byteStreamControllers.get(e.streamId);i&&(i.info.attributes=Object.assign(Object.assign({},i.info.attributes),e.attributes),i.controller.close(),this.byteStreamControllers.delete(e.streamId))}}class cv{constructor(e,t,i){this.writableStream=e,this.defaultWriter=e.getWriter(),this.onClose=i,this.info=t}write(e){return this.defaultWriter.write(e)}close(){return fu(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 lv extends cv{}class dv extends cv{}class uv{constructor(e,t){this.engine=e,this.log=t}setupEngine(e){this.engine=e}sendText(e,t){return fu(this,void 0,void 0,function*(){var i;const n=crypto.randomUUID(),r=(new TextEncoder).encode(e).byteLength,a=null===(i=null==t?void 0:t.attachments)||void 0===i?void 0:i.map(()=>crypto.randomUUID()),o=new Array(a?a.length+1:1).fill(0),s=(e,i)=>{var n;o[i]=e;const r=o.reduce((e,t)=>e+t,0);null===(n=null==t?void 0:t.onProgress)||void 0===n||n.call(t,r)},c=yield this.streamText({streamId:n,totalSize:r,destinationIdentities:null==t?void 0:t.destinationIdentities,topic:null==t?void 0:t.topic,attachedStreamIds:a,attributes:null==t?void 0:t.attributes});return yield c.write(e),s(1,0),yield c.close(),(null==t?void 0:t.attachments)&&a&&(yield Promise.all(t.attachments.map((e,i)=>fu(this,void 0,void 0,function*(){return this._sendFile(a[i],e,{topic:t.topic,mimeType:e.type,onProgress:e=>{s(e,i+1)}})})))),c.info})}streamText(e){return fu(this,void 0,void 0,function*(){var t,i;const n=null!==(t=null==e?void 0:e.streamId)&&void 0!==t?t:crypto.randomUUID(),r={id:n,mimeType:"text/plain",timestamp:Date.now(),topic:null!==(i=null==e?void 0:e.topic)&&void 0!==i?i:"",size:null==e?void 0:e.totalSize,attributes:null==e?void 0:e.attributes},a=new nd({streamId:n,mimeType:r.mimeType,topic:r.topic,timestamp:cg(r.timestamp),totalLength:cg(null==e?void 0:e.totalSize),attributes:r.attributes,contentHeader:{case:"textHeader",value:new td({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)?ed.UPDATE:ed.CREATE})}}),o=null==e?void 0:e.destinationIdentities,s=new Al({destinationIdentities:o,value:{case:"streamHeader",value:a}});yield this.engine.sendDataPacket(s,Ol.RELIABLE);let c=0;const l=this.engine,d=new WritableStream({write(e){return fu(this,void 0,void 0,function*(){for(const t of function(e){const t=[];let i=(new TextEncoder).encode(e);for(;i.length>15e3;){let e=15e3;for(;e>0;){const t=i[e];if(void 0!==t&&128!=(192&t))break;e--}t.push(i.slice(0,e)),i=i.slice(e)}return i.length>0&&t.push(i),t}(e)){yield l.waitForBufferStatusLow(Ol.RELIABLE);const e=new rd({content:t,streamId:n,chunkIndex:cg(c)}),i=new Al({destinationIdentities:o,value:{case:"streamChunk",value:e}});yield l.sendDataPacket(i,Ol.RELIABLE),c+=1}})},close(){return fu(this,void 0,void 0,function*(){const e=new ad({streamId:n}),t=new Al({destinationIdentities:o,value:{case:"streamTrailer",value:e}});yield l.sendDataPacket(t,Ol.RELIABLE)})},abort(e){}});let u=()=>fu(this,void 0,void 0,function*(){yield h.close()});l.once(Wh.Closing,u);const h=new lv(d,r,()=>this.engine.off(Wh.Closing,u));return h})}sendFile(e,t){return fu(this,void 0,void 0,function*(){const i=crypto.randomUUID();return yield this._sendFile(i,e,t),{id:i}})}_sendFile(e,t,i){return fu(this,void 0,void 0,function*(){var n;const r=yield this.streamBytes({streamId:e,totalSize:t.size,name:t.name,mimeType:null!==(n=null==i?void 0:i.mimeType)&&void 0!==n?n:t.type,topic:null==i?void 0:i.topic,destinationIdentities:null==i?void 0:i.destinationIdentities}),a=t.stream().getReader();for(;;){const{done:e,value:t}=yield a.read();if(e)break;yield r.write(t)}return yield r.close(),r.info})}streamBytes(e){return fu(this,void 0,void 0,function*(){var t,i,n,r,a;const o=null!==(t=null==e?void 0:e.streamId)&&void 0!==t?t:crypto.randomUUID(),s=null==e?void 0:e.destinationIdentities,c={id:o,mimeType:null!==(i=null==e?void 0:e.mimeType)&&void 0!==i?i:"application/octet-stream",topic:null!==(n=null==e?void 0:e.topic)&&void 0!==n?n:"",timestamp:Date.now(),attributes:null==e?void 0:e.attributes,size:null==e?void 0:e.totalSize,name:null!==(r=null==e?void 0:e.name)&&void 0!==r?r:"unknown"},l=new nd({totalLength:cg(null!==(a=c.size)&&void 0!==a?a:0),mimeType:c.mimeType,streamId:o,topic:c.topic,timestamp:cg(Date.now()),attributes:c.attributes,contentHeader:{case:"byteHeader",value:new id({name:c.name})}}),d=new Al({destinationIdentities:s,value:{case:"streamHeader",value:l}});yield this.engine.sendDataPacket(d,Ol.RELIABLE);let u=0;const h=new Is,p=this.engine,g=this.log,m=new WritableStream({write(e){return fu(this,void 0,void 0,function*(){const t=yield h.lock();let i=0;try{for(;i<e.byteLength;){const t=e.slice(i,i+15e3);yield p.waitForBufferStatusLow(Ol.RELIABLE);const n=new Al({destinationIdentities:s,value:{case:"streamChunk",value:new rd({content:t,streamId:o,chunkIndex:cg(u)})}});yield p.sendDataPacket(n,Ol.RELIABLE),u+=1,i+=t.byteLength}}finally{t()}})},close(){return fu(this,void 0,void 0,function*(){const e=new ad({streamId:o}),t=new Al({destinationIdentities:s,value:{case:"streamTrailer",value:e}});yield p.sendDataPacket(t,Ol.RELIABLE)})},abort(e){g.error("Sink error:",e)}});return new dv(m,c)})}}class hv extends fp{constructor(e,t,i,n,r){super(e,i,r),this.sid=t,this.receiver=n}get isLocal(){return!1}setMuted(e){this.isMuted!==e&&(this.isMuted=e,this._mediaStreamTrack.enabled=!e,this.emit(e?Jh.Muted:Jh.Unmuted,this))}setMediaStream(e){this.mediaStream=e;const t=i=>{i.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(Jh.Ended,this))};e.addEventListener("removetrack",t)}start(){this.startMonitor(),super.enable()}stop(){this.stopMonitor(),super.disable()}getRTCStatsReport(){return fu(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(),km)),"undefined"!=typeof RTCRtpReceiver&&"getSynchronizationSources"in RTCRtpReceiver&&this.registerTimeSyncUpdate()}registerTimeSyncUpdate(){const e=()=>{var t;this.timeSyncHandle=requestAnimationFrame(()=>e());const i=null===(t=this.receiver)||void 0===t?void 0:t.getSynchronizationSources()[0];if(i){const{timestamp:e,rtpTimestamp:t}=i;t&&this.rtpTimestamp!==t&&(this.emit(Jh.TimeSyncUpdate,{timestamp:e,rtpTimestamp:t}),this.rtpTimestamp=t)}};e()}}class pv extends hv{constructor(e,t,i,n,r,a){super(e,t,fp.Kind.Audio,i,a),this.monitorReceiver=()=>fu(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=wm(e,this.prevStats)),this.prevStats=e}),this.audioContext=n,this.webAudioPluginNodes=[],r&&(this.sinkId=r.deviceId)}setVolume(e){var t;for(const i of this.attachedElements)this.audioContext?null===(t=this.gainNode)||void 0===t||t.gain.setTargetAtTime(e,0,.1):i.volume=e;Vp()&&this._mediaStreamTrack._setVolume(e),this.elementVolume=e}getVolume(){if(this.elementVolume)return this.elementVolume;if(Vp())return 1;let e=0;return this.attachedElements.forEach(t=>{t.volume>e&&(e=t.volume)}),e}setSinkId(e){return fu(this,void 0,void 0,function*(){this.sinkId=e,yield Promise.all(this.attachedElements.map(t=>{if(Np(t))return t.setSinkId(e)}))})}attach(e){const t=0===this.attachedElements.length;return e?super.attach(e):e=super.attach(),this.sinkId&&Np(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 i=this.sourceNode;this.webAudioPluginNodes.forEach(e=>{i.connect(e),i=e}),this.gainNode=e.createGain(),i.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(Jh.AudioPlaybackFailed,new Error("Audio Context couldn't be started automatically"))}).catch(e=>{this.emit(Jh.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 fu(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 gv extends hv{constructor(e,t,i,n,r){super(e,t,fp.Kind.Video,i,r),this.elementInfos=[],this.monitorReceiver=()=>fu(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=wm(e,this.prevStats)),this.prevStats=e}),this.debouncedHandleResize=em(()=>{this.updateDimensions()},100),this.adaptiveStreamSettings=n}get isAdaptiveStream(){return void 0!==this.adaptiveStreamSettings}get mediaStreamTrack(){return this._mediaStreamTrack}setMuted(e){super.setMuted(e),this.attachedElements.forEach(t=>{e?kp(this._mediaStreamTrack,t):bp(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 mv(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 i of t)i.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 i of t)this.stopObservingElement(i);return t}getDecoderImplementation(){var e;return null===(e=this.prevStats)||void 0===e?void 0:e.decoderImplementation}getReceiverStats(){return fu(this,void 0,void 0,function*(){if(!this.receiver||!this.receiver.getStats)return;const e=yield this.receiver.getStats();let t,i="",n=new Map;return e.forEach(e=>{"inbound-rtp"===e.type?(i=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&&n.set(e.id,e)}),t&&""!==i&&n.get(i)&&(t.mimeType=n.get(i).mimeType),t})}stopObservingElement(e){const t=this.elementInfos.filter(t=>t.element===e);for(const i of t)this.stopObservingElementInfo(i)}handleAppVisibilityChanged(){const e=Object.create(null,{handleAppVisibilityChanged:{get:()=>super.handleAppVisibilityChanged}});return fu(this,void 0,void 0,function*(){yield e.handleAppVisibilityChanged.call(this),this.isAdaptiveStream&&this.updateVisibility()})}updateVisibility(){var e,t;const i=this.elementInfos.reduce((e,t)=>Math.max(e,t.visibilityChangedAt||0),0),n=!(null!==(t=null===(e=this.adaptiveStreamSettings)||void 0===e?void 0:e.pauseVideoInBackground)&&void 0!==t&&!t)&&this.isInBackground,r=this.elementInfos.some(e=>e.pictureInPicture),a=this.elementInfos.some(e=>e.visible)&&!n||r;this.lastVisible!==a&&(!a&&Date.now()-i<100?pp.setTimeout(()=>{this.updateVisibility()},100):(this.lastVisible=a,this.emit(Jh.VisibilityChanged,a,this)))}updateDimensions(){var e,t;let i=0,n=0;const r=this.getPixelDensity();for(const a of this.elementInfos){const e=a.width()*r,t=a.height()*r;e+t>i+n&&(i=e,n=t)}(null===(e=this.lastDimensions)||void 0===e?void 0:e.width)===i&&(null===(t=this.lastDimensions)||void 0===t?void 0:t.height)===n||(this.lastDimensions={width:i,height:n},this.emit(Jh.VideoDimensionsChanged,this.lastDimensions,this))}getPixelDensity(){var e;const t=null===(e=this.adaptiveStreamSettings)||void 0===e?void 0:e.pixelDensity;return"screen"===t?Wp():t||(Wp()>2?2:1)}}class mv{get visible(){return this.isPiP||this.isIntersecting}get pictureInPicture(){return this.isPiP}constructor(e,t){this.onVisibilityChanged=e=>{var t;const{target:i,isIntersecting:n}=e;i===this.element&&(this.isIntersecting=n,this.isPiP=vv(this.element),this.visibilityChangedAt=Date.now(),null===(t=this.handleVisibilityChanged)||void 0===t||t.call(this))},this.onEnterPiP=()=>{var e,t,i;null===(t=null===(e=window.documentPictureInPicture)||void 0===e?void 0:e.window)||void 0===t||t.addEventListener("pagehide",this.onLeavePiP),this.isPiP=vv(this.element),null===(i=this.handleVisibilityChanged)||void 0===i||i.call(this)},this.onLeavePiP=()=>{var e;this.isPiP=vv(this.element),null===(e=this.handleVisibilityChanged)||void 0===e||e.call(this)},this.element=e,this.isIntersecting=null!=t?t:fv(e),this.isPiP=Bp()&&vv(e),this.visibilityChangedAt=0}width(){return this.element.clientWidth}height(){return this.element.clientHeight}observe(){var e,t,i;this.isIntersecting=fv(this.element),this.isPiP=vv(this.element),this.element.handleResize=()=>{var e;null===(e=this.handleResize)||void 0===e||e.call(this)},this.element.handleVisibilityChanged=this.onVisibilityChanged,Xp().observe(this.element),Zp().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===(i=null===(t=window.documentPictureInPicture)||void 0===t?void 0:t.window)||void 0===i||i.addEventListener("pagehide",this.onLeavePiP)}stopObserving(){var e,t,i,n,r;null===(e=Xp())||void 0===e||e.unobserve(this.element),null===(t=Zp())||void 0===t||t.unobserve(this.element),this.element.removeEventListener("enterpictureinpicture",this.onEnterPiP),this.element.removeEventListener("leavepictureinpicture",this.onLeavePiP),null===(i=window.documentPictureInPicture)||void 0===i||i.removeEventListener("enter",this.onEnterPiP),null===(r=null===(n=window.documentPictureInPicture)||void 0===n?void 0:n.window)||void 0===r||r.removeEventListener("pagehide",this.onLeavePiP)}}function vv(e){var t,i;return document.pictureInPictureElement===e||!!(null===(t=window.documentPictureInPicture)||void 0===t?void 0:t.window)&&fv(e,null===(i=window.documentPictureInPicture)||void 0===i?void 0:i.window)}function fv(e,t){const i=t||window;let n=e.offsetTop,r=e.offsetLeft;const a=e.offsetWidth,o=e.offsetHeight,{hidden:s}=e,{display:c}=getComputedStyle(e);for(;e.offsetParent;)n+=(e=e.offsetParent).offsetTop,r+=e.offsetLeft;return n<i.pageYOffset+i.innerHeight&&r<i.pageXOffset+i.innerWidth&&n+o>i.pageYOffset&&r+a>i.pageXOffset&&!s&&"none"!==c}class bv extends yu.EventEmitter{constructor(e,t,i,n){var r;super(),this.metadataMuted=!1,this.encryption=Ml.NONE,this.log=hu,this.handleMuted=()=>{this.emit(Jh.Muted)},this.handleUnmuted=()=>{this.emit(Jh.Unmuted)},this.log=pu(null!==(r=null==n?void 0:n.loggerName)&&void 0!==r?r:cu.Publication),this.loggerContextCb=this.loggerContextCb,this.setMaxListeners(100),this.kind=e,this.trackSid=t,this.trackName=i,this.source=fp.Source.Unknown}setTrack(e){this.track&&(this.track.off(Jh.Muted,this.handleMuted),this.track.off(Jh.Unmuted,this.handleUnmuted)),this.track=e,e&&(e.on(Jh.Muted,this.handleMuted),e.on(Jh.Unmuted,this.handleUnmuted))}get logContext(){var e;return Object.assign(Object.assign({},null===(e=this.loggerContextCb)||void 0===e?void 0:e.call(this)),Tg(this))}get isMuted(){return this.metadataMuted}get isEnabled(){return!0}get isSubscribed(){return void 0!==this.track}get isEncrypted(){return this.encryption!==Ml.NONE}get audioTrack(){if(dg(this.track))return this.track}get videoTrack(){if(ug(this.track))return this.track}updateInfo(e){this.trackSid=e.sid,this.trackName=e.name,this.source=fp.sourceFromProto(e.source),this.mimeType=e.mimeType,this.kind===fp.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}))}}($m=(Wm=bv||(bv={})).SubscriptionStatus||(Wm.SubscriptionStatus={})).Desired="desired",$m.Subscribed="subscribed",$m.Unsubscribed="unsubscribed",(Jm=Wm.PermissionStatus||(Wm.PermissionStatus={})).Allowed="allowed",Jm.NotAllowed="not_allowed";class kv extends bv{get isUpstreamPaused(){var e;return null===(e=this.track)||void 0===e?void 0:e.isUpstreamPaused}constructor(e,t,i,n){super(e,t.sid,t.name,n),this.track=void 0,this.handleTrackEnded=()=>{this.emit(Jh.Ended)},this.handleCpuConstrained=()=>{this.track&&ug(this.track)&&this.emit(Jh.CpuConstrained,this.track)},this.updateInfo(t),this.setTrack(i)}setTrack(e){this.track&&(this.track.off(Jh.Ended,this.handleTrackEnded),this.track.off(Jh.CpuConstrained,this.handleCpuConstrained)),super.setTrack(e),e&&(e.on(Jh.Ended,this.handleTrackEnded),e.on(Jh.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 fu(this,void 0,void 0,function*(){var e;return null===(e=this.track)||void 0===e?void 0:e.mute()})}unmute(){return fu(this,void 0,void 0,function*(){var e;return null===(e=this.track)||void 0===e?void 0:e.unmute()})}pauseUpstream(){return fu(this,void 0,void 0,function*(){var e;yield null===(e=this.track)||void 0===e?void 0:e.pauseUpstream()})}resumeUpstream(){return fu(this,void 0,void 0,function*(){var e;yield null===(e=this.track)||void 0===e?void 0:e.resumeUpstream()})}getTrackFeatures(){var e;if(dg(this.track)){const t=this.track.getSourceTrackSettings(),i=new Set;return t.autoGainControl&&i.add(wl.TF_AUTO_GAIN_CONTROL),t.echoCancellation&&i.add(wl.TF_ECHO_CANCELLATION),t.noiseSuppression&&i.add(wl.TF_NOISE_SUPPRESSION),t.channelCount&&t.channelCount>1&&i.add(wl.TF_STEREO),(null===(e=this.options)||void 0===e?void 0:e.dtx)||i.add(wl.TF_NO_DTX),this.track.enhancedNoiseCancellation&&i.add(wl.TF_ENHANCED_NOISE_CANCELLATION),Array.from(i.values())}return[]}}function wv(e,t){return fu(this,void 0,void 0,function*(){null!=e||(e={});let i=!1;const{audioProcessor:n,videoProcessor:r,optionsWithoutProcessor:a}=Eg(e);let o=a.audio,s=a.video;if(n&&"object"==typeof a.audio&&(a.audio.processor=n),r&&"object"==typeof a.video&&(a.video.processor=r),e.audio&&"object"==typeof a.audio&&"string"==typeof a.audio.deviceId){const e=a.audio.deviceId;a.audio.deviceId={exact:e},i=!0,o=Object.assign(Object.assign({},a.audio),{deviceId:{ideal:e}})}if(a.video&&"object"==typeof a.video&&"string"==typeof a.video.deviceId){const e=a.video.deviceId;a.video.deviceId={exact:e},i=!0,s=Object.assign(Object.assign({},a.video),{deviceId:{ideal:e}})}(!0===a.audio||"object"==typeof a.audio&&!a.audio.deviceId)&&(a.audio={deviceId:"default"}),!0===a.video?a.video={deviceId:"default"}:"object"!=typeof a.video||a.video.deviceId||(a.video.deviceId="default");const c=fg(a,lm,dm),l=kg(c),d=navigator.mediaDevices.getUserMedia(l);a.audio&&(Ig.userMediaPromiseMap.set("audioinput",d),d.catch(()=>Ig.userMediaPromiseMap.delete("audioinput"))),a.video&&(Ig.userMediaPromiseMap.set("videoinput",d),d.catch(()=>Ig.userMediaPromiseMap.delete("videoinput")));try{const e=yield d;return yield Promise.all(e.getTracks().map(i=>fu(this,void 0,void 0,function*(){const a="audio"===i.kind;let o,s=a?c.audio:c.video;"boolean"!=typeof s&&s||(s={});const d=a?l.audio:l.video;"boolean"!=typeof d&&(o=d);const u=i.getSettings().deviceId;(null==o?void 0:o.deviceId)&&rg(o.deviceId)!==u?o.deviceId=u:o||(o={deviceId:u});const h=function(e,t,i){switch(e.kind){case"audio":return new Tm(e,t,!1,void 0,i);case"video":return new jm(e,t,!1,i);default:throw new ep("unsupported track type: ".concat(e.kind))}}(i,o,t);return h.kind===fp.Kind.Video?h.source=fp.Source.Camera:h.kind===fp.Kind.Audio&&(h.source=fp.Source.Microphone),h.mediaStream=e,dg(h)&&n?yield h.setProcessor(n):ug(h)&&r&&(yield h.setProcessor(r)),h})))}catch(Gb){if(!i)throw Gb;return wv(Object.assign(Object.assign({},e),{audio:o,video:s}),t)}})}(Qm=Km||(Km={})).Excellent="excellent",Qm.Good="good",Qm.Poor="poor",Qm.Lost="lost",Qm.Unknown="unknown";class yv extends yu.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===El.AGENT}get isActive(){var e;return(null===(e=this.participantInfo)||void 0===e?void 0:e.state)===Tl.ACTIVE}get kind(){return this._kind}get attributes(){return Object.freeze(Object.assign({},this._attributes))}constructor(e,t,i,n,r,a){let o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:El.STANDARD;var s;super(),this.audioLevel=0,this.isSpeaking=!1,this._connectionQuality=Km.Unknown,this.log=hu,this.log=pu(null!==(s=null==a?void 0:a.loggerName)&&void 0!==s?s:cu.Participant),this.loggerOptions=a,this.setMaxListeners(100),this.sid=e,this.identity=t,this.name=i,this.metadata=n,this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this._kind=o,this._attributes=null!=r?r:{}}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(Hh.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(fp.Source.Camera);return!(null===(e=null==t?void 0:t.isMuted)||void 0===e||e)}get isMicrophoneEnabled(){var e;const t=this.getTrackPublication(fp.Source.Microphone);return!(null===(e=null==t?void 0:t.isMuted)||void 0===e||e)}get isScreenShareEnabled(){return!!this.getTrackPublication(fp.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===Tl.ACTIVE&&(null===(t=this.participantInfo)||void 0===t?void 0:t.state)!==Tl.ACTIVE&&this.emit(Hh.Active),e.permission&&this.setPermissions(e.permission),this.participantInfo=e,0))}_setMetadata(e){const t=this.metadata!==e,i=this.metadata;this.metadata=e,t&&this.emit(Hh.ParticipantMetadataChanged,i)}_setName(e){const t=this.name!==e;this.name=e,t&&this.emit(Hh.ParticipantNameChanged,e)}_setAttributes(e){const t=function(e,t){var i;void 0===e&&(e={}),void 0===t&&(t={});const n=[...Object.keys(t),...Object.keys(e)],r={};for(const a of n)e[a]!==t[a]&&(r[a]=null!==(i=t[a])&&void 0!==i?i:"");return r}(this.attributes,e);this._attributes=e,Object.keys(t).length>0&&this.emit(Hh.AttributesChanged,t)}setPermissions(e){var t,i,n,r,a,o;const s=this.permissions,c=e.canPublish!==(null===(t=this.permissions)||void 0===t?void 0:t.canPublish)||e.canSubscribe!==(null===(i=this.permissions)||void 0===i?void 0:i.canSubscribe)||e.canPublishData!==(null===(n=this.permissions)||void 0===n?void 0:n.canPublishData)||e.hidden!==(null===(r=this.permissions)||void 0===r?void 0:r.hidden)||e.recorder!==(null===(a=this.permissions)||void 0===a?void 0:a.recorder)||e.canPublishSources.length!==this.permissions.canPublishSources.length||e.canPublishSources.some((e,t)=>{var i;return e!==(null===(i=this.permissions)||void 0===i?void 0:i.canPublishSources[t])})||e.canSubscribeMetrics!==(null===(o=this.permissions)||void 0===o?void 0:o.canSubscribeMetrics);return this.permissions=e,c&&this.emit(Hh.ParticipantPermissionsChanged,s),c}setIsSpeaking(e){e!==this.isSpeaking&&(this.isSpeaking=e,e&&(this.lastSpokeAt=new Date),this.emit(Hh.IsSpeakingChanged,e))}setConnectionQuality(e){const t=this._connectionQuality;this._connectionQuality=function(e){switch(e){case ml.EXCELLENT:return Km.Excellent;case ml.GOOD:return Km.Good;case ml.POOR:return Km.Poor;case ml.LOST:return Km.Lost;default:return Km.Unknown}}(e),t!==this._connectionQuality&&this.emit(Hh.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=>dg(t.track)&&t.track.setAudioContext(e))}addTrackPublication(e){e.on(Jh.Muted,()=>{this.emit(Hh.TrackMuted,e)}),e.on(Jh.Unmuted,()=>{this.emit(Hh.TrackUnmuted,e)});const t=e;switch(t.track&&(t.track.sid=e.trackSid),this.trackPublications.set(e.trackSid,e),e.kind){case fp.Kind.Audio:this.audioTrackPublications.set(e.trackSid,e);break;case fp.Kind.Video:this.videoTrackPublications.set(e.trackSid,e)}}}class xv extends yv{constructor(e,t,i,n,r,a){super(e,t,void 0,void 0,void 0,{loggerName:n.loggerName,loggerContextCb:()=>this.engine.logContext}),this.pendingPublishing=new Set,this.pendingPublishPromises=new Map,this.participantTrackPermissions=[],this.allParticipantsAllowedToSubscribe=!0,this.encryptionType=Ml.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,i,n,r,a;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===(n=(i=this.signalConnectedFuture).reject)||void 0===n||n.call(i,"Got disconnected without signal connected"),this.signalConnectedFuture=void 0),null===(a=null===(r=this.activeAgentFuture)||void 0===r?void 0:r.reject)||void 0===a||a.call(r,"Got disconnected without active agent present"),this.activeAgentFuture=void 0,this.firstActiveAgent=void 0},this.handleSignalConnected=e=>{var t,i;e.participant&&this.updateInfo(e.participant),this.signalConnectedFuture||(this.signalConnectedFuture=new ng),null===(i=(t=this.signalConnectedFuture).resolve)||void 0===i||i.call(t)},this.handleSignalRequestResponse=e=>{const{requestId:t,reason:i,message:n}=e,r=this.pendingSignalRequests.get(t);r&&(i!==Xd.OK&&r.reject(new ap(n,i)),this.pendingSignalRequests.delete(t))},this.handleDataPacket=e=>{switch(e.value.case){case"rpcResponse":let t=e.value.value,i=null,n=null;"payload"===t.value.case?i=t.value.value:"error"===t.value.case&&(n=vm.fromProto(t.value.value)),this.handleIncomingRpcResponse(t.requestId,i,n);break;case"rpcAck":let r=e.value.value;this.handleIncomingRpcAck(r.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,i,n;if(!e.participantSid&&!e.participantIdentity)throw new Error("Invalid track permission, must provide at least one of participantIdentity and participantSid");return new Ud({participantIdentity:null!==(t=e.participantIdentity)&&void 0!==t?t:"",participantSid:null!==(i=e.participantSid)&&void 0!==i?i:"",allTracks:null!==(n=e.allowAll)&&void 0!==n&&n,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),Tg(e)))},this.onTrackUpstreamPaused=e=>{this.log.debug("upstream paused",Object.assign(Object.assign({},this.logContext),Tg(e))),this.onTrackMuted(e,!0)},this.onTrackUpstreamResumed=e=>{this.log.debug("upstream resumed",Object.assign(Object.assign({},this.logContext),Tg(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),Tg(t))),this.emit(Hh.LocalTrackCpuConstrained,e,t)},this.handleSubscribedQualityUpdate=e=>fu(this,void 0,void 0,function*(){var t,i,n,r,a;if(!(null===(a=this.roomOptions)||void 0===a?void 0:a.dynacast))return;const o=this.videoTrackPublications.get(e.trackSid);if(!o)return void this.log.warn("received subscribed quality update for unknown track",Object.assign(Object.assign({},this.logContext),{trackSid:e.trackSid}));if(!o.videoTrack)return;const s=yield o.videoTrack.setPublishingCodecs(e.subscribedCodecs);try{for(var c,l=!0,d=bu(s);!(t=(c=yield d.next()).done);l=!0){r=c.value,l=!1;const e=r;Cp(e)&&(this.log.debug("publish ".concat(e," for ").concat(o.videoTrack.sid),Object.assign(Object.assign({},this.logContext),Tg(o))),yield this.publishAdditionalCodecForTrack(o.videoTrack,e,o.options))}}catch(u){i={error:u}}finally{try{l||t||!(n=d.return)||(yield n.call(d))}finally{if(i)throw i.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=>fu(this,void 0,void 0,function*(){if(e.source===fp.Source.ScreenShare||e.source===fp.Source.ScreenShareAudio)this.log.debug("unpublishing local track due to TrackEnded",Object.assign(Object.assign({},this.logContext),Tg(e))),this.unpublishTrack(e);else if(e.isUserProvided)yield e.mute();else if(pg(e)||hg(e))try{if(Bp())try{const t=yield null===navigator||void 0===navigator?void 0:navigator.permissions.query({name:e.source===fp.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),Tg(e))),t.onchange=()=>{"denied"!==t.state&&(e.isMuted||e.restartTrack(),t.onchange=null)},new Error("GetUserMedia Permission denied")}catch(Gb){}e.isMuted||(this.log.debug("track ended, attempting to use a different device",Object.assign(Object.assign({},this.logContext),Tg(e))),pg(e)?yield e.restartTrack({deviceId:"default"}):yield e.restartTrack())}catch(Gb){this.log.warn("could not restart track, muting instead",Object.assign(Object.assign({},this.logContext),Tg(e))),yield e.mute()}}),this.audioTrackPublications=new Map,this.videoTrackPublications=new Map,this.trackPublications=new Map,this.engine=i,this.roomOptions=n,this.setupEngine(i),this.activeDeviceMap=new Map([["audioinput","default"],["videoinput","default"],["audiooutput","default"]]),this.pendingSignalRequests=new Map,this.rpcHandlers=r,this.roomOutgoingDataStreamManager=a}get lastCameraError(){return this.cameraError}get lastMicrophoneError(){return this.microphoneError}get isE2EEEnabled(){return this.encryptionType!==Ml.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(Wh.RemoteMute,(e,t)=>{const i=this.trackPublications.get(e);i&&i.track&&(t?i.mute():i.unmute())}),(null===(t=this.signalConnectedFuture)||void 0===t?void 0:t.isResolved)&&(this.signalConnectedFuture=void 0),this.engine.on(Wh.Connected,this.handleReconnected).on(Wh.SignalConnected,this.handleSignalConnected).on(Wh.SignalRestarted,this.handleReconnected).on(Wh.SignalResumed,this.handleReconnected).on(Wh.Restarting,this.handleReconnecting).on(Wh.Resuming,this.handleReconnecting).on(Wh.LocalTrackUnpublished,this.handleLocalTrackUnpublished).on(Wh.SubscribedQualityUpdate,this.handleSubscribedQualityUpdate).on(Wh.Closing,this.handleClosing).on(Wh.SignalRequestResponse,this.handleSignalRequestResponse).on(Wh.DataPacketReceived,this.handleDataPacket)}setMetadata(e){return fu(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({metadata:e})})}setName(e){return fu(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({name:e})})}setAttributes(e){return fu(this,void 0,void 0,function*(){yield this.requestMetadataUpdate({attributes:e})})}requestMetadataUpdate(e){return fu(this,arguments,void 0,function(e){var t=this;let{metadata:i,name:n,attributes:r}=e;return function*(){return new Promise((e,a)=>fu(t,void 0,void 0,function*(){var t,o;try{let s=!1;const c=yield this.engine.client.sendUpdateLocalMetadata(null!==(t=null!=i?i:this.metadata)&&void 0!==t?t:"",null!==(o=null!=n?n:this.name)&&void 0!==o?o:"",r),l=performance.now();for(this.pendingSignalRequests.set(c,{resolve:e,reject:e=>{a(e),s=!0},values:{name:n,metadata:i,attributes:r}});performance.now()-l<5e3&&!s;){if((!n||this.name===n)&&(!i||this.metadata===i)&&(!r||Object.entries(r).every(e=>{let[t,i]=e;return this.attributes[t]===i||""===i&&!this.attributes[t]})))return this.pendingSignalRequests.delete(c),void e();yield Ap(50)}a(new ap("Request to update local metadata timed out","TimeoutError"))}catch(Gb){Gb instanceof Error&&a(Gb)}}))}()})}setCameraEnabled(e,t,i){return this.setTrackEnabled(fp.Source.Camera,e,t,i)}setMicrophoneEnabled(e,t,i){return this.setTrackEnabled(fp.Source.Microphone,e,t,i)}setScreenShareEnabled(e,t,i){return this.setTrackEnabled(fp.Source.ScreenShare,e,t,i)}setPermissions(e){const t=this.permissions,i=super.setPermissions(e);return i&&t&&this.emit(Hh.ParticipantPermissionsChanged,t),i}setE2EEEnabled(e){return fu(this,void 0,void 0,function*(){this.encryptionType=e?Ml.GCM:Ml.NONE,yield this.republishAllTracks(void 0,!1)})}setTrackEnabled(e,t,i,n){return fu(this,void 0,void 0,function*(){var r,a;this.log.debug("setTrackEnabled",Object.assign(Object.assign({},this.logContext),{source:e,enabled:t})),this.republishPromise&&(yield this.republishPromise);let o=this.getTrackPublication(e);if(t)if(o)yield o.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 fp.Source.Camera:t=yield this.createTracks({video:null===(r=i)||void 0===r||r});break;case fp.Source.Microphone:t=yield this.createTracks({audio:null===(a=i)||void 0===a||a});break;case fp.Source.ScreenShare:t=yield this.createScreenTracks(Object.assign({},i));break;default:throw new ep(e)}}catch(Gb){throw null==t||t.forEach(e=>{e.stop()}),Gb instanceof Error&&this.emit(Hh.MediaDevicesError,Gb,xg(e)),this.pendingPublishing.delete(e),Gb}for(const n of t){const t=Object.assign(Object.assign({},this.roomOptions.publishDefaults),i);e===fp.Source.Microphone&&dg(n)&&t.preConnectBuffer&&(this.log.info("starting preconnect buffer for microphone",Object.assign({},this.logContext)),n.startPreConnectBuffer())}try{const e=[];for(const r of t)this.log.info("publishing track",Object.assign(Object.assign({},this.logContext),Tg(r))),e.push(this.publishTrack(r,n));const i=yield Promise.all(e);[o]=i}catch(Gb){throw null==t||t.forEach(e=>{e.stop()}),Gb}finally{this.pendingPublishing.delete(e)}}else if(!(null==o?void 0:o.track)&&this.pendingPublishing.has(e)&&(o=yield this.waitForPendingPublicationOfSource(e),o||this.log.info("waiting for pending publication promise timed out",Object.assign(Object.assign({},this.logContext),{source:e}))),o&&o.track)if(e===fp.Source.ScreenShare){o=yield this.unpublishTrack(o.track);const e=this.getTrackPublication(fp.Source.ScreenShareAudio);e&&e.track&&this.unpublishTrack(e.track)}else yield o.mute();return o})}enableCameraAndMicrophone(){return fu(this,void 0,void 0,function*(){if(!this.pendingPublishing.has(fp.Source.Camera)&&!this.pendingPublishing.has(fp.Source.Microphone)){this.pendingPublishing.add(fp.Source.Camera),this.pendingPublishing.add(fp.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(fp.Source.Camera),this.pendingPublishing.delete(fp.Source.Microphone)}}})}createTracks(e){return fu(this,void 0,void 0,function*(){var t,i;null!=e||(e={});const n=fg(e,null===(t=this.roomOptions)||void 0===t?void 0:t.audioCaptureDefaults,null===(i=this.roomOptions)||void 0===i?void 0:i.videoCaptureDefaults);try{return(yield wv(n,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext})).map(e=>(dg(e)&&(this.microphoneError=void 0,e.setAudioContext(this.audioContext),e.source=fp.Source.Microphone,this.emit(Hh.AudioStreamAcquired)),ug(e)&&(this.cameraError=void 0,e.source=fp.Source.Camera),e))}catch(r){throw r instanceof Error&&(e.audio&&(this.microphoneError=r),e.video&&(this.cameraError=r)),r}})}createScreenTracks(e){return fu(this,void 0,void 0,function*(){if(void 0===e&&(e={}),void 0===navigator.mediaDevices.getDisplayMedia)throw new Xh("getDisplayMedia not supported");void 0!==e.resolution||function(){const e=lp();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)&&$p(e.osVersion,"17")>=0}()||(e.resolution=Ip.h1080fps30.resolution);const t=function(e){var t,i;let n=null===(t=e.video)||void 0===t||t;return e.resolution&&e.resolution.width>0&&e.resolution.height>0&&(n="boolean"==typeof n?{}:n,n=Fp()?Object.assign(Object.assign({},n),{width:{max:e.resolution.width},height:{max:e.resolution.height},frameRate:e.resolution.frameRate}):Object.assign(Object.assign({},n),{width:{ideal:e.resolution.width},height:{ideal:e.resolution.height},frameRate:e.resolution.frameRate})),{audio:null!==(i=e.audio)&&void 0!==i&&i,video:n,controller:e.controller,selfBrowserSurface:e.selfBrowserSurface,surfaceSwitching:e.surfaceSwitching,systemAudio:e.systemAudio,preferCurrentTab:e.preferCurrentTab}}(e),i=yield navigator.mediaDevices.getDisplayMedia(t),n=i.getVideoTracks();if(0===n.length)throw new ep("no video track found");const r=new jm(n[0],void 0,!1,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});r.source=fp.Source.ScreenShare,e.contentHint&&(r.mediaStreamTrack.contentHint=e.contentHint);const a=[r];if(i.getAudioTracks().length>0){this.emit(Hh.AudioStreamAcquired);const e=new Tm(i.getAudioTracks()[0],void 0,!1,this.audioContext,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});e.source=fp.Source.ScreenShareAudio,a.push(e)}return a})}publishTrack(e,t){return fu(this,void 0,void 0,function*(){return this.publishOrRepublishTrack(e,t)})}publishOrRepublishTrack(e,t){return fu(this,arguments,void 0,function(e,t){var i=this;let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function*(){var r,a,o,s;let c,l;if(pg(e)&&e.setAudioContext(i.audioContext),yield null===(r=i.reconnectFuture)||void 0===r?void 0:r.promise,i.republishPromise&&!n&&(yield i.republishPromise),lg(e)&&i.pendingPublishPromises.has(e)&&(yield i.pendingPublishPromises.get(e)),e instanceof MediaStreamTrack)c=e.getConstraints();else{let t;switch(c=e.constraints,e.source){case fp.Source.Microphone:t="audioinput";break;case fp.Source.Camera:t="videoinput"}t&&i.activeDeviceMap.has(t)&&(c=Object.assign(Object.assign({},c),{deviceId:i.activeDeviceMap.get(t)}))}if(e instanceof MediaStreamTrack)switch(e.kind){case"audio":e=new Tm(e,c,!0,i.audioContext,{loggerName:i.roomOptions.loggerName,loggerContextCb:()=>i.logContext});break;case"video":e=new jm(e,c,!0,{loggerName:i.roomOptions.loggerName,loggerContextCb:()=>i.logContext});break;default:throw new ep("unsupported MediaStreamTrack kind ".concat(e.kind))}else e.updateLoggerOptions({loggerName:i.roomOptions.loggerName,loggerContextCb:()=>i.logContext});if(i.trackPublications.forEach(t=>{t.track&&t.track===e&&(l=t)}),l)return i.log.warn("track has already been published, skipping",Object.assign(Object.assign({},i.logContext),Tg(l))),l;const d="channelCount"in e.mediaStreamTrack.getSettings()&&2===e.mediaStreamTrack.getSettings().channelCount||2===e.mediaStreamTrack.getConstraints().channelCount,u=null!==(a=null==t?void 0:t.forceStereo)&&void 0!==a?a:d;u&&(t||(t={}),void 0===t.dtx&&i.log.info("Opus DTX will be disabled for stereo tracks by default. Enable them explicitly to make it work.",Object.assign(Object.assign({},i.logContext),Tg(e))),void 0===t.red&&i.log.info("Opus RED will be disabled for stereo tracks by default. Enable them explicitly to make it work."),null!==(o=t.dtx)&&void 0!==o||(t.dtx=!1),null!==(s=t.red)&&void 0!==s||(t.red=!1));const h=Object.assign(Object.assign({},i.roomOptions.publishDefaults),t);!function(){const e=lp(),t="17.2";if(e)return"Safari"!==e.name&&"iOS"!==e.os||!!("iOS"===e.os&&e.osVersion&&$p(t,e.osVersion)>=0)||"Safari"===e.name&&$p(t,e.version)>=0}()&&i.roomOptions.e2ee&&(i.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({},i.logContext)),h.simulcast=!1),h.source&&(e.source=h.source);const p=new Promise((t,n)=>fu(i,void 0,void 0,function*(){try{if(this.engine.client.currentState!==Ng.CONNECTED){this.log.debug("deferring track publication until signal is connected",Object.assign(Object.assign({},this.logContext),{track:Tg(e)}));const i=setTimeout(()=>{n(new rp("publishing rejected as engine not connected within timeout",408))},15e3);yield this.waitUntilEngineConnected(),clearTimeout(i);const r=yield this.publish(e,h,u);t(r)}else try{const i=yield this.publish(e,h,u);t(i)}catch(Gb){n(Gb)}}catch(Gb){n(Gb)}}));i.pendingPublishPromises.set(e,p);try{return yield p}catch(Gb){throw Gb}finally{i.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),Tg(e))),!1;const{canPublish:t,canPublishSources:i}=this.permissions;return!(!t||0!==i.length&&!i.map(e=>function(e){switch(e){case pl.CAMERA:return fp.Source.Camera;case pl.MICROPHONE:return fp.Source.Microphone;case pl.SCREEN_SHARE:return fp.Source.ScreenShare;case pl.SCREEN_SHARE_AUDIO:return fp.Source.ScreenShareAudio;default:return fp.Source.Unknown}}(e)).includes(e.source))||(this.log.warn("insufficient permissions to publish",Object.assign(Object.assign({},this.logContext),Tg(e))),!1)}publish(e,t,i){return fu(this,void 0,void 0,function*(){var n,r,a,o,s,c,l,d,u,h;if(!this.hasPermissionsToPublish(e))throw new rp("failed to publish track, insufficient permissions",403);Array.from(this.trackPublications.values()).find(t=>lg(e)&&t.source===e.source)&&e.source!==fp.Source.Unknown&&this.log.info("publishing a second track with the same source: ".concat(e.source),Object.assign(Object.assign({},this.logContext),Tg(e))),t.stopMicTrackOnMute&&dg(e)&&(e.stopOnMute=!0),e.source===fp.Source.ScreenShare&&jp()&&(t.simulcast=!1),"av1"!==t.videoCodec||function(){if(!("getCapabilities"in RTCRtpSender))return!1;if(Fp())return!1;const e=RTCRtpSender.getCapabilities("video");let t=!1;if(e)for(const i of e.codecs)if("video/AV1"===i.mimeType){t=!0;break}return t}()||(t.videoCodec=void 0),"vp9"!==t.videoCodec||function(){if(!("getCapabilities"in RTCRtpSender))return!1;if(jp())return!1;if(Fp()){const e=lp();if((null==e?void 0:e.version)&&$p(e.version,"16")<0)return!1;if("iOS"===(null==e?void 0:e.os)&&(null==e?void 0:e.osVersion)&&$p(e.osVersion,"16")<0)return!1}const e=RTCRtpSender.getCapabilities("video");let t=!1;if(e)for(const i of e.codecs)if("video/VP9"===i.mimeType){t=!0;break}return t}()||(t.videoCodec=void 0),void 0===t.videoCodec&&(t.videoCodec=sm),this.enabledPublishVideoCodecs.length>0&&(this.enabledPublishVideoCodecs.some(e=>t.videoCodec===Cg(e.mime))||(t.videoCodec=Cg(this.enabledPublishVideoCodecs[0].mime)));const p=t.videoCodec;e.on(Jh.Muted,this.onTrackMuted),e.on(Jh.Unmuted,this.onTrackUnmuted),e.on(Jh.Ended,this.handleTrackEnded),e.on(Jh.UpstreamPaused,this.onTrackUpstreamPaused),e.on(Jh.UpstreamResumed,this.onTrackUpstreamResumed),e.on(Jh.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate);const g=[],m=!(null===(n=t.dtx)||void 0===n||n),v=e.getSourceTrackSettings();v.autoGainControl&&g.push(wl.TF_AUTO_GAIN_CONTROL),v.echoCancellation&&g.push(wl.TF_ECHO_CANCELLATION),v.noiseSuppression&&g.push(wl.TF_NOISE_SUPPRESSION),v.channelCount&&v.channelCount>1&&g.push(wl.TF_STEREO),m&&g.push(wl.TF_NO_DTX),pg(e)&&e.hasPreConnectBuffer&&g.push(wl.TF_PRECONNECT_BUFFER);const f=new hd({cid:e.mediaStreamTrack.id,name:t.name,type:fp.kindToProto(e.kind),muted:e.isMuted,source:fp.sourceToProto(e.source),disableDtx:m,encryption:this.encryptionType,stereo:i,disableRed:this.isE2EEEnabled||!(null===(r=t.red)||void 0===r||r),stream:null==t?void 0:t.stream,backupCodecPolicy:null==t?void 0:t.backupCodecPolicy,audioFeatures:g});let b;if(e.kind===fp.Kind.Video){let i={width:0,height:0};try{i=yield e.waitForDimensions()}catch(Gb){const n=null!==(o=null===(a=this.roomOptions.videoCaptureDefaults)||void 0===a?void 0:a.resolution)&&void 0!==o?o:Mp.h720.resolution;i={width:n.width,height:n.height},this.log.error("could not determine track dimensions, using defaults",Object.assign(Object.assign(Object.assign({},this.logContext),Tg(e)),{dims:i}))}f.width=i.width,f.height=i.height,hg(e)&&(Lp(p)&&(e.source===fp.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),Tg(e))))),t.scalabilityMode=null!==(s=t.scalabilityMode)&&void 0!==s?s:"L3T3_KEY"),f.simulcastCodecs=[new ud({codec:p,cid:e.mediaStreamTrack.id})],!0===t.backupCodec&&(t.backupCodec={codec:sm}),t.backupCodec&&p!==t.backupCodec.codec&&f.encryption===Ml.NONE&&(this.roomOptions.dynacast||(this.roomOptions.dynacast=!0),f.simulcastCodecs.push(new ud({codec:t.backupCodec.codec,cid:""})))),b=Am(e.source===fp.Source.ScreenShare,f.width,f.height,t),f.layers=zm(f.width,f.height,b,Lp(t.videoCodec))}else e.kind===fp.Kind.Audio&&(b=[{maxBitrate:null===(c=t.audioPreset)||void 0===c?void 0:c.maxBitrate,priority:null!==(d=null===(l=t.audioPreset)||void 0===l?void 0:l.priority)&&void 0!==d?d:"high",networkPriority:null!==(h=null===(u=t.audioPreset)||void 0===u?void 0:u.priority)&&void 0!==h?h:"high"}]);if(!this.engine||this.engine.isClosed)throw new ip("cannot publish track when not connected");const k=()=>fu(this,void 0,void 0,function*(){var i,n,r;if(!this.engine.pcManager)throw new ip("pcManager is not ready");if(e.sender=yield this.engine.createSender(e,t,b),this.emit(Hh.LocalSenderCreated,e.sender,e),hg(e)&&(null!==(i=t.degradationPreference)&&void 0!==i||(t.degradationPreference=function(e){return e.source===fp.Source.ScreenShare||e.constraints.height&&rg(e.constraints.height)>=1080?"maintain-resolution":"balanced"}(e)),e.setDegradationPreference(t.degradationPreference)),b)if(jp()&&e.kind===fp.Kind.Audio){let t;for(const i of this.engine.pcManager.publisher.getTransceivers())if(i.sender===e.sender){t=i;break}t&&this.engine.pcManager.publisher.setTrackCodecBitrate({transceiver:t,codec:"opus",maxbr:(null===(n=b[0])||void 0===n?void 0:n.maxBitrate)?b[0].maxBitrate/1e3:0})}else e.codec&&Lp(e.codec)&&(null===(r=b[0])||void 0===r?void 0:r.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,i)=>fu(this,void 0,void 0,function*(){var n;try{w=yield this.engine.addTrack(f),t(w)}catch(r){e.sender&&(null===(n=this.engine.pcManager)||void 0===n?void 0:n.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),Tg(e)),{error:t}))})),i(r)}}));if(this.enabledPublishVideoCodecs.length>0){const e=yield Promise.all([y,k()]);w=e[0]}else{let i;if(w=yield y,w.codecs.forEach(e=>{void 0===i&&(i=e.mimeType)}),i&&e.kind===fp.Kind.Video){const n=Cg(i);n!==p&&(this.log.debug("falling back to server selected codec",Object.assign(Object.assign(Object.assign({},this.logContext),Tg(e)),{codec:n})),t.videoCodec=n,b=Am(e.source===fp.Source.ScreenShare,f.width,f.height,t))}yield k()}const x=new kv(e.kind,w,e,{loggerName:this.roomOptions.loggerName,loggerContextCb:()=>this.logContext});if(x.on(Jh.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})),hg(e)?e.startMonitor(this.engine.client):pg(e)&&e.startMonitor(),this.addTrackPublication(x),this.emit(Hh.LocalTrackPublished,x),pg(e)&&w.audioFeatures.includes(wl.TF_PRECONNECT_BUFFER)){const t=e.getPreConnectBuffer(),i=e.getPreConnectBufferMimeType();this.on(Hh.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),Tg(e))),e.stopPreConnectBuffer()}}),t&&new Promise((n,r)=>fu(this,void 0,void 0,function*(){var a,o,s,c,l,d;try{this.log.debug("waiting for agent",Object.assign(Object.assign({},this.logContext),Tg(e)));const m=setTimeout(()=>{r(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),Tg(e)));const b=yield this.streamBytes({name:"preconnect-buffer",mimeType:i,topic:"lk.agent.pre-connect-audio-buffer",destinationIdentities:[f.identity],attributes:{trackId:x.trackSid,sampleRate:String(null!==(l=v.sampleRate)&&void 0!==l?l:"48000"),channels:String(null!==(d=v.channelCount)&&void 0!==d?d:"1")}});try{for(var u,h=!0,p=bu(t);!(a=(u=yield p.next()).done);h=!0){c=u.value,h=!1;const e=c;yield b.write(e)}}catch(g){o={error:g}}finally{try{h||a||!(s=p.return)||(yield s.call(p))}finally{if(o)throw o.error}}yield b.close(),n()}catch(Gb){r(Gb)}})).then(()=>{this.log.debug("preconnect buffer sent successfully",Object.assign(Object.assign({},this.logContext),Tg(e)))}).catch(t=>{this.log.error("error sending preconnect buffer",Object.assign(Object.assign(Object.assign({},this.logContext),Tg(e)),{error:t}))})}return x})}get isLocal(){return!0}publishAdditionalCodecForTrack(e,t,i){return fu(this,void 0,void 0,function*(){var n;if(this.encryptionType!==Ml.NONE)return;let r;if(this.trackPublications.forEach(t=>{t.track&&t.track===e&&(r=t)}),!r)throw new ep("track is not published");if(!hg(e))throw new ep("track is not a video track");const a=Object.assign(Object.assign({},null===(n=this.roomOptions)||void 0===n?void 0:n.publishDefaults),i),o=function(e,t,i){var n,r,a,o;if(!i.backupCodec||!0===i.backupCodec||i.backupCodec.codec===i.videoCodec)return;t!==i.backupCodec.codec&&hu.warn("requested a different codec than specified as backup",{serverRequested:t,backup:i.backupCodec.codec}),i.videoCodec=t,i.videoEncoding=i.backupCodec.encoding;const s=e.mediaStreamTrack.getSettings(),c=null!==(n=s.width)&&void 0!==n?n:null===(r=e.dimensions)||void 0===r?void 0:r.width,l=null!==(a=s.height)&&void 0!==a?a:null===(o=e.dimensions)||void 0===o?void 0:o.height;return e.source===fp.Source.ScreenShare&&i.simulcast&&(i.simulcast=!1),Am(e.source===fp.Source.ScreenShare,c,l,i)}(e,t,a);if(!o)return void this.log.info("backup codec has been disabled, ignoring request to add additional codec for track",Object.assign(Object.assign({},this.logContext),Tg(e)));const s=e.addSimulcastTrack(t,o);if(!s)return;const c=new hd({cid:s.mediaStreamTrack.id,type:fp.kindToProto(e.kind),muted:e.isMuted,source:fp.sourceToProto(e.source),sid:e.sid,simulcastCodecs:[{codec:a.videoCodec,cid:s.mediaStreamTrack.id}]});if(c.layers=zm(c.width,c.height,o),!this.engine||this.engine.isClosed)throw new ip("cannot publish track when not connected");const l=(yield Promise.all([this.engine.addTrack(c),(()=>fu(this,void 0,void 0,function*(){yield this.engine.createSimulcastSender(e,s,a,o),yield this.engine.negotiate()}))()]))[0];this.log.debug("published ".concat(t," for track ").concat(e.sid),Object.assign(Object.assign({},this.logContext),{encodings:o,trackInfo:l}))})}unpublishTrack(e,t){return fu(this,void 0,void 0,function*(){var i,n;if(lg(e)){const t=this.pendingPublishPromises.get(e);t&&(this.log.info("awaiting publish promise before attempting to unpublish",Object.assign(Object.assign({},this.logContext),Tg(e))),yield t)}const r=this.getPublicationForTrack(e),a=r?Tg(r):void 0;if(this.log.debug("unpublishing track",Object.assign(Object.assign({},this.logContext),a)),!r||!r.track)return void this.log.warn("track was not unpublished because no publication was found",Object.assign(Object.assign({},this.logContext),a));(e=r.track).off(Jh.Muted,this.onTrackMuted),e.off(Jh.Unmuted,this.onTrackUnmuted),e.off(Jh.Ended,this.handleTrackEnded),e.off(Jh.UpstreamPaused,this.onTrackUpstreamPaused),e.off(Jh.UpstreamResumed,this.onTrackUpstreamResumed),e.off(Jh.AudioTrackFeatureUpdate,this.onTrackFeatureUpdate),void 0===t&&(t=null===(n=null===(i=this.roomOptions)||void 0===i?void 0:i.stopLocalTrackOnUnpublish)||void 0===n||n),t?e.stop():e.stopMonitor();let o=!1;const s=e.sender;if(e.sender=void 0,this.engine.pcManager&&this.engine.pcManager.currentState<pm.FAILED&&s)try{for(const e of this.engine.pcManager.publisher.getTransceivers())e.sender===s&&(e.direction="inactive",o=!0);if(this.engine.removeTrack(s)&&(o=!0),hg(e)){for(const[,t]of e.simulcastCodecs)t.sender&&(this.engine.removeTrack(t.sender)&&(o=!0),t.sender=void 0);e.simulcastCodecs.clear()}}catch(Gb){this.log.warn("failed to unpublish track",Object.assign(Object.assign(Object.assign({},this.logContext),a),{error:Gb}))}switch(this.trackPublications.delete(r.trackSid),r.kind){case fp.Kind.Audio:this.audioTrackPublications.delete(r.trackSid);break;case fp.Kind.Video:this.videoTrackPublications.delete(r.trackSid)}return this.emit(Hh.LocalTrackUnpublished,r),r.setTrack(void 0),o&&(yield this.engine.negotiate()),r})}unpublishTracks(e){return fu(this,void 0,void 0,function*(){return(yield Promise.all(e.map(e=>this.unpublishTrack(e)))).filter(e=>!!e)})}republishAllTracks(e){return fu(this,arguments,void 0,function(e){var t=this;let i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){t.republishPromise&&(yield t.republishPromise),t.republishPromise=new Promise((n,r)=>fu(t,void 0,void 0,function*(){try{const t=[];this.trackPublications.forEach(i=>{i.track&&(e&&(i.options=Object.assign(Object.assign({},i.options),e)),t.push(i))}),yield Promise.all(t.map(e=>fu(this,void 0,void 0,function*(){const t=e.track;yield this.unpublishTrack(t,!1),!i||t.isMuted||t.source===fp.Source.ScreenShare||t.source===fp.Source.ScreenShareAudio||!pg(t)&&!hg(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)}))),n()}catch(t){r(t)}finally{this.republishPromise=void 0}})),yield t.republishPromise}()})}publishData(e){return fu(this,arguments,void 0,function(e){var t=this;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){const n=i.reliable?Ol.RELIABLE:Ol.LOSSY,r=i.destinationIdentities,a=i.topic,o=new Al({kind:n,value:{case:"user",value:new Nl({participantIdentity:t.identity,payload:e,destinationIdentities:r,topic:a})}});yield t.engine.sendDataPacket(o,n)}()})}publishDtmf(e,t){return fu(this,void 0,void 0,function*(){const i=new Al({kind:Ol.RELIABLE,value:{case:"sipDtmf",value:new jl({code:e,digit:t})}});yield this.engine.sendDataPacket(i,Ol.RELIABLE)})}sendChatMessage(e,t){return fu(this,void 0,void 0,function*(){const i={id:crypto.randomUUID(),message:e,timestamp:Date.now(),attachedFiles:null==t?void 0:t.attachments},n=new Al({value:{case:"chatMessage",value:new zl(Object.assign(Object.assign({},i),{timestamp:Qs.parse(i.timestamp)}))}});return yield this.engine.sendDataPacket(n,Ol.RELIABLE),this.emit(Hh.ChatMessage,i),i})}editChatMessage(e,t){return fu(this,void 0,void 0,function*(){const i=Object.assign(Object.assign({},t),{message:e,editTimestamp:Date.now()}),n=new Al({value:{case:"chatMessage",value:new zl(Object.assign(Object.assign({},i),{timestamp:Qs.parse(i.timestamp),editTimestamp:Qs.parse(i.editTimestamp)}))}});return yield this.engine.sendDataPacket(n,Ol.RELIABLE),this.emit(Hh.ChatMessage,i),i})}sendText(e,t){return fu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendText(e,t)})}streamText(e){return fu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.streamText(e)})}sendFile(e,t){return fu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.sendFile(e,t)})}streamBytes(e){return fu(this,void 0,void 0,function*(){return this.roomOutgoingDataStreamManager.streamBytes(e)})}performRpc(e){return fu(this,arguments,void 0,function(e){var t=this;let{destinationIdentity:i,method:n,payload:r,responseTimeout:a=1e4}=e;return function*(){return new Promise((e,o)=>fu(t,void 0,void 0,function*(){var t,s,c,l;if(fm(r)>15360)return void o(vm.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)&&$p(null===(l=null===(c=this.engine.latestJoinResponse)||void 0===c?void 0:c.serverInfo)||void 0===l?void 0:l.version,"1.8.0")<0)return void o(vm.builtIn("UNSUPPORTED_SERVER"));const d=crypto.randomUUID();yield this.publishRpcRequest(i,d,n,r,a-2e3);const u=setTimeout(()=>{this.pendingAcks.delete(d),o(vm.builtIn("CONNECTION_TIMEOUT")),this.pendingResponses.delete(d),clearTimeout(h)},2e3);this.pendingAcks.set(d,{resolve:()=>{clearTimeout(u)},participantIdentity:i});const h=setTimeout(()=>{this.pendingResponses.delete(d),o(vm.builtIn("RESPONSE_TIMEOUT"))},a);this.pendingResponses.set(d,{resolve:(t,i)=>{clearTimeout(h),this.pendingAcks.has(d)&&(this.pendingAcks.delete(d),clearTimeout(u)),i?o(i):e(null!=t?t:"")},participantIdentity:i})}))}()})}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,i){const n=this.pendingResponses.get(e);n&&(n.resolve(t,i),this.pendingResponses.delete(e))}publishRpcRequest(e,t,i,n,r){return fu(this,void 0,void 0,function*(){const a=new Al({destinationIdentities:[e],kind:Ol.RELIABLE,value:{case:"rpcRequest",value:new Bl({id:t,method:i,payload:n,responseTimeoutMs:r,version:1})}});yield this.engine.sendDataPacket(a,Ol.RELIABLE)})}handleParticipantDisconnected(e){for(const[t,{participantIdentity:i}]of this.pendingAcks)i===e&&this.pendingAcks.delete(t);for(const[t,{participantIdentity:i,resolve:n}]of this.pendingResponses)i===e&&(n(null,vm.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,i;const n=this.trackPublications.get(e.sid);if(n){const r=n.isMuted||null!==(i=null===(t=n.track)||void 0===t?void 0:t.isUpstreamPaused)&&void 0!==i&&i;r!==e.muted&&(this.log.debug("updating server mute state after reconcile",Object.assign(Object.assign(Object.assign({},this.logContext),Tg(n)),{mutedOnServer:r})),this.engine.client.sendMuteTrack(e.sid,r))}}),!0)}setActiveAgent(e){var t,i,n,r;this.firstActiveAgent=e,e&&!this.firstActiveAgent&&(this.firstActiveAgent=e),e?null===(i=null===(t=this.activeAgentFuture)||void 0===t?void 0:t.resolve)||void 0===i||i.call(t,e):null===(r=null===(n=this.activeAgentFuture)||void 0===n?void 0:n.reject)||void 0===r||r.call(n,"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(i=>{const n=i.track;n&&(e instanceof MediaStreamTrack?(pg(n)||hg(n))&&n.mediaStreamTrack===e&&(t=i):e===n&&(t=i))}),t}waitForPendingPublicationOfSource(e){return fu(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[i]=t;return i.source===e});if(t)return t[1];yield Ap(20)}})}}class Cv extends bv{constructor(e,t,i,n){super(e,t.sid,t.name,n),this.track=void 0,this.allowed=!0,this.requestedDisabled=void 0,this.visible=!0,this.handleEnded=e=>{this.setTrack(void 0),this.emit(Jh.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=i,this.updateInfo(t)}setSubscribed(e){const t=this.subscriptionStatus,i=this.permissionStatus;this.subscribed=e,e&&(this.allowed=!0);const n=new yd({trackSids:[this.trackSid],subscribe:this.subscribed,participantTracks:[new Gl({participantSid:"",trackSids:[this.trackSid]})]});this.emit(Jh.UpdateSubscription,n),this.emitSubscriptionUpdateIfChanged(t),this.emitPermissionUpdateIfChanged(i)}get subscriptionStatus(){return!1===this.subscribed?bv.SubscriptionStatus.Unsubscribed:super.isSubscribed?bv.SubscriptionStatus.Subscribed:bv.SubscriptionStatus.Desired}get permissionStatus(){return this.allowed?bv.PermissionStatus.Allowed:bv.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,i;this.isManualOperationAllowed()&&((null===(t=this.requestedVideoDimensions)||void 0===t?void 0:t.width)===e.width&&(null===(i=this.requestedVideoDimensions)||void 0===i?void 0:i.height)===e.height||(vg(this.track)&&(this.requestedVideoDimensions=e),this.requestedMaxQuality=void 0,this.emitTrackUpdate()))}setVideoFPS(e){this.isManualOperationAllowed()&&vg(this.track)&&this.fps!==e&&(this.fps=e,this.emitTrackUpdate())}get videoQuality(){var e;return null!==(e=this.requestedMaxQuality)&&void 0!==e?e:mp.HIGH}setTrack(e){const t=this.subscriptionStatus,i=this.permissionStatus,n=this.track;n!==e&&(n&&(n.off(Jh.VideoDimensionsChanged,this.handleVideoDimensionsChange),n.off(Jh.VisibilityChanged,this.handleVisibilityChange),n.off(Jh.Ended,this.handleEnded),n.detach(),n.stopMonitor(),this.emit(Jh.Unsubscribed,n)),super.setTrack(e),e&&(e.sid=this.trackSid,e.on(Jh.VideoDimensionsChanged,this.handleVideoDimensionsChange),e.on(Jh.VisibilityChanged,this.handleVisibilityChange),e.on(Jh.Ended,this.handleEnded),this.emit(Jh.Subscribed,e)),this.emitPermissionUpdateIfChanged(i),this.emitSubscriptionUpdateIfChanged(t))}setAllowed(e){const t=this.subscriptionStatus,i=this.permissionStatus;this.allowed=e,this.emitPermissionUpdateIfChanged(i),this.emitSubscriptionUpdateIfChanged(t)}setSubscriptionError(e){this.emit(Jh.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?Jh.Muted:Jh.Unmuted)}emitSubscriptionUpdateIfChanged(e){const t=this.subscriptionStatus;e!==t&&this.emit(Jh.SubscriptionStatusChanged,t,e)}emitPermissionUpdateIfChanged(e){this.permissionStatus!==e&&this.emit(Jh.SubscriptionPermissionChanged,this.permissionStatus,e)}isManualOperationAllowed(){return!!this.isDesired||(this.log.warn("cannot update track settings when not subscribed",this.logContext),!1)}get isAdaptiveStream(){return vg(this.track)&&this.track.isAdaptiveStream}emitTrackUpdate(){const e=new xd({trackSids:[this.trackSid],disabled:!this.isEnabled,fps:this.fps});if(this.kind===fp.Kind.Video){let r=this.requestedVideoDimensions;if(void 0!==this.videoDimensionsAdaptiveStream)if(r)Pg(this.videoDimensionsAdaptiveStream,r)&&(this.log.debug("using adaptive stream dimensions instead of requested",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),r=this.videoDimensionsAdaptiveStream);else if(void 0!==this.requestedMaxQuality&&this.trackInfo){const e=(t=this.trackInfo,i=this.requestedMaxQuality,null===(n=t.layers)||void 0===n?void 0:n.find(e=>e.quality===i));e&&Pg(this.videoDimensionsAdaptiveStream,e)&&(this.log.debug("using adaptive stream dimensions instead of max quality layer",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),r=this.videoDimensionsAdaptiveStream)}else this.log.debug("using adaptive stream dimensions",Object.assign(Object.assign({},this.logContext),this.videoDimensionsAdaptiveStream)),r=this.videoDimensionsAdaptiveStream;r?(e.width=Math.ceil(r.width),e.height=Math.ceil(r.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:mp.HIGH})),e.quality=mp.HIGH)}var t,i,n;this.emit(Jh.UpdateSettings,e)}}class Sv extends yv{static fromParticipantInfo(e,t,i){return new Sv(e,t.sid,t.identity,t.name,t.metadata,t.attributes,i,t.kind)}get logContext(){return Object.assign(Object.assign({},super.logContext),{rpID:this.sid,remoteParticipant:this.identity})}constructor(e,t,i,n,r,a,o){super(t,i||"",n,r,a,o,arguments.length>7&&void 0!==arguments[7]?arguments[7]:El.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(Jh.UpdateSettings,t=>{this.log.debug("send update settings",Object.assign(Object.assign(Object.assign({},this.logContext),Tg(e)),{settings:t})),this.signalClient.sendUpdateTrackSettings(t)}),e.on(Jh.UpdateSubscription,e=>{e.participantTracks.forEach(e=>{e.participantSid=this.sid}),this.signalClient.sendUpdateSubscription(e)}),e.on(Jh.SubscriptionPermissionChanged,t=>{this.emit(Hh.TrackSubscriptionPermissionChanged,e,t)}),e.on(Jh.SubscriptionStatusChanged,t=>{this.emit(Hh.TrackSubscriptionStatusChanged,e,t)}),e.on(Jh.Subscribed,t=>{this.emit(Hh.TrackSubscribed,t,e)}),e.on(Jh.Unsubscribed,t=>{this.emit(Hh.TrackUnsubscribed,t,e)}),e.on(Jh.SubscriptionFailed,t=>{this.emit(Hh.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]:fp.Source.Microphone;this.volumeMap.set(t,e);const i=this.getTrackPublication(t);i&&i.track&&i.track.setVolume(e)}getVolume(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:fp.Source.Microphone;const t=this.getTrackPublication(e);return t&&t.track?t.track.getVolume():this.volumeMap.get(e)}addSubscribedMediaTrack(e,t,i,n,r,a){let o,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),Tg(s))),void this.emit(Hh.TrackSubscriptionFailed,t)):(o="video"===e.kind?new gv(e,t,n,r):new pv(e,t,n,this.audioContext,this.audioOutput),o.source=s.source,o.isMuted=s.isMuted,o.setMediaStream(i),o.start(),s.setTrack(o),this.volumeMap.has(s.source)&&gg(o)&&dg(o)&&o.setVolume(this.volumeMap.get(s.source)),s):0===a?(this.log.error("could not find published track",Object.assign(Object.assign({},this.logContext),{trackSid:t})),void this.emit(Hh.TrackSubscriptionFailed,t)):(void 0===a&&(a=20),void setTimeout(()=>{this.addSubscribedMediaTrack(e,t,i,n,r,a-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,i=new Map;return e.tracks.forEach(e=>{var n,r;let a=this.getTrackPublicationBySid(e.sid);if(a)a.updateInfo(e);else{const t=fp.kindFromProto(e.type);if(!t)return;a=new Cv(t,e,null===(n=this.signalClient.connectOptions)||void 0===n?void 0:n.autoSubscribe,{loggerContextCb:()=>this.logContext,loggerName:null===(r=this.loggerOptions)||void 0===r?void 0:r.loggerName}),a.updateInfo(e),i.set(e.sid,a);const o=Array.from(this.trackPublications.values()).find(e=>e.source===(null==a?void 0:a.source));o&&a.source!==fp.Source.Unknown&&this.log.debug("received a second track publication for ".concat(this.identity," with the same source: ").concat(a.source),Object.assign(Object.assign({},this.logContext),{oldTrack:Tg(o),newTrack:Tg(a)})),this.addTrackPublication(a)}t.set(e.sid,a)}),this.trackPublications.forEach(e=>{t.has(e.trackSid)||(this.log.trace("detected removed track on remote participant, unpublishing",Object.assign(Object.assign({},this.logContext),Tg(e))),this.unpublishTrack(e.trackSid,!0))}),i.forEach(e=>{this.emit(Hh.TrackPublished,e)}),!0}unpublishTrack(e,t){const i=this.trackPublications.get(e);if(!i)return;const{track:n}=i;switch(n&&(n.stop(),i.setTrack(void 0)),this.trackPublications.delete(e),i.kind){case fp.Kind.Audio:this.audioTrackPublications.delete(e);break;case fp.Kind.Video:this.videoTrackPublications.delete(e)}t&&this.emit(Hh.TrackUnpublished,i)}setAudioOutput(e){return fu(this,void 0,void 0,function*(){this.audioOutput=e;const t=[];this.audioTrackPublications.forEach(i=>{var n;dg(i.track)&&gg(i.track)&&t.push(i.track.setSinkId(null!==(n=e.deviceId)&&void 0!==n?n:"default"))}),yield Promise.all(t)})}emit(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return this.log.trace("participant event",Object.assign(Object.assign({},this.logContext),{event:e,args:i})),super.emit(e,...i)}}(Ym=Zm||(Zm={})).Disconnected="disconnected",Ym.Connecting="connecting",Ym.Connected="connected",Ym.Reconnecting="reconnecting",Ym.SignalReconnecting="signalReconnecting";class Tv extends yu.EventEmitter{constructor(e){var t,i,n,r;if(super(),t=this,this.state=Zm.Disconnected,this.activeSpeakers=[],this.isE2EEEnabled=!1,this.audioEnabled=!0,this.isVideoPlaybackBlocked=!1,this.log=hu,this.bufferedEvents=[],this.isResuming=!1,this.rpcHandlers=new Map,this.connect=(e,t,i)=>fu(this,void 0,void 0,function*(){var n;if("undefined"==typeof RTCPeerConnection||!Op()&&!Dp())throw Vp()?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 r=yield this.disconnectLock.lock();if(this.state===Zm.Connected)return this.log.info("already connected to room ".concat(this.name),this.logContext),r(),Promise.resolve();if(this.connectFuture)return r(),this.connectFuture.promise;this.setAndEmitConnectionState(Zm.Connecting),(null===(n=this.regionUrlProvider)||void 0===n?void 0:n.getServerUrl().toString())!==e&&(this.regionUrl=void 0,this.regionUrlProvider=void 0),qp(new URL(e))&&(void 0===this.regionUrlProvider?this.regionUrlProvider=new nv(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 a=(n,o,s)=>fu(this,void 0,void 0,function*(){var c,l;this.abortController&&this.abortController.abort();const d=new AbortController;this.abortController=d,null==r||r();try{yield this.attemptConnection(null!=s?s:e,t,i,d),this.abortController=void 0,n()}catch(Gb){if(this.regionUrlProvider&&Gb instanceof Yh&&Gb.reason!==Dh.Cancelled&&Gb.reason!==Dh.NotAllowed){let t=null;try{t=yield this.regionUrlProvider.getNextBestRegionUrl(null===(c=this.abortController)||void 0===c?void 0:c.signal)}catch(u){if(u instanceof Yh&&(401===u.status||u.reason===Dh.Cancelled))return this.handleDisconnect(this.options.stopLocalTrackOnUnpublish),void o(u)}t&&!(null===(l=this.abortController)||void 0===l?void 0:l.signal.aborted)?(this.log.info("Initial connection failed with ConnectionError: ".concat(Gb.message,". Retrying with another region: ").concat(t),this.logContext),this.recreateEngine(),yield a(n,o,t)):(this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,og(Gb)),o(Gb))}else{let t=fl.UNKNOWN_REASON;Gb instanceof Yh&&(t=og(Gb)),this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,t),o(Gb)}}}),o=this.regionUrl;return this.regionUrl=void 0,this.connectFuture=new ng((e,t)=>{a(e,t,o)},()=>{this.clearConnectionFutures()}),this.connectFuture.promise}),this.connectSignal=(e,t,i,n,r,a)=>fu(this,void 0,void 0,function*(){var o,s,c;const l=yield i.join(e,t,{autoSubscribe:n.autoSubscribe,adaptiveStream:"object"==typeof r.adaptiveStream||r.adaptiveStream,maxRetries:n.maxRetries,e2eeEnabled:!!this.e2eeManager,websocketTimeout:n.websocketTimeout},a.signal);let d=l.serverInfo;if(d||(d={version:l.serverVersion,region:l.serverRegion}),this.serverInfo=d,this.log.debug("connected to Livekit Server ".concat(Object.entries(d).map(e=>{let[t,i]=e;return"".concat(t,": ").concat(i)}).join(", ")),{room:null===(o=l.room)||void 0===o?void 0:o.name,roomSid:null===(s=l.room)||void 0===s?void 0:s.sid,identity:null===(c=l.participant)||void 0===c?void 0:c.identity}),!d.version)throw new tp("unknown server version");return"0.15.1"===d.version&&this.options.dynacast&&(this.log.debug("disabling dynacast due to server version",this.logContext),r.dynacast=!1),l}),this.applyJoinResponse=e=>{const t=e.participant;if(this.localParticipant.sid=t.sid,this.localParticipant.identity=t.identity,this.localParticipant.setEnabledPublishCodecs(e.enabledPublishCodecs),this.options.e2ee&&this.e2eeManager)try{this.e2eeManager.setSifTrailer(e.sifTrailer)}catch(Gb){this.log.error(Gb instanceof Error?Gb.message:"Could not set SifTrailer",Object.assign(Object.assign({},this.logContext),{error:Gb}))}this.handleParticipantUpdates([t,...e.otherParticipants]),e.room&&this.handleRoomUpdate(e.room)},this.attemptConnection=(e,t,i,n)=>fu(this,void 0,void 0,function*(){var r,a;this.state===Zm.Reconnecting||this.isResuming||(null===(r=this.engine)||void 0===r?void 0:r.pendingReconnect)?(this.log.info("Reconnection attempt replaced by new connection attempt",this.logContext),this.recreateEngine()):this.maybeCreateEngine(),(null===(a=this.regionUrlProvider)||void 0===a?void 0:a.isCloud())&&this.engine.setRegionUrlProvider(this.regionUrlProvider),this.acquireAudioContext(),this.connOptions=Object.assign(Object.assign({},hm),i),this.connOptions.rtcConfig&&(this.engine.rtcConfig=this.connOptions.rtcConfig),this.connOptions.peerConnectionTimeout&&(this.engine.peerConnectionTimeout=this.connOptions.peerConnectionTimeout);try{const i=yield this.connectSignal(e,t,this.engine,this.connOptions,this.options,n);this.applyJoinResponse(i),this.setupLocalParticipantEvents(),this.emit(Vh.SignalConnected)}catch(o){yield this.engine.close(),this.recreateEngine();const e=new Yh("could not establish signal connection",Dh.ServerUnreachable);throw o instanceof Error&&(e.message="".concat(e.message,": ").concat(o.message)),o instanceof Yh&&(e.reason=o.reason,e.status=o.status),this.log.debug("error trying to establish signal connection",Object.assign(Object.assign({},this.logContext),{error:o})),e}if(n.signal.aborted)throw yield this.engine.close(),this.recreateEngine(),new Yh("Connection attempt aborted",Dh.Cancelled);try{yield this.engine.waitForPCInitialConnection(this.connOptions.peerConnectionTimeout,n)}catch(Gb){throw yield this.engine.close(),this.recreateEngine(),Gb}Bp()&&this.options.disconnectOnPageLeave&&(window.addEventListener("pagehide",this.onPageLeave),window.addEventListener("beforeunload",this.onPageLeave)),Bp()&&document.addEventListener("freeze",this.onPageLeave),this.setAndEmitConnectionState(Zm.Connected),this.emit(Vh.Connected),this.registerConnectionReconcile()}),this.disconnect=function(){for(var e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];return fu(t,[...i],void 0,function(){var e=this;let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return function*(){var i,n,r,a;const o=yield e.disconnectLock.lock();try{if(e.state===Zm.Disconnected)return void e.log.debug("already disconnected",e.logContext);e.log.info("disconnect from room",Object.assign({},e.logContext)),(e.state===Zm.Connecting||e.state===Zm.Reconnecting||e.isResuming)&&(e.log.warn("abort connection attempt",e.logContext),null===(i=e.abortController)||void 0===i||i.abort(),null===(r=null===(n=e.connectFuture)||void 0===n?void 0:n.reject)||void 0===r||r.call(n,new Yh("Client initiated disconnect",Dh.Cancelled)),e.connectFuture=void 0),(null===(a=e.engine)||void 0===a?void 0:a.client.isDisconnected)||(yield e.engine.client.sendLeave()),e.engine&&(yield e.engine.close()),e.handleDisconnect(t,fl.CLIENT_INITIATED),e.engine=void 0}finally{o()}}()})},this.onPageLeave=()=>fu(this,void 0,void 0,function*(){this.log.info("Page leave detected, disconnecting",this.logContext),yield this.disconnect()}),this.startAudio=()=>fu(this,void 0,void 0,function*(){const e=[],t=lp();if(t&&"iOS"===t.os){const t="livekit-dummy-audio-el";let i=document.getElementById(t);if(!i){i=document.createElement("audio"),i.id=t,i.autoplay=!0,i.hidden=!0;const e=ig();e.enabled=!0;const n=new MediaStream([e]);i.srcObject=n,document.addEventListener("visibilitychange",()=>{i&&(i.srcObject=document.hidden?null:n,document.hidden||(this.log.debug("page visible again, triggering startAudio to resume playback and update playback status",this.logContext),this.startAudio()))}),document.body.append(i),this.once(Vh.Disconnected,()=>{null==i||i.remove(),i=null})}e.push(i)}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(i){throw this.handleAudioPlaybackFailed(i),i}}),this.startVideo=()=>fu(this,void 0,void 0,function*(){const e=[];for(const t of this.remoteParticipants.values())t.videoTrackPublications.forEach(t=>{var i;null===(i=t.track)||void 0===i||i.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(Zm.Reconnecting)&&this.emit(Vh.Reconnecting)},this.handleSignalRestarted=e=>fu(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(i){return}this.setAndEmitConnectionState(Zm.Connected),this.emit(Vh.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 i=this.remoteParticipants.get(e.identity);e.state===Tl.DISCONNECTED?this.handleParticipantDisconnected(e.identity,i):i=this.getOrCreateParticipant(e.identity,e)})},this.handleActiveSpeakersUpdate=e=>{const t=[],i={};e.forEach(e=>{if(i[e.sid]=!0,e.sid===this.localParticipant.sid)this.localParticipant.audioLevel=e.level,this.localParticipant.setIsSpeaking(!0),t.push(this.localParticipant);else{const i=this.getRemoteParticipantBySid(e.sid);i&&(i.audioLevel=e.level,i.setIsSpeaking(!0),t.push(i))}}),i[this.localParticipant.sid]||(this.localParticipant.audioLevel=0,this.localParticipant.setIsSpeaking(!1)),this.remoteParticipants.forEach(e=>{i[e.sid]||(e.audioLevel=0,e.setIsSpeaking(!1))}),this.activeSpeakers=t,this.emitWhenConnected(Vh.ActiveSpeakersChanged,t)},this.handleSpeakersChanged=e=>{const t=new Map;this.activeSpeakers.forEach(e=>{const i=this.remoteParticipants.get(e.identity);i&&i.sid!==e.sid||t.set(e.sid,e)}),e.forEach(e=>{let i=this.getRemoteParticipantBySid(e.sid);e.sid===this.localParticipant.sid&&(i=this.localParticipant),i&&(i.audioLevel=e.level,i.setIsSpeaking(e.active),e.active?t.set(e.sid,i):t.delete(e.sid))});const i=Array.from(t.values());i.sort((e,t)=>t.audioLevel-e.audioLevel),this.activeSpeakers=i,this.emitWhenConnected(Vh.ActiveSpeakersChanged,i)},this.handleStreamStateUpdate=e=>{e.streamStates.forEach(e=>{const t=this.getRemoteParticipantBySid(e.participantSid);if(!t)return;const i=t.getTrackPublicationBySid(e.trackSid);if(!i||!i.track)return;const n=fp.streamStateFromProto(e.state);n!==i.track.streamState&&(i.track.streamState=n,t.emit(Hh.TrackStreamStateChanged,i,i.track.streamState),this.emitWhenConnected(Vh.TrackStreamStateChanged,i,i.track.streamState,t))})},this.handleSubscriptionPermissionUpdate=e=>{const t=this.getRemoteParticipantBySid(e.participantSid);if(!t)return;const i=t.getTrackPublicationBySid(e.trackSid);i&&i.setAllowed(e.allowed)},this.handleSubscriptionError=e=>{const t=Array.from(this.remoteParticipants.values()).find(t=>t.trackPublications.has(e.trackSid));if(!t)return;const i=t.getTrackPublicationBySid(e.trackSid);i&&i.setSubscriptionError(e.err)},this.handleDataPacket=e=>{const t=this.remoteParticipants.get(e.participantIdentity);if("user"===e.value.case)this.handleUserPacket(t,e.value.value,e.kind);else if("transcription"===e.value.case)this.handleTranscription(t,e.value.value);else if("sipDtmf"===e.value.case)this.handleSipDtmf(t,e.value.value);else if("chatMessage"===e.value.case)this.handleChatMessage(t,e.value.value);else if("metrics"===e.value.case)this.handleMetrics(e.value.value,t);else if("streamHeader"===e.value.case||"streamChunk"===e.value.case||"streamTrailer"===e.value.case)this.handleDataStream(e);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,i)=>{this.emit(Vh.DataReceived,t.payload,e,i,t.topic),null==e||e.emit(Hh.DataReceived,t.payload,i)},this.handleSipDtmf=(e,t)=>{this.emit(Vh.SipDTMFReceived,t,e),null==e||e.emit(Hh.SipDTMFReceived,t)},this.handleTranscription=(e,t)=>{const i=t.transcribedParticipantIdentity===this.localParticipant.identity?this.localParticipant:this.getParticipantByIdentity(t.transcribedParticipantIdentity),n=null==i?void 0:i.trackPublications.get(t.trackId),r=function(e,t){return e.segments.map(e=>{let{id:i,text:n,language:r,startTime:a,endTime:o,final:s}=e;var c;const l=null!==(c=t.get(i))&&void 0!==c?c:Date.now(),d=Date.now();return s?t.delete(i):t.set(i,l),{id:i,text:n,startTime:Number.parseInt(a.toString()),endTime:Number.parseInt(o.toString()),final:s,language:r,firstReceivedTime:l,lastReceivedTime:d}})}(t,this.transcriptionReceivedTimes);null==n||n.emit(Jh.TranscriptionReceived,r),null==i||i.emit(Hh.TranscriptionReceived,r,n),this.emit(Vh.TranscriptionReceived,r,i,n)},this.handleChatMessage=(e,t)=>{const i=function(e){const{id:t,timestamp:i,message:n,editTimestamp:r}=e;return{id:t,timestamp:Number.parseInt(i.toString()),editTimestamp:r?Number.parseInt(r.toString()):void 0,message:n}}(t);this.emit(Vh.ChatMessage,i,e)},this.handleMetrics=(e,t)=>{this.emit(Vh.MetricsReceived,e,t)},this.handleDataStream=e=>{this.incomingDataStreamManager.handleDataStreamPacket(e)},this.bufferedSegments=new Map,this.handleAudioPlaybackStarted=()=>{this.canPlaybackAudio||(this.audioEnabled=!0,this.emit(Vh.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(Vh.AudioPlaybackStatusChanged,!1))},this.handleVideoPlaybackStarted=()=>{this.isVideoPlaybackBlocked&&(this.isVideoPlaybackBlocked=!1,this.emit(Vh.VideoPlaybackStatusChanged,!0))},this.handleVideoPlaybackFailed=()=>{this.isVideoPlaybackBlocked||(this.isVideoPlaybackBlocked=!0,this.emit(Vh.VideoPlaybackStatusChanged,!1))},this.handleDeviceChange=()=>fu(this,void 0,void 0,function*(){var e;"iOS"!==(null===(e=lp())||void 0===e?void 0:e.os)&&(yield this.selectDefaultDevices()),this.emit(Vh.MediaDevicesChanged)}),this.handleRoomUpdate=e=>{const t=this.roomInfo;this.roomInfo=e,t&&t.metadata!==e.metadata&&this.emitWhenConnected(Vh.RoomMetadataChanged,e.metadata),(null==t?void 0:t.activeRecording)!==e.activeRecording&&this.emitWhenConnected(Vh.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(Vh.ParticipantMetadataChanged,e,this.localParticipant)},this.onLocalParticipantNameChanged=e=>{this.emit(Vh.ParticipantNameChanged,e,this.localParticipant)},this.onLocalAttributesChanged=e=>{this.emit(Vh.ParticipantAttributesChanged,e,this.localParticipant)},this.onLocalTrackMuted=e=>{this.emit(Vh.TrackMuted,e,this.localParticipant)},this.onLocalTrackUnmuted=e=>{this.emit(Vh.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=>fu(this,void 0,void 0,function*(){var t,i,n,r,a,o;null===(t=e.track)||void 0===t||t.on(Jh.TrackProcessorUpdate,this.onTrackProcessorUpdate),null===(i=e.track)||void 0===i||i.on(Jh.Restarted,this.onLocalTrackRestarted),null===(a=null===(r=null===(n=e.track)||void 0===n?void 0:n.getProcessor())||void 0===r?void 0:r.onPublish)||void 0===a||a.call(r,this),this.emit(Vh.LocalTrackPublished,e,this.localParticipant),pg(e.track)&&(yield e.track.checkForSilence())&&this.emit(Vh.LocalAudioSilenceDetected,e);const s=yield null===(o=e.track)||void 0===o?void 0:o.getDeviceId(!1),c=xg(e.source);c&&s&&s!==this.localParticipant.activeDeviceMap.get(c)&&(this.localParticipant.activeDeviceMap.set(c,s),this.emit(Vh.ActiveDeviceChanged,c,s))}),this.onLocalTrackUnpublished=e=>{var t,i;null===(t=e.track)||void 0===t||t.off(Jh.TrackProcessorUpdate,this.onTrackProcessorUpdate),null===(i=e.track)||void 0===i||i.off(Jh.Restarted,this.onLocalTrackRestarted),this.emit(Vh.LocalTrackUnpublished,e,this.localParticipant)},this.onLocalTrackRestarted=e=>fu(this,void 0,void 0,function*(){const t=yield e.getDeviceId(!1),i=xg(e.source);i&&t&&t!==this.localParticipant.activeDeviceMap.get(i)&&(this.log.debug("local track restarted, setting ".concat(i," ").concat(t," active"),this.logContext),this.localParticipant.activeDeviceMap.set(i,t),this.emit(Vh.ActiveDeviceChanged,i,t))}),this.onLocalConnectionQualityChanged=e=>{this.emit(Vh.ConnectionQualityChanged,e,this.localParticipant)},this.onMediaDevicesError=(e,t)=>{this.emit(Vh.MediaDevicesError,e,t)},this.onLocalParticipantPermissionsChanged=e=>{this.emit(Vh.ParticipantPermissionsChanged,e,this.localParticipant)},this.onLocalChatMessageSent=e=>{this.emit(Vh.ChatMessage,e,this.localParticipant)},this.setMaxListeners(100),this.remoteParticipants=new Map,this.sidToIdentity=new Map,this.options=Object.assign(Object.assign({},um),e),this.log=pu(null!==(i=this.options.loggerName)&&void 0!==i?i:cu.Room),this.transcriptionReceivedTimes=new Map,this.options.audioCaptureDefaults=Object.assign(Object.assign({},lm),null==e?void 0:e.audioCaptureDefaults),this.options.videoCaptureDefaults=Object.assign(Object.assign({},dm),null==e?void 0:e.videoCaptureDefaults),this.options.publishDefaults=Object.assign(Object.assign({},cm),null==e?void 0:e.publishDefaults),this.maybeCreateEngine(),this.incomingDataStreamManager=new sv,this.outgoingDataStreamManager=new uv(this.engine,this.log),this.disconnectLock=new Is,this.localParticipant=new xv("","",this.engine,this.options,this.rpcHandlers,this.outgoingDataStreamManager),this.options.videoCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("videoinput",rg(this.options.videoCaptureDefaults.deviceId)),this.options.audioCaptureDefaults.deviceId&&this.localParticipant.activeDeviceMap.set("audioinput",rg(this.options.audioCaptureDefaults.deviceId)),(null===(n=this.options.audioOutput)||void 0===n?void 0:n.deviceId)&&this.switchActiveDevice("audiooutput",rg(this.options.audioOutput.deviceId)).catch(e=>this.log.warn("Could not set audio output: ".concat(e.message),this.logContext)),this.options.e2ee&&this.setupE2EE(),Bp()){const e=new AbortController;null===(r=navigator.mediaDevices)||void 0===r||r.addEventListener("devicechange",this.handleDeviceChange,{signal:e.signal}),Tv.cleanupRegistry&&Tv.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 fu(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;this.options.e2ee&&("e2eeManager"in this.options.e2ee?this.e2eeManager=this.options.e2ee.e2eeManager:this.e2eeManager=new Mg(this.options.e2ee),this.e2eeManager.on(Rh.ParticipantEncryptionStatusChanged,(e,t)=>{t.isLocal&&(this.isE2EEEnabled=e),this.emit(Vh.ParticipantEncryptionStatusChanged,e,t)}),this.e2eeManager.on(Rh.EncryptionError,e=>this.emit(Vh.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 fu(this,void 0,void 0,function*(){return this.state===Zm.Disconnected?"":this.roomInfo&&""!==this.roomInfo.sid?this.roomInfo.sid:new Promise((e,t)=>{const i=t=>{""!==t.sid&&(this.engine.off(Wh.RoomUpdate,i),e(t.sid))};this.engine.on(Wh.RoomUpdate,i),this.once(Vh.Disconnected,()=>{this.engine.off(Wh.RoomUpdate,i),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 tv(this.options),this.engine.on(Wh.ParticipantUpdate,this.handleParticipantUpdates).on(Wh.RoomUpdate,this.handleRoomUpdate).on(Wh.SpeakersChanged,this.handleSpeakersChanged).on(Wh.StreamStateChanged,this.handleStreamStateUpdate).on(Wh.ConnectionQualityUpdate,this.handleConnectionQualityUpdate).on(Wh.SubscriptionError,this.handleSubscriptionError).on(Wh.SubscriptionPermissionUpdate,this.handleSubscriptionPermissionUpdate).on(Wh.MediaTrackAdded,(e,t,i)=>{this.onTrackAdded(e,t,i)}).on(Wh.Disconnected,e=>{this.handleDisconnect(this.options.stopLocalTrackOnUnpublish,e)}).on(Wh.ActiveSpeakersUpdate,this.handleActiveSpeakersUpdate).on(Wh.DataPacketReceived,this.handleDataPacket).on(Wh.Resuming,()=>{this.clearConnectionReconcile(),this.isResuming=!0,this.log.info("Resuming signal connection",this.logContext),this.setAndEmitConnectionState(Zm.SignalReconnecting)&&this.emit(Vh.SignalReconnecting)}).on(Wh.Resumed,()=>{this.registerConnectionReconcile(),this.isResuming=!1,this.log.info("Resumed signal connection",this.logContext),this.updateSubscriptions(),this.emitBufferedEvents(),this.setAndEmitConnectionState(Zm.Connected)&&this.emit(Vh.Reconnected)}).on(Wh.SignalResumed,()=>{this.bufferedEvents=[],(this.state===Zm.Reconnecting||this.isResuming)&&this.sendSyncState()}).on(Wh.Restarting,this.handleRestarting).on(Wh.SignalRestarted,this.handleSignalRestarted).on(Wh.Offline,()=>{this.setAndEmitConnectionState(Zm.Reconnecting)&&this.emit(Vh.Reconnecting)}).on(Wh.DCBufferStatusChanged,(e,t)=>{this.emit(Vh.DCBufferStatusChanged,e,t)}).on(Wh.LocalTrackSubscribed,e=>{const t=this.localParticipant.getTrackPublications().find(t=>{let{trackSid:i}=t;return i===e});t?(this.localParticipant.emit(Hh.LocalTrackSubscribed,t),this.emitWhenConnected(Vh.LocalTrackSubscribed,t,this.localParticipant)):this.log.warn("could not find local track subscription for subscribed event",this.logContext)}).on(Wh.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(Vh.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 Ig.getInstance().getDevices(e,t)}prepareConnection(e,t){return fu(this,void 0,void 0,function*(){if(this.state===Zm.Disconnected){this.log.debug("prepareConnection to ".concat(e),this.logContext);try{if(qp(new URL(e))&&t){this.regionUrlProvider=new nv(e,t);const i=yield this.regionUrlProvider.getNextBestRegionUrl();i&&this.state===Zm.Disconnected&&(this.regionUrl=i,yield fetch(ag(i),{method:"HEAD"}),this.log.debug("prepared connection to ".concat(i),this.logContext))}else yield fetch(ag(e),{method:"HEAD"})}catch(Gb){this.log.warn("could not prepare connection",Object.assign(Object.assign({},this.logContext),{error:Gb}))}}})}getParticipantByIdentity(e){return this.localParticipant.identity===e?this.localParticipant:this.remoteParticipants.get(e)}clearConnectionFutures(){this.connectFuture=void 0}simulateScenario(e,t){return fu(this,void 0,void 0,function*(){let i,n=()=>{};switch(e){case"signal-reconnect":yield this.engine.client.handleOnClose("simulate disconnect");break;case"speaker":i=new Wd({scenario:{case:"speakerUpdate",value:3}});break;case"node-failure":i=new Wd({scenario:{case:"nodeFailure",value:!0}});break;case"server-leave":i=new Wd({scenario:{case:"serverLeave",value:!0}});break;case"migration":i=new Wd({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":n=()=>fu(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),i=new Wd({scenario:{case:"disconnectSignalOnResume",value:!0}});break;case"disconnect-signal-on-resume-no-messages":n=()=>fu(this,void 0,void 0,function*(){yield this.engine.client.handleOnClose("simulate resume-disconnect")}),i=new Wd({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":i=new Wd({scenario:{case:"switchCandidateProtocol",value:"force-tls"===e?2:1}}),n=()=>fu(this,void 0,void 0,function*(){const e=this.engine.client.onLeave;e&&e(new Td({reason:fl.CLIENT_INITIATED,action:Ed.RECONNECT}))});break;case"subscriber-bandwidth":if(void 0===t||"number"!=typeof t)throw new Error("subscriber-bandwidth requires a number as argument");i=new Wd({scenario:{case:"subscriberBandwidth",value:cg(t)}});break;case"leave-full-reconnect":i=new Wd({scenario:{case:"leaveRequestFullReconnect",value:!0}})}i&&(yield this.engine.client.sendSimulateScenario(i),yield n())})}get canPlaybackAudio(){return this.audioEnabled}get canPlaybackVideo(){return!this.isVideoPlaybackBlocked}getActiveDevice(e){return this.localParticipant.activeDeviceMap.get(e)}switchActiveDevice(e,t){return fu(this,arguments,void 0,function(e,t){var i=this;let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return function*(){var r,a,o,s,c,l,d;let u=!0,h=!1;const p=n?{exact:t}:t;if("audioinput"===e){h=0===i.localParticipant.audioTrackPublications.size;const t=null!==(r=i.getActiveDevice(e))&&void 0!==r?r:i.options.audioCaptureDefaults.deviceId;i.options.audioCaptureDefaults.deviceId=p;const n=Array.from(i.localParticipant.audioTrackPublications.values()).filter(e=>e.source===fp.Source.Microphone);try{u=(yield Promise.all(n.map(e=>{var t;return null===(t=e.audioTrack)||void 0===t?void 0:t.setDeviceId(p)}))).every(e=>!0===e)}catch(Gb){throw i.options.audioCaptureDefaults.deviceId=t,Gb}const a=n.some(e=>{var t,i;return null!==(i=null===(t=e.track)||void 0===t?void 0:t.isMuted)&&void 0!==i&&i});u&&a&&(h=!0)}else if("videoinput"===e){h=0===i.localParticipant.videoTrackPublications.size;const t=null!==(a=i.getActiveDevice(e))&&void 0!==a?a:i.options.videoCaptureDefaults.deviceId;i.options.videoCaptureDefaults.deviceId=p;const n=Array.from(i.localParticipant.videoTrackPublications.values()).filter(e=>e.source===fp.Source.Camera);try{u=(yield Promise.all(n.map(e=>{var t;return null===(t=e.videoTrack)||void 0===t?void 0:t.setDeviceId(p)}))).every(e=>!0===e)}catch(Gb){throw i.options.videoCaptureDefaults.deviceId=t,Gb}const r=n.some(e=>{var t,i;return null!==(i=null===(t=e.track)||void 0===t?void 0:t.isMuted)&&void 0!==i&&i});u&&r&&(h=!0)}else if("audiooutput"===e){if(h=!0,!Np()&&!i.options.webAudioMix||i.options.webAudioMix&&i.audioContext&&!("setSinkId"in i.audioContext))throw new Error("cannot switch audio output, the current browser does not support it");i.options.webAudioMix&&(t=null!==(o=yield Ig.getInstance().normalizeDeviceId("audiooutput",t))&&void 0!==o?o:""),null!==(s=(d=i.options).audioOutput)&&void 0!==s||(d.audioOutput={});const n=null!==(c=i.getActiveDevice(e))&&void 0!==c?c:i.options.audioOutput.deviceId;i.options.audioOutput.deviceId=t;try{i.options.webAudioMix&&(null===(l=i.audioContext)||void 0===l||l.setSinkId(t)),yield Promise.all(Array.from(i.remoteParticipants.values()).map(e=>e.setAudioOutput({deviceId:t})))}catch(Gb){throw i.options.audioOutput.deviceId=n,Gb}}return h&&(i.localParticipant.activeDeviceMap.set(e,t),i.emit(Vh.ActiveDeviceChanged,e,t)),u}()})}setupLocalParticipantEvents(){this.localParticipant.on(Hh.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).on(Hh.ParticipantNameChanged,this.onLocalParticipantNameChanged).on(Hh.AttributesChanged,this.onLocalAttributesChanged).on(Hh.TrackMuted,this.onLocalTrackMuted).on(Hh.TrackUnmuted,this.onLocalTrackUnmuted).on(Hh.LocalTrackPublished,this.onLocalTrackPublished).on(Hh.LocalTrackUnpublished,this.onLocalTrackUnpublished).on(Hh.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).on(Hh.MediaDevicesError,this.onMediaDevicesError).on(Hh.AudioStreamAcquired,this.startAudio).on(Hh.ChatMessage,this.onLocalChatMessageSent).on(Hh.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,i){if(this.state===Zm.Connecting||this.state===Zm.Reconnecting){const n=()=>{this.onTrackAdded(e,t,i),r()},r=()=>{this.off(Vh.Reconnected,n),this.off(Vh.Connected,n),this.off(Vh.Disconnected,r)};return this.once(Vh.Reconnected,n),this.once(Vh.Connected,n),void this.once(Vh.Disconnected,r)}if(this.state===Zm.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 n=function(e){const t=e.split("|");return t.length>1?[t[0],e.substr(t[0].length+1)]:[e,""]}(t.id),r=n[0];let a=n[1],o=e.id;if(a&&a.startsWith("TR")&&(o=a),r===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===r);if(!s)return void this.log.error("Tried to add a track for a participant, that's not present. Sid: ".concat(r),this.logContext);let c;this.options.adaptiveStream&&(c="object"==typeof this.options.adaptiveStream?this.options.adaptiveStream:{}),s.addSubscribedMediaTrack(e,o,t,i,c)}handleDisconnect(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1?arguments[1]:void 0;var i;if(this.clearConnectionReconcile(),this.isResuming=!1,this.bufferedEvents=[],this.transcriptionReceivedTimes.clear(),this.incomingDataStreamManager.clearHandlersAndControllers(),this.state!==Zm.Disconnected){this.regionUrl=void 0;try{this.remoteParticipants.forEach(e=>{e.trackPublications.forEach(t=>{e.unpublishTrack(t.trackSid)})}),this.localParticipant.trackPublications.forEach(t=>{var i,n,r;t.track&&this.localParticipant.unpublishTrack(t.track,e),e?(null===(i=t.track)||void 0===i||i.detach(),null===(n=t.track)||void 0===n||n.stop()):null===(r=t.track)||void 0===r||r.stopMonitor()}),this.localParticipant.off(Hh.ParticipantMetadataChanged,this.onLocalParticipantMetadataChanged).off(Hh.ParticipantNameChanged,this.onLocalParticipantNameChanged).off(Hh.AttributesChanged,this.onLocalAttributesChanged).off(Hh.TrackMuted,this.onLocalTrackMuted).off(Hh.TrackUnmuted,this.onLocalTrackUnmuted).off(Hh.LocalTrackPublished,this.onLocalTrackPublished).off(Hh.LocalTrackUnpublished,this.onLocalTrackUnpublished).off(Hh.ConnectionQualityChanged,this.onLocalConnectionQualityChanged).off(Hh.MediaDevicesError,this.onMediaDevicesError).off(Hh.AudioStreamAcquired,this.startAudio).off(Hh.ChatMessage,this.onLocalChatMessageSent).off(Hh.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),Bp()&&(window.removeEventListener("beforeunload",this.onPageLeave),window.removeEventListener("pagehide",this.onPageLeave),window.removeEventListener("freeze",this.onPageLeave),null===(i=navigator.mediaDevices)||void 0===i||i.removeEventListener("devicechange",this.handleDeviceChange))}finally{this.setAndEmitConnectionState(Zm.Disconnected),this.emit(Vh.Disconnected,t)}}}handleParticipantDisconnected(e,t){var i;this.remoteParticipants.delete(e),t&&(this.incomingDataStreamManager.validateParticipantHasNoActiveDataStreams(e),t.trackPublications.forEach(e=>{t.unpublishTrack(e.trackSid,!0)}),this.emit(Vh.ParticipantDisconnected,t),t.setDisconnected(),null===(i=this.localParticipant)||void 0===i||i.handleParticipantDisconnected(t.identity))}handleIncomingRpcRequest(e,t,i,n,r,a){return fu(this,void 0,void 0,function*(){if(yield this.engine.publishRpcAck(e,t),1!==a)return void(yield this.engine.publishRpcResponse(e,t,null,vm.builtIn("UNSUPPORTED_VERSION")));const o=this.rpcHandlers.get(i);if(!o)return void(yield this.engine.publishRpcResponse(e,t,null,vm.builtIn("UNSUPPORTED_METHOD")));let s=null,c=null;try{const i=yield o({requestId:t,callerIdentity:e,payload:n,responseTimeout:r});fm(i)>15360?s=vm.builtIn("RESPONSE_PAYLOAD_TOO_LARGE"):c=i}catch(l){s=l instanceof vm?l:vm.builtIn("APPLICATION_ERROR")}yield this.engine.publishRpcResponse(e,t,c,s)})}selectDefaultDevices(){return fu(this,void 0,void 0,function*(){var e,t,i;const n=Ig.getInstance().previousDevices,r=yield Ig.getInstance().getDevices(void 0,!1),a=lp();if("Chrome"===(null==a?void 0:a.name)&&"iOS"!==a.os)for(let s of r){const e=n.find(e=>e.deviceId===s.deviceId);e&&""!==e.label&&e.kind===s.kind&&e.label!==s.label&&"default"===this.getActiveDevice(s.kind)&&this.emit(Vh.ActiveDeviceChanged,s.kind,s.deviceId)}const o=["audiooutput","audioinput","videoinput"];for(let s of o){const a=yg(s),o=this.localParticipant.getTrackPublication(a);if(o&&(null===(e=o.track)||void 0===e?void 0:e.isUserProvided))continue;const c=r.filter(e=>e.kind===s),l=this.getActiveDevice(s);l===(null===(t=n.filter(e=>e.kind===s)[0])||void 0===t?void 0:t.deviceId)&&c.length>0&&(null===(i=c[0])||void 0===i?void 0:i.deviceId)!==l?yield this.switchActiveDevice(s,c[0].deviceId):"audioinput"===s&&!Up()||"videoinput"===s||!(c.length>0)||c.find(e=>e.deviceId===this.getActiveDevice(s))||"audiooutput"===s&&Up()||(yield this.switchActiveDevice(s,c[0].deviceId))}})}acquireAudioContext(){return fu(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=wg())&&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(),Ap(200)])}catch(Gb){this.log.warn("Could not resume audio context",Object.assign(Object.assign({},this.logContext),{error:Gb}))}const i="running"===(null===(t=this.audioContext)||void 0===t?void 0:t.state);i!==this.canPlaybackAudio&&(this.audioEnabled=i,this.emit(Vh.AudioPlaybackStatusChanged,i))})}createParticipant(e,t){var i;let n;return n=t?Sv.fromParticipantInfo(this.engine.client,t,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}):new Sv(this.engine.client,"",e,void 0,void 0,void 0,{loggerContextCb:()=>this.logContext,loggerName:this.options.loggerName}),this.options.webAudioMix&&n.setAudioContext(this.audioContext),(null===(i=this.options.audioOutput)||void 0===i?void 0:i.deviceId)&&n.setAudioOutput(this.options.audioOutput).catch(e=>this.log.warn("Could not set audio output: ".concat(e.message),this.logContext)),n}getOrCreateParticipant(e,t){if(this.remoteParticipants.has(e)){const i=this.remoteParticipants.get(e);return t&&i.updateInfo(t)&&this.sidToIdentity.set(t.sid,t.identity),i}const i=this.createParticipant(e,t);return this.remoteParticipants.set(e,i),this.sidToIdentity.set(t.sid,t.identity),this.emitWhenConnected(Vh.ParticipantConnected,i),i.on(Hh.TrackPublished,e=>{this.emitWhenConnected(Vh.TrackPublished,e,i)}).on(Hh.TrackSubscribed,(e,t)=>{e.kind===fp.Kind.Audio?(e.on(Jh.AudioPlaybackStarted,this.handleAudioPlaybackStarted),e.on(Jh.AudioPlaybackFailed,this.handleAudioPlaybackFailed)):e.kind===fp.Kind.Video&&(e.on(Jh.VideoPlaybackFailed,this.handleVideoPlaybackFailed),e.on(Jh.VideoPlaybackStarted,this.handleVideoPlaybackStarted)),this.emit(Vh.TrackSubscribed,e,t,i)}).on(Hh.TrackUnpublished,e=>{this.emit(Vh.TrackUnpublished,e,i)}).on(Hh.TrackUnsubscribed,(e,t)=>{this.emit(Vh.TrackUnsubscribed,e,t,i)}).on(Hh.TrackMuted,e=>{this.emitWhenConnected(Vh.TrackMuted,e,i)}).on(Hh.TrackUnmuted,e=>{this.emitWhenConnected(Vh.TrackUnmuted,e,i)}).on(Hh.ParticipantMetadataChanged,e=>{this.emitWhenConnected(Vh.ParticipantMetadataChanged,e,i)}).on(Hh.ParticipantNameChanged,e=>{this.emitWhenConnected(Vh.ParticipantNameChanged,e,i)}).on(Hh.AttributesChanged,e=>{this.emitWhenConnected(Vh.ParticipantAttributesChanged,e,i)}).on(Hh.ConnectionQualityChanged,e=>{this.emitWhenConnected(Vh.ConnectionQualityChanged,e,i)}).on(Hh.ParticipantPermissionsChanged,e=>{this.emitWhenConnected(Vh.ParticipantPermissionsChanged,e,i)}).on(Hh.TrackSubscriptionStatusChanged,(e,t)=>{this.emitWhenConnected(Vh.TrackSubscriptionStatusChanged,e,t,i)}).on(Hh.TrackSubscriptionFailed,(e,t)=>{this.emit(Vh.TrackSubscriptionFailed,e,i,t)}).on(Hh.TrackSubscriptionPermissionChanged,(e,t)=>{this.emitWhenConnected(Vh.TrackSubscriptionPermissionChanged,e,t,i)}).on(Hh.Active,()=>{this.emitWhenConnected(Vh.ParticipantActive,i),i.kind===El.AGENT&&this.localParticipant.setActiveAgent(i)}),t&&i.updateInfo(t),i}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&&mg(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=pp.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,fl.STATE_MISMATCH)))},4e3)}clearConnectionReconcile(){this.connectionReconcileInterval&&pp.clearInterval(this.connectionReconcileInterval)}setAndEmitConnectionState(e){return e!==this.state&&(this.state=e,this.emit(Vh.ConnectionStateChanged,this.state),!0)}emitBufferedEvents(){this.bufferedEvents.forEach(e=>{let[t,i]=e;this.emit(t,...i)}),this.bufferedEvents=[]}emitWhenConnected(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];if(this.state===Zm.Reconnecting||this.isResuming||!this.engine||this.engine.pendingReconnect)this.bufferedEvents.push([e,i]);else if(this.state===Zm.Connected)return this.emit(e,...i);return!1}simulateParticipants(e){return fu(this,void 0,void 0,function*(){var t,i;const n=Object.assign({audio:!0,video:!0,useRealTracks:!1},e.publish),r=Object.assign({count:9,audio:!1,video:!0,aspectRatios:[1.66,1.7,1.3]},e.participants);if(this.handleDisconnect(),this.roomInfo=new yl({sid:"RM_SIMULATED",name:"simulated-room",emptyTimeout:0,maxParticipants:0,creationTime:Qs.parse((new Date).getTime()),metadata:"",numParticipants:1,numPublishers:1,turnPassword:"",enabledCodecs:[],activeRecording:!1}),this.localParticipant.updateInfo(new Sl({identity:"simulated-local",name:"local-name"})),this.setupLocalParticipantEvents(),this.emit(Vh.SignalConnected),this.emit(Vh.Connected),this.setAndEmitConnectionState(Zm.Connected),n.video){const e=new kv(fp.Kind.Video,new Il({source:pl.CAMERA,sid:Math.floor(1e4*Math.random()).toString(),type:hl.AUDIO,name:"video-dummy"}),new jm(n.useRealTracks?(yield window.navigator.mediaDevices.getUserMedia({video:!0})).getVideoTracks()[0]:eg(160*(null!==(t=r.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(Hh.LocalTrackPublished,e)}if(n.audio){const e=new kv(fp.Kind.Audio,new Il({source:pl.MICROPHONE,sid:Math.floor(1e4*Math.random()).toString(),type:hl.AUDIO}),new Tm(n.useRealTracks?(yield navigator.mediaDevices.getUserMedia({audio:!0})).getAudioTracks()[0]:ig(),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(Hh.LocalTrackPublished,e)}for(let e=0;e<r.count-1;e+=1){let t=new Sl({sid:Math.floor(1e4*Math.random()).toString(),identity:"simulated-".concat(e),state:Tl.ACTIVE,tracks:[],joinedAt:Qs.parse(Date.now())});const n=this.getOrCreateParticipant(t.identity,t);if(r.video){const a=eg(160*(null!==(i=r.aspectRatios[e%r.aspectRatios.length])&&void 0!==i?i:1),160,!1,!0),o=new Il({source:pl.CAMERA,sid:Math.floor(1e4*Math.random()).toString(),type:hl.AUDIO});n.addSubscribedMediaTrack(a,o.sid,new MediaStream([a]),new RTCRtpReceiver),t.tracks=[...t.tracks,o]}if(r.audio){const e=ig(),i=new Il({source:pl.MICROPHONE,sid:Math.floor(1e4*Math.random()).toString(),type:hl.AUDIO});n.addSubscribedMediaTrack(e,i.sid,new MediaStream([e]),new RTCRtpReceiver),t.tracks=[...t.tracks,i]}n.updateInfo(t)}})}emit(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];if(e!==Vh.ActiveSpeakersChanged&&e!==Vh.TranscriptionReceived){const t=Ev(i).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,...i)}}function Ev(e){return e.map(e=>{if(e)return Array.isArray(e)?Ev(e):"object"==typeof e?"logContext"in e?e.logContext:void 0:e})}function Pv(){return Pv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)({}).hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},Pv.apply(null,arguments)}Tv.cleanupRegistry="undefined"!=typeof FinalizationRegistry&&new FinalizationRegistry(e=>{e()}),(ev=Xm||(Xm={}))[ev.IDLE=0]="IDLE",ev[ev.RUNNING=1]="RUNNING",ev[ev.SKIPPED=2]="SKIPPED",ev[ev.SUCCESS=3]="SUCCESS",ev[ev.FAILED=4]="FAILED",yu.EventEmitter,yu.EventEmitter;const Mv=new Uint8Array(0);class _v{static getFullOptions(e){return Pv({clientTools:{},onConnect:()=>{},onDebug:()=>{},onDisconnect:()=>{},onError:()=>{},onMessage:()=>{},onAudio:()=>{},onModeChange:()=>{},onStatusChange:()=>{},onCanSendFeedbackChange:()=>{}},e)}constructor(e,t){var i=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=1,this.canSendFeedback=!1,this.endSessionWithDetails=async function(e){"connected"!==i.status&&"connecting"!==i.status||(i.updateStatus("disconnecting"),await i.handleEndSession(),i.updateStatus("disconnected"),i.options.onDisconnect(e))},this.onMessage=async function(e){switch(e.type){case"interruption":return void i.handleInterruption(e);case"agent_response":return void i.handleAgentResponse(e);case"user_transcript":return void i.handleUserTranscript(e);case"internal_tentative_agent_response":return void i.handleTentativeAgentResponse(e);case"client_tool_call":return void(await i.handleClientToolCall(e));case"audio":return void i.handleAudio(e);case"ping":return void i.connection.sendMessage({type:"pong",event_id:e.ping_event.event_id});default:return void i.options.onDebug(e)}},this.setVolume=({volume:e})=>{this.volume=e},this.options=e,this.connection=t,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({mode:e}))}updateStatus(e){e!==this.status&&(this.status=e,this.options.onStatusChange({status:e}))}updateCanSendFeedback(){const e=this.currentEventId!==this.lastFeedbackEventId;this.canSendFeedback!==e&&(this.canSendFeedback=e,this.options.onCanSendFeedbackChange({canSendFeedback:e}))}handleInterruption(e){e.interruption_event&&(this.lastInterruptTimestamp=e.interruption_event.event_id)}handleAgentResponse(e){this.options.onMessage({source:"ai",message:e.agent_response_event.agent_response})}handleUserTranscript(e){this.options.onMessage({source:"user",message:e.user_transcription_event.user_transcript})}handleTentativeAgentResponse(e){this.options.onDebug({type:"tentative_agent_response",response:e.tentative_agent_response_internal_event.tentative_agent_response})}async handleClientToolCall(e){if(Object.prototype.hasOwnProperty.call(this.options.clientTools,e.client_tool_call.tool_name))try{var t;const i=null!=(t=await this.options.clientTools[e.client_tool_call.tool_name](e.client_tool_call.parameters))?t:"Client tool execution successful.",n="object"==typeof i?JSON.stringify(i):String(i);this.connection.sendMessage({type:"client_tool_result",tool_call_id:e.client_tool_call.tool_call_id,result:n,is_error:!1})}catch(i){this.onError(`Client tool execution failed with following error: ${null==i?void 0:i.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==i?void 0:i.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){}onError(e,t){this.options.onError(e,t)}getId(){return this.connection.conversationId}isOpen(){return"connected"===this.status}setMicMuted(e){this.connection.setMicMuted(e)}getInputByteFrequencyData(){return Mv}getOutputByteFrequencyData(){return Mv}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})}}class Iv{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 Rv(e){const[t,i]=e.split("_");if(!["pcm","ulaw"].includes(t))throw new Error(`Invalid format: ${e}`);const n=Number.parseInt(i);if(Number.isNaN(n))throw new Error(`Invalid sample rate: ${i}`);return{format:t,sampleRate:n}}const Av="0.4.4";function Ov(e){return!!e.type}const Dv="conversation_initiation_client_data";function Lv(e){var t;const i={type:Dv};var n,r,a,o,s;return e.overrides&&(i.conversation_config_override={agent:{prompt:null==(n=e.overrides.agent)?void 0:n.prompt,first_message:null==(r=e.overrides.agent)?void 0:r.firstMessage,language:null==(a=e.overrides.agent)?void 0:a.language},tts:{voice_id:null==(o=e.overrides.tts)?void 0:o.voiceId},conversation:{text_only:null==(s=e.overrides.conversation)?void 0:s.textOnly}}),e.customLlmExtraBody&&(i.custom_llm_extra_body=e.customLlmExtraBody),e.dynamicVariables&&(i.dynamic_variables=e.dynamicVariables),e.userId&&(i.user_id=e.userId),null!=(t=e.overrides)&&t.client&&(i.source_info={source:e.overrides.client.source,version:e.overrides.client.version}),i}class Nv extends Iv{constructor(e,t,i,n){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=i,this.outputFormat=n,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(!Ov(t))return;this.handleMessage(t)}catch(t){}})}static async create(e){let t=null;try{var i,n,r;const a=null!=(i=e.origin)?i:"wss://api.elevenlabs.io";let o;const s=(null==(n=e.overrides)||null==(n=n.client)?void 0:n.version)||Av,c=(null==(r=e.overrides)||null==(r=r.client)?void 0:r.source)||"js_sdk";if(e.signedUrl){const t=e.signedUrl.includes("?")?"&":"?";o=`${e.signedUrl}${t}source=${c}&version=${s}`}else o=`${a}/v1/convai/conversation?agent_id=${e.agentId}&source=${c}&version=${s}`;const l=["convai"];e.authorization&&l.push(`bearer.${e.authorization}`),t=new WebSocket(o,l);const d=await new Promise((i,n)=>{t.addEventListener("open",()=>{var i;const n=Lv(e);null==(i=t)||i.send(JSON.stringify(n))},{once:!0}),t.addEventListener("error",e=>{setTimeout(()=>n(e),0)}),t.addEventListener("close",n),t.addEventListener("message",e=>{const t=JSON.parse(e.data);Ov(t)&&"conversation_initiation_metadata"===t.type&&i(t.conversation_initiation_metadata_event)},{once:!0})}),{conversation_id:u,agent_output_audio_format:h,user_input_audio_format:p}=d,g=Rv(null!=p?p:"pcm_16000"),m=Rv(h);return new Nv(t,u,g,m)}catch(o){var a;throw null==(a=t)||a.close(),o}}close(){this.socket.close()}sendMessage(e){this.socket.send(JSON.stringify(e))}async setMicMuted(e){}}class jv extends Iv{constructor(e,t,i,n,r={}){super(r),this.conversationId=void 0,this.inputFormat=void 0,this.outputFormat=void 0,this.room=void 0,this.isConnected=!1,this.room=e,this.conversationId=t,this.inputFormat=i,this.outputFormat=n,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 i,n,r;const o=(null==(i=e.overrides)||null==(i=i.client)?void 0:i.version)||Av,s=(null==(n=e.overrides)||null==(n=n.client)?void 0:n.source)||"js_sdk",c=`${a=null!=(r=e.origin)?r:"https://api.elevenlabs.io",a.replace(/^wss:\/\//,"https://")}/v1/convai/conversation/token?agent_id=${e.agentId}&source=${s}&version=${o}`,l=await fetch(c);if(!l.ok)throw new Error(`ElevenLabs API returned ${l.status} ${l.statusText}`);if(t=(await l.json()).token,!t)throw new Error("No conversation token received from API")}catch(Gb){let i=Gb instanceof Error?Gb.message:String(Gb);throw Gb instanceof Error&&Gb.message.includes("401")&&(i="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}: ${i}`)}}var a;const o=new Tv;try{const i=`webrtc-${Date.now()}`,n=Rv("pcm_48000"),r=Rv("pcm_48000"),a=new jv(o,i,n,r,e),s=e.livekitUrl||"wss://livekit.rtc.elevenlabs.io";await o.connect(s,t),await new Promise(e=>{if(a.isConnected)e();else{const t=()=>{o.off(Vh.Connected,t),e()};o.on(Vh.Connected,t)}}),o.name&&(a.conversationId=o.name),await o.localParticipant.setMicrophoneEnabled(!0);const c=Lv(e);return a.debug({type:Dv,message:c}),await a.sendMessage(c),a}catch(Gb){throw await o.disconnect(),Gb}}setupRoomEventListeners(){var e=this;this.room.on(Vh.Connected,async function(){e.isConnected=!0}),this.room.on(Vh.Disconnected,e=>{this.isConnected=!1,this.disconnect({reason:"agent",context:new CloseEvent("close",{reason:null==e?void 0:e.toString()})})}),this.room.on(Vh.ConnectionStateChanged,e=>{e===Zm.Disconnected&&(this.isConnected=!1,this.disconnect({reason:"error",message:`LiveKit connection state changed to ${e}`,context:new Event("connection_state_changed")}))}),this.room.on(Vh.DataReceived,(e,t)=>{try{const t=JSON.parse((new TextDecoder).decode(e));if("audio"===t.type)return;Ov(t)&&this.handleMessage(t)}catch(i){}}),this.room.on(Vh.TrackSubscribed,async function(e,t,i){if(e.kind===fp.Kind.Audio&&i.identity.includes("agent")){const t=e.attach();t.autoplay=!0,t.controls=!1,t.style.display="none",document.body.appendChild(t)}}),this.room.on(Vh.ActiveSpeakersChanged,async function(t){t.length>0?t[0].identity.includes("agent")&&e.updateMode("speaking"):e.updateMode("listening")})}close(){this.isConnected&&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(fp.Source.Microphone);if(null!=t&&t.track)try{e?await t.track.mute():await t.track.unmute()}catch(i){await this.room.localParticipant.setMicrophoneEnabled(!e)}else await this.room.localParticipant.setMicrophoneEnabled(!e)}}async function Fv(e){const t=(i=e).connectionType?i.connectionType:"conversationToken"in i&&i.conversationToken?"webrtc":"websocket";var i;switch(t){case"websocket":return Nv.create(e);case"webrtc":return jv.create(e);default:throw new Error(`Unknown connection type: ${t}`)}}function Uv(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}async function zv(e={default:0,android:3e3}){let t=e.default;var i;if(/android/i.test(navigator.userAgent))t=null!=(i=e.android)?i:t;else if(Uv()){var n;t=null!=(n=e.ios)?n:t}t>0&&await new Promise(e=>setTimeout(e,t))}class Bv extends _v{static async startSession(e){const t=_v.getFullOptions(e);t.onStatusChange({status:"connecting"}),t.onCanSendFeedbackChange({canSendFeedback:!1});let i=null;try{return await zv(t.connectionDelay),i=await Fv(e),new Bv(t,i)}catch(r){var n;throw t.onStatusChange({status:"disconnected"}),null==(n=i)||n.close(),r}}}function Vv(e){const t=new Uint8Array(e);return window.btoa(String.fromCharCode(...t))}function qv(e){const t=window.atob(e),i=t.length,n=new Uint8Array(i);for(let r=0;r<i;r++)n[r]=t.charCodeAt(r);return n.buffer}const Hv=new Map;function Gv(e,t){return async i=>{const n=Hv.get(e);if(n)return i.addModule(n);const r=new Blob([t],{type:"application/javascript"}),a=URL.createObjectURL(r);try{return await i.addModule(a),void Hv.set(e,a)}catch(o){URL.revokeObjectURL(a)}try{const n=`data:application/javascript;base64,${btoa(t)}`;await i.addModule(n),Hv.set(e,n)}catch(s){throw new Error(`Failed to load the ${e} worklet module. Make sure the browser supports AudioWorklets.`)}}}const Wv=Gv("raw-audio-processor",'\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("raw-audio-processor", RawAudioProcessor);\n');class $v{static async create({sampleRate:e,format:t,preferHeadphonesForIosDevices:i}){let n=null,r=null;try{const a={sampleRate:{ideal:e},echoCancellation:!0,noiseSuppression:!0};if(Uv()&&i){const e=(await window.navigator.mediaDevices.enumerateDevices()).find(e=>"audioinput"===e.kind&&["airpod","headphone","earphone"].find(t=>e.label.toLowerCase().includes(t)));e&&(a.deviceId={ideal:e.deviceId})}const o=navigator.mediaDevices.getSupportedConstraints().sampleRate;n=new window.AudioContext(o?{sampleRate:e}:{});const s=n.createAnalyser();o||await n.audioWorklet.addModule("https://cdn.jsdelivr.net/npm/@alexanderolsen/libsamplerate-js@2.1.2/dist/libsamplerate.worklet.js"),await Wv(n.audioWorklet);const c=Pv({voiceIsolation:!0},a);r=await navigator.mediaDevices.getUserMedia({audio:c});const l=n.createMediaStreamSource(r),d=new AudioWorkletNode(n,"raw-audio-processor");return d.port.postMessage({type:"setFormat",format:t,sampleRate:e}),l.connect(s),s.connect(d),await n.resume(),new $v(n,s,d,r)}catch(s){var a,o;throw null==(a=r)||a.getTracks().forEach(e=>e.stop()),null==(o=n)||o.close(),s}}constructor(e,t,i,n){this.context=void 0,this.analyser=void 0,this.worklet=void 0,this.inputStream=void 0,this.context=e,this.analyser=t,this.worklet=i,this.inputStream=n}async close(){this.inputStream.getTracks().forEach(e=>e.stop()),await this.context.close()}setMuted(e){this.worklet.port.postMessage({type:"setMuted",isMuted:e})}}const Jv=Gv("audio-concat-processor",'\nconst decodeTable = [0,132,396,924,1980,4092,8316,16764];\n\nexport function 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("audio-concat-processor", AudioConcatProcessor);\n');class Kv{static async create({sampleRate:e,format:t}){let i=null;try{i=new AudioContext({sampleRate:e});const n=i.createAnalyser(),r=i.createGain();r.connect(n),n.connect(i.destination),await Jv(i.audioWorklet);const a=new AudioWorkletNode(i,"audio-concat-processor");return a.port.postMessage({type:"setFormat",format:t}),a.connect(r),await i.resume(),new Kv(i,n,r,a)}catch(r){var n;throw null==(n=i)||n.close(),r}}constructor(e,t,i,n){this.context=void 0,this.analyser=void 0,this.gain=void 0,this.worklet=void 0,this.context=e,this.analyser=t,this.gain=i,this.worklet=n}async close(){await this.context.close()}}class Qv extends _v{static async startSession(e){var t;const i=_v.getFullOptions(e);i.onStatusChange({status:"connecting"}),i.onCanSendFeedbackChange({canSendFeedback:!1});let n=null,r=null,a=null,o=null,s=null;if(null==(t=e.useWakeLock)||t)try{s=await navigator.wakeLock.request("screen")}catch(g){}try{var c;return o=await navigator.mediaDevices.getUserMedia({audio:!0}),await zv(i.connectionDelay),r=await Fv(e),[n,a]=await Promise.all([$v.create(Pv({},r.inputFormat,{preferHeadphonesForIosDevices:e.preferHeadphonesForIosDevices})),Kv.create(r.outputFormat)]),null==(c=o)||c.getTracks().forEach(e=>e.stop()),o=null,new Qv(i,r,n,a,s)}catch(g){var l,d,u,h;i.onStatusChange({status:"disconnected"}),null==(l=o)||l.getTracks().forEach(e=>e.stop()),null==(d=r)||d.close(),await(null==(u=n)?void 0:u.close()),await(null==(h=a)?void 0:h.close());try{var p;await(null==(p=s)?void 0:p.release()),s=null}catch(m){}throw g}}constructor(e,t,i,n,r){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:Vv(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:qv(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 i=0;i<e.length;i++)t+=e[i]/255;return t/=e.length,t<0?0:t>1?1:t},this.input=i,this.output=n,this.wakeLock=r,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){this.lastInterruptTimestamp<=e.audio_event.event_id&&(this.options.onAudio(e.audio_event.audio_base_64),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 jv?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 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())}}class Zv extends _v{static startSession(e){return e.textOnly?Bv.startSession(e):Qv.startSession(e)}}class Yv extends Ka{constructor(e){super("ConversationClient",e),__publicField(this,"name","conversation"),__publicField(this,"currentSession",gt(null)),__publicField(this,"sessionMessages",gt([])),__publicField(this,"loading",gt(!1)),__publicField(this,"error",gt(null))}async createSession(e){try{const t=await fetch("/api/conversation/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),i=await t.json();return i.ok?(this.currentSession.value=i.data,this.sessionMessages.value=[],i.data):(this.logger.error("Failed to create session",{error:i.error}),this.error.value=i.error,null)}catch(t){return this.logger.error("Failed to create session",{error:t}),this.error.value="Failed to create session",null}}async addMessage(e){try{const t=await fetch("/api/conversation/messages",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),i=await t.json();return i.ok?(this.sessionMessages.value.push(i.data),i.data):(this.logger.error("Failed to add message",{error:i.error}),null)}catch(t){return this.logger.error("Failed to add message",{error:t}),null}}async updateSession(e,t){try{const i=await fetch(`/api/conversation/sessions/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await i.json();return n.ok?(this.currentSession.value?.sessionId===e&&(this.currentSession.value=n.data),n.data):(this.logger.error("Failed to update session",{error:n.error}),null)}catch(i){return this.logger.error("Failed to update session",{error:i}),null}}async endCurrentSession(){return!!this.currentSession.value&&(!!(await this.updateSession(this.currentSession.value.sessionId,{status:"ended",endedAt:(new Date).toISOString()}))&&(this.currentSession.value=null,this.sessionMessages.value=[],!0))}async getSessions(e){try{const t=new URLSearchParams({selfId:e.selfId,limit:String(e.limit||50)}),i=await fetch(`/api/conversation/sessions?${t}`),n=await i.json();return n.ok?n.data:(this.logger.error("Failed to get sessions",{error:n.error}),[])}catch(t){return this.logger.error("Failed to get sessions",{error:t}),[]}}async getMessages(e){try{const t=await fetch(`/api/conversation/messages/${e}`),i=await t.json();return i.ok?i.data:(this.logger.error("Failed to get messages",{error:i.error}),[])}catch(t){return this.logger.error("Failed to get messages",{error:t}),[]}}getAnonId(){const e="fiction_anon_id";let t=localStorage.getItem(e);return t||(t=`anon_${Date.now()}_${Math.random().toString(36).substring(2,15)}`,localStorage.setItem(e,t)),t}}class Xv extends Ka{constructor(e){super("UsageClient",e),__publicField(this,"name","usage"),__publicField(this,"usageData",gt()),__publicField(this,"loading",gt(!1)),__publicField(this,"error",gt(null))}async recordVoiceUsage(e){try{const t=await fetch("/api/usage/voice",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return(await t.json()).ok}catch(t){return this.logger.error("Failed to record voice usage",{error:t}),!1}}async recordChatUsage(e){try{const t=await fetch("/api/usage/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return(await t.json()).ok}catch(t){return this.logger.error("Failed to record chat usage",{error:t}),!1}}async getUsageData(e){if(!e)return!1;this.loading.value=!0,this.error.value=null;try{const t=await fetch(`/api/usage/monthly/${e}`),i=await t.json();if(i.ok&&i.data){const e=i.data.reduce((e,t)=>e+(t.totalCredits||0),0),t=3600;return this.usageData.value={used:e,total:t,remaining:Math.max(0,t-e),percentage:t>0?Math.round(e/t*100):0},!0}return this.error.value=i.ok?"Failed to load usage data":i.error,!1}catch(t){return this.error.value=t instanceof Error?t.message:"Usage load failed",!1}finally{this.loading.value=!1}}async getUsageAnalytics(e,t){try{const i=new URLSearchParams;t&&i.set("period",t);const n=await fetch(`/api/usage/analytics/${e}?${i}`),r=await n.json();return r.ok?r.data:(this.logger.error("Failed to get usage analytics",{error:r.error}),null)}catch(i){return this.logger.error("Failed to fetch usage analytics",{error:i}),null}}}class ef{constructor(e){__publicField(this,"audioContext"),__publicField(this,"analyser"),__publicField(this,"microphone"),__publicField(this,"audioLevelInterval"),__publicField(this,"stream"),__publicField(this,"visibilityChangeHandler"),__publicField(this,"audioLevels",gt({inputLevel:0,outputLevel:0})),this.logger=e,this.setupVisibilityHandler()}log(e,...t){this.logger?.(`[ClientAudio] ${e}`,...t)}error(e,...t){}setupVisibilityHandler(){"undefined"!=typeof document&&(this.visibilityChangeHandler=()=>{document.hidden?(this.log("App backgrounded, suspending audio context"),this.handleAppBackground()):(this.log("App foregrounded, resuming audio context"),this.handleAppForeground())},document.addEventListener("visibilitychange",this.visibilityChangeHandler,{passive:!0}),window.addEventListener("beforeunload",()=>{this.cleanup().catch(this.error.bind(this,"Error during beforeunload cleanup"))},{passive:!0}))}handleAppBackground(){this.audioContext&&"running"===this.audioContext.state&&this.audioContext.suspend().catch(this.error.bind(this,"Error suspending audio context")),this.audioLevelInterval&&(clearInterval(this.audioLevelInterval),this.audioLevelInterval=void 0)}handleAppForeground(){this.audioContext&&"suspended"===this.audioContext.state&&this.audioContext.resume().catch(this.error.bind(this,"Error resuming audio context")),this.analyser&&!this.audioLevelInterval&&this.startAudioLevelMonitoring()}async requestMicrophonePermission(e={}){try{const{noiseSuppression:t=!0,echoCancellation:i=!0,autoGainControl:n=!0}=e;return this.stream=await navigator.mediaDevices.getUserMedia({audio:{noiseSuppression:t,echoCancellation:i,autoGainControl:n}}),this.log("Microphone permission granted"),await this.setupAudioAnalysis(),!0}catch(t){return this.error("Microphone permission denied:",t),!1}}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.log("Audio analysis setup complete")}catch(e){throw this.error("Failed to setup audio analysis:",e),e}}startAudioLevelMonitoring(e){if(!this.analyser)return void this.log("Audio level monitoring not started - missing analyser");this.log("Starting audio level monitoring at timestamp:",Date.now());const t=new Uint8Array(this.analyser.frequencyBinCount),i=async()=>{if(this.analyser)try{this.analyser.getByteFrequencyData(t);const i=t.reduce((e,t)=>e+t,0)/t.length,n=Math.min(i/128,1),r=e?.()?.3:0;this.audioLevels.value={inputLevel:n,outputLevel:r}}catch(i){this.error("Error in audio level monitoring:",i),this.stopAudioLevelMonitoring()}else this.log("Stopping audio level monitoring - missing analyser")};this.audioLevelInterval=window.setInterval(()=>{i().catch(e=>{this.error("Async error in audio level monitoring:",e)})},50)}stopAudioLevelMonitoring(){this.audioLevelInterval?(this.log("Stopping audio level monitoring interval"),clearInterval(this.audioLevelInterval),this.audioLevelInterval=void 0):this.log("No audio level monitoring interval to stop")}resetAudioLevels(){this.audioLevels.value={inputLevel:0,outputLevel:0}}isAudioContextAvailable(){return!!this.audioContext}getAudioContextState(){return this.audioContext?.state}getSharedAnalyser(){return this.analyser}async cleanup(){this.stopAudioLevelMonitoring(),this.resetAudioLevels(),this.visibilityChangeHandler&&"undefined"!=typeof document&&(document.removeEventListener("visibilitychange",this.visibilityChangeHandler),this.visibilityChangeHandler=void 0),this.stream&&(this.stream.getTracks().forEach(e=>e.stop()),this.stream=void 0),this.audioContext&&(await this.audioContext.close(),this.audioContext=void 0),this.analyser=void 0,this.microphone=void 0,this.log("Audio resources cleaned up")}}function tf(e){return e?"string"==typeof e?e:e.src||"":""}function nf(e){return tf(e.cover)||tf(e.avatar)||"/img/placeholder-avatar.png"}function rf(){return"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+"}function af(e){const t=e.target;t.dataset.fallbackUsed||(t.dataset.fallbackUsed="true",t.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjgwIiBoZWlnaHQ9IjgwIiByeD0iNDAiIGZpbGw9IiM2MzY2RjEiLz4KPHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeD0iMjAiIHk9IjIwIj4KPHA0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRTNC4yMSA0IDIgNHMxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6IiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4KPC9zdmc+")}class of extends Ja{constructor(e){super("AgentController",e),__publicField(this,"conversation"),__publicField(this,"isTextMode",!1),__publicField(this,"lastMessage",{hash:"",time:0}),__publicField(this,"clientAudio"),__publicField(this,"unwatchAudio"),__publicField(this,"isConnecting",!1),__publicField(this,"conversationClient"),__publicField(this,"usageClient"),__publicField(this,"currentSession"),__publicField(this,"voiceStartTime"),__publicField(this,"voiceState",gt({isActive:!1,isConnected:!1,isSpeaking:!1,isListening:!1,transcript:"Ready to start a call...",connectionStatus:"disconnected"})),__publicField(this,"textState",gt({isActive:!1,isConnected:!1,isThinking:!1,connectionStatus:"disconnected"})),__publicField(this,"agentMode",gt("select")),__publicField(this,"sharedMessages",gt([])),this.clientAudio=new ef(this.logger.info.bind(this.logger)),this.conversationClient=new Yv({env:e.env}),this.usageClient=new Xv({env:e.env}),this.setupModeWatcher()}get audioLevels(){return this.clientAudio.audioLevels}getClientAudio(){return this.clientAudio}getOutputFrequencyData(){if(!this.conversation)return null;try{const e=this.conversation.getOutputByteFrequencyData();return e&&e.length>0?(Array.from(e).filter(e=>Number(e)>0).length,Math.max(...Array.from(e)),Array.from(e).reduce((e,t)=>e+Number(t),0),e.length,Array.from(e.slice(0,Math.floor(.25*e.length))).reduce((e,t)=>e+Number(t),0),Array.from(e.slice(Math.floor(.25*e.length),Math.floor(.75*e.length))).reduce((e,t)=>e+Number(t),0),Array.from(e.slice(Math.floor(.75*e.length))).reduce((e,t)=>e+Number(t),0),new Uint8Array(e)):null}catch(e){return null}}isDuplicateMessage(e,t){const i=`${t}:${e.toLowerCase().trim()}`,n=Date.now(),r=i===this.lastMessage.hash&&n-this.lastMessage.time<500;return r||(this.lastMessage={hash:i,time:n}),r}async addMessage(e,t){this.isDuplicateMessage(e,t)||(this.sharedMessages.value=[...this.sharedMessages.value,{id:Date.now().toString(),text:e,sender:t,timestamp:new Date}],this.currentSession&&(await this.conversationClient.addMessage({sessionId:this.currentSession.sessionId,role:t,content:e}),this.isTextMode&&"agent"===t&&this.settings.orgId&&this.settings.selfId&&await this.usageClient.recordChatUsage({orgId:this.settings.orgId,selfId:this.settings.selfId,userId:this.settings.userId||"usr_anonymous",sessionId:this.currentSession.sessionId,charactersUsed:e.length})))}getDynamicSettings(){return{dynamicVariables:{context:this.settings.context||"",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,transcript:"Ready to start a call...",connectionStatus:"disconnected",error:void 0}),this.clientAudio.resetAudioLevels())}setupModeWatcher(){_n(this.agentMode,async(e,t)=>{if(this.logger.info(`Mode changed from ${t} to ${e}`),!this.conversation||"talk"!==t&&"chat"!==t||await this.endConversation(),"talk"!==e||this.voiceState.value.isActive){if("chat"===e&&!this.textState.value.isActive)try{await this.startTextConversation()}catch(i){this.logger.error("Failed to auto-start text conversation:",i),this.agentMode.value="select"}}else try{await this.startVoiceConversation()}catch(i){this.logger.error("Failed to auto-start voice conversation:",i),this.agentMode.value="select"}})}async handleMessage(e,t){const i=function(e){const{message:t}=e;if(!t)return null;if("string"==typeof t)return t.trim()?{text:t.trim(),sender:"agent"}:null;if("object"!=typeof t)return null;const i=[e=>{if(!("source"in e))return null;const t={user:"user",ai:"agent",agent:"agent"}[e.source];return t?{text:e.message||"",sender:t}:null}];for(const n of i){const e=n(t);if(e&&e.text.trim())return{text:e.text.trim(),sender:e.sender}}return null}(e);i&&(await this.addMessage(i.text,i.sender),t||"agent"!==i.sender||this.updateState(this.textState,{isThinking:!1}))}handleError(e,t){const i=e.message;this.logger.error("Conversation error:",e),this.resetState(t),t?this.updateState(this.voiceState,{error:i,connectionStatus:"error",transcript:"Failed to start call."}):this.updateState(this.textState,{error:i,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"}),this.settings.selfId&&this.settings.orgId&&(this.currentSession=await this.conversationClient.createSession({selfId:this.settings.selfId,orgId:this.settings.orgId,userId:this.settings.userId,anonId:this.conversationClient.getAnonId(),channel:"voice"}),this.voiceStartTime=Date.now()),!(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");const t=this.getDynamicSettings();this.logger.info("Starting voice conversation...",{dynamicSettings:t});try{this.conversation=await Zv.startSession({agentId:this.settings.agentId,connectionType:"websocket",...t,onConnect:()=>{this.isConnecting=!1,this.clientAudio.startAudioLevelMonitoring(()=>this.isVoiceConnected()),this.updateState(this.voiceState,{isConnected:!0,isListening:!0,transcript:"Connected! Start speaking...",connectionStatus:"connected"}),e.onConnect?.(),e.onAudioLevel&&(this.unwatchAudio=_n(this.audioLevels,e.onAudioLevel,{immediate:!0}))},onDisconnect:async()=>{if(this.voiceStartTime&&this.currentSession&&this.settings.orgId&&this.settings.selfId){const e=Math.floor((Date.now()-this.voiceStartTime)/1e3);await this.usageClient.recordVoiceUsage({orgId:this.settings.orgId,selfId:this.settings.selfId,userId:this.settings.userId||"usr_anonymous",sessionId:this.currentSession.sessionId,secondsUsed:e})}this.conversation=void 0,this.clientAudio.stopAudioLevelMonitoring(),this.resetState(!1),e.onDisconnect?.()},onError:t=>{this.handleError(new Error(t),!0),e.onError?.(new Error(t))},onModeChange:t=>{const i="speaking"===t.mode;this.updateState(this.voiceState,{isSpeaking:i,isListening:!i,transcript:i?"AI is speaking...":"Listening..."}),e.onModeChange?.(t.mode)},onMessage:async t=>{await this.handleMessage(t,!0),e.onMessage?.(t)}})}catch(i){throw this.isConnecting=!1,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"}),this.settings.selfId&&this.settings.orgId&&(this.currentSession=await this.conversationClient.createSession({selfId:this.settings.selfId,orgId:this.settings.orgId,userId:this.settings.userId,anonId:this.conversationClient.getAnonId(),channel:"chat"}));try{this.conversation=await Zv.startSession({agentId:this.settings.agentId,connectionType:"websocket",...this.getDynamicSettings(),textOnly:!0,onConnect:()=>{this.isConnecting=!1,this.updateState(this.textState,{isConnected:!0,connectionStatus:"connected"}),e.onConnect?.()},onDisconnect:()=>{this.conversation=void 0,this.resetState(!0),e.onDisconnect?.()},onError:t=>{this.handleError(new Error(t),!1),e.onError?.(new Error(t))},onModeChange:t=>{e.onModeChange?.(t.mode)},onMessage:async t=>{await this.handleMessage(t,!1),e.onMessage?.(t)}})}catch(t){throw this.isConnecting=!1,this.handleError(t,!1),t}}}async endConversation(){if(this.currentSession){if(!this.isTextMode&&this.voiceStartTime&&this.settings.orgId&&this.settings.selfId){const e=Math.floor((Date.now()-this.voiceStartTime)/1e3);await this.usageClient.recordVoiceUsage({orgId:this.settings.orgId,selfId:this.settings.selfId,userId:this.settings.userId||"usr_anonymous",sessionId:this.currentSession.sessionId,secondsUsed:e})}await this.conversationClient.updateSession(this.currentSession.sessionId,{status:"ended",endedAt:(new Date).toISOString()}),this.currentSession=void 0,this.voiceStartTime=void 0}if(this.conversation)try{await this.conversation.endSession()}finally{this.conversation=void 0,this.unwatchAudio?.(),this.unwatchAudio=void 0,this.resetState(this.isTextMode),this.isTextMode=!1}else this.resetState(this.isTextMode)}async sendChatMessage(e){if(this.conversation&&this.isTextMode){await this.addMessage(e,"user"),this.currentSession&&this.settings.orgId&&this.settings.selfId&&await this.usageClient.recordChatUsage({orgId:this.settings.orgId,selfId:this.settings.selfId,userId:this.settings.userId||"usr_anonymous",sessionId:this.currentSession.sessionId,charactersUsed: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()}}const sf={class:"flex-1 flex flex-col min-h-0 py-6 space-y-6 h-full overflow-scroll no-scrollbar relative"},cf={class:"flex-1 space-y-6"},lf={class:"bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"},df=["innerHTML"],uf={class:"bg-white/5 backdrop-blur-sm rounded-2xl p-4 border border-white/10"},hf={class:"flex flex-wrap gap-2"},pf={class:"space-y-3"},gf={class:"grid grid-cols-2 gap-3"},mf={key:0,class:"fixed inset-y-0 left-0 z-50 w-80 bg-slate-900/95 backdrop-blur-lg border-r border-white/10"},vf={class:"flex items-center justify-between p-6 border-b border-white/10"},ff={class:"p-6 space-y-6"},bf={class:"space-y-4"},kf=di({__name:"SelfAbout",props:{person:{}},setup(e){const t=gt(!1),i=[{title:"LinkedIn",url:"https://linkedin.com/in/profile",icon:"i-simple-icons-linkedin"},{title:"Twitter",url:"https://twitter.com/handle",icon:"i-simple-icons-x"},{title:"Website",url:"https://example.com",icon:"i-heroicons-globe-alt"},{title:"Email",url:"mailto:contact@example.com",icon:"i-heroicons-envelope"}];return(e,n)=>(Jn(),Yn("div",sf,[rr("div",cf,[rr("div",lf,[n[1]||(n[1]=rr("h3",{class:"text-sm font-medium text-white/90 mb-2"}," About ",-1)),rr("div",{class:"text-sm text-white/70 leading-relaxed",innerHTML:e.person.summary},null,8,df)]),rr("div",uf,[n[2]||(n[2]=rr("h3",{class:"text-sm font-medium text-white/90 mb-3"}," Interests ",-1)),rr("div",hf,[(Jn(!0),Yn(Vn,null,Di(e.person.tags||[],e=>(Jn(),Yn("span",{key:e,class:"px-2 py-1 bg-white/10 text-white/80 text-xs rounded-full"},$(e),1))),128))])]),rr("div",pf,[n[3]||(n[3]=rr("h3",{class:"text-sm font-medium text-white/90"}," Connect ",-1)),rr("div",gf,[(Jn(),Yn(Vn,null,Di(i,e=>ar(ls,{key:e.title,variant:"ghost",size:"sm",icon:e.icon,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:Gt(()=>[sr($(e.title),1)]),_:2},1032,["icon","href"])),64))])])]),ar(zr,{"enter-active-class":"transform transition duration-300 ease-out","enter-from-class":"-translate-x-full","enter-to-class":"translate-x-0","leave-active-class":"transform transition duration-200 ease-in","leave-from-class":"translate-x-0","leave-to-class":"-translate-x-full"},{default:Gt(()=>[t.value?(Jn(),Yn("div",mf,[rr("div",vf,[n[5]||(n[5]=rr("div",{class:"text-white font-semibold text-lg"}," Fiction ",-1)),rr("button",{class:"p-1 rounded-lg hover:bg-white/10 transition-colors",onClick:n[0]||(n[0]=e=>t.value=!1)},[...n[4]||(n[4]=[rr("div",{class:"w-5 h-5 i-heroicons-x-mark text-white/70"},null,-1)])])]),rr("div",ff,[n[9]||(n[9]=rr("div",{class:"space-y-4"},[rr("h2",{class:"text-xl font-semibold text-white"}," What is a Digital Self? "),rr("p",{class:"text-white/70 leading-relaxed"}," A Digital Self is an AI-powered representation of a person that can interact, share knowledge, and represent their expertise in conversations. It's like having a digital twin that understands your background, skills, and perspective. ")],-1)),rr("div",bf,[n[8]||(n[8]=rr("h3",{class:"text-lg font-medium text-white"}," Get Started ",-1)),ar(ls,{variant:"default",class:"w-full",href:"/login"},{default:Gt(()=>[...n[6]||(n[6]=[sr(" Login to Fiction ",-1)])]),_:1}),ar(ls,{variant:"ghost",class:"w-full border border-white/20 text-white/80 hover:bg-white/10",href:"/signup"},{default:Gt(()=>[...n[7]||(n[7]=[sr(" Create Account ",-1)])]),_:1})]),n[10]||(n[10]=rr("div",{class:"pt-4 border-t border-white/10"},[rr("p",{class:"text-sm text-white/50"}," Create your own Digital Self and join the Fiction community. ")],-1))])])):cr("",!0)]),_:1})]))}}),wf={class:"flex flex-col h-full relative"},yf={key:0,class:"absolute top-[-10px] left-1/2 transform -translate-x-1/2 z-30 px-4 py-1 bg-theme-900 text-theme-500 text-[10px] font-mono rounded-full"},xf={class:"text-xs leading-relaxed"},Cf={key:0,class:"flex justify-start"},Sf={class:"flex-shrink-0 pt-6 mt-4 border-t border-white/10"},Tf={class:"flex gap-2"},Ef=["placeholder","disabled"],Pf=di({__name:"SelfChat",props:{agentController:{}},setup(e){const t=gt(""),i=gt();async function n(){if(!t.value.trim()||!e.agentController||!e.agentController.textState.value.isConnected)return;const i=t.value;t.value="";try{await e.agentController.sendChatMessage(i),r()}catch(n){}}function r(){i.value&&Lt(()=>{const e=i.value;e.scrollTop=e.scrollHeight})}return _n(()=>e.agentController?.sharedMessages.value,e=>{e&&e.length>0&&Lt(()=>r())},{immediate:!0,deep:!0}),(e,r)=>(Jn(),Yn("div",wf,["connected"!==e.agentController?.textState.value.connectionStatus?(Jn(),Yn("div",yf,$("connecting"===e.agentController?.textState.value.connectionStatus?"Connecting...":"Disconnected"),1)):cr("",!0),rr("div",{ref_key:"messagesContainer",ref:i,class:"flex-1 overflow-y-auto overflow-x-hidden py-8 space-y-4 min-h-0 no-scrollbar border-t border-white/10"},[(Jn(!0),Yn(Vn,null,Di(e.agentController?.sharedMessages.value.filter(e=>"system"!==e.sender)??[],e=>(Jn(),Yn("div",{key:e.id,class:q(["flex",{"justify-end":"user"===e.sender,"justify-start":"agent"===e.sender}])},[rr("div",{class:q(["max-w-[400px] rounded-xl px-4 py-2 backdrop-blur-sm","user"===e.sender?"bg-primary-400/40 text-white border border-primary-400/60 ml-6":"bg-white/10 text-white/90 border border-white/10 mr-6"])},[rr("p",xf,$(e.text),1)],2)],2))),128)),e.agentController?.textState.value.isThinking?(Jn(),Yn("div",Cf,[...r[1]||(r[1]=[rr("div",{class:"max-w-[400px] rounded-xl px-4 py-1 backdrop-blur-sm bg-white/10 text-white/90 border border-white/10 mr-6 flex items-center"},[rr("i",{class:"i-svg-spinners-3-dots-fade size-6"})],-1)])])):cr("",!0)],512),rr("div",Sf,[rr("div",Tf,[Wt(rr("input",{"onUpdate:modelValue":r[0]||(r[0]=e=>t.value=e),type:"text",placeholder:e.agentController?.textState.value.isConnected?"Type a message...":"Connecting...",disabled:e.agentController?.textState.value.isThinking||!e.agentController?.textState.value.isConnected,class:"flex-1 bg-white/10 backdrop-blur-sm border border-white/20 rounded-full px-4 py-2 text-white placeholder-white/50 text-sm focus:outline-none focus:border-white/40 disabled:opacity-50",onKeyup:Na(n,["enter"])},null,40,Ef),[[Ra,t.value]]),ar(ls,{variant:"default",size:"sm",icon:"i-heroicons-paper-airplane",disabled:e.agentController?.textState.value.isThinking||!t.value.trim()||!e.agentController?.textState.value.isConnected,class:"bg-white/20 backdrop-blur-sm border border-white/20 text-white rounded-full size-10 hover:bg-white/30 disabled:opacity-50 disabled:cursor-not-allowed",onClick:n},null,8,["disabled"])])])]))}}),Mf={class:"frequency-visualizer flex items-center justify-center"},_f=["width"],If=64,Rf=us(di({__name:"AudioVisualizer",props:{rms:{},color:{},isActive:{type:Boolean},audioLevels:{},isListening:{type:Boolean},isSpeaking:{type:Boolean},isConnected:{type:Boolean},enableRealAudio:{type:Boolean},agentController:{},enableWaveMotion:{type:Boolean},enableScrollingWave:{type:Boolean}},setup(e){const t=e,i=gt();let n=null,r=null;const a=gt(!1),o=gt(16.67),s=gt(!0),c=new Map;let l=null,d=null,u=null;const h=gt(!1),p=gt(null),g=new Float32Array(If).fill(4),m=new Float32Array(If).fill(0),v=new Float32Array(If).fill(4),f=new Float32Array(If).fill(4),b=new Float32Array(If).fill(0),k=new Float32Array(If).fill(0);function w(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}}const y=[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];async function x(){if("undefined"!=typeof window&&t.enableRealAudio&&t.agentController)try{const e=t.agentController.getClientAudio();if(e?.isAudioContextAvailable()){const t=e.getSharedAnalyser();if(t){d=t;const e=new ArrayBuffer(t.frequencyBinCount);return u=new Uint8Array(e),h.value=!0,void(p.value=null)}}h.value=!1,p.value="Shared audio context not available"}catch(e){p.value=e instanceof Error?e.message:"Failed to setup shared audio",h.value=!1}}function C(){d=null,u=null,h.value=!1,p.value=null}let S=1;function T(){i.value&&("undefined"!=typeof window&&(S=Math.max(1,Math.min(2,window.devicePixelRatio||1))),i.value.width=Math.floor(255*S),i.value.height=Math.floor(80*S),i.value.style.width="255px",i.value.style.height="80px",n&&n.setTransform(S,0,0,S,0,0),c.clear(),l=null)}function E(e){return Array.from({length:y.length},(t,i)=>{const n=y[i],r=Math.floor(n/12e3*e.length),a=Math.max(1,Math.floor(e.length/y.length/2));let o=0;for(let l=0;l<a&&r+l<e.length;l++)o+=e[r+l];o=o/a/255;let s=1;s=n<150?.1:n<200?.3:n>=400&&n<=600?1.4:n>=1400&&n<=1600?1.3:n>=2400&&n<=2600?1.2:n>=200&&n<=2e3?1.1:n>=2e3&&n<=4e3?.9:n>6e3?.4:.7;const c=.6*o**.5*s;return Math.min(.85,c)})}let P=0,M=0,_=0;const I=[{name:"a",f1:730,f2:1090,f3:2440,duration:120,energy:.9},{name:"e",f1:530,f2:1840,f3:2480,duration:100,energy:.8},{name:"i",f1:270,f2:2290,f3:3010,duration:110,energy:.85},{name:"o",f1:570,f2:840,f3:2410,duration:130,energy:.9},{name:"u",f1:300,f2:870,f3:2240,duration:140,energy:.8},{name:"s",f1:4e3,f2:6e3,f3:8e3,duration:80,energy:.4},{name:"t",f1:1500,f2:4e3,f3:6e3,duration:60,energy:.3},{name:"n",f1:280,f2:1700,f3:2600,duration:70,energy:.6},{name:"r",f1:350,f2:1200,f3:1650,duration:90,energy:.7},{name:"pause",f1:0,f2:0,f3:0,duration:150,energy:.05}];function R(e,t,i,n,r){if(0===t&&0===i)return 0;const a=t*(1-n)+i*n;if(0===a)return 0;const o=Math.abs(e-a);return Math.exp(-((o/r)**2))}let A=[],O=0,D=0;function L(e){const t=Array.from({length:y.length},()=>0);if(e<=0)return t;for(let i=0;i<y.length;i++){const n=y[i];let r=0;r=n>=400&&n<=600?.9*e:n>=1400&&n<=1600?.8*e:n>=2400&&n<=2600?.7*e:n>=200&&n<=2e3?.6*e:n>=85&&n<=300?.4*e:.2*e,r*=.8+.4*Math.random(),t[i]=Math.max(0,Math.min(1,r))}return t}function N(e,t){return c.has(e)||c.set(e,t()),c.get(e)}function j(){if("undefined"==typeof window||!n||!i.value)return;!function(){if("undefined"==typeof window)return;const e=navigator.userAgent.toLowerCase(),t=/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(e);a.value=t,o.value=16.67}();const e=i.value,c=e.width/S,p=e.height/S;r=requestAnimationFrame(function e(i){if(!n)return;if(!s.value)return void(r=requestAnimationFrame(e));n.clearRect(0,0,c,p);let o=0;t.audioLevels?t.isListening?o=Math.min(1.5*t.audioLevels.inputLevel,1):t.isSpeaking&&(o=Math.min(1.8*t.audioLevels.outputLevel,1)):void 0!==t.rms&&(o=Math.min(t.rms/70,1));const x=function(e){let i=[];if(t.enableRealAudio&&t.isListening&&h.value&&d&&u){const e=d&&u&&h.value?(d.getByteFrequencyData(u),E(u)):Array.from({length:y.length},()=>0);e.some(e=>e>.05)&&(i=e)}if(!i.length&&t.isSpeaking&&t.agentController&&t.audioLevels&&t.audioLevels.outputLevel>.05){const e=Date.now(),r=(a.value?100:50)*Math.min(2**D,8);if(e-O>r){O=e;try{const e=function(){if(!t.agentController)return Array.from({length:y.length},()=>0);try{const e=t.agentController.getOutputFrequencyData();if(e&&e.length>0)return E(e)}catch(e){}return Array.from({length:y.length},()=>0)}();e.some(e=>e>.05)&&(A=e,D=0)}catch(n){D++}}A.some(e=>e>.05)&&(i=A)}return i.length||(i=e>0&&(t.isListening||t.isSpeaking)?t.isSpeaking?function(e){const t=Array.from({length:y.length},()=>0);if(e<=0)return t;M+=16.67,_+=.02,M>I[P].duration&&(P=(P+1)%I.length,M=0);const i=I[P],n=I[(P+1)%I.length],r=M/i.duration,a=.5*(1+Math.cos(Math.PI+r*Math.PI)),o=.7+.3*Math.sin(.5*_),s=.9+.1*Math.sin(8*_);for(let c=0;c<y.length;c++){const r=y[c];let l=0;l=(.4*R(r,i.f1,n.f1,a,200)+.35*R(r,i.f2,n.f2,a,300)+.25*R(r,i.f3,n.f3,a,400))*(i.energy*(1-a)+n.energy*a);const d=150+50*Math.sin(.3*_);(Math.abs(r-d)<20||Math.abs(r-2*d)<30||Math.abs(r-3*d)<40)&&(l+=.3*i.energy),l*=e*o*s,l*=.85+.3*Math.random(),t[c]=Math.max(0,Math.min(1,l))}return t}(e):L(e):t.isConnected?L(.02):Array.from({length:y.length},()=>0)),t.enableWaveMotion&&"undefined"!=typeof window&&(i=function(e,i){const n=.001*performance.now(),r=[...e];for(let a=0;a<e.length;a++){const o=a*(2*Math.PI)/e.length;let s=0;t.isListening||t.isSpeaking?s=.15*Math.sin(4.2*n+.6*o-(t.enableScrollingWave?2*n:0))+.08*Math.sin(6.8*n+1.2*o-(t.enableScrollingWave?1.5*n:0))+.05*Math.sin(.8*n):t.isConnected&&(s=.1*Math.sin(.6*n)+.05*Math.sin(2*n+.3*o));const c=Math.max(.3,i);r[a]=Math.max(0,Math.min(.9,e[a]+s*c))}return r}(i,e)),i}(o);for(let t=0;t<If;t++)v[t]=4+76*x[t];for(let t=0;t<If;t++){const e=w(y[t]),i=v[t]-g[t],n=.18*e.stiffnessMultiplier,r=.22*e.dampingMultiplier,a=i*n-m[t]*r;if(m[t]+=a,g[t]+=m[t],g[t]>f[t])f[t]=g[t],b[t]=300,k[t]=0;else if(b[t]=Math.max(0,b[t]-16.67),b[t]<=0){const e=.12*(Math.max(4,1.1*g[t])-f[t])-.15*k[t];k[t]+=e,f[t]=Math.max(4,f[t]+k[t])}}if(n&&(l||(l=n.createRadialGradient(.5*c,.6*p,.1*p,.5*c,.6*p,.9*p),l.addColorStop(0,"rgba(255,255,255,0.02)"),l.addColorStop(1,"rgba(0,0,0,0.08)")),n.fillStyle=l,n.fillRect(0,0,c,p)),(t.isListening||t.isSpeaking)&&!a.value){const e=.001*performance.now(),i=.1+.05*Math.sin(2*e);n.save(),n.globalCompositeOperation="lighter",n.globalAlpha=i;const r=t.isSpeaking?"rgba(34,197,94,0.4)":"rgba(59,130,246,0.4)";n.fillStyle=r;for(let t=0;t<If;t++){const e=4*t,i=g[t],r=p-i;n.beginPath(),n.roundRect(e-1,r-1,5,i+2,[2,2,0,0]),n.fill()}n.restore()}for(let r=0;r<If;r++){const e=4*r,i=g[r],o=p-i,s=y[r],c=Math.min(r,63-r),l=Math.min(1,c/9.6),d=Math.min(1,i/80),u=(.8+.2*d)*l,h=(.6+.2*d)*l,m=(.3+.1*d)*l,v=Math.round(10*d)/10,k=Math.round(10*l)/10,w=N(`${t.isSpeaking?"speaking":t.isListening?"listening":"idle"}-${v}-${k}-${i}`,()=>{const e=n.createLinearGradient(0,o,0,o+i);if(t.isSpeaking)e.addColorStop(0,`rgba(34, 197, 94, ${u})`),e.addColorStop(.5,`rgba(34, 197, 94, ${h})`),e.addColorStop(1,`rgba(34, 197, 94, ${m})`),(s>=400&&s<=600||s>=1400&&s<=1600)&&e.addColorStop(0,`rgba(74, 222, 128, ${Math.min(1,u+.2)})`);else if(t.isListening)e.addColorStop(0,`rgba(59, 130, 246, ${u})`),e.addColorStop(.5,`rgba(59, 130, 246, ${h})`),e.addColorStop(1,`rgba(59, 130, 246, ${m})`);else{const t=.6*l,i=.4*l,n=.2*l;e.addColorStop(0,`rgba(156, 163, 175, ${t})`),e.addColorStop(.6,`rgba(156, 163, 175, ${i})`),e.addColorStop(1,`rgba(156, 163, 175, ${n})`)}return e});if(n.fillStyle=w,n.beginPath(),n.roundRect(e,o,3,i,[1,1,0,0]),n.fill(),f[r]>6){const i=p-f[r],o=b[r]>0?.9:Math.max(.3,b[r]/300);n.fillStyle=`rgba(255, 255, 255, ${o})`,n.fillRect(e,i-1,3,2),o>.5&&!a.value&&(n.shadowColor=t.isSpeaking?"rgba(34, 197, 94, 0.5)":"rgba(59, 130, 246, 0.5)",n.shadowBlur=3,n.fillRect(e,i-1,3,2),n.shadowBlur=0)}}r=requestAnimationFrame(e)})}function U(){if("undefined"!=typeof window){const e=Math.max(1,Math.min(2,window.devicePixelRatio||1));e!==S&&(S=e)}T()}return xi(()=>{if(i.value&&(n=i.value.getContext("2d"),T(),"undefined"!=typeof window)){window.addEventListener("resize",U,{passive:!0});const e=()=>{s.value=!document.hidden};document.addEventListener("visibilitychange",e,{passive:!0})}t.enableRealAudio&&t.isListening&&setTimeout(()=>{x().catch(console.error)},100)}),Ei(()=>{r&&cancelAnimationFrame(r),"undefined"!=typeof window&&(window.removeEventListener("resize",U),document.removeEventListener("visibilitychange",()=>{s.value=!document.hidden})),C()}),_n([()=>t.isActive,()=>t.isConnected,()=>t.isListening,()=>t.isSpeaking,()=>t.rms],()=>{!n&&i.value&&(n=i.value.getContext("2d")),r&&cancelAnimationFrame(r),j()},{immediate:!0}),_n([()=>t.enableRealAudio,()=>t.isListening],async([e,t],[i,n])=>{!e||!t||i&&n||h.value||await x().catch(console.error),e&&t||!i||!n||C()},{immediate:!1}),_n(i,e=>{e&&!n&&(n=e.getContext("2d"),T(),j())}),(e,t)=>(Jn(),Yn("div",Mf,[rr("canvas",{ref_key:"canvasRef",ref:i,width:255,height:80,class:"max-w-full",style:F({height:"80px"})},null,12,_f)]))}}),[["__scopeId","data-v-e87b3c51"]]),Af={class:"flex flex-col h-full items-center justify-center px-6 py-8"},Of={class:"flex-1 flex flex-col items-center justify-center space-y-8 py-4"},Df={class:"h-32 w-full max-w-md"},Lf={class:"text-center flex gap-2 items-center text-xs"},Nf={class:"flex items-center justify-center gap-2"},jf={key:0,class:"size-2 bg-blue-500 rounded-full animate-pulse"},Ff={key:1,class:"size-2 bg-green-500 rounded-full animate-pulse"},Uf={key:2,class:"size-2 bg-white/50 rounded-full"},zf={key:3,class:"size-2 bg-red-500 rounded-full"},Bf={class:"text-white/70 text-sm max-w-xs leading-relaxed"},Vf={class:"flex flex-col items-center space-y-6"},qf={class:"text-white/50 text-xs text-center max-w-xs"},Hf=di({__name:"SelfVoice",props:{agentController:{}},setup(e){const t=Pr(()=>{const t=e.agentController?.voiceState.value;return t?.isConnected?"bg-red-500 border-red-400 hover:bg-red-600":"connecting"===t?.connectionStatus?"bg-yellow-500 border-yellow-400 cursor-not-allowed":"bg-green-500 border-green-400 hover:bg-green-600"}),i=Pr(()=>{const t=e.agentController?.voiceState.value;return!!t?.error||"connecting"===t?.connectionStatus});async function n(){if(e.agentController)try{e.agentController.voiceState.value.isConnected?await e.agentController.endConversation():(e.agentController.isConnected()&&await e.agentController.endConversation(),await e.agentController.startVoiceConversation(),e.agentController.agentMode.value="talk")}catch(t){}}return(e,r)=>(Jn(),Yn("div",Af,[rr("div",Of,[rr("div",Df,[ar(Rf,{"audio-levels":e.agentController?.audioLevels.value??{inputLevel:0,outputLevel:0},"is-listening":e.agentController?.voiceState.value.isListening??!1,"is-speaking":e.agentController?.voiceState.value.isSpeaking??!1,"is-connected":e.agentController?.voiceState.value.isConnected??!1,"enable-real-audio":!0,"enable-wave-motion":!0,"enable-scrolling-wave":!0,"agent-controller":e.agentController},null,8,["audio-levels","is-listening","is-speaking","is-connected","agent-controller"])]),rr("div",Lf,[rr("div",Nf,[e.agentController?.voiceState.value.isListening?(Jn(),Yn("div",jf)):e.agentController?.voiceState.value.isSpeaking?(Jn(),Yn("div",Ff)):!e.agentController?.voiceState.value.isConnected||e.agentController?.voiceState.value.isListening||e.agentController?.voiceState.value.isSpeaking?e.agentController?.voiceState.value.error?(Jn(),Yn("div",zf)):cr("",!0):(Jn(),Yn("div",Uf))]),rr("p",Bf,$(e.agentController?.voiceState.value.error?`Error: ${e.agentController.voiceState.value.error}`:e.agentController?.voiceState.value.transcript||"Ready to start a call..."),1)])]),rr("div",Vf,[ar(ls,{variant:"default",size:"lg",class:q(["px-8 py-3 rounded-full backdrop-blur-sm border-2 transition-all duration-200 text-white font-medium",t.value]),disabled:i.value,onClick:n},{default:Gt(()=>[rr("div",{class:q(["size-5 mr-2",e.agentController?.voiceState.value.isConnected?"i-heroicons-phone-x-mark":"connecting"===e.agentController?.voiceState.value.connectionStatus?"i-heroicons-arrow-path animate-spin":"i-heroicons-phone"])},null,2),sr(" "+$(e.agentController?.voiceState.value.isConnected?"End Call":"connecting"===e.agentController?.voiceState.value.connectionStatus?"Connecting...":"Start a Call"),1)]),_:1},8,["class","disabled"]),rr("p",qf,$(e.agentController?.voiceState.value.error?"Please check your microphone permissions and try again":e.agentController?.voiceState.value.isConnected?e.agentController?.voiceState.value.isListening?"Listening for your voice...":e.agentController?.voiceState.value.isSpeaking?"Agent is speaking...":"Call in progress":"Tap to begin voice conversation"),1)])]))}}),Gf={key:0,class:"absolute inset-0 flex items-center justify-center bg-gradient-to-br from-theme-800 to-theme-950 z-10"},Wf={key:1,class:"absolute inset-0"},$f={class:"relative z-20 p-2"},Jf={class:"flex items-center justify-between"},Kf={key:0,class:"relative grid grid-cols-3 rounded-full p-0.5 bg-white/5 backdrop-blur-sm ring-1 ring-inset ring-white/10"},Qf=["onClick"],Zf={class:"flex items-center justify-center gap-0.5 @[200px]/agent:gap-1 @[280px]/agent:gap-1.5"},Yf={class:"hidden @[140px]/agent:inline @[200px]/agent:text-xs text-[9px]"},Xf={key:0,class:"w-full space-y-6 py-6"},eb={class:"grid grid-cols-2 gap-6 w-full"},tb={key:2,class:"bg-white/10 backdrop-blur-sm text-white/70 flex items-center justify-center h-full"},ib=us(di({__name:"SelfAgent",props:{self:{},context:{},firstMessage:{},hasClose:{type:Boolean,default:!1},isActive:{type:Boolean,default:!0},loading:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){const i=t,n=mt(undefined,!0);const r=gt(!1),a=Pr(()=>n.value?.agentMode?.value??"select"),o=[{mode:"talk",label:"Talk",icon:"i-tabler-phone"},{mode:"chat",label:"Chat",icon:"i-tabler-message-circle"},{mode:"info",label:"Info",icon:"i-tabler-user-circle"}];return xi(()=>{n.value&&n.value.destroy(),n.value=new of({env:new Qa({NODE_ENV:"development"}),agentId:e.self.agentId,context:e.context,firstMessage:e.firstMessage})}),Ei(()=>{n.value&&n.value.destroy()}),(t,s)=>(Jn(),Yn("div",{key:ft(nf)(t.self),class:"@container/agent self-agent w-full h-full overflow-hidden relative md:rounded-3xl"},[t.loading?(Jn(),Yn("div",Gf,[ar(os,{class:"text-white size-8"})])):t.self?(Jn(),Yn("div",Wf,[rr("div",{class:"absolute inset-0 bg-cover bg-center bg-no-repeat",style:F({backgroundImage:`url(${e.self.cover?.src?e.self.cover.src:nf(e.self)})`})},null,4),rr("div",{class:q(["absolute inset-0 bg-gradient-to-br z-0","select"===a.value?"from-black/70 via-black/50 to-black/80":"from-black/90 via-black/90 to-black/100"])},null,2),rr("div",{class:q(["relative z-10 flex flex-col h-full transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)] will-change-transform",t.isActive?"opacity-100 translate-y-0":"opacity-0 translate-y-2"])},[rr("div",$f,[rr("div",Jf,[rr("button",{class:"cursor-pointer p-3 flex items-center 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:s[0]||(s[0]=e=>r.value=!0)},[...s[6]||(s[6]=[rr("i",{class:"i-tabler-menu size-6"},null,-1)])]),"select"!==a.value?(Jn(),Yn("div",Kf,[(Jn(),Yn(Vn,null,Di(o,e=>rr("button",{key:e.mode,class:q(["z-10 select-none relative cursor-pointer rounded-full px-2 @[400px]/agent:px-2 @[580px]/agent:px-3 py-1.5 text-[10px] @[200px]/agent:text-xs font-medium transition-all",[a.value===e.mode?"text-white bg-white/10":"text-white/60 hover:text-white/80"]]),onClick:t=>n.value?.setMode(e.mode)},[rr("span",Zf,[rr("i",{class:q(["w-3 h-3 @[200px]/agent:w-3.5 @[200px]/agent:h-3.5",[e.icon]])},null,2),rr("span",Yf,$(e.label),1)])],10,Qf)),64))])):cr("",!0),t.hasClose||"select"!==a.value?(Jn(),Yn("button",{key:1,class:"cursor-pointer flex items-center p-3 rounded-2xl text-white/70 hover:bg-white/10 transition-colors",onClick:s[1]||(s[1]=Da(e=>t.hasClose?i("close","button"):n.value?.setMode("select"),["stop"]))},[rr("i",{class:q(["size-6",t.hasClose?"i-tabler-x":"i-tabler-home"])},null,2)])):cr("",!0)])]),rr("div",{class:q(["flex-1 flex flex-col relative z-20 min-h-0 px-4 @[480px]/agent:px-6 max-w-lg lg:max-w-xl mx-auto w-full pb-4","select"===a.value?"justify-end h-full":""])},["select"===a.value?(Jn(),Xn(vs,{key:0,person:t.self,size:"lg","show-online-indicator":!0,layout:"centered"},null,8,["person"])):(Jn(),Xn(vs,{key:1,class:"px-4 pt-4 pb-4 sm:pb-6",person:t.self,size:"md","show-online-indicator":!1,layout:"horizontal"},null,8,["person"])),rr("div",{class:q(["min-h-0","select"!==a.value?"h-full":""])},["select"===a.value?(Jn(),Yn("div",Xf,[ar(ls,{variant:"default",size:"lg",class:"w-full px-8 py-4 rounded-full backdrop-blur-sm border-2 border-green-400 bg-green-500 hover:bg-green-600 transition-all duration-200 text-white font-medium",icon:"i-heroicons-phone",onClick:s[2]||(s[2]=e=>n.value?.setMode("talk"))},{default:Gt(()=>[...s[7]||(s[7]=[sr(" Start a Call ",-1)])]),_:1}),rr("div",eb,[ar(ls,{variant:"ghost",size:"lg",icon:"i-tabler-user-circle",class:"bg-white/10 hover:bg-white/30 backdrop-blur-sm border border-white/20 text-white/90 font-medium py-3 @sm:py-4 rounded-full",onClick:s[3]||(s[3]=e=>n.value?.setMode("info"))},{default:Gt(()=>[...s[8]||(s[8]=[sr(" Profile ",-1)])]),_:1}),ar(ls,{variant:"ghost",size:"lg",icon:"i-tabler-message-circle",class:"bg-white/10 hover:bg-white/30 backdrop-blur-sm border border-white/20 text-white/90 font-medium py-3 @sm:py-4 rounded-full",onClick:s[4]||(s[4]=e=>n.value?.setMode("chat"))},{default:Gt(()=>[...s[9]||(s[9]=[sr(" Text Chat ",-1)])]),_:1})])])):(Jn(),Yn(Vn,{key:1},["chat"===a.value?(Jn(),Xn(Pf,{key:0,"agent-controller":n.value},null,8,["agent-controller"])):"talk"===a.value?(Jn(),Xn(Hf,{key:1,"agent-controller":n.value},null,8,["agent-controller"])):"info"===a.value?(Jn(),Xn(kf,{key:2,person:t.self},null,8,["person"])):cr("",!0)],64))],2)],2),rr("div",{class:q(["relative z-20 text-center py-5 px-6","info"===a.value?"hidden":""])},[...s[10]||(s[10]=[rr("a",{href:"https://www.fiction.com",class:"flex items-center justify-center gap-1.5 text-[10px] font-mono font-normal text-white/50 hover:text-white/70 transition-colors"},[rr("span",{class:""},"Digital Self\u2122"),rr("span",{class:"text-white/20"},"by"),rr("span",null,"Fiction.com")],-1)])],2)],2)])):(Jn(),Yn("div",tb," There was an error loading the digital self. Please try again later. ")),ar(Es,{modelValue:r.value,"onUpdate:modelValue":s[5]||(s[5]=e=>r.value=e),self:t.self},null,8,["modelValue","self"])]))}}),[["__scopeId","data-v-0b10a9b7"]]),nb={class:"agent-provider"},rb={key:0,class:"flex items-center justify-center h-full"},ab={key:1},ob=di({__name:"AgentProvider",props:{handle:{},context:{},firstMessage:{},apiBase:{}},setup(e){const t=e,i=gt(!0),n=gt(),r=gt(),a=Pr(()=>n.value?.agentId||"");return xi(async()=>{try{i.value=!0;const e=await async function(e){try{const i=t.apiBase||"https://www.fiction.com",n=await fetch(`${i}/api/self/public/${e}`),r=await n.json();return r.ok?r.data:void 0}catch(i){return}}(t.handle);e&&(n.value=e)}catch(e){}finally{i.value=!1}}),rn("digitalSelf",n),rn("loading",i),rn("error",r),(e,t)=>(Jn(),Yn("div",nb,[i.value?(Jn(),Yn("div",rb,[...t[0]||(t[0]=[rr("div",{class:"animate-spin rounded-full size-6 border-b-2 border-white"},null,-1)])])):n.value&&a.value?(Jn(),Yn("div",ab,[Li(e.$slots,"default",{digitalSelf:n.value,agentId:a.value,context:e.context,firstMessage:e.firstMessage,loading:i.value})])):cr("",!0)]))}}),sb={key:0,class:"relative h-full w-full"},cb={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"},lb=["src","alt"],db=di({__name:"FictionWidget",props:{handle:{},context:{},firstMessage:{},position:{},apiBase:{}},setup(e,{expose:t}){const i=e,n=gt(!1),r=gt(!1);function a(){n.value=!n.value}function o(){n.value=!1}function s(){o()}return gt(),_n(n,async e=>{e?(await Lt(),setTimeout(()=>{r.value=!0},400)):r.value=!1}),t({toggle:a,open:function(){n.value=!0},close:o}),(e,t)=>(Jn(),Xn(ob,{handle:e.handle,context:e.context,"first-message":e.firstMessage,"api-base":e.apiBase},{default:Gt(({digitalSelf:o})=>[o?(Jn(),Yn("div",{key:0,class:q(["fixed z-[999999] pointer-events-auto",["bottom-left"===i.position?"bottom-6 left-6":"top-right"===i.position?"top-6 right-6":"top-left"===i.position?"top-6 left-6":"bottom-6 right-6"]])},[rr("div",{class:q(["transition-all duration-500 ease-[cubic-bezier(0.25,1,0.33,1)] transform-gpu",[n.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:F({"transform-origin":"bottom-left"===i.position?"bottom left":"top-right"===i.position?"top right":"top-left"===i.position?"top left":"bottom right"}),onClick:t[1]||(t[1]=e=>n.value?void 0:a())},[n.value?cr("",!0):(Jn(),Yn("div",sb,[rr("div",cb,[rr("img",{src:ft(tf)(o.avatar)||ft(rf)(),alt:`${o.name} avatar`,class:"h-full w-full object-cover pointer-events-none",onError:t[0]||(t[0]=(...e)=>ft(af)&&ft(af)(...e))},null,40,lb),t[2]||(t[2]=rr("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))]),t[3]||(t[3]=rr("div",{class:"absolute top-0.5 right-0.5"},[rr("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white absolute",style:{animation:"ping 3s cubic-bezier(0, 0, 0.2, 1) infinite"}}),rr("div",{class:"size-3 bg-green-500 rounded-full ring-2 ring-white"})],-1))])),n.value&&o?(Jn(),Xn(ib,{key:1,self:o,context:e.context,"first-message":e.firstMessage,"has-close":!0,"is-active":r.value,onClose:s},null,8,["self","context","first-message","is-active"])):cr("",!0)],6)],2)):cr("",!0)]),_:1},8,["handle","context","first-message","api-base"]))}}),ub=class e{constructor(t){__publicField(this,"app",null),__publicField(this,"shadowRoot",null),__publicField(this,"container",null),__publicField(this,"widgetInstance",null),__publicField(this,"config"),this.config=t;const i=e.instances.get(t.handle);i&&(t.handle,i.destroy()),this.init(),e.instances.set(t.handle,this)}init(){this.container=document.createElement("div"),this.container.id=`fiction-widget-${this.config.handle}`;const e=this.config.position||"bottom-right",t=this.getPositionStyles(e);this.container.style.cssText=`\n position: fixed;\n ${t}\n z-index: 9999;\n pointer-events: auto;\n font-family: system-ui, -apple-system, sans-serif;\n `,this.shadowRoot=this.container.attachShadow({mode:"open"});const i=document.createElement("style");i.textContent="/*! tailwindcss v4.1.12 | 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-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",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-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-300:oklch(83.7% .128 66.29);--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-yellow-50:oklch(98.7% .026 102.212);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--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-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-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--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-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-purple-950:oklch(29.1% .149 302.717);--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-50:oklch(98.4% .003 247.858);--color-slate-900:oklch(20.8% .042 265.755);--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-gray-950:oklch(13% .028 261.692);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--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;--container-7xl:80rem;--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;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--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;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--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)}}@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%;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}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\\@container\\/agent{container:agent/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);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-x-0{inset-inline: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-4{top:calc(var(--spacing)*-4)}.-top-6{top:calc(var(--spacing)*-6)}.-top-10{top:calc(var(--spacing)*-10)}.-top-24{top:calc(var(--spacing)*-24)}.top-0{top:calc(var(--spacing)*0)}.top-0\\.5{top:calc(var(--spacing)*.5)}.top-1{top:calc(var(--spacing)*1)}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.top-6{top:calc(var(--spacing)*6)}.top-20{top:calc(var(--spacing)*20)}.top-24{top:calc(var(--spacing)*24)}.top-\\[-10px\\]{top:-10px}.top-\\[12\\.5px\\]{top:12.5px}.-right-16{right:calc(var(--spacing)*-16)}.-right-20{right:calc(var(--spacing)*-20)}.right-0{right:calc(var(--spacing)*0)}.right-0\\.5{right:calc(var(--spacing)*.5)}.right-1{right:calc(var(--spacing)*1)}.right-1\\/2{right:50%}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-8{right:calc(var(--spacing)*8)}.right-12{right:calc(var(--spacing)*12)}.right-16{right:calc(var(--spacing)*16)}.right-20{right:calc(var(--spacing)*20)}.right-40{right:calc(var(--spacing)*40)}.right-\\[-4px\\]{right:-4px}.right-\\[12\\.5px\\]{right:12.5px}.-bottom-1{bottom:calc(var(--spacing)*-1)}.-bottom-6{bottom:calc(var(--spacing)*-6)}.-bottom-10{bottom:calc(var(--spacing)*-10)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.bottom-8{bottom:calc(var(--spacing)*8)}.bottom-16{bottom:calc(var(--spacing)*16)}.bottom-20{bottom:calc(var(--spacing)*20)}.bottom-\\[12\\.5px\\]{bottom:12.5px}.-left-6{left:calc(var(--spacing)*-6)}.-left-24{left:calc(var(--spacing)*-24)}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.left-6{left:calc(var(--spacing)*6)}.left-8{left:calc(var(--spacing)*8)}.left-10{left:calc(var(--spacing)*10)}.left-12{left:calc(var(--spacing)*12)}.left-14{left:calc(var(--spacing)*14)}.left-20{left:calc(var(--spacing)*20)}.left-\\[-4px\\]{left:-4px}.left-\\[12\\.5px\\]{left:12.5px}.left-\\[13px\\]{left:13px}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-15{z-index:15}.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}.col-span-2{grid-column:span 2/span 2}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.float-right{float:right}.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}}.-m-2{margin:calc(var(--spacing)*-2)}.m-0{margin:calc(var(--spacing)*0)}.m-4{margin:calc(var(--spacing)*4)}.-mx-\\[50vw\\]{margin-inline:-50vw}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-6{margin-block:calc(var(--spacing)*6)}.my-8{margin-block:calc(var(--spacing)*8)}.-mt-8{margin-top:calc(var(--spacing)*-8)}.-mt-12{margin-top:calc(var(--spacing)*-12)}.-mt-20{margin-top:calc(var(--spacing)*-20)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.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-16{margin-top:calc(var(--spacing)*16)}.mt-20{margin-top:calc(var(--spacing)*20)}.mt-24{margin-top:calc(var(--spacing)*24)}.mt-\\[-\\.07em\\]{margin-top:-.07em}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-6{margin-right:calc(var(--spacing)*6)}.-mb-32{margin-bottom:calc(var(--spacing)*-32)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.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-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.mb-20{margin-bottom:calc(var(--spacing)*20)}.mb-24{margin-bottom:calc(var(--spacing)*24)}.-ml-4{margin-left:calc(var(--spacing)*-4)}.ml-0\\.5{margin-left:calc(var(--spacing)*.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.i-heroicons-arrow-path{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-paper-airplane{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M6 12L3.269 3.125A59.8 59.8 0 0 1 21.486 12a59.8 59.8 0 0 1-18.217 8.875zm0 0h7.5'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-x-mark{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E\");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-arrow-down{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 5v14m7-7l-7 7l-7-7'/%3E%3C/svg%3E\");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-arrow-right{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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-7-7l7 7l-7 7'/%3E%3C/svg%3E\");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-arrow-up-right{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 7h10v10M7 17L17 7'/%3E%3C/svg%3E\");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-award{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='m15.477 12.89l1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526'/%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3C/g%3E%3C/svg%3E\");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-brain{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 18V5m3 8a4.17 4.17 0 0 1-3-4a4.17 4.17 0 0 1-3 4m8.598-6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5'/%3E%3Cpath d='M17.997 5.125a4 4 0 0 1 2.526 5.77'/%3E%3Cpath d='M18 18a4 4 0 0 0 2-7.464'/%3E%3Cpath d='M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517'/%3E%3Cpath d='M6 18a4 4 0 0 1-2-7.464'/%3E%3Cpath d='M6.003 5.125a4 4 0 0 0-2.526 5.77'/%3E%3C/g%3E%3C/svg%3E\");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-check{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 6L9 17l-5-5'/%3E%3C/svg%3E\");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-chevron-down{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-chevron-left{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 18l-6-6l6-6'/%3E%3C/svg%3E\");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-chevron-right{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 18l6-6l-6-6'/%3E%3C/svg%3E\");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-chevron-up{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 15l-6-6l-6 6'/%3E%3C/svg%3E\");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-clock{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 6v6l4 2'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/g%3E%3C/svg%3E\");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-dollar-sign{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 2v20m5-17H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E\");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-github{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5c.08-1.25-.27-2.48-1-3.5c.28-1.15.28-2.35 0-3.5c0 0-1 0-3 1.5c-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.4 5.4 0 0 0 4 9c0 3.5 3 5.5 6 5.5c-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4'/%3E%3Cpath d='M9 18c-4.51 2-5-2-7-2'/%3E%3C/g%3E%3C/svg%3E\");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-globe{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20a14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/g%3E%3C/svg%3E\");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-graduation-cap{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0zM22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/g%3E%3C/svg%3E\");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-headphones{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E\");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-heart{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 9.5a5.5 5.5 0 0 1 9.591-3.676a.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E\");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-home{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/g%3E%3C/svg%3E\");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-linkedin{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2a2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6M2 9h4v12H2z'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/g%3E%3C/svg%3E\");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-loader-2{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 12a9 9 0 1 1-6.219-8.56'/%3E%3C/svg%3E\");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-mail{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7'/%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3C/g%3E%3C/svg%3E\");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-map-pin{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/g%3E%3C/svg%3E\");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-phone-call{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 2a9 9 0 0 1 9 9m-9-5a5 5 0 0 1 5 5m-4.168 5.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E\");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-shield{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3C/svg%3E\");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-sparkles{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4m2-2h-4'/%3E%3Ccircle cx='4' cy='20' r='2'/%3E%3C/g%3E%3C/svg%3E\");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-trending-down{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M16 17h6v-6'/%3E%3Cpath d='m22 17l-8.5-8.5l-5 5L2 7'/%3E%3C/g%3E%3C/svg%3E\");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-trending-up{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M16 7h6v6'/%3E%3Cpath d='m22 7l-8.5 8.5l-5-5L2 17'/%3E%3C/g%3E%3C/svg%3E\");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-twitter{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6c2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4c-.9-4.2 4-6.6 7-3.8c1.1 0 3-1.2 3-1.2'/%3E%3C/svg%3E\");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-upload{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3C/svg%3E\");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-users{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M16 3.128a4 4 0 0 1 0 7.744M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/g%3E%3C/svg%3E\");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-x{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-calendly{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M19.655 14.262q.421.001.828.064c0 .005-.005.01-.005.014a6 6 0 0 1-.381.786l-1.219 2.106a6.24 6.24 0 0 1-5.411 3.127h-2.432a6.25 6.25 0 0 1-5.412-3.127l-1.218-2.106a6.25 6.25 0 0 1 0-6.252l1.218-2.106a6.24 6.24 0 0 1 5.412-3.127h2.432a6.25 6.25 0 0 1 5.411 3.127l1.219 2.106c.147.252.271.519.381.786c0 .004.005.009.005.014a5.5 5.5 0 0 1-.828.064c-1.816 0-2.501-.607-3.291-1.306c-.764-.676-1.711-1.517-3.44-1.517h-1.029c-1.251 0-2.387.455-3.2 1.278c-.796.805-1.233 1.904-1.233 3.099v1.411c0 1.196.437 2.295 1.233 3.099c.813.823 1.949 1.278 3.2 1.278h1.034c1.729 0 2.676-.841 3.439-1.517c.791-.703 1.471-1.306 3.287-1.301m.005-3.237q.6 0 1.179-.11q-.003-.007-.002-.014a6.3 6.3 0 0 0-.349-1.218a4.6 4.6 0 0 0 1.986-.819c0-.004-.005-.013-.005-.018a10.6 10.6 0 0 0-1.489-3.03a10.9 10.9 0 0 0-2.331-2.395a10.64 10.64 0 0 0-6.428-2.138c-1.448 0-2.855.28-4.175.841c-1.273.543-2.423 1.315-3.407 2.299S2.878 6.552 2.341 7.83a10.7 10.7 0 0 0-.842 4.175c0 1.448.281 2.855.842 4.174c.542 1.274 1.314 2.423 2.298 3.407s2.129 1.761 3.407 2.299c1.324.556 2.727.841 4.175.841c2.34 0 4.561-.74 6.428-2.137a10.8 10.8 0 0 0 2.331-2.396a10.8 10.8 0 0 0 1.489-3.03c0-.004.005-.014.005-.018a4.6 4.6 0 0 0-1.986-.819c.161-.395.276-.804.349-1.218c.005-.009.005-.014.005-.023a5.85 5.85 0 0 1 2.404 1.035c.685.505.552 1.075.446 1.416C22.184 20.437 17.619 24 12.221 24c-6.625 0-12-5.375-12-12s5.37-12 12-12c5.398 0 9.963 3.563 11.471 8.464c.106.341.239.915-.446 1.421a5.8 5.8 0 0 1-2.404 1.034c.128.716.128 1.45 0 2.166a6.3 6.3 0 0 0-1.182-.11c-4.184 0-3.968 2.823-6.736 2.823h-1.029c-1.899 0-3.15-1.357-3.15-3.095v-1.411c0-1.738 1.251-3.094 3.15-3.094h1.034c2.768 0 2.552 2.823 6.731 2.827'/%3E%3C/svg%3E\");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-discord{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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.317 4.37a19.8 19.8 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0a13 13 0 0 0-.617-1.25a.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.08.08 0 0 0 .084-.028a14 14 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13 13 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10 10 0 0 0 .372-.292a.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01q.181.149.373.292a.077.077 0 0 1-.006.127a12.3 12.3 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028a19.8 19.8 0 0 0 6.002-3.03a.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-n8n{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M21.474 5.684a2.53 2.53 0 0 0-2.447 1.895H16.13a2.526 2.526 0 0 0-2.492 2.11l-.103.624a1.26 1.26 0 0 1-1.246 1.055h-1.001a2.527 2.527 0 0 0-4.893 0H4.973a2.527 2.527 0 1 0 0 1.264h1.422a2.527 2.527 0 0 0 4.894 0h1a1.26 1.26 0 0 1 1.247 1.055l.103.623a2.526 2.526 0 0 0 2.492 2.111h.37a2.527 2.527 0 1 0 0-1.263h-.37a1.26 1.26 0 0 1-1.246-1.056l-.103-.623A2.52 2.52 0 0 0 13.96 12a2.52 2.52 0 0 0 .82-1.48l.104-.622a1.26 1.26 0 0 1 1.246-1.056h2.896a2.527 2.527 0 1 0 2.447-3.158m0 1.263a1.263 1.263 0 0 1 1.263 1.263a1.263 1.263 0 0 1-1.263 1.264A1.263 1.263 0 0 1 20.21 8.21a1.263 1.263 0 0 1 1.264-1.263m-18.948 3.79A1.263 1.263 0 0 1 3.79 12a1.263 1.263 0 0 1-1.264 1.263A1.263 1.263 0 0 1 1.263 12a1.263 1.263 0 0 1 1.263-1.263m6.316 0A1.263 1.263 0 0 1 10.105 12a1.263 1.263 0 0 1-1.263 1.263A1.263 1.263 0 0 1 7.58 12a1.263 1.263 0 0 1 1.263-1.263m10.106 3.79a1.263 1.263 0 0 1 1.263 1.263a1.263 1.263 0 0 1-1.263 1.263a1.263 1.263 0 0 1-1.264-1.263a1.263 1.263 0 0 1 1.263-1.264'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584l-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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-6l-6 6m-6-6l6 6'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-cash{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 15H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3'/%3E%3Cpath d='M7 10a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z'/%3E%3Cpath d='M12 14a2 2 0 1 0 4 0a2 2 0 0 0-4 0'/%3E%3C/g%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-cookie{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 13v.01M12 17v.01M12 12v.01M16 14v.01M11 8v.01m2.148-4.534l2.667 1.104a4 4 0 0 0 4.656 6.14l.053.132a3 3 0 0 1 0 2.296Q19.779 14.328 19.5 15q-.283.684-.66 2.216a3 3 0 0 1-1.624 1.623q-1.572.394-2.216.661q-.712.295-1.852 1.024a3 3 0 0 1-2.296 0Q9.649 19.77 9 19.5q-.707-.292-2.216-.66a3 3 0 0 1-1.623-1.624Q4.764 15.639 4.5 15q-.298-.718-1.024-1.852a3 3 0 0 1 0-2.296Q4.195 9.736 4.5 9q.257-.62.66-2.216a3 3 0 0 1 1.624-1.623Q8.331 4.777 9 4.5q.687-.285 1.852-1.024a3 3 0 0 1 2.296 0'/%3E%3C/svg%3E\");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-heart-broken{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='M19.5 12.572L12 20l-7.5-7.428A5 5 0 1 1 12 6.006a5 5 0 1 1 7.5 6.572'/%3E%3Cpath d='m12 6l-2 4l4 3l-2 4v3'/%3E%3C/g%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='m3 7l9 6l9-6'/%3E%3C/g%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-repeat{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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 12V9a3 3 0 0 1 3-3h13m-3-3l3 3l-3 3m3 3v3a3 3 0 0 1-3 3H4m3 3l-3-3l3-3'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-check{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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.46 20.846A12 12 0 0 1 3.5 6A12 12 0 0 0 12 3a12 12 0 0 0 8.5 3a12 12 0 0 1-.09 7.06M15 19l2 2l4-4'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-filled{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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='m8.243 7.34l-6.38.925l-.113.023a1 1 0 0 0-.44 1.684l4.622 4.499l-1.09 6.355l-.013.11a1 1 0 0 0 1.464.944l5.706-3l5.693 3l.1.046a1 1 0 0 0 1.352-1.1l-1.091-6.355l4.624-4.5l.078-.085a1 1 0 0 0-.633-1.62l-6.38-.926l-2.852-5.78a1 1 0 0 0-1.794 0z'/%3E%3C/svg%3E\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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{width:1em;height:1em;-webkit-mask-image:var(--svg);mask-image:var(--svg);--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\");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-logos-airtable{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 215' width='256' height='215'%3E%3Cpath fill='%23FFBF00' d='M114.259 2.701L18.86 42.176c-5.305 2.195-5.25 9.73.089 11.847l95.797 37.989a35.54 35.54 0 0 0 26.208 0l95.799-37.99c5.337-2.115 5.393-9.65.086-11.846L141.442 2.7a35.55 35.55 0 0 0-27.183 0'/%3E%3Cpath fill='%2326B5F8' d='M136.35 112.757v94.902c0 4.514 4.55 7.605 8.746 5.942l106.748-41.435a6.39 6.39 0 0 0 4.035-5.941V71.322c0-4.514-4.551-7.604-8.747-5.941l-106.748 41.434a6.39 6.39 0 0 0-4.035 5.942'/%3E%3Cpath fill='%23ED3049' d='m111.423 117.654l-31.68 15.296l-3.217 1.555L9.65 166.548C5.411 168.593 0 165.504 0 160.795V71.72c0-1.704.874-3.175 2.046-4.283a7.3 7.3 0 0 1 1.618-1.213c1.598-.959 3.878-1.215 5.816-.448l101.41 40.18c5.155 2.045 5.56 9.268.533 11.697'/%3E%3Cpath fill-opacity='.25' d='m111.423 117.654l-31.68 15.296L2.045 67.438a7.3 7.3 0 0 1 1.618-1.213c1.598-.959 3.878-1.215 5.816-.448l101.41 40.18c5.155 2.045 5.56 9.268.533 11.697'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-anthropic-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 176' width='256' height='176'%3E%3Cpath fill='%23181818' d='m147.487 0l70.081 175.78H256L185.919 0zM66.183 106.221l23.98-61.774l23.98 61.774zM70.07 0L0 175.78h39.18l14.33-36.914h73.308l14.328 36.914h39.179L110.255 0z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-asana{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 102' width='512' height='102'%3E%3Cpath fill='%230D0E10' d='m499.094 77.034l.001.008c.31 3.53 3.133 8.022 8.024 8.022h2.862c1.11 0 2.019-.91 2.019-2.02V20.107h-.013a2.02 2.02 0 0 0-2.006-1.91h-8.868a2.02 2.02 0 0 0-2.007 1.91h-.011v5.114c-5.433-6.697-14-9.477-22.589-9.477c-19.526 0-35.354 15.84-35.354 35.382s15.828 35.383 35.354 35.383v.002c8.59 0 17.95-3.335 22.588-9.476m-22.554-2.91c-12.418 0-22.486-10.296-22.486-23c0-12.7 10.068-22.998 22.486-22.998s22.484 10.298 22.484 22.999c0 12.576-9.866 22.794-22.112 22.997zm-46.599 5.083l-.004-32.568h.001c0-18.359-11.573-30.744-30.028-30.744c-8.81 0-16.03 5.098-18.581 9.477l-.043-.25l-.047-.252l-.026-.125l-.055-.251l-.06-.25l-.065-.25l-.072-.248a10 10 0 0 0-.16-.492l-.09-.243c-.98-2.538-3.055-4.662-7.384-4.662h-2.87c-1.111 0-2.019.91-2.019 2.02v62.944h.012a2.02 2.02 0 0 0 2.007 1.91h8.868c.136 0 .269-.017.397-.042l.058-.015l.113-.036l.133-.038l.064-.023l.077-.036l.255-.143a2 2 0 0 0 .169-.126l.08-.07c.012-.013.028-.021.04-.033a2 2 0 0 0 .62-1.348h.011v-37.18c0-9.86 7.988-17.853 17.841-17.853s17.84 7.994 17.84 17.854l.009 31.077l.002-.011l.004.085v6.028h.012a2.02 2.02 0 0 0 2.007 1.91h8.868c.136 0 .269-.017.397-.042c.053-.01.101-.03.152-.045l.146-.042l.071-.025c.073-.03.139-.072.207-.11c.042-.024.086-.042.127-.069c.081-.053.156-.118.23-.183l.058-.048q.083-.08.156-.17l.086-.11a2 2 0 0 0 .364-.93l.013-.136h.011v-4.105zm-92.354-2.173v.008c.311 3.53 3.134 8.022 8.025 8.022h2.862c1.11 0 2.017-.91 2.017-2.02V20.107h-.011a2.02 2.02 0 0 0-2.006-1.91h-8.868a2.02 2.02 0 0 0-2.008 1.91h-.01v5.114c-5.434-6.697-14-9.477-22.59-9.477c-19.525 0-35.353 15.84-35.353 35.382s15.828 35.383 35.353 35.383v.002c8.59 0 17.952-3.335 22.589-9.476m-22.555-2.91c-12.417 0-22.484-10.296-22.484-23c0-12.7 10.067-22.998 22.484-22.998c12.419 0 22.484 10.298 22.484 22.999c0 12.576-9.865 22.794-22.112 22.997zm-87.829-6.096c5.92 4.104 12.382 6.097 18.591 6.097c1.22 0 2.448-.13 3.63-.384l.353-.08q.263-.062.523-.134l.344-.098q.172-.051.341-.105l.336-.113c.78-.271 1.52-.601 2.205-.988l.29-.169c2.385-1.436 4.01-3.586 4.01-6.34c0-3.709-3.604-5.789-8.24-7.332l-.54-.175l-.273-.087l-.551-.169l-.559-.165l-.564-.162l-.857-.238l-.865-.231l-1.162-.302l-2.905-.74l-1.143-.298l-.844-.227l-.555-.154l-.546-.156l-.27-.079l-.535-.16l-.263-.08l-.52-.166q-.256-.084-.508-.169c-8.374-2.847-15.587-8.735-15.587-18.268c0-14.589 12.989-20.614 25.111-20.614c7.681 0 15.607 2.535 20.745 6.166c.971.737 1.084 1.533.989 2.102l-.023.118l-.029.11l-.032.103l-.034.094l-.035.084l-.05.107l-.044.082l-.05.082l-4.905 7.01q-.046.067-.096.13l-.103.128c-.554.644-1.414 1.09-2.586.427l-.17-.102l-.855-.54l-.307-.187l-.337-.2l-.241-.14l-.255-.143l-.133-.074l-.275-.149l-.288-.15l-.3-.154l-.315-.154l-.327-.155l-.34-.155l-.352-.154l-.365-.153l-.377-.15a23.4 23.4 0 0 0-8.51-1.6c-7.396 0-11.851 3.42-11.851 7.656c0 2.407 1.299 4.032 3.388 5.26l.283.162q.648.357 1.382.674l.33.139l.168.068l.34.134l.174.066l.352.13l.358.127l.365.124l.185.061l.375.12l.572.178l.585.173l.596.17l.403.112l.408.111l.828.22l1.48.382l1.423.386l1.07.296l.715.202l.357.102l.713.207l.356.105l.711.214l.708.22c9.779 3.068 18.661 7.754 18.661 19.79c0 12.854-12.014 20.797-25.29 20.797c-10.063 0-18.629-2.87-25.814-8.147c-.904-.906-.88-1.772-.72-2.316l.035-.108l.037-.098l.038-.088l.038-.077l.05-.094l.071-.11l4.88-6.975c.837-1.098 1.857-.949 2.485-.648l.113.058l.103.06zm-34.091 9.006v.008c.31 3.53 3.134 8.022 8.025 8.022H204c1.11 0 2.019-.91 2.019-2.02V20.107h-.013a2.02 2.02 0 0 0-2.006-1.91h-8.868a2.02 2.02 0 0 0-2.008 1.91h-.01v5.114c-5.433-6.697-14-9.477-22.59-9.477c-19.524 0-35.353 15.84-35.353 35.382S151 86.509 170.525 86.509v.002c8.59 0 17.95-3.335 22.588-9.476m-22.554-2.91c-12.418 0-22.485-10.296-22.485-23c0-12.7 10.067-22.998 22.485-22.998s22.484 10.298 22.484 22.999c0 12.576-9.866 22.794-22.112 22.997z'/%3E%3Cpath fill='%23F06A6A' d='M85.605 53.532c-13.14 0-23.792 10.652-23.792 23.792s10.652 23.792 23.792 23.792s23.791-10.652 23.791-23.792s-10.651-23.792-23.791-23.792m-61.813.002C10.652 53.534 0 64.184 0 77.324s10.652 23.792 23.792 23.792s23.793-10.652 23.793-23.792s-10.653-23.79-23.793-23.79M78.49 23.79c0 13.141-10.652 23.794-23.792 23.794S30.907 36.932 30.907 23.791C30.907 10.653 41.558 0 54.698 0S78.49 10.653 78.49 23.791'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-asana-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 237' width='256' height='237'%3E%3Cpath fill='%23F06A6A' d='M200.325 125.27c-30.749 0-55.675 24.927-55.675 55.677s24.926 55.677 55.675 55.677S256 211.696 256 180.947c0-30.75-24.926-55.677-55.675-55.677m-144.65.005C24.927 125.275 0 150.197 0 180.947s24.927 55.677 55.675 55.677c30.75 0 55.678-24.928 55.678-55.677c0-30.75-24.928-55.672-55.678-55.672m128-69.6c0 30.75-24.927 55.68-55.674 55.68c-30.75 0-55.676-24.93-55.676-55.68C72.325 24.928 97.25 0 128 0c30.747 0 55.673 24.93 55.673 55.674'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-aws{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 153' width='256' height='153'%3E%3Cpath fill='%23252F3E' d='M72.392 55.438c0 3.137.34 5.68.933 7.545a45.4 45.4 0 0 0 2.712 6.103c.424.678.593 1.356.593 1.95c0 .847-.508 1.695-1.61 2.543l-5.34 3.56c-.763.509-1.526.763-2.205.763c-.847 0-1.695-.424-2.543-1.187a26 26 0 0 1-3.051-3.984c-.848-1.44-1.696-3.052-2.628-5.001q-9.919 11.697-24.922 11.698c-7.12 0-12.8-2.035-16.954-6.103c-4.153-4.07-6.272-9.495-6.272-16.276c0-7.205 2.543-13.054 7.714-17.462c5.17-4.408 12.037-6.612 20.768-6.612c2.882 0 5.849.254 8.985.678c3.137.424 6.358 1.102 9.749 1.865V29.33c0-6.443-1.357-10.935-3.985-13.563c-2.712-2.628-7.29-3.9-13.817-3.9c-2.967 0-6.018.34-9.155 1.103s-6.188 1.695-9.155 2.882c-1.356.593-2.373.932-2.967 1.102s-1.017.254-1.356.254c-1.187 0-1.78-.848-1.78-2.628v-4.154c0-1.356.17-2.373.593-2.966c.424-.594 1.187-1.187 2.374-1.78q4.45-2.29 10.68-3.815C33.908.763 38.316.255 42.978.255c10.088 0 17.463 2.288 22.21 6.866c4.662 4.577 7.036 11.528 7.036 20.853v27.464zM37.976 68.323c2.798 0 5.68-.508 8.731-1.526c3.052-1.017 5.765-2.882 8.053-5.425c1.357-1.61 2.374-3.39 2.882-5.425c.509-2.034.848-4.493.848-7.375v-3.56a71 71 0 0 0-7.799-1.441a64 64 0 0 0-7.968-.509c-5.68 0-9.833 1.102-12.63 3.391s-4.154 5.51-4.154 9.748c0 3.984 1.017 6.951 3.136 8.986c2.035 2.119 5.002 3.136 8.901 3.136m68.069 9.155c-1.526 0-2.543-.254-3.221-.848c-.678-.508-1.272-1.695-1.78-3.305L81.124 7.799c-.51-1.696-.764-2.798-.764-3.391c0-1.356.678-2.12 2.035-2.12h8.307c1.61 0 2.713.255 3.306.848c.678.509 1.187 1.696 1.695 3.306l14.241 56.117l13.224-56.117c.424-1.695.933-2.797 1.61-3.306c.679-.508 1.866-.847 3.392-.847h6.781c1.61 0 2.713.254 3.39.847c.679.509 1.272 1.696 1.611 3.306l13.394 56.795L168.01 6.442c.508-1.695 1.102-2.797 1.695-3.306c.678-.508 1.78-.847 3.306-.847h7.883c1.357 0 2.12.678 2.12 2.119c0 .424-.085.848-.17 1.356s-.254 1.187-.593 2.12l-20.43 65.525q-.762 2.544-1.78 3.306c-.678.509-1.78.848-3.22.848h-7.29c-1.611 0-2.713-.254-3.392-.848c-.678-.593-1.271-1.695-1.61-3.39l-13.14-54.676l-13.054 54.59c-.423 1.696-.932 2.798-1.61 3.391c-.678.594-1.865.848-3.39.848zm108.927 2.289c-4.408 0-8.816-.509-13.054-1.526c-4.239-1.017-7.544-2.12-9.748-3.39c-1.357-.764-2.29-1.611-2.628-2.374a6 6 0 0 1-.509-2.374V65.78c0-1.78.678-2.628 1.95-2.628a4.8 4.8 0 0 1 1.526.255c.508.17 1.271.508 2.119.847a46 46 0 0 0 9.324 2.967a51 51 0 0 0 10.088 1.017c5.34 0 9.494-.932 12.376-2.797s4.408-4.577 4.408-8.053c0-2.373-.763-4.323-2.289-5.934s-4.408-3.051-8.561-4.408l-12.292-3.814c-6.188-1.95-10.765-4.832-13.563-8.647c-2.797-3.73-4.238-7.883-4.238-12.291q0-5.34 2.289-9.41c1.525-2.712 3.56-5.085 6.103-6.95c2.543-1.95 5.425-3.391 8.816-4.408c3.39-1.017 6.95-1.441 10.68-1.441c1.865 0 3.815.085 5.68.339c1.95.254 3.73.593 5.51.932c1.695.424 3.306.848 4.832 1.357q2.288.762 3.56 1.525c1.187.679 2.034 1.357 2.543 2.12q.763 1.017.763 2.797v3.984c0 1.78-.678 2.713-1.95 2.713c-.678 0-1.78-.34-3.22-1.018q-7.25-3.306-16.276-3.306c-4.832 0-8.647.763-11.275 2.374c-2.627 1.61-3.984 4.069-3.984 7.544c0 2.374.848 4.408 2.543 6.019s4.832 3.221 9.325 4.662l12.037 3.815c6.103 1.95 10.511 4.662 13.139 8.137s3.9 7.46 3.9 11.868c0 3.645-.764 6.951-2.205 9.833c-1.525 2.882-3.56 5.425-6.188 7.46c-2.628 2.119-5.764 3.645-9.409 4.747c-3.815 1.187-7.799 1.78-12.122 1.78'/%3E%3Cpath fill='%23F90' d='M230.993 120.964c-27.888 20.599-68.408 31.534-103.247 31.534c-48.827 0-92.821-18.056-126.05-48.064c-2.628-2.373-.255-5.594 2.881-3.73c35.942 20.854 80.276 33.484 126.136 33.484c30.94 0 64.932-6.442 96.212-19.666c4.662-2.12 8.646 3.052 4.068 6.442m11.614-13.224c-3.56-4.577-23.566-2.204-32.636-1.102c-2.713.34-3.137-2.034-.678-3.814c15.936-11.19 42.13-7.968 45.181-4.239c3.052 3.815-.848 30.008-15.767 42.554c-2.288 1.95-4.492.933-3.475-1.61c3.39-8.393 10.935-27.296 7.375-31.789'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-azure-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 199' width='256' height='199'%3E%3Cpath d='M118.432 187.698c32.89-5.81 60.055-10.618 60.367-10.684l.568-.12l-31.052-36.935c-17.078-20.314-31.051-37.014-31.051-37.11c0-.182 32.063-88.477 32.243-88.792c.06-.105 21.88 37.567 52.893 91.32c29.035 50.323 52.973 91.815 53.195 92.203l.405.707l-98.684-.012l-98.684-.013l59.8-10.564zM0 176.435c0-.052 14.631-25.451 32.514-56.442l32.514-56.347l37.891-31.799C123.76 14.358 140.867.027 140.935.001c.069-.026-.205.664-.609 1.534s-18.919 40.582-41.145 88.25l-40.41 86.67l-29.386.037c-16.162.02-29.385-.005-29.385-.057z' fill='%230089D6' fill-rule='nonzero'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-bubble-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 276' width='256' height='276'%3E%3Cpath fill='%23262626' d='M156.688 71.53c-24.76 0-49.164 10.63-67.795 31.529V0H52.024v173.519c0 56.326 45.661 101.988 101.988 101.988S256 229.845 256 173.519S213.014 71.531 156.688 71.531m-2.676 164.694c-34.632 0-62.707-28.075-62.707-62.706s28.075-62.707 62.707-62.707c34.631 0 62.706 28.075 62.706 62.707s-28.075 62.706-62.706 62.706'/%3E%3Cpath fill='%2300F' d='M25.22 225.066c-13.93 0-25.22 11.292-25.22 25.22s11.291 25.22 25.22 25.22s25.22-11.292 25.22-25.22s-11.291-25.22-25.22-25.22'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-discord-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 199' width='256' height='199'%3E%3Cpath fill='%235865F2' d='M216.856 16.597A208.5 208.5 0 0 0 164.042 0c-2.275 4.113-4.933 9.645-6.766 14.046q-29.538-4.442-58.533 0c-1.832-4.4-4.55-9.933-6.846-14.046a207.8 207.8 0 0 0-52.855 16.638C5.618 67.147-3.443 116.4 1.087 164.956c22.169 16.555 43.653 26.612 64.775 33.193A161 161 0 0 0 79.735 175.3a136.4 136.4 0 0 1-21.846-10.632a109 109 0 0 0 5.356-4.237c42.122 19.702 87.89 19.702 129.51 0a132 132 0 0 0 5.355 4.237a136 136 0 0 1-21.886 10.653c4.006 8.02 8.638 15.67 13.873 22.848c21.142-6.58 42.646-16.637 64.815-33.213c5.316-56.288-9.08-105.09-38.056-148.36M85.474 135.095c-12.645 0-23.015-11.805-23.015-26.18s10.149-26.2 23.015-26.2s23.236 11.804 23.015 26.2c.02 14.375-10.148 26.18-23.015 26.18m85.051 0c-12.645 0-23.014-11.805-23.014-26.18s10.148-26.2 23.014-26.2c12.867 0 23.236 11.804 23.015 26.2c0 14.375-10.148 26.18-23.015 26.18'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-github-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 250' width='256' height='250'%3E%3Cpath fill='%23161614' d='M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46c6.397 1.185 8.746-2.777 8.746-6.158c0-3.052-.12-13.135-.174-23.83c-35.61 7.742-43.124-15.103-43.124-15.103c-5.823-14.795-14.213-18.73-14.213-18.73c-11.613-7.944.876-7.78.876-7.78c12.853.902 19.621 13.19 19.621 13.19c11.417 19.568 29.945 13.911 37.249 10.64c1.149-8.272 4.466-13.92 8.127-17.116c-28.431-3.236-58.318-14.212-58.318-63.258c0-13.975 5-25.394 13.188-34.358c-1.329-3.224-5.71-16.242 1.24-33.874c0 0 10.749-3.44 35.21 13.121c10.21-2.836 21.16-4.258 32.038-4.307c10.878.049 21.837 1.47 32.066 4.307c24.431-16.56 35.165-13.12 35.165-13.12c6.967 17.63 2.584 30.65 1.255 33.873c8.207 8.964 13.173 20.383 13.173 34.358c0 49.163-29.944 59.988-58.447 63.157c4.591 3.972 8.682 11.762 8.682 23.704c0 17.126-.148 30.91-.148 35.126c0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002C256 57.307 198.691 0 128.001 0m-80.06 182.34c-.282.636-1.283.827-2.194.39c-.929-.417-1.45-1.284-1.15-1.922c.276-.655 1.279-.838 2.205-.399c.93.418 1.46 1.293 1.139 1.931m6.296 5.618c-.61.566-1.804.303-2.614-.591c-.837-.892-.994-2.086-.375-2.66c.63-.566 1.787-.301 2.626.591c.838.903 1 2.088.363 2.66m4.32 7.188c-.785.545-2.067.034-2.86-1.104c-.784-1.138-.784-2.503.017-3.05c.795-.547 2.058-.055 2.861 1.075c.782 1.157.782 2.522-.019 3.08m7.304 8.325c-.701.774-2.196.566-3.29-.49c-1.119-1.032-1.43-2.496-.726-3.27c.71-.776 2.213-.558 3.315.49c1.11 1.03 1.45 2.505.701 3.27m9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033c-1.448-.439-2.395-1.613-2.103-2.626c.301-1.01 1.747-1.484 3.207-1.028c1.446.436 2.396 1.602 2.095 2.622m10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95c-1.53.034-2.769-.82-2.786-1.86c0-1.065 1.202-1.932 2.733-1.958c1.522-.03 2.768.818 2.768 1.868m10.555-.405c.182 1.03-.875 2.088-2.387 2.37c-1.485.271-2.861-.365-3.05-1.386c-.184-1.056.893-2.114 2.376-2.387c1.514-.263 2.868.356 3.061 1.403'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-google-calendar{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23FFF' d='M195.368 60.632H60.632v134.736h134.736z'/%3E%3Cpath fill='%23EA4335' d='M195.368 256L256 195.368l-30.316-5.172l-30.316 5.172l-5.533 27.73z'/%3E%3Cpath fill='%23188038' d='M0 195.368v40.421C0 246.956 9.044 256 20.21 256h40.422l6.225-30.316l-6.225-30.316l-33.033-5.172z'/%3E%3Cpath fill='%231967D2' d='M256 60.632V20.21C256 9.044 246.956 0 235.79 0h-40.422q-5.532 22.554-5.533 33.196q0 10.641 5.533 27.436q20.115 5.76 30.316 5.76T256 60.631'/%3E%3Cpath fill='%23FBBC04' d='M256 60.632h-60.632v134.736H256z'/%3E%3Cpath fill='%2334A853' d='M195.368 195.368H60.632V256h134.736z'/%3E%3Cpath fill='%234285F4' d='M195.368 0H20.211C9.044 0 0 9.044 0 20.21v175.158h60.632V60.632h134.736z'/%3E%3Cpath fill='%234285F4' d='M88.27 165.154c-5.036-3.402-8.523-8.37-10.426-14.94l11.689-4.816q1.59 6.063 5.558 9.398c2.627 2.223 5.827 3.318 9.566 3.318q5.734 0 9.852-3.487c2.746-2.324 4.127-5.288 4.127-8.875q0-5.508-4.345-8.994c-2.897-2.324-6.535-3.486-10.88-3.486h-6.754v-11.57h6.063q5.608 0 9.448-3.033c2.56-2.02 3.84-4.783 3.84-8.303c0-3.132-1.145-5.625-3.435-7.494c-2.29-1.87-5.188-2.813-8.708-2.813c-3.436 0-6.164.91-8.185 2.745a16.1 16.1 0 0 0-4.413 6.754l-11.57-4.817c1.532-4.345 4.345-8.185 8.471-11.503s9.398-4.985 15.798-4.985c4.733 0 8.994.91 12.767 2.745c3.772 1.836 6.736 4.379 8.875 7.613c2.14 3.25 3.2 6.888 3.2 10.93c0 4.126-.993 7.613-2.98 10.476s-4.43 5.052-7.327 6.585v.69a22.25 22.25 0 0 1 9.398 7.327c2.442 3.284 3.672 7.208 3.672 11.79c0 4.58-1.163 8.673-3.487 12.26c-2.324 3.588-5.54 6.417-9.617 8.472c-4.092 2.055-8.69 3.1-13.793 3.1c-5.912.016-11.369-1.685-16.405-5.087m71.797-58.005l-12.833 9.28l-6.417-9.734l23.023-16.607h8.825v78.333h-12.598z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-google-gmail{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 193' width='256' height='193'%3E%3Cpath fill='%234285F4' d='M58.182 192.05V93.14L27.507 65.077L0 49.504v125.091c0 9.658 7.825 17.455 17.455 17.455z'/%3E%3Cpath fill='%2334A853' d='M197.818 192.05h40.727c9.659 0 17.455-7.826 17.455-17.455V49.505l-31.156 17.837l-27.026 25.798z'/%3E%3Cpath fill='%23EA4335' d='m58.182 93.14l-4.174-38.647l4.174-36.989L128 69.868l69.818-52.364l4.669 34.992l-4.669 40.644L128 145.504z'/%3E%3Cpath fill='%23FBBC04' d='M197.818 17.504V93.14L256 49.504V26.231c0-21.585-24.64-33.89-41.89-20.945z'/%3E%3Cpath fill='%23C5221F' d='m0 49.504l26.759 20.07L58.182 93.14V17.504L41.89 5.286C24.61-7.66 0 4.646 0 26.23z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-google-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 262' width='256' height='262'%3E%3Cpath fill='%234285F4' d='M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622l38.755 30.023l2.685.268c24.659-22.774 38.875-56.282 38.875-96.027'/%3E%3Cpath fill='%2334A853' d='M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055c-34.523 0-63.824-22.773-74.269-54.25l-1.531.13l-40.298 31.187l-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1'/%3E%3Cpath fill='%23FBBC05' d='M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82c0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602z'/%3E%3Cpath fill='%23EB4335' d='M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0C79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-helpscout-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 310' width='256' height='310'%3E%3Cpath fill='%231292EE' d='m18.432 180.969l90.484-90.485a63.72 63.72 0 0 0 18.99-45.428A64.25 64.25 0 0 0 109.476 0L18.99 90.484A63.72 63.72 0 0 0 0 135.913c0 17.687 7.075 33.512 18.432 45.056m219.136-52.876l-90.484 90.484a63.72 63.72 0 0 0-18.99 45.429a64.25 64.25 0 0 0 18.431 45.056l90.484-90.485A63.72 63.72 0 0 0 256 173.15c0-17.687-7.075-33.513-18.432-45.056m-.559-37.422A63.72 63.72 0 0 0 256 45.242A64.25 64.25 0 0 0 237.568.186L18.991 218.577C7.26 230.307 0 246.32 0 264.192a64.25 64.25 0 0 0 18.432 45.056z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-hubspot{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 149' width='512' height='149'%3E%3Cpath fill='%2345535E' d='M.06 27.679h17.852v39.662h37.651V27.679h17.875v97.358H55.563V84.542H17.912v40.495H.06zm129.933 65.647c0 8.15-6.64 14.782-14.788 14.782c-8.151 0-14.787-6.632-14.787-14.782V51.41h-16.93v41.916c0 17.487 14.229 31.711 31.717 31.711c17.484 0 31.712-14.224 31.712-31.711V51.41h-16.924zm64.186-41.425c-8.398 0-14.26 2.437-19.921 7.994V27.679h-16.985v59.705c0 22.348 16.158 37.653 34.311 37.653c20.181 0 37.863-15.578 37.863-36.567c0-20.723-16.305-36.569-35.268-36.569m.422 57.423c-11.509 0-20.31-9.612-20.31-20.854c0-11.244 8.801-20.859 20.31-20.859c9.752 0 18.558 9.615 18.558 20.859c0 11.242-8.806 20.854-18.558 20.854m63.373-53.144c0-8.538 5.689-11.245 11.917-11.245c5.014 0 11.649 3.792 15.979 8.398l11.103-13.001c-5.549-7.448-16.788-12.596-25.998-12.596c-18.421 0-31.694 10.7-31.694 28.444c0 32.91 40.497 22.478 40.497 40.902c0 5.682-5.551 10.698-11.913 10.698c-10.026 0-13.278-4.876-17.881-10.024l-12.327 12.729c7.86 9.617 17.608 14.495 29.257 14.495c17.47 0 31.556-10.835 31.556-27.767c0-36.566-40.496-25.188-40.496-41.033m85.21-5.233c-18.151 0-34.311 15.296-34.311 37.649v59.859h16.984v-32.369c5.662 5.553 11.521 7.994 19.922 7.994c18.962 0 35.269-15.844 35.269-36.567c0-20.992-17.687-36.566-37.864-36.566m3.018 57.425c-11.508 0-20.31-9.625-20.31-20.859c0-11.244 8.802-20.859 20.31-20.859c9.75 0 18.557 9.615 18.557 20.859c0 11.234-8.807 20.859-18.557 20.859m159.867.952c-10.018 0-12.862-4.332-12.862-10.971V68.965h15.572V54.069h-15.572v-19.64l-17.195 7.718v59.863c0 15.306 10.56 23.027 25.045 23.027c2.167 0 5.15-.14 6.777-.541l4.199-15.438c-1.896.131-4.062.266-5.964.266'/%3E%3Cpath fill='%23F8761F' d='M461.278 69.831c-3.256-5.602-7.836-10.093-13.562-13.474c-4.279-2.491-8.716-4.072-13.716-4.751v-17.8c5-2.123 8.103-6.822 8.103-12.304c0-7.472-5.992-13.527-13.458-13.527c-7.472 0-13.569 6.055-13.569 13.527c0 5.482 2.924 10.181 7.924 12.304v17.808c-4 .578-8.148 1.825-11.936 3.741c-7.737-5.876-33.107-25.153-47.948-36.412c.352-1.269.623-2.577.623-3.957c0-8.276-6.702-14.984-14.981-14.984S333.78 6.71 333.78 14.986s6.706 14.985 14.985 14.985c2.824 0 5.436-.826 7.69-2.184l3.132 2.376l43.036 31.008c-2.275 2.089-4.394 4.465-6.089 7.131C393.099 73.737 391 79.717 391 86.24v1.361c0 4.579.87 8.902 2.352 12.963c1.305 3.546 3.213 6.77 5.576 9.685l-14.283 14.318a11.5 11.5 0 0 0-12.166 2.668a11.5 11.5 0 0 0-3.388 8.19c.001 3.093 1.206 6 3.394 8.187a11.5 11.5 0 0 0 8.188 3.394a11.5 11.5 0 0 0 8.191-3.394a11.5 11.5 0 0 0 3.39-8.187c0-1.197-.185-2.365-.533-3.475l14.763-14.765c2.024 1.398 4.21 2.575 6.56 3.59c4.635 2.004 9.751 3.225 15.35 3.225h1.026c6.19 0 12.029-1.454 17.518-4.428c5.784-3.143 10.311-7.441 13.731-12.928c3.438-5.502 5.331-11.581 5.331-18.269v-.334c0-6.579-1.523-12.649-4.722-18.21m-18.038 30.973c-4.007 4.453-8.613 7.196-13.82 7.196h-.858c-2.974 0-5.883-.822-8.731-2.317c-3.21-1.646-5.65-3.994-7.647-6.967c-2.064-2.918-3.184-6.104-3.184-9.482v-1.026c0-3.321.637-6.47 2.243-9.444c1.717-3.251 4.036-5.779 7.12-7.789c3.028-1.996 6.262-2.975 9.864-2.975h.335c3.266 0 6.358.644 9.276 2.137c2.973 1.592 5.402 3.767 7.285 6.628c1.829 2.862 2.917 5.949 3.267 9.312c.055.699.083 1.415.083 2.099c0 4.564-1.744 8.791-5.233 12.628'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-intercom{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 130' width='512' height='130'%3E%3Cpath d='M110.27 0a15.2 15.2 0 0 1 5.996 1.209a15.6 15.6 0 0 1 5.094 3.495a16.3 16.3 0 0 1 3.416 5.251a16.8 16.8 0 0 1 1.218 6.207v97.006a16.8 16.8 0 0 1-1.231 6.204a16.3 16.3 0 0 1-3.428 5.243a15.6 15.6 0 0 1-5.1 3.484a15.2 15.2 0 0 1-6 1.195H15.759c-2.059.013-4.1-.393-6.007-1.198a15.6 15.6 0 0 1-5.105-3.493a16.3 16.3 0 0 1-3.425-5.256A16.8 16.8 0 0 1 0 113.132v-96.97c.01-2.135.424-4.247 1.221-6.215a16.3 16.3 0 0 1 3.425-5.255a15.6 15.6 0 0 1 5.105-3.494A15.2 15.2 0 0 1 15.758 0ZM20.82 90.583l-.236.012a4.14 4.14 0 0 0-2.851 1.49a4.3 4.3 0 0 0-.783 1.462a4.43 4.43 0 0 0 .263 3.266c.249.5.59.944 1.005 1.307c.658.574 16.139 13.97 44.71 13.97c28.573 0 44.157-13.468 44.711-14.042l.035.036a4.33 4.33 0 0 0 1.397-2.91a4.38 4.38 0 0 0-.981-3.088a4.2 4.2 0 0 0-2.87-1.48a4.16 4.16 0 0 0-3.053 1.013c-.138.108-14.164 11.888-39.273 11.888S23.862 91.799 23.619 91.619a4.1 4.1 0 0 0-3.036-1.024Zm412.223-49.857c13.284 0 19.03 9.149 19.03 23.839c0 14.883-5.81 23.839-19.03 23.839c-13.467 0-19.093-8.956-19.093-23.84c0-14.43 5.684-23.838 19.093-23.838M63.066 17.204a4.12 4.12 0 0 0-2.963 1.273a4.43 4.43 0 0 0-1.227 3.073v62.49c0 1.154.441 2.259 1.227 3.074a4.12 4.12 0 0 0 2.963 1.273a4.12 4.12 0 0 0 2.963-1.273a4.43 4.43 0 0 0 1.228-3.073V21.55a4.43 4.43 0 0 0-1.228-3.073a4.12 4.12 0 0 0-2.963-1.273m325.368 23.522c4.88 0 8.65 1.161 11.491 3.673c2.473 2.06 4.264 4.962 5.314 9.022c.555 2.126-.866 4.252-3.212 4.704c-2.224.386-4.013-1.096-4.694-3.222c-.742-2.06-1.733-3.543-2.905-4.577c-1.607-1.482-3.582-2.126-6.18-2.126c-2.78 0-5.191.837-6.982 2.705c-2.595 2.705-3.708 7.54-3.708 13.66c0 6.058 1.051 10.889 3.77 13.594c1.791 1.867 4.14 2.705 6.858 2.705c2.84 0 5.002-.772 6.797-2.512c.924-.903 1.73-2.06 2.286-3.415c.803-1.999 2.472-3.48 4.632-2.964c2.162.518 3.524 2.705 2.843 4.832c-1.114 3.542-3.027 6.378-5.622 8.311c-2.84 2.126-6.363 3.222-10.81 3.222c-5.684 0-9.27-1.74-11.99-4.186c-4.632-4.318-6.734-11.083-6.734-19.587c0-8.57 2.04-15.27 6.613-19.522c2.841-2.577 6.67-4.317 12.233-4.317m-57.204.704l.243.006h14.64c10.074 0 14.273 6.83 14.273 13.787c0 6.522-3.581 11.364-9.746 12.752l-.327.07l7.723 14.3c1.052 1.868.37 4.253-1.79 5.414c-2.037 1.062-4.247.31-5.335-1.436l-.101-.173l-8.589-16.557h-8.154l.062 14.046c0 2.191-1.605 3.993-3.892 3.993c-2.155 0-3.728-1.695-3.825-3.79l-.004-.203V46.525c0-3.182 1.616-5.026 4.585-5.094zm-130.86.002c3.892 0 5.497 2.191 7.043 5.413l7.66 15.66l6.549 15.207l-.185-14.563l-.062-17.588c0-2.192 1.605-3.994 3.893-3.994c2.219-.004 3.825 1.798 3.825 3.99V80.35c0 4.704-2.408 7.347-6.239 7.347h-.306c-3.645 0-5.377-2.192-6.92-5.414l-7.785-15.786l-6.92-16.3l.186 15.787l.062 17.588c0 2.192-1.605 3.994-3.892 3.994c-2.224 0-3.83-1.806-3.83-3.994V48.779c0-4.318 2.41-7.347 6.612-7.347zm-25.026.13c2.223 0 3.83 1.807 3.83 3.995v38.077c0 2.192-1.607 3.994-3.892 3.994c-2.224 0-3.831-1.806-3.831-3.994V45.557c0-2.192 1.607-3.994 3.893-3.994m329.859.005c4.325 0 6.733 2.705 6.733 7.54L512 83.573c0 2.192-1.607 3.994-3.893 3.994c-2.223 0-3.83-1.806-3.83-3.994V66.305l.186-16.816l-5.377 17.075l-5.435 16.816c-.924 2.963-2.841 4.125-5.251 4.125c-2.534 0-4.388-1.223-5.375-4.187l-5.562-16.75l-5.128-16.817l.184 16.558v17.268c0 2.192-1.607 3.994-3.892 3.994c-2.224 0-3.83-1.806-3.83-3.994v-34.47c0-4.77 2.471-7.54 6.796-7.54c4.08 0 6.365 2.253 7.66 6.378l5.683 17.588l3.46 11.986l3.522-11.986l5.684-17.588c1.3-4.125 3.524-6.378 7.6-6.378m-235.579 0c1.976 0 3.582 1.547 3.582 3.8c0 2.193-1.606 3.736-3.582 3.736h-9.576v34.47c0 2.192-1.605 3.994-3.893 3.994c-2.222 0-3.829-1.806-3.829-3.994v-34.47h-9.576c-1.976 0-3.58-1.547-3.58-3.801c0-2.192 1.604-3.735 3.58-3.735zm18.72-.131h22.242c1.975 0 3.58 1.609 3.58 3.8c0 2.192-1.605 3.736-3.58 3.736h-19.65v11.082h17.362c1.917 0 3.46 1.482 3.46 3.608s-1.543 3.608-3.46 3.608h-17.361v12.756h19.649c1.975 0 3.58 1.61 3.58 3.801c0 2.192-1.605 3.736-3.58 3.736h-22.428c-3.212.004-5.001-1.864-4.88-5.28V46.526c0-3.35 1.79-5.217 5.066-5.09M42.183 19.574a4.14 4.14 0 0 0-3.039 1.117a4.45 4.45 0 0 0-1.394 3.013v57.464a4.43 4.43 0 0 0 1.227 3.073a4.12 4.12 0 0 0 2.963 1.273a4.12 4.12 0 0 0 2.963-1.273a4.43 4.43 0 0 0 1.228-3.073V23.704a4.42 4.42 0 0 0-1.21-2.85a4.13 4.13 0 0 0-2.738-1.28m41.663-.215a4.12 4.12 0 0 0-2.963 1.273a4.43 4.43 0 0 0-1.228 3.072v57.464a4.43 4.43 0 0 0 1.228 3.073a4.12 4.12 0 0 0 2.963 1.273a4.12 4.12 0 0 0 2.963-1.273a4.43 4.43 0 0 0 1.227-3.073V23.704a4.43 4.43 0 0 0-1.227-3.072a4.12 4.12 0 0 0-2.963-1.273M432.98 48.266c-7.23 0-11.061 5.348-11.061 16.299c0 10.955 3.708 16.299 11.06 16.299c7.29 0 11.182-5.348 11.182-16.3c0-10.954-3.829-16.298-11.181-16.298M104.902 27.978a4.12 4.12 0 0 0-2.963 1.273a4.43 4.43 0 0 0-1.227 3.073v38.824a4.43 4.43 0 0 0 1.227 3.073a4.12 4.12 0 0 0 2.963 1.272a4.12 4.12 0 0 0 2.964-1.272a4.43 4.43 0 0 0 1.227-3.073V32.324a4.43 4.43 0 0 0-1.227-3.073a4.12 4.12 0 0 0-2.964-1.273m-83.741.216a4.14 4.14 0 0 0-3.039 1.116a4.45 4.45 0 0 0-1.394 3.014v38.752a4.43 4.43 0 0 0 1.227 3.073a4.12 4.12 0 0 0 2.963 1.272a4.12 4.12 0 0 0 2.963-1.272a4.43 4.43 0 0 0 1.228-3.073V32.324a4.42 4.42 0 0 0-1.21-2.851a4.13 4.13 0 0 0-2.738-1.28m325.072 20.774h-12.171v13.34h12.233c4.14 0 6.302-2.771 6.302-6.703s-2.287-6.637-6.364-6.637'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-intercom-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 263' width='256' height='263'%3E%3Cpath d='M221.66 144.561c0 2.342-.897 4.588-2.493 6.244c-1.597 1.656-3.763 2.586-6.021 2.586s-4.424-.93-6.021-2.586s-2.494-3.902-2.494-6.244V65.677c0-2.342.897-4.588 2.494-6.243s3.763-2.587 6.02-2.587c2.259 0 4.425.93 6.022 2.587c1.596 1.655 2.493 3.901 2.493 6.243zm-2.955 54.657c-1.126 1.168-32.792 28.533-90.846 28.533s-89.508-27.22-90.845-28.387a8.6 8.6 0 0 1-2.043-2.654a9 9 0 0 1-.533-6.637a8.8 8.8 0 0 1 1.59-2.969c1.47-1.763 3.552-2.852 5.793-3.03a8.32 8.32 0 0 1 6.17 2.082c.493.365 28.78 24.154 79.798 24.154s79.516-23.935 79.798-24.154a8.45 8.45 0 0 1 6.202-2.059c2.247.177 4.339 1.256 5.83 3.007a8.9 8.9 0 0 1 1.995 6.274c-.158 2.282-1.178 4.407-2.839 5.913zM33.988 65.678c.127-2.35 1.146-4.551 2.834-6.124s3.907-2.388 6.173-2.269a8.38 8.38 0 0 1 5.564 2.6a9 9 0 0 1 2.458 5.792v78.738c0 2.342-.897 4.588-2.494 6.244c-1.596 1.656-3.762 2.586-6.02 2.586c-2.259 0-4.424-.93-6.021-2.586s-2.494-3.902-2.494-6.244zM76.7 48.163c.128-2.35 1.146-4.551 2.834-6.124s3.908-2.388 6.174-2.268a8.38 8.38 0 0 1 5.564 2.599a9 9 0 0 1 2.458 5.793V164.92c0 2.341-.898 4.587-2.494 6.243s-3.763 2.586-6.02 2.586c-2.26 0-4.425-.93-6.022-2.586s-2.494-3.902-2.494-6.243zm42.925-4.379c0-2.342.897-4.587 2.494-6.243s3.763-2.587 6.02-2.587c2.259 0 4.425.93 6.021 2.587c1.597 1.656 2.494 3.901 2.494 6.243v126.973c0 2.342-.897 4.588-2.494 6.244c-1.596 1.656-3.762 2.586-6.02 2.586s-4.424-.93-6.021-2.586s-2.494-3.902-2.494-6.244zm42.221 4.379c0-2.342.897-4.588 2.494-6.244s3.763-2.586 6.02-2.586c2.259 0 4.425.93 6.021 2.586s2.494 3.902 2.494 6.244V164.92c0 2.341-.897 4.587-2.494 6.243c-1.596 1.656-3.762 2.586-6.02 2.586s-4.424-.93-6.021-2.586s-2.494-3.902-2.494-6.243zM223.982 0H32.018a30.8 30.8 0 0 0-12.205 2.434A31.7 31.7 0 0 0 9.44 9.533A33.1 33.1 0 0 0 2.482 20.21A34 34 0 0 0 0 32.839v197.028a34 34 0 0 0 2.482 12.628a33.1 33.1 0 0 0 6.958 10.678a31.7 31.7 0 0 0 10.373 7.098a30.8 30.8 0 0 0 12.205 2.434h191.964a30.8 30.8 0 0 0 12.188-2.427a31.7 31.7 0 0 0 10.365-7.08a33.1 33.1 0 0 0 6.963-10.652A34 34 0 0 0 256 229.94V32.84a34 34 0 0 0-2.475-12.612a33.1 33.1 0 0 0-6.94-10.67a31.75 31.75 0 0 0-10.35-7.102A30.8 30.8 0 0 0 224.053.001'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-linear-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23222326' d='m8.174 102.613l145.213 145.213c2.12 2.12 1.097 5.72-1.85 6.27a128 128 0 0 1-15.02 1.896a3.78 3.78 0 0 1-2.92-1.109L1.117 122.403a3.78 3.78 0 0 1-1.109-2.92c.34-5.095.978-10.107 1.896-15.02c.55-2.947 4.15-3.97 6.27-1.85m-4.092 58.796c-.97-3.614 3.3-5.894 5.946-3.248l87.81 87.811c2.647 2.646.367 6.915-3.247 5.946c-44.03-11.805-78.704-46.478-90.51-90.509m12.727-97.245c1.233-2.135 4.147-2.463 5.89-.719L192.556 233.3c1.744 1.744 1.417 4.658-.72 5.891a128 128 0 0 1-11.1 5.705c-1.43.65-3.11.322-4.22-.79L11.893 79.487c-1.111-1.112-1.439-2.79-.79-4.221a128 128 0 0 1 5.706-11.1M127.86 0C198.63 0 256 57.37 256 128.14c0 37.57-16.168 71.362-41.926 94.8c-1.487 1.354-3.768 1.264-5.19-.157L33.217 47.116c-1.421-1.422-1.51-3.703-.158-5.19C56.498 16.168 90.291 0 127.86 0'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-linkedin-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%230A66C2' d='M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4c-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.91 39.91 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186zM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009s9.851-22.014 22.008-22.016c12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97zM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-mailchimp{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 126' width='512' height='126'%3E%3Cpath fill='%230B0B0A' d='m473.798 79.036l-.078-.142l-.156-.493l.072-.146c4.88-10.055 10.47-15.818 15.336-15.818h.05c5.494.041 9.293 4.985 9.24 12.018c-.036 4.693-2.106 7.396-3.833 8.837c-1.973 1.645-4.598 2.585-7.207 2.585c-6.429-.049-10.842-3.746-13.424-6.841m-1.332 37.955c-.785 1.045-1.878 1.574-3.247 1.574c-1.572-.012-2.753-.56-3.556-1.633c-2.252-3.01-1.618-10.079 2.056-22.914c.437-1.533.915-3.075 1.417-4.583l.427-1.281l.373 1.296c4.283 14.816 5.132 24.082 2.53 27.54M315.164 48.744c.144-3.2.412-6.315.794-9.26c2.479-18.983 7.653-32.24 12.586-32.24h.021c2.352.017 3.53 1.796 3.504 5.284c-.066 8.571-5.497 20.842-16.14 36.472l-.832 1.224zm172.615 43.301l.173.003c10.358 0 17.649-7.178 17.727-17.45c.039-5.085-1.43-9.74-4.137-13.104c-2.863-3.56-6.87-5.46-11.59-5.496h-.093c-6.37 0-12.285 4.832-18.084 14.776l-.46.793l-.298-.866a480 480 0 0 0-3.548-9.936c-.545-1.482-.787-2.148-.844-2.364c-.278-1.075-1.198-1.744-2.403-1.744c-.74 0-1.528.252-2.274.726c-.739.47-1.151 1.045-1.299 1.812l-.038.115c-5.803 18.097-10.588 26.888-14.641 26.888c-.59-.005-1.05-.198-1.394-.58c-1.062-1.174-.801-3.965-.44-7.829c.264-2.838.568-6.052.44-9.461c-.24-6.556-3.825-10.492-9.592-10.536c-7.328-.002-12.078 7.8-14.266 12.453l-.653 1.389l-.144-1.528c-.547-5.757-2.479-12.634-8.58-12.68c-7.115 0-12.536 8.35-15.843 15.359l-.886 1.878l.089-2.075c.393-9.346.715-14.865.957-16.394c.242-1.536.115-2.567-.387-3.157c-.475-.553-1.373-.757-2.69-.675c-2.277.145-3.442 1.531-5.196 6.178c-2.88 7.633-10.207 25.39-16.058 25.39c-1.16-.008-2.08-.404-2.753-1.175c-2.453-2.813-1.472-10.417-.114-20.94l.103-.796c.642-4.982-.454-6.045-3.158-6.543a4.7 4.7 0 0 0-.824-.081c-2.16 0-3.172 2.07-5.189 7.821c-3.593 10.235-8.21 21-13.614 21q-.296 0-.59-.047c-2.864-.488-2.8-4.734-2.72-10.113c.04-2.909.09-6.207-.36-9.185c-.805-5.342-3.955-8.68-8.216-8.712c-8.506 0-14.243 10.892-16.91 17.385l-.605 1.47l-.2-1.578a146 146 0 0 1-1.034-12.553l-.006-.157l.097-.122c15.918-20.038 23.06-34.498 23.155-46.887c.062-7.914-3.592-12.668-9.767-12.716c-4.516 0-15.256 3.761-18.987 38.609a202 202 0 0 0-1.13 19.694l-.001.129l-.074.105c-7.281 10.542-22.826 28.673-38.042 28.673c-13.75 0-24.72-11.124-24.72-30.758c0-26.322 18.633-42.483 32.654-42.483l.115.001c3.047.023 5.66.874 7.556 2.461c1.97 1.647 2.999 3.957 2.979 6.677c-.03 3.634-1.211 5.502-2.356 7.306a26 26 0 0 0-.855 1.416c-.27.493-.518 1.21-.158 1.823c.369.628 1.31 1.024 2.457 1.031c3.338 0 8.386-4.83 8.441-12.11c.058-7.619-6.36-15.468-17.81-15.468c-17.328 0-40.662 19.035-40.662 49.885c0 21.823 13.682 36.906 32.217 36.906c13.152 0 26.163-9.416 37.685-25.146l.706-.953l.05 1.185c.246 5.757.663 10.294.97 13.607c.196 2.13.339 3.668.331 4.517c-.013 1.862.29 3.152.932 3.945c.64.794 1.66 1.169 3.202 1.18c2.589 0 3.106-1.765 4.13-6.117l.296-1.243c1.273-5.274 5.977-22.487 13.053-22.487q1.731.016 2.679 1.023c1.562 1.657 1.392 5.058 1.194 8.998c-.124 2.459-.252 4.998-.005 7.471c.667 6.677 3.55 9.942 8.815 9.98c5.406.003 11.046-5.82 14.022-11.231l.563-1.022l.218 1.146c.55 2.895 3.008 12.4 10.702 12.4c6.974 0 12.955-7.343 19.513-22.456l.858-1.973l-.053 2.153c-.14 5.726-.45 12.72-.452 18.125c-.003 4.182.42 5.78 2.353 5.78c.138 0 .286.018.439.018c1.854 0 3.112-1.105 3.74-3.294c4.934-17.197 9.199-25.207 13.424-25.207c4.137.033 4.525 7.596 4.856 20.963l.023.938c.1 4.674.268 6.743 3.173 6.765c2.204 0 2.752-1.732 3.891-5.994c.217-.813.455-1.704.734-2.667c3.983-13.821 7.286-19.46 11.397-19.46c3.52.026 3.716 3.655 3.781 4.847c.135 2.554-.128 5.228-.381 7.808c-.236 2.4-.48 4.88-.387 7.19c.215 5.406 3.175 8.406 8.335 8.445c6.697 0 12.743-7.833 18.037-23.276l.367-1.078l.42 1.058c.96 2.427 2.21 5.713 3.37 9.633l.044.15l-.063.141c-5.126 11.384-8.743 24.065-8.794 30.838c-.07 8.923 3.968 14.72 10.285 14.77h.109c3.436 0 11.446-1.38 11.602-14.148c.062-5.233-1.174-12.632-3.672-21.996l-.286-1.073l.922.616c3.19 2.115 6.787 3.248 10.405 3.278M150.475 65.838c-2.255 9.072-6.578 20.019-14.372 20.646c-.218.015-.43.027-.634.027c-3.233 0-5.046-2.118-5.388-6.293c-.43-5.226 1.825-11.343 5.738-15.592c2.492-2.706 5.303-4.195 7.913-4.195h.053c3.297.025 5.606 2.672 6.668 5.14l.056.127zm71.47-50.729l.112-.002c.734 0 1.38.37 1.92 1.098c2.557 3.459 2.594 16.078-1.804 30.44c-2.515 8.205-5.895 15.959-9.775 22.418l-.618 1.028l-.158-1.19c-.457-3.473-.682-7.088-.84-10.166c-1.123-21.705 5.443-43.329 11.163-43.626m-59.354 75.276c7.53-.605 13.507-10.848 15.726-15.223l.572-1.129l.217 1.247c1.064 6.155 4.413 16.498 14.887 16.578h.088c4.53 0 9.672-2.77 14.866-8.01l.381-.386l.277.463c3.498 5.85 8.19 8.957 13.183 8.703c7.354-.382 11.815-5.593 12.21-9.212c.1-.923-.145-1.79-.672-2.377c-.662-.737-1.62-.824-2.328-.148l-.334.318c-1.713 1.644-4.902 4.707-8.376 4.889c-4.255.208-7.403-2.336-9.437-7.586l-.084-.221l.143-.186c11.7-15.303 19.911-38.656 19.101-54.316c-.373-7.25-2.482-15.89-10.398-15.89q-.29 0-.59.015c-3.034.157-5.79 1.601-8.198 4.294c-7.345 8.218-11.189 28.445-9.794 51.531c.29 4.797 1.122 9.28 2.475 13.32l.077.225l-.155.182c-4.341 5.074-8.625 7.87-12.063 7.87c-8.27 0-7.992-13.866-7.337-25.368c.141-2.48.35-4.059-.383-4.957c-.525-.642-1.401-.959-2.679-.97l-.15-.001c-2.941 0-3.558.605-5.064 4.973c-3.133 9.075-9.316 24.303-15.537 24.303c-1.725-.015-3.041-.605-3.941-1.753c-3.018-3.853-.726-13.458 1.114-21.178c.331-1.388.648-2.72.92-3.954c.404-1.83.28-3.166-.367-3.975c-.648-.804-1.944-1.132-3.653-.996c-2.665.213-4.368 1.329-5.19 6.395l-.166 1.053l-.62-.749c-1.163-1.717-3.432-3.764-7.642-3.764q-.554 0-1.145.046c-4.494.369-9.611 3.5-13.356 8.171c-4.373 5.456-6.46 12.362-5.88 19.442c.032.375.086.735.14 1.092l.03.198l-.136.15c-2.616 2.85-5.281 4.295-7.922 4.295c-4.074-.032-6.414-3.06-6.414-8.104c0-8.495 5.756-34.096 5.756-43.365c0-9.864-4.395-15.234-12.028-15.292l-.115-.001c-11.144 0-19.83 12.647-28.143 38.664a439 439 0 0 0-2.299 7.515l-1.166 3.914l.346-4.068c.773-9.064 1.303-17.882 1.576-26.21c.414-12.575-1.286-20.668-5.196-24.74c-2.11-2.196-4.901-3.278-8.537-3.307h-.096c-13.638 0-20.17 23.001-24.927 39.23c-1.435 4.9-4.266 15.95-6.156 23.504l1.12-1.819c.839-9.513 3.27-33.342 3.11-46.268c-.171-13.867-4.79-20.085-14.975-20.163h-.125c-5.441 0-9.215 2.703-11.424 4.972C2.163 15.89-.047 21.212.075 25.807c.076 2.793 1.79 5.28 3.09 5.28c.846 0 1.315-1.13 1.518-1.802c3.15-10.417 7.228-15.482 12.464-15.482c2.17.016 3.785.657 4.996 1.956c4.088 4.386 3.345 16.231 1.996 37.734c-.435 6.93-.928 14.784-1.344 23.716c-.072 1.533-.167 3.011-.257 4.42c-.399 6.202-.714 11.104 1.638 11.47c3.062.477 5.055-.768 6.073-3.797c1.512-4.496 4.903-16.782 11.465-39.235C48.01 28.52 52.766 20.682 58.852 20.682c7.03 0 7.554 12.072 6.266 37.545c-.275 5.4-.642 11.516-.924 18.173q-.061 1.405-.127 2.716c-.27 5.512-.484 9.861 1.09 11.529c.49.519 1.16.776 2.043.78c3.048 0 3.963-2.67 5.482-7.1c.269-.781.553-1.616.87-2.491c10.443-28.808 18.166-53.803 28.53-53.803c3.11 0 5.526 2.525 5.526 7.45c0 11.368-5.556 33.332-5.556 44.467c0 3.99 1.147 7.572 3.317 10.089c2.227 2.583 5.342 3.962 9.01 3.991h.08c3.467 0 7.082-1.685 10.741-5.007l.344-.31l.275.372c2.41 3.24 6.3 4.98 10.499 4.656c6.441-.502 11.846-6.236 13.857-11.646l.392-1.057l.394 1.057c1.491 4.015 4.723 8.85 11.63 8.292'/%3E%3Cpath fill='%230B0B0A' d='M186.625 32.584c-2.877 0-5.201 2.267-5.221 5.053c-.024 2.807 2.285 5.108 5.144 5.131l.04.417v-.417c2.835 0 5.16-2.265 5.181-5.051c.023-2.808-2.285-5.11-5.144-5.133m180.897 0c-2.877 0-5.2 2.267-5.223 5.053c-.022 2.807 2.286 5.108 5.145 5.131l.04.417v-.417c2.838 0 5.162-2.265 5.183-5.051c.02-2.808-2.286-5.11-5.145-5.133'/%3E%3Cpath fill='%230B0C0A' d='M508.394 92.852a3.013 3.013 0 0 1-3.02-3.018a3.016 3.016 0 0 1 3.02-3.022a3.017 3.017 0 0 1 3.022 3.022a3.015 3.015 0 0 1-3.022 3.018m0-6.554a3.54 3.54 0 0 0-3.533 3.536a3.537 3.537 0 0 0 3.533 3.531a3.54 3.54 0 0 0 3.536-3.531a3.54 3.54 0 0 0-3.536-3.536'/%3E%3Cpath fill='%230B0C0A' d='M508.281 89.613h-.655v-1.375h.91c.437 0 .912.151.912.673c0 .676-.606.702-1.167.702m1.679-.702c0-.73-.359-1.128-1.281-1.128h-1.567v4.071h.514v-1.782h.73l1.217 1.782h.579l-1.216-1.782c.551-.096 1.024-.409 1.024-1.161'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-microsoft-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23F1511B' d='M121.666 121.666H0V0h121.666z'/%3E%3Cpath fill='%2380CC28' d='M256 121.666H134.335V0H256z'/%3E%3Cpath fill='%2300ADEF' d='M121.663 256.002H0V134.336h121.663z'/%3E%3Cpath fill='%23FBBC09' d='M256 256.002H134.335V134.336H256z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-microsoft-teams{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 239' width='256' height='239'%3E%3Cdefs%3E%3ClinearGradient id='SVGCXPeteLK' x1='17.372%25' x2='82.628%25' y1='-6.51%25' y2='106.51%25'%3E%3Cstop offset='0%25' stop-color='%235A62C3'/%3E%3Cstop offset='50%25' stop-color='%234D55BD'/%3E%3Cstop offset='100%25' stop-color='%233940AB'/%3E%3C/linearGradient%3E%3Cpath id='SVGirAuMb7G' d='M136.93 64.476v12.8a32.7 32.7 0 0 1-5.953-.952a38.7 38.7 0 0 1-26.79-22.742h21.848c6.008.022 10.872 4.887 10.895 10.894'/%3E%3C/defs%3E%3Cpath fill='%235059C9' d='M178.563 89.302h66.125c6.248 0 11.312 5.065 11.312 11.312v60.231c0 22.96-18.613 41.574-41.573 41.574h-.197c-22.96.003-41.576-18.607-41.579-41.568V95.215a5.91 5.91 0 0 1 5.912-5.913'/%3E%3Ccircle cx='223.256' cy='50.605' r='26.791' fill='%235059C9'/%3E%3Ccircle cx='139.907' cy='38.698' r='38.698' fill='%237B83EB'/%3E%3Cpath fill='%237B83EB' d='M191.506 89.302H82.355c-6.173.153-11.056 5.276-10.913 11.449v68.697c-.862 37.044 28.445 67.785 65.488 68.692c37.043-.907 66.35-31.648 65.489-68.692v-68.697c.143-6.173-4.74-11.296-10.913-11.449'/%3E%3Cpath d='M142.884 89.302v96.268a10.96 10.96 0 0 1-6.787 10.062c-1.3.55-2.697.833-4.108.833H76.68c-.774-1.965-1.488-3.93-2.084-5.953a72.5 72.5 0 0 1-3.155-21.076v-68.703c-.143-6.163 4.732-11.278 10.895-11.43z' opacity='.1'/%3E%3Cpath d='M136.93 89.302v102.222c0 1.411-.283 2.808-.833 4.108a10.96 10.96 0 0 1-10.062 6.787H79.48c-1.012-1.965-1.965-3.93-2.798-5.954a59 59 0 0 1-2.084-5.953a72.5 72.5 0 0 1-3.155-21.076v-68.703c-.143-6.163 4.732-11.278 10.895-11.43z' opacity='.2'/%3E%3Cpath d='M136.93 89.302v90.315c-.045 5.998-4.896 10.85-10.895 10.895H74.597a72.5 72.5 0 0 1-3.155-21.076v-68.703c-.143-6.163 4.732-11.278 10.895-11.43z' opacity='.2'/%3E%3Cpath d='M130.977 89.302v90.315c-.046 5.998-4.897 10.85-10.895 10.895H74.597a72.5 72.5 0 0 1-3.155-21.076v-68.703c-.143-6.163 4.732-11.278 10.895-11.43z' opacity='.2'/%3E%3Cpath d='M142.884 58.523v18.753c-1.012.06-1.965.12-2.977.12s-1.965-.06-2.977-.12a32.7 32.7 0 0 1-5.953-.952a38.7 38.7 0 0 1-26.791-22.742a33 33 0 0 1-1.905-5.954h29.708c6.007.023 10.872 4.887 10.895 10.895' opacity='.1'/%3E%3Cuse href='%23SVGirAuMb7G' opacity='.2'/%3E%3Cuse href='%23SVGirAuMb7G' opacity='.2'/%3E%3Cpath d='M130.977 64.476v11.848a38.7 38.7 0 0 1-26.791-22.743h15.896c6.008.023 10.872 4.888 10.895 10.895' opacity='.2'/%3E%3Cpath fill='url(%23SVGCXPeteLK)' d='M10.913 53.581h109.15c6.028 0 10.914 4.886 10.914 10.913v109.151c0 6.027-4.886 10.913-10.913 10.913H10.913C4.886 184.558 0 179.672 0 173.645V64.495C0 58.466 4.886 53.58 10.913 53.58'/%3E%3Cpath fill='%23FFF' d='M94.208 95.125h-21.82v59.416H58.487V95.125H36.769V83.599h57.439z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-monday-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 156' width='256' height='156'%3E%3Cpath fill='%23F62B54' d='M31.846 153.489a31.97 31.97 0 0 1-27.86-16.167a30.91 30.91 0 0 1 .875-31.823l57.373-90.096A31.99 31.99 0 0 1 90.556.015a31.93 31.93 0 0 1 27.41 16.896c5.349 10.113 4.68 22.28-1.725 31.774L58.904 138.78a31.98 31.98 0 0 1-27.058 14.709'/%3E%3Cpath fill='%23FC0' d='M130.256 153.488c-11.572 0-22.22-6.187-27.812-16.13a30.81 30.81 0 0 1 .875-31.737l57.264-89.89A31.94 31.94 0 0 1 188.93.016c11.669.255 22.244 6.782 27.592 16.993a30.81 30.81 0 0 1-2.066 31.92l-57.252 89.889a31.93 31.93 0 0 1-26.948 14.671'/%3E%3Cellipse cx='226.466' cy='125.324' fill='%2300CA72' rx='29.538' ry='28.918'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-notion-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 268' width='256' height='268'%3E%3Cpath fill='%23FFF' d='M16.092 11.538L164.09.608c18.179-1.56 22.85-.508 34.28 7.801l47.243 33.282C253.406 47.414 256 48.975 256 55.207v182.527c0 11.439-4.155 18.205-18.696 19.24L65.44 267.378c-10.913.517-16.11-1.043-21.825-8.327L8.826 213.814C2.586 205.487 0 199.254 0 191.97V29.726c0-9.352 4.155-17.153 16.092-18.188'/%3E%3Cpath d='M164.09.608L16.092 11.538C4.155 12.573 0 20.374 0 29.726v162.245c0 7.284 2.585 13.516 8.826 21.843l34.789 45.237c5.715 7.284 10.912 8.844 21.825 8.327l171.864-10.404c14.532-1.035 18.696-7.801 18.696-19.24V55.207c0-5.911-2.336-7.614-9.21-12.66l-1.185-.856L198.37 8.409C186.94.1 182.27-.952 164.09.608M69.327 52.22c-14.033.945-17.216 1.159-25.186-5.323L23.876 30.778c-2.06-2.086-1.026-4.69 4.163-5.207l142.274-10.395c11.947-1.043 18.17 3.12 22.842 6.758l24.401 17.68c1.043.525 3.638 3.637.517 3.637L71.146 52.095zm-16.36 183.954V81.222c0-6.767 2.077-9.887 8.3-10.413L230.02 60.93c5.724-.517 8.31 3.12 8.31 9.879v153.917c0 6.767-1.044 12.49-10.387 13.008l-161.487 9.361c-9.343.517-13.489-2.594-13.489-10.921M212.377 89.53c1.034 4.681 0 9.362-4.681 9.897l-7.783 1.542v114.404c-6.758 3.637-12.981 5.715-18.18 5.715c-8.308 0-10.386-2.604-16.609-10.396l-50.898-80.079v77.476l16.1 3.646s0 9.362-12.989 9.362l-35.814 2.077c-1.043-2.086 0-7.284 3.63-8.318l9.351-2.595V109.823l-12.98-1.052c-1.044-4.68 1.55-11.439 8.826-11.965l38.426-2.585l52.958 81.113v-71.76l-13.498-1.552c-1.043-5.733 3.111-9.896 8.3-10.404z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-openai-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 260' width='256' height='260'%3E%3Cpath d='M239.184 106.203a64.72 64.72 0 0 0-5.576-53.103C219.452 28.459 191 15.784 163.213 21.74A65.586 65.586 0 0 0 52.096 45.22a64.72 64.72 0 0 0-43.23 31.36c-14.31 24.602-11.061 55.634 8.033 76.74a64.67 64.67 0 0 0 5.525 53.102c14.174 24.65 42.644 37.324 70.446 31.36a64.72 64.72 0 0 0 48.754 21.744c28.481.025 53.714-18.361 62.414-45.481a64.77 64.77 0 0 0 43.229-31.36c14.137-24.558 10.875-55.423-8.083-76.483m-97.56 136.338a48.4 48.4 0 0 1-31.105-11.255l1.535-.87l51.67-29.825a8.6 8.6 0 0 0 4.247-7.367v-72.85l21.845 12.636c.218.111.37.32.409.563v60.367c-.056 26.818-21.783 48.545-48.601 48.601M37.158 197.93a48.35 48.35 0 0 1-5.781-32.589l1.534.921l51.722 29.826a8.34 8.34 0 0 0 8.441 0l63.181-36.425v25.221a.87.87 0 0 1-.358.665l-52.335 30.184c-23.257 13.398-52.97 5.431-66.404-17.803M23.549 85.38a48.5 48.5 0 0 1 25.58-21.333v61.39a8.29 8.29 0 0 0 4.195 7.316l62.874 36.272l-21.845 12.636a.82.82 0 0 1-.767 0L41.353 151.53c-23.211-13.454-31.171-43.144-17.804-66.405zm179.466 41.695l-63.08-36.63L161.73 77.86a.82.82 0 0 1 .768 0l52.233 30.184a48.6 48.6 0 0 1-7.316 87.635v-61.391a8.54 8.54 0 0 0-4.4-7.213m21.742-32.69l-1.535-.922l-51.619-30.081a8.39 8.39 0 0 0-8.492 0L99.98 99.808V74.587a.72.72 0 0 1 .307-.665l52.233-30.133a48.652 48.652 0 0 1 72.236 50.391zM88.061 139.097l-21.845-12.585a.87.87 0 0 1-.41-.614V65.685a48.652 48.652 0 0 1 79.757-37.346l-1.535.87l-51.67 29.825a8.6 8.6 0 0 0-4.246 7.367zm11.868-25.58L128.067 97.3l28.188 16.218v32.434l-28.086 16.218l-28.188-16.218z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-paypal{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 302' width='256' height='302'%3E%3Cpath fill='%2327346A' d='M217.168 23.507C203.234 7.625 178.046.816 145.823.816h-93.52A13.39 13.39 0 0 0 39.076 12.11L.136 259.077c-.774 4.87 2.997 9.28 7.933 9.28h57.736l14.5-91.971l-.45 2.88c1.033-6.501 6.593-11.296 13.177-11.296h27.436c53.898 0 96.101-21.892 108.429-85.221c.366-1.873.683-3.696.957-5.477q-2.334-1.236 0 0c3.671-23.407-.025-39.34-12.686-53.765'/%3E%3Cpath fill='%2327346A' d='M102.397 68.84a11.7 11.7 0 0 1 5.053-1.14h73.318c8.682 0 16.78.565 24.18 1.756a102 102 0 0 1 6.177 1.182a90 90 0 0 1 8.59 2.347c3.638 1.215 7.026 2.63 10.14 4.287c3.67-23.416-.026-39.34-12.687-53.765C203.226 7.625 178.046.816 145.823.816H52.295C45.71.816 40.108 5.61 39.076 12.11L.136 259.068c-.774 4.878 2.997 9.282 7.925 9.282h57.744L95.888 77.58a11.72 11.72 0 0 1 6.509-8.74'/%3E%3Cpath fill='%232790C3' d='M228.897 82.749c-12.328 63.32-54.53 85.221-108.429 85.221H93.024c-6.584 0-12.145 4.795-13.168 11.296L61.817 293.621c-.674 4.262 2.622 8.124 6.934 8.124h48.67a11.71 11.71 0 0 0 11.563-9.88l.474-2.48l9.173-58.136l.591-3.213a11.71 11.71 0 0 1 11.562-9.88h7.284c47.147 0 84.064-19.154 94.852-74.55c4.503-23.15 2.173-42.478-9.739-56.054c-3.613-4.112-8.1-7.508-13.327-10.28c-.283 1.79-.59 3.604-.957 5.477'/%3E%3Cpath fill='%231F264F' d='M216.952 72.128a90 90 0 0 0-5.818-1.49a110 110 0 0 0-6.177-1.174c-7.408-1.199-15.5-1.765-24.19-1.765h-73.309a11.6 11.6 0 0 0-5.053 1.149a11.68 11.68 0 0 0-6.51 8.74l-15.582 98.798l-.45 2.88c1.025-6.501 6.585-11.296 13.17-11.296h27.444c53.898 0 96.1-21.892 108.428-85.221c.367-1.873.675-3.688.958-5.477q-4.682-2.47-10.14-4.279a83 83 0 0 0-2.77-.865'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-pipedrive{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 117' width='512' height='117'%3E%3Cpath fill='%23525254' d='M80.214.286h16.323V17.48H80.214zm285.782 0h16.323V17.48h-16.323z'/%3E%3Cpath fill='%23231F1F' d='M44.138 23.65c-10.288 0-16.238 4.616-19.108 7.805c-.341-2.748-2.154-6.313-9.227-6.313H.443V41.22h6.295c1.065 0 1.408.34 1.408 1.403v73.412h18.31V88.482c0-.744-.015-1.439-.034-2.061c2.86 2.627 8.322 6.243 16.854 6.243c17.896 0 30.408-14.186 30.408-34.504c0-20.64-11.88-34.51-29.546-34.51m-3.72 53.066c-9.857 0-14.335-9.438-14.335-18.182c0-13.773 7.532-18.682 14.58-18.682c8.643 0 14.456 7.452 14.456 18.553c0 12.659-7.39 18.311-14.7 18.311'/%3E%3Cpath fill='%23231F1F' d='M97.788 73.817V34.918c0-6.577-3.17-9.776-9.661-9.776H71.768V41.22h6.302c1.061 0 1.402.34 1.402 1.402v38.77c0 6.67 3.072 9.774 9.645 9.774h16.38V75.23h-6.304c-1.014 0-1.405-.404-1.405-1.412'/%3E%3Cpath fill='%23231F1F' d='M145.614 23.65c-10.291 0-16.233 4.616-19.116 7.805c-.34-2.748-2.144-6.313-9.216-6.313h-15.37V41.22h6.302c1.061 0 1.405.34 1.405 1.403v73.412h18.318V88.482c0-.744-.02-1.439-.043-2.061c2.848 2.627 8.328 6.243 16.857 6.243c17.898 0 30.404-14.186 30.404-34.504c0-20.64-11.873-34.51-29.54-34.51m-3.736 53.066c-9.83 0-14.324-9.438-14.324-18.182c0-13.773 7.53-18.682 14.584-18.682c8.642 0 14.453 7.452 14.453 18.553c0 12.659-7.381 18.311-14.713 18.311m67.026-53.066c-19.724 0-33.516 14.193-33.516 34.51c0 19.988 14.882 34.504 35.388 34.504c16.132 0 25.988-9.549 26.404-9.953l.736-.726l-7.973-13.237l-1.186 1.122c-.076.057-7.313 6.727-16.872 6.727c-9.175 0-15.891-5.6-17.474-14.385h43.414l.104-1.2c.028-.164.391-4.06.391-5.964c0-18.778-11.822-31.399-29.416-31.399m-13.813 24.98c1.987-6.479 6.953-10.15 13.813-10.15c5.51 0 9.758 4.192 10.503 10.15zm109.816 25.188V10.06c0-6.572-3.213-9.774-9.788-9.774h-16.364v16.077h6.3c1.06 0 1.41.343 1.41 1.407v11.525c-2.702-2.44-7.98-5.646-17.064-5.646c-17.767 0-30.165 14.194-30.165 34.51c0 20.641 11.88 34.505 29.547 34.505c10.103 0 15.923-4.69 18.767-7.955c.37 2.85 2.215 6.457 9.067 6.457h15.862V75.231h-6.169c-1.015 0-1.403-.406-1.403-1.414m-32.65 2.9c-8.707 0-14.34-7.287-14.34-18.557c0-10.955 5.861-18.308 14.59-18.308c9.895 0 14.33 9.125 14.33 18.188c0 13.776-7.538 18.676-14.58 18.676m81.058-52.448c-7.62 0-14.636 4.399-18.794 11.406v-1.509c0-5.983-3.304-9.024-9.785-9.024h-15.74V41.22h6.295c1.06 0 1.411.338 1.411 1.403v48.545h18.306V64.743c0-3.48.444-6.831 1.31-9.926c2.754-9.113 10.079-12.357 16.002-12.357c2.1 0 3.63.223 3.653.23l1.53.23V24.721l-1.114-.189c-.056-.01-1.606-.264-3.074-.264m30.246 49.549V34.918c0-6.577-3.152-9.776-9.648-9.776h-14.801V41.22h4.731c1.068 0 1.407.34 1.407 1.402v38.77c0 6.67 3.073 9.774 9.658 9.774h16.365V75.23h-6.304c-1.015 0-1.408-.404-1.408-1.412'/%3E%3Cpath fill='%23231F1F' d='M452.359 41.22V25.142h-9.77c-5.705 0-8.767 1.978-10.575 6.84l-11.935 33.335a53 53 0 0 0-1.13 3.951c-.348-1.336-.758-2.738-1.211-3.976L405.803 31.97c-1.832-4.912-4.788-6.829-10.574-6.829h-10.384V41.22h2.695c1.428 0 1.887.484 2.228 1.378l18.474 48.568h20.586l18.477-48.568c.338-.894.81-1.378 2.242-1.378z'/%3E%3Cpath fill='%23231F1F' d='M511.196 61.013c.016-.165.387-4.062.387-5.965c0-18.778-11.827-31.399-29.426-31.399c-19.724 0-33.506 14.194-33.506 34.51c0 19.99 14.865 34.505 35.377 34.505c16.134 0 25.996-9.549 26.406-9.953l.745-.726l-7.959-13.237l-1.21 1.122c-.063.057-7.337 6.727-16.862 6.727c-9.18 0-15.9-5.6-17.487-14.385h43.428zm-42.85-12.383c2.003-6.48 6.953-10.152 13.811-10.152c5.525 0 9.757 4.193 10.507 10.152z'/%3E%3Cpath fill='%233B3B3C' d='M353.316 24.268c-5.918 0-11.43 2.677-15.567 7.132a1187 1187 0 0 1 10.529-.06c3.09 0 6.154.029 9.227.047v-6.666l-1.115-.189c-.056-.01-1.606-.264-3.074-.264m78.698 7.714l-.753 2.119c7.08.487 14.103 1.024 21.098 1.625V25.142h-9.768c-5.706 0-8.77 1.978-10.577 6.84M44.138 23.65c-10.288 0-16.24 4.616-19.108 7.804c-.343-2.747-2.154-6.312-9.227-6.312H.443V41.22h6.295c1.065 0 1.408.34 1.408 1.402v40.91a771 771 0 0 1 25.821-8.462c-5.38-3.079-7.884-9.998-7.884-16.538c0-13.77 7.532-18.68 14.58-18.68c8.643 0 14.456 7.452 14.456 18.553c0 4.662-1.012 8.36-2.646 11.186a876 876 0 0 1 20.814-5.623c.228-1.875.397-3.806.397-5.808c0-20.64-11.88-34.51-29.546-34.51m43.989 1.492H71.768V41.22h6.302c1.06 0 1.4.34 1.4 1.403v19.803a913 913 0 0 1 18.318-4.367V34.918c0-6.575-3.17-9.776-9.661-9.776M80.214.286h16.323V17.48H80.214zm65.402 23.364c-10.292 0-16.233 4.616-19.116 7.804c-.343-2.747-2.144-6.312-9.218-6.312h-15.368V41.22h6.3c1.061 0 1.407.34 1.407 1.402v12.825a1103 1103 0 0 1 18.78-3.81c2.098-8.498 8.043-11.785 13.738-11.785c5.155 0 9.263 2.688 11.768 7.18c6.32-1.053 12.68-2.068 19.097-3.029c-4.17-12.571-14.158-20.354-27.388-20.354m63.289.001c-14.411 0-25.622 7.587-30.63 19.593a1126 1126 0 0 1 23.577-3.14c2.029-1.057 4.391-1.623 7.053-1.623c1.009 0 1.946.188 2.854.448a1150 1150 0 0 1 21.777-2.251c-5.031-8.166-13.718-13.028-24.631-13.028M295.12.286h-16.364v16.077h6.3c1.058 0 1.41.343 1.41 1.407v11.525c-2.702-2.44-7.98-5.646-17.064-5.646c-9.944 0-18.203 4.447-23.552 11.935a1211 1211 0 0 1 59.058-3.499V10.06c0-6.572-3.213-9.774-9.788-9.774m29.619 24.856h-15.743v6.829c8.353-.266 16.744-.456 25.207-.552c-.927-4.151-4.079-6.277-9.464-6.277M365.996.286h16.323V17.48h-16.323zm7.919 24.856h-14.8v6.256q12.127.11 24.133.439c-.91-4.472-3.962-6.695-9.333-6.695m21.314 0h-10.384v6.744c7.108.21 14.173.47 21.198.79l-.24-.705c-1.832-4.912-4.788-6.829-10.574-6.829m86.928-1.492c-11.247 0-20.543 4.625-26.48 12.357c8.598.755 17.145 1.602 25.595 2.534c1.302.143 2.58.275 3.86.425c8.156.922 16.223 1.936 24.22 3.027c-4.189-11.333-14.09-18.344-27.195-18.344'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-salesforce{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 180' width='256' height='180'%3E%3Cpath fill='%2300A1E0' d='M106.553 19.651c8.248-8.594 19.731-13.924 32.43-13.924c16.883 0 31.612 9.414 39.455 23.389a54.5 54.5 0 0 1 22.3-4.74c30.449 0 55.134 24.9 55.134 55.615c0 30.719-24.685 55.62-55.134 55.62a54.7 54.7 0 0 1-10.86-1.083c-6.908 12.321-20.07 20.645-35.178 20.645a40.1 40.1 0 0 1-17.632-4.058c-7.002 16.47-23.316 28.019-42.33 28.019c-19.8 0-36.674-12.529-43.152-30.1c-2.83.602-5.763.915-8.772.915c-23.574 0-42.686-19.308-42.686-43.13a43.2 43.2 0 0 1 21.345-37.36a49.4 49.4 0 0 1-4.088-19.727C17.385 22.336 39.626.128 67.06.128c16.106 0 30.42 7.658 39.494 19.523'/%3E%3Cpath fill='%23FFF' d='M37.17 92.956c-.16.419.058.506.11.58c.48.349.968.6 1.46.88c2.609 1.385 5.071 1.79 7.647 1.79c5.246 0 8.503-2.79 8.503-7.283v-.087c0-4.153-3.676-5.662-7.126-6.75l-.448-.147c-2.601-.845-4.845-1.573-4.845-3.286v-.09c0-1.465 1.311-2.544 3.344-2.544c2.259 0 4.94.75 6.667 1.705c0 0 .506.328.692-.164c.102-.262.976-2.615 1.068-2.87c.098-.277-.077-.481-.255-.59c-1.971-1.2-4.696-2.019-7.516-2.019l-.525.004c-4.801 0-8.153 2.9-8.153 7.057v.087c0 4.383 3.698 5.803 7.162 6.794l.558.172c2.524.775 4.7 1.442 4.7 3.22v.087c0 1.625-1.414 2.835-3.695 2.835c-.885 0-3.708-.018-6.758-1.946c-.368-.215-.583-.371-.867-.542c-.15-.095-.524-.26-.688.236zm76.8 0c-.16.419.058.506.11.58c.48.349.968.6 1.46.88c2.608 1.385 5.071 1.79 7.647 1.79c5.246 0 8.503-2.79 8.503-7.283v-.087c0-4.153-3.676-5.662-7.126-6.75l-.448-.147c-2.601-.845-4.846-1.573-4.846-3.286v-.09c0-1.465 1.312-2.544 3.345-2.544c2.259 0 4.94.75 6.667 1.705c0 0 .506.328.692-.164c.102-.262.976-2.615 1.067-2.87c.099-.277-.076-.481-.255-.59c-1.97-1.2-4.696-2.019-7.515-2.019l-.525.004c-4.802 0-8.153 2.9-8.153 7.057v.087c0 4.383 3.697 5.803 7.162 6.794l.557.172c2.525.775 4.704 1.442 4.704 3.22v.087c0 1.625-1.418 2.835-3.698 2.835a12.4 12.4 0 0 1-6.758-1.946c-.368-.215-.587-.364-.863-.542c-.095-.062-.54-.234-.693.236zm52.429-8.799c0 2.54-.474 4.54-1.406 5.953c-.922 1.4-2.317 2.08-4.263 2.08c-1.949 0-3.337-.677-4.244-2.08c-.918-1.41-1.384-3.413-1.384-5.953c0-2.535.466-4.532 1.384-5.93c.907-1.385 2.295-2.059 4.244-2.059c1.946 0 3.34.674 4.266 2.058c.93 1.4 1.403 3.396 1.403 5.931m4.379-4.707c-.43-1.453-1.1-2.735-1.993-3.803c-.893-1.071-2.022-1.93-3.363-2.557c-1.337-.623-2.918-.94-4.692-.94c-1.778 0-3.359.317-4.696.94c-1.34.626-2.47 1.486-3.366 2.557c-.889 1.071-1.56 2.354-1.993 3.803c-.426 1.447-.64 3.028-.64 4.707c0 1.68.214 3.265.64 4.707c.434 1.45 1.1 2.732 1.997 3.804a9.4 9.4 0 0 0 3.362 2.535c1.34.609 2.918.918 4.696.918c1.774 0 3.352-.31 4.692-.918a9.4 9.4 0 0 0 3.363-2.535c.893-1.068 1.563-2.35 1.993-3.804c.43-1.446.645-3.03.645-4.707c0-1.675-.215-3.26-.645-4.707m35.959 12.063c-.145-.426-.557-.266-.557-.266c-.637.244-1.315.47-2.036.583a16 16 0 0 1-2.401.171c-2.12 0-3.804-.63-5.01-1.876c-1.209-1.246-1.887-3.26-1.88-5.986c.008-2.48.606-4.346 1.68-5.767c1.068-1.413 2.692-2.138 4.86-2.138c1.807 0 3.184.207 4.627.663c0 0 .346.15.51-.303c.382-1.063.667-1.825 1.075-2.994c.116-.332-.168-.474-.27-.514c-.568-.222-1.909-.583-2.922-.736c-.947-.145-2.054-.222-3.286-.222c-1.84 0-3.479.313-4.882.94c-1.399.623-2.586 1.483-3.526 2.554s-1.654 2.353-2.131 3.803c-.474 1.446-.714 3.035-.714 4.714c0 3.632.98 6.569 2.914 8.718c1.938 2.157 4.85 3.253 8.645 3.253c2.244 0 4.547-.455 6.2-1.107c0 0 .318-.153.18-.521zm7.663-9.788c.207-1.41.597-2.583 1.198-3.497c.907-1.388 2.291-2.15 4.237-2.15c1.945 0 3.231.765 4.153 2.15c.612.914.878 2.138.983 3.497zm14.743-3.1c-.372-1.403-1.294-2.82-1.898-3.468c-.955-1.028-1.887-1.746-2.813-2.146a10.8 10.8 0 0 0-4.248-.86c-1.85 0-3.53.31-4.892.95c-1.366.642-2.514 1.516-3.414 2.606c-.9 1.085-1.577 2.379-2.007 3.847c-.434 1.46-.652 3.053-.652 4.732c0 1.709.226 3.3.674 4.732c.451 1.443 1.173 2.715 2.15 3.767c.972 1.06 2.225 1.891 3.726 2.47c1.49.576 3.3.875 5.38.871c4.281-.015 6.537-.969 7.465-1.483c.164-.09.321-.251.124-.71l-.969-2.714c-.145-.405-.557-.255-.557-.255c-1.06.393-2.568 1.1-6.084 1.093c-2.299-.004-4.004-.682-5.071-1.742c-1.097-1.085-1.632-2.68-1.727-4.932l14.824.014s.39-.007.43-.386c.014-.16.51-3.046-.441-6.386m-133.46 3.1c.211-1.41.597-2.583 1.199-3.497c.907-1.388 2.291-2.15 4.236-2.15c1.946 0 3.232.765 4.157 2.15c.609.914.875 2.138.98 3.497zm14.74-3.1c-.372-1.403-1.29-2.82-1.895-3.468c-.954-1.028-1.887-1.746-2.812-2.146a10.8 10.8 0 0 0-4.248-.86c-1.847 0-3.53.31-4.892.95c-1.367.642-2.514 1.516-3.414 2.606c-.9 1.085-1.577 2.379-2.007 3.847c-.43 1.46-.652 3.053-.652 4.732c0 1.709.225 3.3.674 4.732c.451 1.443 1.173 2.715 2.149 3.767c.973 1.06 2.226 1.891 3.727 2.47c1.49.576 3.3.875 5.38.871c4.281-.015 6.536-.969 7.465-1.483c.164-.09.32-.251.124-.71l-.965-2.714c-.15-.405-.561-.255-.561-.255c-1.06.393-2.565 1.1-6.088 1.093c-2.295-.004-4-.682-5.067-1.742c-1.097-1.085-1.633-2.68-1.727-4.932l14.823.014s.39-.007.43-.386c.015-.16.51-3.046-.444-6.386M63.642 91.431c-.58-.462-.66-.579-.856-.878c-.292-.455-.441-1.104-.441-1.927c0-1.304.43-2.24 1.322-2.87c-.01.003 1.275-1.112 4.3-1.072c2.123.03 4.021.343 4.021.343v6.74h.004s-1.884.404-4.004.531c-3.017.182-4.357-.87-4.346-.867m5.898-10.415c-.601-.044-1.38-.07-2.313-.07c-1.272 0-2.5.16-3.65.47a9.5 9.5 0 0 0-3.097 1.436a7.15 7.15 0 0 0-2.15 2.444c-.524.977-.79 2.128-.79 3.417c0 1.312.225 2.452.677 3.385a6.1 6.1 0 0 0 1.935 2.317c.823.601 1.84 1.042 3.02 1.308c1.162.266 2.48.4 3.923.4c1.52 0 3.035-.123 4.503-.375a94 94 0 0 0 3.734-.721c.492-.117 1.039-.266 1.039-.266c.368-.091.338-.485.338-.485l-.007-13.555c0-2.973-.794-5.177-2.357-6.543c-1.555-1.363-3.847-2.051-6.809-2.051c-1.11 0-2.9.153-3.97.368c0 0-3.24.626-4.573 1.668c0 0-.291.182-.131.59l1.05 2.82c.13.364.484.24.484.24s.113-.043.244-.12c2.852-1.552 6.459-1.504 6.459-1.504c1.603 0 2.834.32 3.665.958c.809.619 1.22 1.555 1.22 3.53v.626c-1.275-.182-2.444-.287-2.444-.287m119.56-7.639a.4.4 0 0 0-.223-.532c-.251-.098-1.512-.364-2.485-.426c-1.861-.113-2.896.2-3.821.616c-.918.415-1.938 1.085-2.507 1.847v-1.804c0-.251-.178-.451-.426-.451h-3.8c-.247 0-.426.2-.426.451v22.11c0 .248.204.452.452.452h3.894a.45.45 0 0 0 .448-.452V84.142c0-1.482.164-2.962.492-3.89c.32-.919.758-1.654 1.297-2.183a4.55 4.55 0 0 1 1.833-1.1c.688-.211 1.45-.28 1.989-.28c.776 0 1.628.2 1.628.2c.284.033.445-.142.54-.4c.254-.678.976-2.708 1.114-3.112'/%3E%3Cpath fill='%23FFF' d='M152.544 63.13a13 13 0 0 0-1.465-.35a11.6 11.6 0 0 0-2.014-.152c-2.682 0-4.795.757-6.277 2.251c-1.476 1.486-2.478 3.749-2.98 6.725l-.183 1.002h-3.366s-.408-.015-.495.43l-.55 3.086c-.04.291.087.477.48.477h3.276l-3.323 18.55c-.258 1.494-.557 2.722-.889 3.654c-.324.918-.64 1.607-1.034 2.11c-.38.48-.736.838-1.356 1.045c-.51.172-1.1.252-1.745.252c-.357 0-.834-.059-1.187-.131a3.5 3.5 0 0 1-.802-.26s-.382-.145-.535.238c-.12.317-.995 2.717-1.1 3.013c-.102.295.043.524.229.593c.437.153.761.255 1.355.397c.824.194 1.52.204 2.172.204c1.362 0 2.608-.193 3.639-.564c1.035-.375 1.938-1.028 2.74-1.91c.863-.954 1.406-1.952 1.923-3.318c.514-1.348.955-3.024 1.304-4.976l3.341-18.897h4.882s.411.014.495-.434l.554-3.082c.036-.295-.087-.477-.485-.477h-4.74c.026-.106.241-1.774.784-3.344c.233-.667.67-1.21 1.038-1.581a3.1 3.1 0 0 1 1.243-.773c.47-.153 1.005-.226 1.592-.226c.444 0 .885.051 1.216.12c.46.099.638.15.758.186c.485.146.55.004.645-.23l1.133-3.11c.117-.335-.171-.478-.273-.518M86.322 95.19c0 .247-.179.448-.426.448h-3.931c-.248 0-.423-.2-.423-.448V63.553c0-.247.175-.448.423-.448h3.93c.248 0 .427.2.427.448z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-shopify{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 292' width='256' height='292'%3E%3Cpath fill='%2395BF46' d='M223.774 57.34c-.201-1.46-1.48-2.268-2.537-2.357a19614 19614 0 0 0-23.383-1.743s-15.507-15.395-17.209-17.099c-1.703-1.703-5.029-1.185-6.32-.805c-.19.056-3.388 1.043-8.678 2.68c-5.18-14.906-14.322-28.604-30.405-28.604c-.444 0-.901.018-1.358.044C129.31 3.407 123.644.779 118.75.779c-37.465 0-55.364 46.835-60.976 70.635c-14.558 4.511-24.9 7.718-26.221 8.133c-8.126 2.549-8.383 2.805-9.45 10.462C21.3 95.806.038 260.235.038 260.235l165.678 31.042l89.77-19.42S223.973 58.8 223.775 57.34M156.49 40.848l-14.019 4.339c.005-.988.01-1.96.01-3.023c0-9.264-1.286-16.723-3.349-22.636c8.287 1.04 13.806 10.469 17.358 21.32m-27.638-19.483c2.304 5.773 3.802 14.058 3.802 25.238c0 .572-.005 1.095-.01 1.624c-9.117 2.824-19.024 5.89-28.953 8.966c5.575-21.516 16.025-31.908 25.161-35.828m-11.131-10.537c1.617 0 3.246.549 4.805 1.622c-12.007 5.65-24.877 19.88-30.312 48.297l-22.886 7.088C75.694 46.16 90.81 10.828 117.72 10.828'/%3E%3Cpath fill='%235E8E3E' d='M221.237 54.983a19614 19614 0 0 0-23.383-1.743s-15.507-15.395-17.209-17.099c-.637-.634-1.496-.959-2.394-1.099l-12.527 256.233l89.762-19.418S223.972 58.8 223.774 57.34c-.201-1.46-1.48-2.268-2.537-2.357'/%3E%3Cpath fill='%23FFF' d='m135.242 104.585l-11.069 32.926s-9.698-5.176-21.586-5.176c-17.428 0-18.305 10.937-18.305 13.693c0 15.038 39.2 20.8 39.2 56.024c0 27.713-17.577 45.558-41.277 45.558c-28.44 0-42.984-17.7-42.984-17.7l7.615-25.16s14.95 12.835 27.565 12.835c8.243 0 11.596-6.49 11.596-11.232c0-19.616-32.16-20.491-32.16-52.724c0-27.129 19.472-53.382 58.778-53.382c15.145 0 22.627 4.338 22.627 4.338'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-slack-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23E01E5A' d='M53.841 161.32c0 14.832-11.987 26.82-26.819 26.82S.203 176.152.203 161.32c0-14.831 11.987-26.818 26.82-26.818H53.84zm13.41 0c0-14.831 11.987-26.818 26.819-26.818s26.819 11.987 26.819 26.819v67.047c0 14.832-11.987 26.82-26.82 26.82c-14.83 0-26.818-11.988-26.818-26.82z'/%3E%3Cpath fill='%2336C5F0' d='M94.07 53.638c-14.832 0-26.82-11.987-26.82-26.819S79.239 0 94.07 0s26.819 11.987 26.819 26.819v26.82zm0 13.613c14.832 0 26.819 11.987 26.819 26.819s-11.987 26.819-26.82 26.819H26.82C11.987 120.889 0 108.902 0 94.069c0-14.83 11.987-26.818 26.819-26.818z'/%3E%3Cpath fill='%232EB67D' d='M201.55 94.07c0-14.832 11.987-26.82 26.818-26.82s26.82 11.988 26.82 26.82s-11.988 26.819-26.82 26.819H201.55zm-13.41 0c0 14.832-11.988 26.819-26.82 26.819c-14.831 0-26.818-11.987-26.818-26.82V26.82C134.502 11.987 146.489 0 161.32 0s26.819 11.987 26.819 26.819z'/%3E%3Cpath fill='%23ECB22E' d='M161.32 201.55c14.832 0 26.82 11.987 26.82 26.818s-11.988 26.82-26.82 26.82c-14.831 0-26.818-11.988-26.818-26.82V201.55zm0-13.41c-14.831 0-26.818-11.988-26.818-26.82c0-14.831 11.987-26.818 26.819-26.818h67.25c14.832 0 26.82 11.987 26.82 26.819s-11.988 26.819-26.82 26.819z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-stripe{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 214' width='512' height='214'%3E%3Cpath fill='%23635BFF' d='M512 110.08c0-36.409-17.636-65.138-51.342-65.138c-33.85 0-54.33 28.73-54.33 64.854c0 42.808 24.179 64.426 58.88 64.426c16.925 0 29.725-3.84 39.396-9.244v-28.445c-9.67 4.836-20.764 7.823-34.844 7.823c-13.796 0-26.027-4.836-27.591-21.618h69.547c0-1.85.284-9.245.284-12.658m-70.258-13.511c0-16.071 9.814-22.756 18.774-22.756c8.675 0 17.92 6.685 17.92 22.756zm-90.31-51.627c-13.939 0-22.899 6.542-27.876 11.094l-1.85-8.818h-31.288v165.83l35.555-7.537l.143-40.249c5.12 3.698 12.657 8.96 25.173 8.96c25.458 0 48.64-20.48 48.64-65.564c-.142-41.245-23.609-63.716-48.498-63.716m-8.534 97.991c-8.391 0-13.37-2.986-16.782-6.684l-.143-52.765c3.698-4.124 8.818-6.968 16.925-6.968c12.942 0 21.902 14.506 21.902 33.137c0 19.058-8.818 33.28-21.902 33.28M241.493 36.551l35.698-7.68V0l-35.698 7.538zm0 10.809h35.698v124.444h-35.698zm-38.257 10.524L200.96 47.36h-30.72v124.444h35.556V87.467c8.39-10.951 22.613-8.96 27.022-7.396V47.36c-4.551-1.707-21.191-4.836-29.582 10.524m-71.112-41.386l-34.702 7.395l-.142 113.92c0 21.05 15.787 36.551 36.836 36.551c11.662 0 20.195-2.133 24.888-4.693V140.8c-4.55 1.849-27.022 8.391-27.022-12.658V77.653h27.022V47.36h-27.022zM35.982 83.484c0-5.546 4.551-7.68 12.09-7.68c10.808 0 24.461 3.272 35.27 9.103V51.484c-11.804-4.693-23.466-6.542-35.27-6.542C19.2 44.942 0 60.018 0 85.192c0 39.252 54.044 32.995 54.044 49.92c0 6.541-5.688 8.675-13.653 8.675c-11.804 0-26.88-4.836-38.827-11.378v33.849c13.227 5.689 26.596 8.106 38.827 8.106c29.582 0 49.92-14.648 49.92-40.106c-.142-42.382-54.329-34.845-54.329-50.774'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-telegram{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cdefs%3E%3ClinearGradient id='SVGuySfwdaH' x1='50%25' x2='50%25' y1='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%232AABEE'/%3E%3Cstop offset='100%25' stop-color='%23229ED9'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23SVGuySfwdaH)' d='M128 0C94.06 0 61.48 13.494 37.5 37.49A128.04 128.04 0 0 0 0 128c0 33.934 13.5 66.514 37.5 90.51C61.48 242.506 94.06 256 128 256s66.52-13.494 90.5-37.49c24-23.996 37.5-56.576 37.5-90.51s-13.5-66.514-37.5-90.51C194.52 13.494 161.94 0 128 0'/%3E%3Cpath fill='%23FFF' d='M57.94 126.648q55.98-24.384 74.64-32.152c35.56-14.786 42.94-17.354 47.76-17.441c1.06-.017 3.42.245 4.96 1.49c1.28 1.05 1.64 2.47 1.82 3.467c.16.996.38 3.266.2 5.038c-1.92 20.24-10.26 69.356-14.5 92.026c-1.78 9.592-5.32 12.808-8.74 13.122c-7.44.684-13.08-4.912-20.28-9.63c-11.26-7.386-17.62-11.982-28.56-19.188c-12.64-8.328-4.44-12.906 2.76-20.386c1.88-1.958 34.64-31.748 35.26-34.45c.08-.338.16-1.598-.6-2.262c-.74-.666-1.84-.438-2.64-.258c-1.14.256-19.12 12.152-54 35.686c-5.1 3.508-9.72 5.218-13.88 5.128c-4.56-.098-13.36-2.584-19.9-4.708c-8-2.606-14.38-3.984-13.82-8.41c.28-2.304 3.46-4.662 9.52-7.072'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-trello{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cdefs%3E%3ClinearGradient id='SVGRQlC3b0s' x1='50%25' x2='50%25' y1='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%230091E6'/%3E%3Cstop offset='100%25' stop-color='%230079BF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='256' height='256' fill='url(%23SVGRQlC3b0s)' rx='25'/%3E%3Crect width='78.08' height='112' x='144.64' y='33.28' fill='%23FFF' rx='12'/%3E%3Crect width='78.08' height='176' x='33.28' y='33.28' fill='%23FFF' rx='12'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-twilio-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23F12E45' d='M128 0c70.656 0 128 57.344 128 128s-57.344 128-128 128S0 198.656 0 128S57.344 0 128 0m0 33.792c-52.224 0-94.208 41.984-94.208 94.208S75.776 222.208 128 222.208s94.208-41.984 94.208-94.208S180.224 33.792 128 33.792m31.744 99.328c14.704 0 26.624 11.92 26.624 26.624s-11.92 26.624-26.624 26.624s-26.624-11.92-26.624-26.624s11.92-26.624 26.624-26.624m-63.488 0c14.704 0 26.624 11.92 26.624 26.624s-11.92 26.624-26.624 26.624s-26.624-11.92-26.624-26.624s11.92-26.624 26.624-26.624m63.488-63.488c14.704 0 26.624 11.92 26.624 26.624s-11.92 26.624-26.624 26.624s-26.624-11.92-26.624-26.624s11.92-26.624 26.624-26.624m-63.488 0c14.704 0 26.624 11.92 26.624 26.624s-11.92 26.624-26.624 26.624s-26.624-11.92-26.624-26.624s11.92-26.624 26.624-26.624'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-twitter{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 209' width='256' height='209'%3E%3Cpath fill='%2355acee' d='M256 25.45a105 105 0 0 1-30.166 8.27c10.845-6.5 19.172-16.793 23.093-29.057a105.2 105.2 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52c0 4.117.465 8.125 1.36 11.97c-43.65-2.191-82.35-23.1-108.255-54.876c-4.52 7.757-7.11 16.78-7.11 26.404c0 18.222 9.273 34.297 23.365 43.716a52.3 52.3 0 0 1-23.79-6.57q-.004.33-.003.661c0 25.447 18.104 46.675 42.13 51.5a52.6 52.6 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475c-17.975 14.086-40.622 22.483-65.228 22.483c-4.24 0-8.42-.249-12.529-.734c23.243 14.902 50.85 23.597 80.51 23.597c96.607 0 149.434-80.031 149.434-149.435q0-3.417-.152-6.795A106.8 106.8 0 0 0 256 25.45'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-typeform-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 257' width='256' height='257'%3E%3Cpath fill='%23262627' d='M121.24.474c33.019-2.718 56.734 6.045 82.25 31.547c27.549 27.532 45.864 63.212 50.8 101.218c5.492 42.266-2.062 73.807-25.326 96.898c-22.247 22.08-54.74 29.364-98.146 25.735l-1.797-.158c-36.963-3.398-63.107-15.517-88.438-41.171C13.526 187.14-.732 156.026.029 123.37c.372-15.987 4.901-29.612 13.635-42.98c5.726-8.765 11.54-15.602 23.704-28.14l4.06-4.158l4.474-4.536C74.73 14.58 93.707 2.741 121.24.475m80.288 33.51C176.586 9.057 153.672.59 121.468 3.241c-27.14 2.234-45.78 14.091-74.95 43.635l-2.11 2.141c-14.21 14.448-20.87 21.835-26.738 30.378l-.854 1.26l-.828 1.252c-8.461 12.95-12.824 26.078-13.184 41.528c-.743 31.846 13.194 62.258 39.754 89.157c25.267 25.59 51.225 37.4 88.49 40.514l1.85.148c41.744 3.21 72.867-4.002 94.11-25.087c22.57-22.402 29.92-53.088 24.53-94.57c-4.855-37.382-22.884-72.503-50.01-99.613M166.984 93.39v13.56h-28.797v77.712h-14.345V106.95H95.045V93.39z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-whatsapp-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 258' width='256' height='258'%3E%3Cdefs%3E%3ClinearGradient id='SVGBRLHCcSy' x1='50%25' x2='50%25' y1='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%231FAF38'/%3E%3Cstop offset='100%25' stop-color='%2360D669'/%3E%3C/linearGradient%3E%3ClinearGradient id='SVGHW6lecxh' x1='50%25' x2='50%25' y1='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%23F9F9F9'/%3E%3Cstop offset='100%25' stop-color='%23FFF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23SVGBRLHCcSy)' d='M5.463 127.456c-.006 21.677 5.658 42.843 16.428 61.499L4.433 252.697l65.232-17.104a123 123 0 0 0 58.8 14.97h.054c67.815 0 123.018-55.183 123.047-123.01c.013-32.867-12.775-63.773-36.009-87.025c-23.23-23.25-54.125-36.061-87.043-36.076c-67.823 0-123.022 55.18-123.05 123.004'/%3E%3Cpath fill='url(%23SVGHW6lecxh)' d='M1.07 127.416c-.007 22.457 5.86 44.38 17.014 63.704L0 257.147l67.571-17.717c18.618 10.151 39.58 15.503 60.91 15.511h.055c70.248 0 127.434-57.168 127.464-127.423c.012-34.048-13.236-66.065-37.3-90.15C194.633 13.286 162.633.014 128.536 0C58.276 0 1.099 57.16 1.071 127.416m40.24 60.376l-2.523-4.005c-10.606-16.864-16.204-36.352-16.196-56.363C22.614 69.029 70.138 21.52 128.576 21.52c28.3.012 54.896 11.044 74.9 31.06c20.003 20.018 31.01 46.628 31.003 74.93c-.026 58.395-47.551 105.91-105.943 105.91h-.042c-19.013-.01-37.66-5.116-53.922-14.765l-3.87-2.295l-40.098 10.513z'/%3E%3Cpath fill='%23FFF' d='M96.678 74.148c-2.386-5.303-4.897-5.41-7.166-5.503c-1.858-.08-3.982-.074-6.104-.074c-2.124 0-5.575.799-8.492 3.984c-2.92 3.188-11.148 10.892-11.148 26.561s11.413 30.813 13.004 32.94c1.593 2.123 22.033 35.307 54.405 48.073c26.904 10.609 32.379 8.499 38.218 7.967c5.84-.53 18.844-7.702 21.497-15.139c2.655-7.436 2.655-13.81 1.859-15.142c-.796-1.327-2.92-2.124-6.105-3.716s-18.844-9.298-21.763-10.361c-2.92-1.062-5.043-1.592-7.167 1.597c-2.124 3.184-8.223 10.356-10.082 12.48c-1.857 2.129-3.716 2.394-6.9.801c-3.187-1.598-13.444-4.957-25.613-15.806c-9.468-8.442-15.86-18.867-17.718-22.056c-1.858-3.184-.199-4.91 1.398-6.497c1.431-1.427 3.186-3.719 4.78-5.578c1.588-1.86 2.118-3.187 3.18-5.311c1.063-2.126.531-3.986-.264-5.579c-.798-1.593-6.987-17.343-9.819-23.64'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-woocommerce-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 153' width='256' height='153'%3E%3Cpath fill='%237F54B3' fill-rule='evenodd' d='M232.138 0H23.759C10.572 0-.103 10.78.001 23.862v79.542c0 13.187 10.676 23.863 23.863 23.863h98.694l45.11 25.118l-10.258-25.118h74.728c13.187 0 23.862-10.676 23.862-23.863V23.862C256 10.675 245.325 0 232.138 0M19.364 18.42c-2.93.21-5.128 1.256-6.594 3.245c-1.465 1.883-1.988 4.29-1.674 7.012q9.262 58.871 17.269 79.437c2.093 5.023 4.5 7.431 7.326 7.222c4.396-.315 9.629-6.385 15.804-18.211q4.867-10.048 15.07-30.143c5.652 19.781 13.397 34.643 23.13 44.586c2.722 2.825 5.548 4.081 8.268 3.872c2.408-.21 4.292-1.465 5.548-3.768q1.57-2.982 1.256-6.907c-.628-9.524.314-22.816 2.93-39.876c2.721-17.583 6.07-30.247 10.152-37.782c.837-1.57 1.151-3.14 1.047-5.024c-.21-2.407-1.256-4.395-3.245-5.965c-1.988-1.57-4.186-2.303-6.593-2.094c-3.035.21-5.338 1.675-6.908 4.605c-6.489 11.827-11.094 30.98-13.815 57.563C84.358 66.145 81.01 54.32 78.392 40.4c-1.15-6.175-3.977-9.106-8.582-8.792q-4.71.315-7.85 6.28L39.04 81.53c-3.768-15.176-7.326-33.7-10.57-55.574q-1.1-8.164-9.106-7.536m201.68 7.536c7.431 1.57 12.978 5.547 16.746 12.14c3.349 5.652 5.023 12.455 5.023 20.619c0 10.78-2.72 20.618-8.163 29.618c-6.28 10.467-14.443 15.7-24.595 15.7q-2.67 0-5.652-.629c-7.43-1.57-12.978-5.546-16.746-12.14q-5.023-8.634-5.023-20.723q0-16.17 8.163-29.514c6.385-10.466 14.548-15.699 24.596-15.699q2.669 0 5.651.628m-4.395 56.62c3.872-3.453 6.488-8.581 7.954-15.489c.418-2.407.732-5.023.732-7.744c0-3.036-.628-6.28-1.884-9.525c-1.57-4.081-3.663-6.28-6.175-6.802c-3.767-.733-7.43 1.36-10.884 6.489c-2.826 3.977-4.606 8.163-5.547 12.454c-.524 2.407-.733 5.024-.733 7.64c0 3.035.628 6.28 1.884 9.524c1.57 4.082 3.663 6.28 6.175 6.803c2.616.523 5.442-.628 8.478-3.35m-44.481-44.48c-3.768-6.593-9.42-10.57-16.746-12.14q-2.983-.628-5.652-.628c-10.047 0-18.21 5.233-24.595 15.7q-8.164 13.343-8.163 29.513q0 12.09 5.023 20.723c3.768 6.594 9.315 10.57 16.746 12.14q2.982.628 5.652.628c10.152 0 18.315-5.232 24.595-15.699c5.442-9 8.163-18.839 8.163-29.618c0-8.164-1.675-14.967-5.023-20.618M158.98 67.088c-1.465 6.908-4.082 12.036-7.954 15.49c-3.035 2.721-5.86 3.872-8.477 3.35c-2.512-.524-4.606-2.722-6.175-6.804c-1.256-3.244-1.884-6.489-1.884-9.524c0-2.616.209-5.233.733-7.64c.941-4.291 2.72-8.477 5.546-12.454c3.455-5.129 7.118-7.222 10.885-6.49c2.512.524 4.605 2.722 6.175 6.803c1.256 3.245 1.884 6.49 1.884 9.525c0 2.72-.21 5.337-.733 7.744'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-zapier-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cpath fill='%23FF4A00' d='M128.08 0c7.231.013 14.343.624 21.256 1.78V76.3l52.831-52.696a128.425 128.425 0 0 1 16.34 13.789a128.468 128.468 0 0 1 13.84 16.312L179.513 106.4h74.715A127.58 127.58 0 0 1 256 127.587v.173c0 7.226-.613 14.306-1.772 21.2H179.5l52.847 52.682a129.615 129.615 0 0 1-13.824 16.312h-.015a128.254 128.254 0 0 1-16.326 13.789l-52.846-52.696v74.52a130.321 130.321 0 0 1-21.243 1.781h-.186a130.26 130.26 0 0 1-21.23-1.78v-74.52l-52.831 52.695a128.401 128.401 0 0 1-30.18-30.1L76.5 148.96H1.785A126.984 126.984 0 0 1 0 127.72v-.371c.012-1.875.135-4.166.311-6.536l.055-.713c.522-6.671 1.419-13.7 1.419-13.7H76.5L23.666 53.705a126.265 126.265 0 0 1 13.81-16.286l.026-.026a127.746 127.746 0 0 1 16.344-13.789L106.677 76.3V1.78A130.278 130.278 0 0 1 127.933 0h.147Zm-.013 95.76h-.122a76.718 76.718 0 0 0-27.034 4.902a76.662 76.662 0 0 0-4.915 26.952v.12a76.383 76.383 0 0 0 4.927 26.951a76.608 76.608 0 0 0 27.022 4.902h.122c9.51 0 18.617-1.74 27.022-4.902a76.146 76.146 0 0 0 4.915-26.952v-.12c0-9.484-1.747-18.57-4.915-26.951a76.614 76.614 0 0 0-27.022-4.902Z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-zendesk-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 195' width='256' height='195'%3E%3Cpath fill='%2303363D' d='M118.25 51.233v142.773H0zm0-51.233c0 32.644-26.481 59.125-59.125 59.125S0 32.645 0 0zm19.5 194.006c0-32.677 26.449-59.125 59.125-59.125S256 161.361 256 194.006zm0-51.266V0H256z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-zoho{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 220' width='512' height='220'%3E%3Cpath fill='%23089949' d='M228.648 174.915c-3.905 0-7.861-.812-11.665-2.485l-81.146-36.161c-14.505-6.441-21.047-23.532-14.606-38.037l36.16-81.146C163.832 2.58 180.924-3.962 195.43 2.479l81.146 36.161c14.505 6.441 21.047 23.532 14.606 38.037l-36.16 81.146c-4.819 10.752-15.368 17.092-26.373 17.092m-4.92-17.7c6.137 2.738 13.339-.05 16.077-6.137l36.161-81.146c2.739-6.137-.05-13.338-6.137-16.077l-81.196-36.16c-6.137-2.74-13.339.05-16.077 6.136l-36.161 81.146c-2.739 6.137.05 13.338 6.136 16.077z'/%3E%3Cpath fill='%23F9B21D' d='M483.193 174.966h-88.855c-15.874 0-28.807-12.933-28.807-28.807V57.304c0-15.875 12.933-28.807 28.807-28.807h88.855c15.874 0 28.807 12.932 28.807 28.807v88.855c0 15.874-12.933 28.807-28.807 28.807M394.338 45.132c-6.694 0-12.172 5.477-12.172 12.172v88.855c0 6.694 5.478 12.172 12.172 12.172h88.855c6.695 0 12.172-5.478 12.172-12.172V57.304c0-6.695-5.477-12.172-12.172-12.172z'/%3E%3Cpath fill='%23E42527' d='m150.443 73.584l-11.969 26.778c-.152.304-.304.558-.456.811l4.666 28.807c1.065 6.644-3.45 12.882-10.042 13.947l-87.74 14.2a12.3 12.3 0 0 1-9.078-2.13c-2.637-1.876-4.361-4.716-4.869-7.911l-14.2-87.74a12.3 12.3 0 0 1 2.13-9.078c1.876-2.637 4.717-4.361 7.912-4.868l87.739-14.201c.66-.101 1.319-.152 1.927-.152c5.833 0 11.056 4.26 12.02 10.245l4.717 29.01l12.374-27.743l-.659-3.905C142.38 23.983 127.57 13.282 111.9 15.818l-87.74 14.2A28.2 28.2 0 0 0 5.445 41.531C.931 47.769-.844 55.376.374 62.984l14.2 87.74c1.217 7.607 5.325 14.25 11.563 18.764c4.92 3.601 10.752 5.427 16.788 5.427c1.521 0 3.093-.102 4.665-.355l87.74-14.2c15.671-2.537 26.372-17.346 23.836-33.017z'/%3E%3Cpath fill='%23226DB4' d='m255.68 115.475l12.881-28.857l-3.651-26.83c-.457-3.194.406-6.39 2.384-8.976s4.818-4.26 8.063-4.666l88.044-11.97c.558-.05 1.116-.1 1.674-.1c2.637 0 5.173.862 7.354 2.485c.405.304.76.659 1.115.963a29 29 0 0 1 14.759-8.317a28.1 28.1 0 0 0-5.833-5.934c-6.136-4.666-13.693-6.644-21.3-5.63l-88.145 11.97c-7.608 1.014-14.404 4.97-19.02 11.106c-4.665 6.137-6.643 13.694-5.629 21.301zm149.816 14.86l-11.564-85.203c-6.491.203-11.715 5.578-11.715 12.12v25.004l6.847 50.31c.456 3.196-.406 6.39-2.384 8.977s-4.818 4.26-8.064 4.666l-88.044 11.97c-3.195.456-6.39-.406-8.976-2.384s-4.26-4.818-4.666-8.064l-4.058-29.872l-12.882 28.857l.457 3.246c1.014 7.608 4.97 14.404 11.107 19.019c5.071 3.854 11.107 5.883 17.395 5.883c1.32 0 2.638-.101 3.956-.254l87.942-11.867c7.608-1.014 14.404-4.97 19.02-11.107c4.665-6.137 6.643-13.693 5.629-21.3'/%3E%3Cpath d='m157.087 217.11l12.578-18.561h-10.346a1.017 1.017 0 0 1-1.015-1.015v-2.485c0-.558.457-1.014 1.015-1.014h16.99c.557 0 1.014.456 1.014 1.014v.964c0 .203-.05.406-.152.558l-12.324 18.562h11.056c.558 0 1.014.456 1.014 1.014v2.485c0 .558-.456 1.015-1.014 1.015h-17.954a1.017 1.017 0 0 1-1.014-1.015v-.913c-.05-.253.05-.456.152-.608m52.948-10.447c0-7.607 5.579-13.085 13.186-13.085c7.861 0 13.186 5.376 13.186 13.136c0 7.861-5.426 13.288-13.287 13.288c-7.912 0-13.085-5.427-13.085-13.339m20.337.102c0-4.616-2.231-8.571-7.252-8.571c-5.072 0-7 4.108-7 8.774c0 4.412 2.385 8.47 7.253 8.47c5.021-.052 7-4.362 7-8.673m42.095-12.78h3.753c.558 0 1.014.456 1.014 1.013v9.434h10.65v-9.434c0-.557.457-1.014 1.015-1.014h3.753c.558 0 1.014.457 1.014 1.014v23.584c0 .557-.456 1.014-1.014 1.014h-3.702a1.017 1.017 0 0 1-1.015-1.014v-9.535h-10.65v9.535c0 .557-.457 1.014-1.015 1.014h-3.753a1.017 1.017 0 0 1-1.014-1.014v-23.584c-.05-.557.406-1.014.964-1.014m56.244 12.678c0-7.607 5.579-13.085 13.186-13.085c7.861 0 13.187 5.376 13.187 13.136c0 7.861-5.427 13.288-13.288 13.288c-7.912 0-13.085-5.427-13.085-13.339m20.287.102c0-4.616-2.232-8.571-7.253-8.571c-5.071 0-6.999 4.108-6.999 8.774c0 4.412 2.384 8.47 7.253 8.47c5.02-.052 6.999-4.362 6.999-8.673'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.i-logos-zoom-icon{background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' width='256' height='256'%3E%3Cdefs%3E%3ClinearGradient id='SVG4Ebe48Yy' x1='23.666%25' x2='76.334%25' y1='95.612%25' y2='4.388%25'%3E%3Cstop offset='0%25' stop-color='%230845BF'/%3E%3Cstop offset='19.11%25' stop-color='%230950DE'/%3E%3Cstop offset='38.23%25' stop-color='%230B59F6'/%3E%3Cstop offset='50%25' stop-color='%230B5CFF'/%3E%3Cstop offset='67.32%25' stop-color='%230E5EFE'/%3E%3Cstop offset='77.74%25' stop-color='%231665FC'/%3E%3Cstop offset='86.33%25' stop-color='%23246FF9'/%3E%3Cstop offset='93.88%25' stop-color='%23387FF4'/%3E%3Cstop offset='100%25' stop-color='%234F90EE'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23SVG4Ebe48Yy)' d='M256 128c0 13.568-1.024 27.136-3.328 40.192c-6.912 43.264-41.216 77.568-84.48 84.48C155.136 254.976 141.568 256 128 256s-27.136-1.024-40.192-3.328c-43.264-6.912-77.568-41.216-84.48-84.48C1.024 155.136 0 141.568 0 128s1.024-27.136 3.328-40.192c6.912-43.264 41.216-77.568 84.48-84.48C100.864 1.024 114.432 0 128 0s27.136 1.024 40.192 3.328c43.264 6.912 77.568 41.216 84.48 84.48C254.976 100.864 256 114.432 256 128'/%3E%3Cpath fill='%23FFF' d='M204.032 207.872H75.008c-8.448 0-16.64-4.608-20.48-12.032c-4.608-8.704-2.816-19.2 4.096-26.112l89.856-89.856H83.968c-17.664 0-32-14.336-32-32h118.784c8.448 0 16.64 4.608 20.48 12.032c4.608 8.704 2.816 19.2-4.096 26.112l-89.6 90.112h74.496c17.664 0 32 14.08 32 31.744'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:100% 100%;width:1em;height:1em;display:inline-block}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.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-1155\\/678{aspect-ratio:1155/678}.aspect-\\[0\\.7\\]{aspect-ratio:.7}.aspect-\\[0\\.8\\]{aspect-ratio:.8}.aspect-\\[0\\.9\\]{aspect-ratio:.9}.aspect-\\[1\\.1\\]{aspect-ratio:1.1}.aspect-\\[3\\/4\\]{aspect-ratio:3/4}.aspect-\\[4\\/5\\]{aspect-ratio:4/5}.aspect-\\[9\\/16\\]{aspect-ratio:9/16}.aspect-\\[1155\\/678\\]{aspect-ratio:1155/678}.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-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.size-32{width:calc(var(--spacing)*32);height:calc(var(--spacing)*32)}.size-40{width:calc(var(--spacing)*40);height:calc(var(--spacing)*40)}.size-96{width:calc(var(--spacing)*96);height:calc(var(--spacing)*96)}.size-\\[1\\.1em\\]{width:1.1em;height:1.1em}.size-\\[1\\.2em\\]{width:1.2em;height:1.2em}.size-\\[800px\\]{width:800px;height:800px}.size-full{width:100%;height:100%}.h-1{height:calc(var(--spacing)*1)}.h-1\\/3{height:33.3333%}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.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-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-32{height:calc(var(--spacing)*32)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-80{height:calc(var(--spacing)*80)}.h-92{height:calc(var(--spacing)*92)}.h-96{height:calc(var(--spacing)*96)}.h-\\[1\\.5px\\]{height:1.5px}.h-\\[28px\\]{height:28px}.h-\\[60px\\]{height:60px}.h-\\[80px\\]{height:80px}.h-\\[80vh\\]{height:80vh}.h-\\[100vh\\]{height:100vh}.h-\\[130\\%\\]{height:130%}.h-\\[300\\%\\]{height:300%}.h-\\[400px\\]{height:400px}.h-\\[500px\\]{height:500px}.h-\\[600px\\]{height:600px}.h-\\[620px\\]{height:620px}.h-\\[700px\\]{height:700px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-\\[500px\\]{max-height:500px}.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-14{min-height:calc(var(--spacing)*14)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-288\\.75{width:calc(var(--spacing)*288.75)}.w-\\[1\\.5px\\]{width:1.5px}.w-\\[1px\\]{width:1px}.w-\\[3px\\]{width:3px}.w-\\[28px\\]{width:28px}.w-\\[60px\\]{width:60px}.w-\\[72rem\\]{width:72rem}.w-\\[80\\%\\]{width:80%}.w-\\[80px\\]{width:80px}.w-\\[80vw\\]{width:80vw}.w-\\[115\\%\\]{width:115%}.w-\\[250px\\]{width:250px}.w-\\[280px\\]{width:280px}.w-\\[300px\\]{width:300px}.w-\\[620px\\]{width:620px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.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-7xl{max-width:var(--container-7xl)}.max-w-\\[400px\\]{max-width:400px}.max-w-\\[420px\\]{max-width:420px}.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-lg{max-width:var(--breakpoint-lg)}.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-\\[120px\\]{min-width:120px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-\\[0_0_auto\\]{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-0{flex-basis:calc(var(--spacing)*0)}.basis-1\\/2{flex-basis:50%}.basis-full{flex-basis:100%}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.origin-top-left{transform-origin:0 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-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-6{--tw-translate-x:calc(var(--spacing)*6);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-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-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-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-12{rotate:12deg}.rotate-45{rotate:45deg}.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-bounce{animation:var(--animate-bounce)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.auto-rows-\\[320px\\]{grid-auto-rows:320px}.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))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.\\[gap\\:var\\(--gap\\)\\]{gap:var(--gap)}.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-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-10{gap:calc(var(--spacing)*10)}.gap-12{gap:calc(var(--spacing)*12)}.gap-14{gap:calc(var(--spacing)*14)}.gap-16{gap:calc(var(--spacing)*16)}: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-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-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-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)))}:where(.space-y-24>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*24)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*24)*calc(1 - var(--tw-space-y-reverse)))}: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-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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.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}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-4xl{border-radius:var(--radius-4xl)}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[40px\\]{border-radius:40px}.rounded-\\[45px\\]{border-radius:45px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-t-3xl{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.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-blue-600{border-color:var(--color-blue-600)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.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-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-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-red-100{border-color:var(--color-red-100)}.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-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\\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\\/30{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.border-white\\/100{border-color:var(--color-white)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-yellow-400{border-color:var(--color-yellow-400)}.bg-black{background-color:var(--color-black)}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.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\\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\\/40{background-color:color-mix(in oklab,var(--color-black)40%,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\\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-600\\/10{background-color:#155dfc1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-600\\/10{background-color:color-mix(in oklab,var(--color-blue-600)10%,transparent)}}.bg-blue-700{background-color:var(--color-blue-700)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\\/65{background-color:#1e2939a6}@supports (color:color-mix(in lab,red,red)){.bg-gray-800\\/65{background-color:color-mix(in oklab,var(--color-gray-800)65%,transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-950{background-color:var(--color-gray-950)}.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-500\\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-green-600\\/10{background-color:#00a5441a}@supports (color:color-mix(in lab,red,red)){.bg-green-600\\/10{background-color:color-mix(in oklab,var(--color-green-600)10%,transparent)}}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-indigo-600\\/10{background-color:#4f39f61a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-600\\/10{background-color:color-mix(in oklab,var(--color-indigo-600)10%,transparent)}}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-purple-700{background-color:var(--color-purple-700)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-rose-500{background-color:var(--color-rose-500)}.bg-slate-900\\/95{background-color:#0f172bf2}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\\/95{background-color:color-mix(in oklab,var(--color-slate-900)95%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/2\\.5{background-color:#ffffff06}@supports (color:color-mix(in lab,red,red)){.bg-white\\/2\\.5{background-color:color-mix(in oklab,var(--color-white)2.5%,transparent)}}.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\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\\/25{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.bg-white\\/25{background-color:color-mix(in oklab,var(--color-white)25%,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\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-white\\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\\/95{background-color:color-mix(in oklab,var(--color-white)95%,transparent)}}.bg-white\\/100{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-600{background-color:var(--color-yellow-600)}.bg-linear-to-tr{--tw-gradient-position:to top right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-tr{--tw-gradient-position:to top right in oklab}}.bg-linear-to-tr{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-l{--tw-gradient-position:to left 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))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-tr{--tw-gradient-position:to top right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\\[\\#5d9bff\\]{--tw-gradient-from:#5d9bff;--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-\\[\\#647083\\]{--tw-gradient-from:#647083;--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-\\[\\#ff80b5\\]{--tw-gradient-from:#ff80b5;--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\\/0{--tw-gradient-from:#0000}@supports (color:color-mix(in lab,red,red)){.from-black\\/0{--tw-gradient-from:color-mix(in oklab,var(--color-black)0%,transparent)}}.from-black\\/0{--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\\/30{--tw-gradient-from:#0000004d}@supports (color:color-mix(in lab,red,red)){.from-black\\/30{--tw-gradient-from:color-mix(in oklab,var(--color-black)30%,transparent)}}.from-black\\/30{--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\\/60{--tw-gradient-from:#0009}@supports (color:color-mix(in lab,red,red)){.from-black\\/60{--tw-gradient-from:color-mix(in oklab,var(--color-black)60%,transparent)}}.from-black\\/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-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-gray-950{--tw-gradient-from:var(--color-gray-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))}.from-green-50{--tw-gradient-from:var(--color-green-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-green-500\\/10{--tw-gradient-from:#00c7581a}@supports (color:color-mix(in lab,red,red)){.from-green-500\\/10{--tw-gradient-from:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.from-green-500\\/10{--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-slate-50{--tw-gradient-from:var(--color-slate-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-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))}.from-white{--tw-gradient-from:var(--color-white);--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\\/20{--tw-gradient-via:#0003}@supports (color:color-mix(in lab,red,red)){.via-black\\/20{--tw-gradient-via:color-mix(in oklab,var(--color-black)20%,transparent)}}.via-black\\/20{--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-blue-950{--tw-gradient-via:var(--color-blue-950);--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-transparent{--tw-gradient-via:transparent;--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-white{--tw-gradient-via:var(--color-white);--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-\\[\\#9089fc\\]{--tw-gradient-to:#9089fc;--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-\\[\\#606060\\]{--tw-gradient-to:#606060;--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-\\[\\#ffae74\\]{--tw-gradient-to:#ffae74;--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{--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-black\\/10{--tw-gradient-to:#0000001a}@supports (color:color-mix(in lab,red,red)){.to-black\\/10{--tw-gradient-to:color-mix(in oklab,var(--color-black)10%,transparent)}}.to-black\\/10{--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\\/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\\/70{--tw-gradient-to:#000000b3}@supports (color:color-mix(in lab,red,red)){.to-black\\/70{--tw-gradient-to:color-mix(in oklab,var(--color-black)70%,transparent)}}.to-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))}.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-blue-50{--tw-gradient-to: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))}.to-blue-500\\/10{--tw-gradient-to:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.to-blue-500\\/10{--tw-gradient-to:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.to-blue-500\\/10{--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-green-50{--tw-gradient-to:var(--color-green-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-green-100{--tw-gradient-to:var(--color-green-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-indigo-100{--tw-gradient-to:var(--color-indigo-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-purple-950{--tw-gradient-to:var(--color-purple-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))}.to-transparent{--tw-gradient-to: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))}.to-white{--tw-gradient-to:var(--color-white);--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-40\\%{--tw-gradient-to-position:40%}.\\[mask-image\\:radial-gradient\\(450px_circle_at_center\\,white\\,transparent\\)\\]{-webkit-mask-image:radial-gradient(450px,#fff,#0000);mask-image:radial-gradient(450px,#fff,#0000)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.fill-current{fill:currentColor}.stroke-1{stroke-width:1px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.\\!p-0{padding:calc(var(--spacing)*0)!important}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.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-10{padding:calc(var(--spacing)*10)}.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-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.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-24{padding-inline:calc(var(--spacing)*24)}.px-36{padding-inline:calc(var(--spacing)*36)}.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-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-14{padding-block:calc(var(--spacing)*14)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.py-24{padding-block:calc(var(--spacing)*24)}.py-32{padding-block:calc(var(--spacing)*32)}.pt-2{padding-top:calc(var(--spacing)*2)}.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-12{padding-top:calc(var(--spacing)*12)}.pt-16{padding-top:calc(var(--spacing)*16)}.pt-20{padding-top:calc(var(--spacing)*20)}.pt-24{padding-top:calc(var(--spacing)*24)}.pt-32{padding-top:calc(var(--spacing)*32)}.pt-36{padding-top:calc(var(--spacing)*36)}.pt-40{padding-top:calc(var(--spacing)*40)}.pr-0{padding-right:calc(var(--spacing)*0)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-9{padding-bottom:calc(var(--spacing)*9)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pb-36{padding-bottom:calc(var(--spacing)*36)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-8{padding-left:calc(var(--spacing)*8)}.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)}.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-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--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-sm\\/6{font-size:var(--text-sm);line-height:calc(var(--spacing)*6)}.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-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.\\!leading-\\[1\\.1\\]{--tw-leading:1.1!important;line-height:1.1!important}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-\\[1\\.1\\]{--tw-leading:1.1;line-height:1.1}.leading-\\[1\\.2\\]{--tw-leading:1.2;line-height:1.2}.leading-\\[1\\.4\\]{--tw-leading:1.4;line-height:1.4}.leading-\\[1\\.5\\]{--tw-leading:1.5;line-height:1.5}.leading-\\[1\\.6\\]{--tw-leading:1.6;line-height:1.6}.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-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-nowrap{text-wrap:nowrap}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.whitespace-nowrap{white-space:nowrap}.text-\\[\\#5865F2\\]{color:#5865f2}.text-black{color:var(--color-black)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-current{color:currentColor}.text-gray-300{color:var(--color-gray-300)}.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-400{color:var(--color-green-400)}.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-800{color:var(--color-green-800)}.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-orange-50{color:var(--color-orange-50)}.text-orange-300{color:var(--color-orange-300)}.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-purple-600{color:var(--color-purple-600)}.text-purple-800{color:var(--color-purple-800)}.text-purple-900{color:var(--color-purple-900)}.text-red-50{color:var(--color-red-50)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.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-900{color:var(--color-rose-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\\/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)}.text-yellow-900{color:var(--color-yellow-900)}.capitalize{text-transform:capitalize}.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,)}.placeholder-white\\/50::placeholder{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.placeholder-white\\/50::placeholder{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.accent-green-600{accent-color:var(--color-green-600)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.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-\\[inset_0_0_2px_1px_\\#ffffff4d\\]{--tw-shadow:inset 0 0 2px 1px var(--tw-shadow-color,#ffffff4d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 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)}.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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.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-3{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + 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)}.shadow-black\\/5{--tw-shadow-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.shadow-black\\/5{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)5%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-black\\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.ring-black\\/5{--tw-ring-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.ring-gray-200{--tw-ring-color:var(--color-gray-200)}.ring-white{--tw-ring-color:var(--color-white)}.ring-white\\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.ring-white\\/10{--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.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,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));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,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.blur-xl{--tw-blur:blur(var(--blur-xl));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{--tw-backdrop-blur:blur(8px);-webkit-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-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-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-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-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-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-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-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));-webkit-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-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));-webkit-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-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-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-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-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,-webkit-backdrop-filter,backdrop-filter,display,visibility,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-shadow{transition-property:box-shadow;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-\\[5000\\]{--tw-duration:5000;transition-duration:5000}.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-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-transform{will-change:transform}.select-none{-webkit-user-select:none;user-select:none}.\\!\\[animation-duration\\:40s\\]{animation-duration:40s!important}.\\[--gap\\:1rem\\]{--gap:1rem}.\\[animation-play-state\\:running\\]{animation-play-state:running}.\\[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}:is(.\\*\\:h-full>*){height:100%}:is(.\\*\\:w-full>*){width:100%}@media (hover:hover){.group-hover\\:ml-1:is(:where(.group):hover *){margin-left:calc(var(--spacing)*1)}.group-hover\\:ml-3:is(:where(.group):hover *){margin-left:calc(var(--spacing)*3)}.group-hover\\:translate-x-0\\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\\:-translate-y-2:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.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\\:rotate-0:is(:where(.group):hover *){rotate:none}.group-hover\\:rotate-45:is(:where(.group):hover *){rotate:45deg}.group-hover\\:bg-gray-100:is(:where(.group):hover *){background-color:var(--color-gray-100)}.group-hover\\:bg-white:is(:where(.group):hover *){background-color:var(--color-white)}.group-hover\\:from-black\\/10:is(:where(.group):hover *){--tw-gradient-from:#0000001a}@supports (color:color-mix(in lab,red,red)){.group-hover\\:from-black\\/10:is(:where(.group):hover *){--tw-gradient-from:color-mix(in oklab,var(--color-black)10%,transparent)}}.group-hover\\:from-black\\/10:is(:where(.group):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))}.group-hover\\:to-black\\/20:is(:where(.group):hover *){--tw-gradient-to:#0003}@supports (color:color-mix(in lab,red,red)){.group-hover\\:to-black\\/20:is(:where(.group):hover *){--tw-gradient-to:color-mix(in oklab,var(--color-black)20%,transparent)}}.group-hover\\:to-black\\/20:is(:where(.group):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))}.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-80:is(:where(.group):hover *){opacity:.8}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\:shadow-md:is(:where(.group):hover *){--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}.group-hover\\:\\[animation-play-state\\:paused\\]:is(:where(.group):hover *){animation-play-state:paused}}.group-active\\:opacity-50:is(:where(.group):active *){opacity:.5}.placeholder\\:text-gray-400::placeholder{color:var(--color-gray-400)}.placeholder\\:text-white\\/60::placeholder{color:#fff9}@supports (color:color-mix(in lab,red,red)){.placeholder\\:text-white\\/60::placeholder{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.last\\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.focus-within\\:ring-gray-600:focus-within{--tw-ring-color:var(--color-gray-600)}@media (hover:hover){.hover\\:-translate-y-4:hover{--tw-translate-y:calc(var(--spacing)*-4);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:translate-y-0:hover{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.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\\:scale-\\[1\\.02\\]:hover{scale:1.02}.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-indigo-200:hover{border-color:var(--color-indigo-200)}.hover\\:border-orange-200:hover{border-color:var(--color-orange-200)}.hover\\:border-red-200:hover{border-color:var(--color-red-200)}.hover\\:border-rose-200:hover{border-color:var(--color-rose-200)}.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-blue-700:hover{background-color:var(--color-blue-700)}.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\\/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-600:hover{background-color:var(--color-green-600)}.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-purple-700:hover{background-color:var(--color-purple-700)}.hover\\:bg-red-200:hover{background-color:var(--color-red-200)}.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-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\\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,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\\:bg-white\\/90:hover{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/90:hover{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.hover\\:bg-gradient-to-r:hover{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.hover\\:from-transparent:hover{--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))}.hover\\:to-gray-50:hover{--tw-gradient-to:var(--color-gray-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))}.hover\\:text-blue-700:hover{color:var(--color-blue-700)}.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\\:no-underline:hover{text-decoration-line:none}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-70:hover{opacity:.7}.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-90:hover{opacity:.9}.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\\:shadow-xl:hover{--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)}.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-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-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\\: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-green-500:focus{--tw-ring-color:var(--color-green-500)}.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\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.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\\: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}@media not all and (min-width:64rem){.max-lg\\:mx-auto{margin-inline:auto}.max-lg\\:w-full{width:100%}.max-lg\\:max-w-md{max-width:var(--container-md)}}@media (min-width:40rem){.sm\\:-mt-12{margin-top:calc(var(--spacing)*-12)}.sm\\:flex{display:flex}.sm\\:hidden{display:none}.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\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:gap-8{gap:calc(var(--spacing)*8)}.sm\\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\\:py-12{padding-block:calc(var(--spacing)*12)}.sm\\:pt-24{padding-top:calc(var(--spacing)*24)}.sm\\:pb-6{padding-bottom:calc(var(--spacing)*6)}.sm\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--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\\:-top-6{top:calc(var(--spacing)*-6)}.md\\:-top-10{top:calc(var(--spacing)*-10)}.md\\:-left-10{left:calc(var(--spacing)*-10)}.md\\:col-span-2{grid-column:span 2/span 2}.md\\:col-span-4{grid-column:span 4/span 4}.md\\:row-span-1{grid-row:span 1/span 1}.md\\:row-span-2{grid-row:span 2/span 2}.md\\:mt-12{margin-top:calc(var(--spacing)*12)}.md\\:mt-16{margin-top:calc(var(--spacing)*16)}.md\\:mt-20{margin-top:calc(var(--spacing)*20)}.md\\:mr-8{margin-right:calc(var(--spacing)*8)}.md\\:mb-4{margin-bottom:calc(var(--spacing)*4)}.md\\:-ml-1{margin-left:calc(var(--spacing)*-1)}.md\\:block{display:block}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.md\\:h-96{height:calc(var(--spacing)*96)}.md\\:h-\\[30rem\\]{height:30rem}.md\\:h-\\[80vh\\]{height:80vh}.md\\:h-\\[500px\\]{height:500px}.md\\:h-\\[600px\\]{height:600px}.md\\:max-h-\\[800px\\]{max-height:800px}.md\\:w-1\\/2{width:50%}.md\\:w-1\\/3{width:33.3333%}.md\\:w-\\[48\\%\\]{width:48%}.md\\:w-\\[320px\\]{width:320px}.md\\:w-auto{width:auto}.md\\:max-w-\\[500px\\]{max-width:500px}.md\\:basis-1\\/3{flex-basis:33.3333%}.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-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\\:flex-row{flex-direction:row}.md\\:justify-between{justify-content:space-between}.md\\:gap-4{gap:calc(var(--spacing)*4)}.md\\:gap-6{gap:calc(var(--spacing)*6)}.md\\:gap-8{gap:calc(var(--spacing)*8)}.md\\:gap-12{gap:calc(var(--spacing)*12)}.md\\:gap-16{gap:calc(var(--spacing)*16)}:where(.md\\: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)))}.md\\:overflow-hidden{overflow:hidden}.md\\:rounded-3xl{border-radius:var(--radius-3xl)}.md\\:p-6{padding:calc(var(--spacing)*6)}.md\\:p-8{padding:calc(var(--spacing)*8)}.md\\:p-12{padding:calc(var(--spacing)*12)}.md\\:px-6{padding-inline:calc(var(--spacing)*6)}.md\\:px-8{padding-inline:calc(var(--spacing)*8)}.md\\:px-12{padding-inline:calc(var(--spacing)*12)}.md\\:py-3{padding-block:calc(var(--spacing)*3)}.md\\:py-6{padding-block:calc(var(--spacing)*6)}.md\\:py-24{padding-block:calc(var(--spacing)*24)}.md\\:py-32{padding-block:calc(var(--spacing)*32)}.md\\:pr-8{padding-right:calc(var(--spacing)*8)}.md\\:pb-8{padding-bottom:calc(var(--spacing)*8)}.md\\:pl-8{padding-left:calc(var(--spacing)*8)}.md\\:text-center{text-align:center}.md\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.md\\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.md\\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.md\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\\:leading-\\[1\\.2\\]{--tw-leading:1.2;line-height:1.2}.md\\:leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.md\\: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)}.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\\:absolute{position:absolute}.lg\\:sticky{position:sticky}.lg\\:top-24{top:calc(var(--spacing)*24)}.lg\\:mx-auto{margin-inline:auto}.lg\\:-mt-24{margin-top:calc(var(--spacing)*-24)}.lg\\:mt-0{margin-top:calc(var(--spacing)*0)}.lg\\:mb-6{margin-bottom:calc(var(--spacing)*6)}.lg\\:mb-8{margin-bottom:calc(var(--spacing)*8)}.lg\\:mb-10{margin-bottom:calc(var(--spacing)*10)}.lg\\:mb-12{margin-bottom:calc(var(--spacing)*12)}.lg\\:ml-\\[50\\%\\]{margin-left:50%}.lg\\:block{display:block}.lg\\:grid{display:grid}.lg\\:hidden{display:none}.lg\\:h-64{height:calc(var(--spacing)*64)}.lg\\:h-72{height:calc(var(--spacing)*72)}.lg\\:h-80{height:calc(var(--spacing)*80)}.lg\\:h-96{height:calc(var(--spacing)*96)}.lg\\:h-\\[20rem\\]{height:20rem}.lg\\:h-\\[22rem\\]{height:22rem}.lg\\:h-\\[24rem\\]{height:24rem}.lg\\:h-\\[26rem\\]{height:26rem}.lg\\:h-\\[36rem\\]{height:36rem}.lg\\:max-h-\\[900px\\]{max-height:900px}.lg\\:w-1\\/2{width:50%}.lg\\:w-2\\/5{width:40%}.lg\\:w-72{width:calc(var(--spacing)*72)}.lg\\:max-w-4xl{max-width:var(--container-4xl)}.lg\\:max-w-7xl{max-width:var(--container-7xl)}.lg\\:max-w-\\[600px\\]{max-width:600px}.lg\\:max-w-xl{max-width:var(--container-xl)}.lg\\:basis-1\\/4{flex-basis:25%}.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\\:items-center{align-items:center}.lg\\:items-start{align-items:flex-start}.lg\\:justify-between{justify-content:space-between}.lg\\:justify-end{justify-content:flex-end}.lg\\:gap-0{gap:calc(var(--spacing)*0)}.lg\\:gap-16{gap:calc(var(--spacing)*16)}:where(.lg\\: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)))}.lg\\:self-start{align-self:flex-start}.lg\\:overflow-visible{overflow:visible}.lg\\:p-6{padding:calc(var(--spacing)*6)}.lg\\:p-16{padding:calc(var(--spacing)*16)}.lg\\:p-20{padding:calc(var(--spacing)*20)}.lg\\:px-6{padding-inline:calc(var(--spacing)*6)}.lg\\:px-8{padding-inline:calc(var(--spacing)*8)}.lg\\:py-32{padding-block:calc(var(--spacing)*32)}.lg\\:pt-32{padding-top:calc(var(--spacing)*32)}.lg\\:pr-8{padding-right:calc(var(--spacing)*8)}.lg\\:pr-16{padding-right:calc(var(--spacing)*16)}.lg\\:text-left{text-align:left}.lg\\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.lg\\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.lg\\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.lg\\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.lg\\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.lg\\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}.lg\\:text-9xl{font-size:var(--text-9xl);line-height:var(--tw-leading,var(--text-9xl--line-height))}.lg\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.lg\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.lg\\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:80rem){.xl\\:block{display:block}.xl\\:basis-1\\/5{flex-basis:20%}.xl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container agent (min-width:140px){.\\@\\[140px\\]\\/agent\\:inline{display:inline}}@container agent (min-width:200px){.\\@\\[200px\\]\\/agent\\:h-3\\.5{height:calc(var(--spacing)*3.5)}.\\@\\[200px\\]\\/agent\\:w-3\\.5{width:calc(var(--spacing)*3.5)}.\\@\\[200px\\]\\/agent\\:gap-1{gap:calc(var(--spacing)*1)}.\\@\\[200px\\]\\/agent\\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@container agent (min-width:280px){.\\@\\[280px\\]\\/agent\\:gap-1\\.5{gap:calc(var(--spacing)*1.5)}}@container agent (min-width:400px){.\\@\\[400px\\]\\/agent\\:px-2{padding-inline:calc(var(--spacing)*2)}}@container agent (min-width:480px){.\\@\\[480px\\]\\/agent\\:px-6{padding-inline:calc(var(--spacing)*6)}}@container agent (min-width:580px){.\\@\\[580px\\]\\/agent\\:px-3{padding-inline:calc(var(--spacing)*3)}}@container (min-width:24rem){.\\@sm\\:py-4{padding-block:calc(var(--spacing)*4)}}@media (prefers-color-scheme:dark){.dark\\:border-gray-400{border-color:var(--color-gray-400)}.dark\\:border-gray-600{border-color:var(--color-gray-600)}.dark\\:border-gray-700{border-color:var(--color-gray-700)}.dark\\:border-gray-800\\/20{border-color:#1e293933}@supports (color:color-mix(in lab,red,red)){.dark\\:border-gray-800\\/20{border-color:color-mix(in oklab,var(--color-gray-800)20%,transparent)}}.dark\\:border-green-600{border-color:var(--color-green-600)}.dark\\:border-green-800\\/20{border-color:#01663033}@supports (color:color-mix(in lab,red,red)){.dark\\:border-green-800\\/20{border-color:color-mix(in oklab,var(--color-green-800)20%,transparent)}}.dark\\:border-indigo-600{border-color:var(--color-indigo-600)}.dark\\:border-indigo-800\\/20{border-color:#372aac33}@supports (color:color-mix(in lab,red,red)){.dark\\:border-indigo-800\\/20{border-color:color-mix(in oklab,var(--color-indigo-800)20%,transparent)}}.dark\\:border-orange-600{border-color:var(--color-orange-600)}.dark\\:border-orange-800\\/20{border-color:#9f2d0033}@supports (color:color-mix(in lab,red,red)){.dark\\:border-orange-800\\/20{border-color:color-mix(in oklab,var(--color-orange-800)20%,transparent)}}.dark\\:border-red-600{border-color:var(--color-red-600)}.dark\\:border-red-800\\/20{border-color:#9f071233}@supports (color:color-mix(in lab,red,red)){.dark\\:border-red-800\\/20{border-color:color-mix(in oklab,var(--color-red-800)20%,transparent)}}.dark\\:border-rose-600{border-color:var(--color-rose-600)}.dark\\:border-rose-800\\/20{border-color:#a3003733}@supports (color:color-mix(in lab,red,red)){.dark\\:border-rose-800\\/20{border-color:color-mix(in oklab,var(--color-rose-800)20%,transparent)}}.dark\\:bg-gray-600\\/30{background-color:#4a55654d}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-600\\/30{background-color:color-mix(in oklab,var(--color-gray-600)30%,transparent)}}.dark\\:bg-gray-600\\/90{background-color:#4a5565e6}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-600\\/90{background-color:color-mix(in oklab,var(--color-gray-600)90%,transparent)}}.dark\\:bg-gray-700\\/40{background-color:#36415366}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-700\\/40{background-color:color-mix(in oklab,var(--color-gray-700)40%,transparent)}}.dark\\:bg-gray-800\\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-800\\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.dark\\:bg-gray-900{background-color:var(--color-gray-900)}.dark\\:bg-gray-900\\/95{background-color:#101828f2}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-gray-900\\/95{background-color:color-mix(in oklab,var(--color-gray-900)95%,transparent)}}.dark\\:bg-green-700\\/70{background-color:#008138b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-700\\/70{background-color:color-mix(in oklab,var(--color-green-700)70%,transparent)}}.dark\\:bg-green-800\\/20{background-color:#01663033}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-800\\/20{background-color:color-mix(in oklab,var(--color-green-800)20%,transparent)}}.dark\\:bg-indigo-700\\/70{background-color:#432dd7b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-indigo-700\\/70{background-color:color-mix(in oklab,var(--color-indigo-700)70%,transparent)}}.dark\\:bg-indigo-800\\/20{background-color:#372aac33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-indigo-800\\/20{background-color:color-mix(in oklab,var(--color-indigo-800)20%,transparent)}}.dark\\:bg-orange-700\\/70{background-color:#c53c00b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-orange-700\\/70{background-color:color-mix(in oklab,var(--color-orange-700)70%,transparent)}}.dark\\:bg-orange-800\\/20{background-color:#9f2d0033}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-orange-800\\/20{background-color:color-mix(in oklab,var(--color-orange-800)20%,transparent)}}.dark\\:bg-red-700\\/70{background-color:#bf000fb3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-700\\/70{background-color:color-mix(in oklab,var(--color-red-700)70%,transparent)}}.dark\\:bg-red-800\\/20{background-color:#9f071233}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-800\\/20{background-color:color-mix(in oklab,var(--color-red-800)20%,transparent)}}.dark\\:bg-rose-700\\/70{background-color:#c20039b3}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-700\\/70{background-color:color-mix(in oklab,var(--color-rose-700)70%,transparent)}}.dark\\:bg-rose-800\\/20{background-color:#a3003733}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-rose-800\\/20{background-color:color-mix(in oklab,var(--color-rose-800)20%,transparent)}}.dark\\:bg-transparent{background-color:#0000}.dark\\:bg-white{background-color:var(--color-white)}.dark\\:text-gray-50{color:var(--color-gray-50)}.dark\\:text-gray-100{color:var(--color-gray-100)}.dark\\:text-gray-300{color:var(--color-gray-300)}.dark\\:text-gray-400{color:var(--color-gray-400)}.dark\\:text-gray-500{color:var(--color-gray-500)}.dark\\:text-green-50{color:var(--color-green-50)}.dark\\:text-green-100{color:var(--color-green-100)}.dark\\:text-green-400{color:var(--color-green-400)}.dark\\:text-green-500{color:var(--color-green-500)}.dark\\:text-indigo-50{color:var(--color-indigo-50)}.dark\\:text-indigo-100{color:var(--color-indigo-100)}.dark\\:text-indigo-400{color:var(--color-indigo-400)}.dark\\:text-indigo-500{color:var(--color-indigo-500)}.dark\\:text-orange-50{color:var(--color-orange-50)}.dark\\:text-orange-100{color:var(--color-orange-100)}.dark\\:text-orange-400{color:var(--color-orange-400)}.dark\\:text-orange-500{color:var(--color-orange-500)}.dark\\:text-red-50{color:var(--color-red-50)}.dark\\:text-red-100{color:var(--color-red-100)}.dark\\:text-red-400{color:var(--color-red-400)}.dark\\:text-red-500{color:var(--color-red-500)}.dark\\:text-rose-50{color:var(--color-rose-50)}.dark\\:text-rose-100{color:var(--color-rose-100)}.dark\\:text-rose-400{color:var(--color-rose-400)}.dark\\:text-rose-500{color:var(--color-rose-500)}.dark\\:text-white{color:var(--color-white)}.dark\\:\\[box-shadow\\:0_-20px_80px_-20px_\\#ffffff1f_inset\\]{box-shadow:inset 0 -20px 80px -20px #ffffff1f}.dark\\:ring-gray-600\\/70{--tw-ring-color:#4a5565b3}@supports (color:color-mix(in lab,red,red)){.dark\\:ring-gray-600\\/70{--tw-ring-color:color-mix(in oklab,var(--color-gray-600)70%,transparent)}}.dark\\:placeholder\\:text-gray-500::placeholder{color:var(--color-gray-500)}.dark\\:focus-within\\:ring-gray-500:focus-within{--tw-ring-color:var(--color-gray-500)}@media (hover:hover){.dark\\:hover\\:border-gray-500:hover{border-color:var(--color-gray-500)}.dark\\:hover\\:border-gray-600:hover{border-color:var(--color-gray-600)}.dark\\:hover\\:border-green-700:hover{border-color:var(--color-green-700)}.dark\\:hover\\:border-indigo-700:hover{border-color:var(--color-indigo-700)}.dark\\:hover\\:border-orange-700:hover{border-color:var(--color-orange-700)}.dark\\:hover\\:border-red-700:hover{border-color:var(--color-red-700)}.dark\\:hover\\:border-rose-700:hover{border-color:var(--color-rose-700)}.dark\\:hover\\:bg-gray-600\\/50:hover{background-color:#4a556580}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-gray-600\\/50:hover{background-color:color-mix(in oklab,var(--color-gray-600)50%,transparent)}}.dark\\:hover\\:bg-green-400\\/10:hover{background-color:#05df721a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-green-400\\/10:hover{background-color:color-mix(in oklab,var(--color-green-400)10%,transparent)}}.dark\\:hover\\:bg-green-800:hover{background-color:var(--color-green-800)}.dark\\:hover\\:bg-green-800\\/40:hover{background-color:#01663066}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-green-800\\/40:hover{background-color:color-mix(in oklab,var(--color-green-800)40%,transparent)}}.dark\\:hover\\:bg-indigo-400\\/10:hover{background-color:#7d87ff1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-indigo-400\\/10:hover{background-color:color-mix(in oklab,var(--color-indigo-400)10%,transparent)}}.dark\\:hover\\:bg-indigo-800:hover{background-color:var(--color-indigo-800)}.dark\\:hover\\:bg-indigo-800\\/40:hover{background-color:#372aac66}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-indigo-800\\/40:hover{background-color:color-mix(in oklab,var(--color-indigo-800)40%,transparent)}}.dark\\:hover\\:bg-orange-400\\/10:hover{background-color:#ff8b1a1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-orange-400\\/10:hover{background-color:color-mix(in oklab,var(--color-orange-400)10%,transparent)}}.dark\\:hover\\:bg-orange-800:hover{background-color:var(--color-orange-800)}.dark\\:hover\\:bg-orange-800\\/40:hover{background-color:#9f2d0066}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-orange-800\\/40:hover{background-color:color-mix(in oklab,var(--color-orange-800)40%,transparent)}}.dark\\:hover\\:bg-red-400\\/10:hover{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-400\\/10:hover{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.dark\\:hover\\:bg-red-800:hover{background-color:var(--color-red-800)}.dark\\:hover\\:bg-red-800\\/40:hover{background-color:#9f071266}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-red-800\\/40:hover{background-color:color-mix(in oklab,var(--color-red-800)40%,transparent)}}.dark\\:hover\\:bg-rose-400\\/10:hover{background-color:#ff667f1a}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-rose-400\\/10:hover{background-color:color-mix(in oklab,var(--color-rose-400)10%,transparent)}}.dark\\:hover\\:bg-rose-800:hover{background-color:var(--color-rose-800)}.dark\\:hover\\:bg-rose-800\\/40:hover{background-color:#a3003766}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-rose-800\\/40:hover{background-color:color-mix(in oklab,var(--color-rose-800)40%,transparent)}}}.dark\\:focus\\:bg-gray-800:focus{background-color:var(--color-gray-800)}.dark\\:focus\\:ring-gray-500:focus{--tw-ring-color:var(--color-gray-500)}.dark\\:focus\\:ring-white\\/70:focus{--tw-ring-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.dark\\:focus\\:ring-white\\/70:focus{--tw-ring-color:color-mix(in oklab,var(--color-white)70%,transparent)}}}.\\[\\&\\>div\\[data-slot\\=carousel-content\\]\\]\\:overflow-visible>div[data-slot=carousel-content]{overflow:visible}.\\[\\&\\>div\\[data-slot\\=carousel-content\\]\\]\\:\\[clip-path\\:inset\\(-100vw_-100vw_-100vw_0\\)\\]>div[data-slot=carousel-content]{clip-path:inset(-100vw -100vw -100vw 0)}.\\[\\&\\[data-state\\=open\\]\\>span\\:last-child\\]\\:rotate-180[data-state=open]>span:last-child{rotate:180deg}}@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-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}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}",this.shadowRoot.appendChild(i);const n=document.createElement("div");n.id="fiction-widget-root",this.shadowRoot.appendChild(n),this.app=((...e)=>{const t=(Fa||(Fa=yn(ja))).createApp(...e),{mount:i}=t;return t.mount=e=>{const n=function(e){return v(e)?document.querySelector(e):e}(e);if(!n)return;const r=t._component;m(r)||r.render||r.template||(r.template=n.innerHTML),1===n.nodeType&&(n.textContent="");const a=i(n,!1,function(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),a},t})(db,{handle:this.config.handle,context:this.config.context,firstMessage:this.config.firstMessage,position:this.config.position||"bottom-right",apiBase:this.config.apiBase}),this.widgetInstance=this.app.mount(n),document.body.appendChild(this.container)}getPositionStyles(e){switch(e){case"bottom-left":return"bottom: 24px; left: 24px;";case"top-right":return"top: 24px; right: 24px;";case"top-left":return"top: 24px; left: 24px;";default:return"bottom: 24px; right: 24px;"}}toggle(){this.widgetInstance?.toggle()}open(){this.widgetInstance?.open()}close(){this.widgetInstance?.close()}destroy(){this.app&&(this.app.unmount(),this.app=null),this.container&&(this.container.remove(),this.container=null),this.shadowRoot=null,this.widgetInstance=null,e.instances.delete(this.config.handle),this.config.handle}static destroyAll(){e.instances.forEach(e=>e.destroy()),e.instances.clear()}static getInstance(t){return e.instances.get(t)}};__publicField(ub,"instances",new Map);let hb=ub;class pb extends HTMLElement{constructor(){super(...arguments),__publicField(this,"widget",null)}connectedCallback(){const e=this.getAttribute("handle"),t=this.getAttribute("context"),i=this.getAttribute("first-message"),n=this.getAttribute("position"),r=this.getAttribute("api-base");e&&(this.widget=new hb({handle:e,context:t||void 0,firstMessage:i||void 0,position:n||void 0,apiBase:r||void 0}),window[`openFictionSelf_${e}`]=()=>{this.widget?.open()})}disconnectedCallback(){this.widget?.destroy()}}if("undefined"==typeof window||customElements.get("fiction-self")||customElements.define("fiction-self",pb),"undefined"!=typeof window){window.FictionWidget=hb;const e=()=>{document.querySelectorAll("fiction-self").forEach(e=>{e.getAttribute("handle")})};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}const gb=(e=0)=>t=>`\x1b[${t+e}m`,mb=(e=0)=>t=>`\x1b[${38+e};5;${t}m`,vb=(e=0)=>(t,i,n)=>`\x1b[${38+e};2;${t};${i};${n}m`,fb={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]}},bb=Object.keys(fb.modifier),kb=Object.keys(fb.color),wb=Object.keys(fb.bgColor),yb=[...kb,...wb],xb=function(){const e=new Map;for(const[t,i]of Object.entries(fb)){for(const[t,n]of Object.entries(i))fb[t]={open:`\x1b[${n[0]}m`,close:`\x1b[${n[1]}m`},i[t]=fb[t],e.set(n[0],n[1]);Object.defineProperty(fb,t,{value:i,enumerable:!1})}return Object.defineProperty(fb,"codes",{value:e,enumerable:!1}),fb.color.close="\x1b[39m",fb.bgColor.close="\x1b[49m",fb.color.ansi=gb(),fb.color.ansi256=mb(),fb.color.ansi16m=vb(),fb.bgColor.ansi=gb(10),fb.bgColor.ansi256=mb(10),fb.bgColor.ansi16m=vb(10),Object.defineProperties(fb,{rgbToAnsi256:{value:(e,t,i)=>e===t&&t===i?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(i/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[i]=t;3===i.length&&(i=[...i].map(e=>e+e).join(""));const n=Number.parseInt(i,16);return[n>>16&255,n>>8&255,255&n]},enumerable:!1},hexToAnsi256:{value:e=>fb.rgbToAnsi256(...fb.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return e-8+90;let t,i,n;if(e>=232)t=(10*(e-232)+8)/255,i=t,n=t;else{const r=(e-=16)%36;t=Math.floor(e/36)/5,i=Math.floor(r/6)/5,n=r%6/5}const r=2*Math.max(t,i,n);if(0===r)return 30;let a=30+(Math.round(n)<<2|Math.round(i)<<1|Math.round(t));return 2===r&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,i)=>fb.ansi256ToAnsi(fb.rgbToAnsi256(e,t,i)),enumerable:!1},hexToAnsi:{value:e=>fb.ansi256ToAnsi(fb.hexToAnsi256(e)),enumerable:!1}}),fb}(),Cb=(()=>{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})(),Sb=0!==Cb&&{level:Cb,hasBasic:!0,has256:Cb>=2,has16m:Cb>=3},Tb={stdout:Sb,stderr:Sb};function Eb(e,t,i){let n=e.indexOf(t);if(-1===n)return e;const r=t.length;let a=0,o="";do{o+=e.slice(a,n)+t+i,a=n+r,n=e.indexOf(t,a)}while(-1!==n);return o+=e.slice(a),o}const{stdout:Pb,stderr:Mb}=Tb,_b=Symbol("GENERATOR"),Ib=Symbol("STYLER"),Rb=Symbol("IS_EMPTY"),Ab=["ansi","ansi","ansi256","ansi16m"],Ob=Object.create(null),Db=e=>{const t=(...e)=>e.join(" ");return((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 i=Pb?Pb.level:0;e.level=void 0===t.level?i:t.level})(t,e),Object.setPrototypeOf(t,Lb.prototype),t};function Lb(e){return Db(e)}Object.setPrototypeOf(Lb.prototype,Function.prototype);for(const[Wb,$b]of Object.entries(xb))Ob[Wb]={get(){const e=zb(this,Ub($b.open,$b.close,this[Ib]),this[Rb]);return Object.defineProperty(this,Wb,{value:e}),e}};Ob.visible={get(){const e=zb(this,this[Ib],!0);return Object.defineProperty(this,"visible",{value:e}),e}};const Nb=(e,t,i,...n)=>"rgb"===e?"ansi16m"===t?xb[i].ansi16m(...n):"ansi256"===t?xb[i].ansi256(xb.rgbToAnsi256(...n)):xb[i].ansi(xb.rgbToAnsi(...n)):"hex"===e?Nb("rgb",t,i,...xb.hexToRgb(...n)):xb[i][e](...n),jb=["rgb","hex","ansi256"];for(const Wb of jb)Ob[Wb]={get(){const{level:e}=this;return function(...t){const i=Ub(Nb(Wb,Ab[e],"color",...t),xb.color.close,this[Ib]);return zb(this,i,this[Rb])}}},Ob["bg"+Wb[0].toUpperCase()+Wb.slice(1)]={get(){const{level:e}=this;return function(...t){const i=Ub(Nb(Wb,Ab[e],"bgColor",...t),xb.bgColor.close,this[Ib]);return zb(this,i,this[Rb])}}};const Fb=Object.defineProperties(()=>{},{...Ob,level:{enumerable:!0,get(){return this[_b].level},set(e){this[_b].level=e}}}),Ub=(e,t,i)=>{let n,r;return void 0===i?(n=e,r=t):(n=i.openAll+e,r=t+i.closeAll),{open:e,close:t,openAll:n,closeAll:r,parent:i}},zb=(e,t,i)=>{const n=(...e)=>Bb(n,1===e.length?""+e[0]:e.join(" "));return Object.setPrototypeOf(n,Fb),n[_b]=e,n[Ib]=t,n[Rb]=i,n},Bb=(e,t)=>{if(e.level<=0||!t)return e[Rb]?"":t;let i=e[Ib];if(void 0===i)return t;const{openAll:n,closeAll:r}=i;if(t.includes("\x1b"))for(;void 0!==i;)t=Eb(t,i.close,i.open),i=i.parent;const a=t.indexOf("\n");return-1!==a&&(t=function(e,t,i,n){let r=0,a="";do{const o="\r"===e[n-1];a+=e.slice(r,o?n-1:n)+t+(o?"\r\n":"\n")+i,r=n+1,n=e.indexOf("\n",r)}while(-1!==n);return a+=e.slice(r),a}(t,r,n,a)),n+t+r};Object.defineProperties(Lb.prototype,Ob);const Vb=Lb(),qb=Lb({level:Mb?Mb.level:0}),Hb=Object.freeze(Object.defineProperty({__proto__:null,Chalk:class{constructor(e){return Db(e)}},backgroundColorNames:wb,backgroundColors:wb,chalkStderr:qb,colorNames:yb,colors:yb,default:Vb,foregroundColorNames:kb,foregroundColors:kb,modifierNames:bb,modifiers:bb,supportsColor:Pb,supportsColorStderr:Mb},Symbol.toStringTag,{value:"Module"}));return e.FictionWidget=hb,e.default=hb,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),e}({});
|