@tmsoft/webphone 5.0.0 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/webphone.component.js +24 -24
- package/dist/webphone.es.js +70 -14
- package/dist/webphone.umd.js +1 -1
- package/package.json +1 -1
package/dist/webphone.es.js
CHANGED
|
@@ -8425,8 +8425,61 @@ const createSipService = (e, t = {}) => {
|
|
|
8425
8425
|
o.volume = e / 100;
|
|
8426
8426
|
}, L = async (e) => {
|
|
8427
8427
|
typeof o.setSinkId == "function" && await o.setSinkId(e);
|
|
8428
|
-
}, R = (
|
|
8429
|
-
|
|
8428
|
+
}, R = async (t) => {
|
|
8429
|
+
if (!t) return;
|
|
8430
|
+
let n = [...a.value.entries()].flatMap(([e, t]) => {
|
|
8431
|
+
let n = t.sessionDescriptionHandler, i = n?.peerConnection?.getSenders().find((e) => e.track?.kind === "audio");
|
|
8432
|
+
return i ? [{
|
|
8433
|
+
channelId: e,
|
|
8434
|
+
session: t,
|
|
8435
|
+
sdh: n,
|
|
8436
|
+
sender: i
|
|
8437
|
+
}] : [];
|
|
8438
|
+
});
|
|
8439
|
+
if (n.length === 0) {
|
|
8440
|
+
l.value = t;
|
|
8441
|
+
return;
|
|
8442
|
+
}
|
|
8443
|
+
let i = [], o = [];
|
|
8444
|
+
try {
|
|
8445
|
+
for (let { sender: e } of n) {
|
|
8446
|
+
let n = await navigator.mediaDevices.getUserMedia(U(!1, t));
|
|
8447
|
+
i.push(n);
|
|
8448
|
+
let [a] = n.getAudioTracks(), s = e.track;
|
|
8449
|
+
if (!a || !s) throw Error("Could not acquire an audio track for the selected microphone");
|
|
8450
|
+
a.enabled = s.enabled, await e.replaceTrack(a), o.push({
|
|
8451
|
+
sender: e,
|
|
8452
|
+
previousTrack: s
|
|
8453
|
+
});
|
|
8454
|
+
}
|
|
8455
|
+
l.value = t, n.forEach(({ channelId: t, session: n, sdh: a, sender: o }, s) => {
|
|
8456
|
+
let l = i[s]?.getAudioTracks()[0];
|
|
8457
|
+
if (!l) return;
|
|
8458
|
+
let u = e.channels.value.find((e) => e.id === t), f = !(u?.isHeld || u?.isMuted);
|
|
8459
|
+
o.track.enabled = f;
|
|
8460
|
+
let p = a.localMediaStream;
|
|
8461
|
+
p && (p.getAudioTracks().forEach((e) => {
|
|
8462
|
+
e !== l && p.removeTrack(e);
|
|
8463
|
+
}), p.getTracks().includes(l) || p.addTrack(l)), e.activeChannelId.value === t && (p ? d.value = p : d.value && (d.value.getAudioTracks().forEach((e) => {
|
|
8464
|
+
e !== l && d.value?.removeTrack(e);
|
|
8465
|
+
}), d.value.getTracks().includes(l) || d.value.addTrack(l)));
|
|
8466
|
+
try {
|
|
8467
|
+
N(n, t);
|
|
8468
|
+
} catch (e) {
|
|
8469
|
+
console.error("[SipJs] Media-ready callback failed after microphone switch:", e);
|
|
8470
|
+
}
|
|
8471
|
+
});
|
|
8472
|
+
let s = new Set([...a.value.values()].flatMap((e) => e.sessionDescriptionHandler?.peerConnection?.getSenders().map((e) => e.track).filter((e) => e?.kind === "audio") ?? []));
|
|
8473
|
+
o.forEach(({ previousTrack: e }) => {
|
|
8474
|
+
s.has(e) || e.stop();
|
|
8475
|
+
}), i.forEach((e, t) => {
|
|
8476
|
+
e.getTracks().forEach((e) => {
|
|
8477
|
+
e !== n[t]?.sender.track && e.stop();
|
|
8478
|
+
});
|
|
8479
|
+
});
|
|
8480
|
+
} catch (e) {
|
|
8481
|
+
await Promise.allSettled(o.map(({ sender: e, previousTrack: t }) => e.replaceTrack(t))), i.forEach((e) => e.getTracks().forEach((e) => e.stop())), console.warn("[SipJs] Failed to switch microphone:", e);
|
|
8482
|
+
}
|
|
8430
8483
|
}, z = (e, t) => {
|
|
8431
8484
|
let n = !1, i = e.sessionDescriptionHandler;
|
|
8432
8485
|
return i?.peerConnection && i.peerConnection.getSenders().forEach((e) => {
|
|
@@ -8462,15 +8515,15 @@ const createSipService = (e, t = {}) => {
|
|
|
8462
8515
|
} catch (e) {
|
|
8463
8516
|
console.warn("[SipJs] Failed to recover outbound audio track:", e);
|
|
8464
8517
|
}
|
|
8465
|
-
}, U = (e = !1) => {
|
|
8466
|
-
let
|
|
8518
|
+
}, U = (e = !1, t = l.value) => {
|
|
8519
|
+
let n = {
|
|
8467
8520
|
echoCancellation: { ideal: !0 },
|
|
8468
8521
|
noiseSuppression: { ideal: !1 },
|
|
8469
8522
|
autoGainControl: { ideal: !1 },
|
|
8470
8523
|
channelCount: 1
|
|
8471
8524
|
};
|
|
8472
|
-
return
|
|
8473
|
-
audio:
|
|
8525
|
+
return t && (n.deviceId = { exact: t }), {
|
|
8526
|
+
audio: n,
|
|
8474
8527
|
video: e
|
|
8475
8528
|
};
|
|
8476
8529
|
}, W = async () => {
|
|
@@ -8696,24 +8749,27 @@ const createSipService = (e, t = {}) => {
|
|
|
8696
8749
|
}, Jp = async (t = !1) => {
|
|
8697
8750
|
let n = e.activeChannelId.value, i = a.value.get(n);
|
|
8698
8751
|
if (i instanceof Invitation && i.state === SessionState.Initial) {
|
|
8752
|
+
T(), e.updateChannelState(n, {
|
|
8753
|
+
status: "connected",
|
|
8754
|
+
startTime: Date.now()
|
|
8755
|
+
}), F();
|
|
8699
8756
|
for (let [t, n] of a.value.entries()) if (t !== e.activeChannelId.value && n.state === SessionState.Established && !e.channels.value.find((e) => e.id === t)?.isHeld) try {
|
|
8700
8757
|
await Y(n, !0), e.updateChannelState(t, { isHeld: !0 });
|
|
8701
8758
|
} catch (e) {
|
|
8702
8759
|
console.error(`[SipJs] Failed to hold channel ${t}:`, e);
|
|
8703
8760
|
}
|
|
8704
|
-
let o = { sessionDescriptionHandlerOptions: {
|
|
8705
|
-
|
|
8706
|
-
|
|
8707
|
-
|
|
8708
|
-
});
|
|
8761
|
+
let o = { sessionDescriptionHandlerOptions: {
|
|
8762
|
+
constraints: U(t),
|
|
8763
|
+
iceGatheringTimeout: 1e3
|
|
8764
|
+
} };
|
|
8709
8765
|
try {
|
|
8710
|
-
await i.accept(o),
|
|
8766
|
+
await i.accept(o), F();
|
|
8711
8767
|
} catch (t) {
|
|
8712
8768
|
let i = a.value.get(n);
|
|
8713
|
-
throw i instanceof Invitation && i.state === SessionState.Initial && e.updateChannelState(n, {
|
|
8769
|
+
throw i instanceof Invitation && i.state === SessionState.Initial && (e.updateChannelState(n, {
|
|
8714
8770
|
status: "incoming",
|
|
8715
8771
|
startTime: void 0
|
|
8716
|
-
}), t;
|
|
8772
|
+
}), F()), t;
|
|
8717
8773
|
}
|
|
8718
8774
|
}
|
|
8719
8775
|
}, J = async () => {
|
package/dist/webphone.umd.js
CHANGED
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
`+r+`
|
|
55
55
|
`);if(this.state!==W.Connected){this.logger.warn(`Received message while not connected, discarding...`);return}if(this.onMessage)try{this.onMessage(r)}catch(e){throw this.logger.error(e.toString()),this.logger.error(`Exception thrown by onMessage callback`),e}}onWebSocketOpen(e,t){t===this._ws&&this._state===W.Connecting&&(this.logger.log(`WebSocket opened ${this.server}`),this.transitionState(W.Connected))}transitionLoopDetectedError(e){let t=`A state transition loop has been detected.`;return t+=` An attempt to transition from ${this._state} to ${e} before the prior transition completed.`,t+=` Perhaps you are synchronously calling connect() or disconnect() from a callback or state change handler?`,this.logger.error(t),new x(`Loop detected.`)}transitionState(e,t){let n=()=>{throw Error(`Invalid state transition from ${this._state} to ${e}`)};if(this.transitioningState)throw this.transitionLoopDetectedError(e);switch(this.transitioningState=!0,this._state){case W.Connecting:e!==W.Connected&&e!==W.Disconnecting&&e!==W.Disconnected&&n();break;case W.Connected:e!==W.Disconnecting&&e!==W.Disconnected&&n();break;case W.Disconnecting:e!==W.Connecting&&e!==W.Disconnected&&n();break;case W.Disconnected:e!==W.Connecting&&n();break;default:throw Error(`Unknown state.`)}let r=this._state;this._state=e;let i=this.connectResolve,a=this.connectReject;r===W.Connecting&&(this.connectPromise=void 0,this.connectResolve=void 0,this.connectReject=void 0);let o=this.disconnectResolve,s=this.disconnectReject;if(r===W.Disconnecting&&(this.disconnectPromise=void 0,this.disconnectResolve=void 0,this.disconnectReject=void 0),this.connectTimeout&&=(clearTimeout(this.connectTimeout),void 0),this.logger.log(`Transitioned from ${r} to ${this._state}`),this._stateEventEmitter.emit(this._state),e===W.Connected&&(this.startSendingKeepAlives(),this.onConnect))try{this.onConnect()}catch(e){throw this.logger.error(e.toString()),this.logger.error(`Exception thrown by onConnect callback`),e}if(r===W.Connected&&(this.stopSendingKeepAlives(),this.onDisconnect))try{t?this.onDisconnect(t):this.onDisconnect()}catch(e){throw this.logger.error(e.toString()),this.logger.error(`Exception thrown by onDisconnect callback`),e}if(r===W.Connecting){if(!i)throw Error(`Connect resolve undefined.`);if(!a)throw Error(`Connect reject undefined.`);e===W.Connected?i():a(t||Error(`Connect aborted.`))}if(r===W.Disconnecting){if(!o)throw Error(`Disconnect resolve undefined.`);if(!s)throw Error(`Disconnect reject undefined.`);e===W.Disconnected?o():s(t||Error(`Disconnect aborted.`))}this.transitioningState=!1}clearKeepAliveTimeout(){this.keepAliveDebounceTimeout&&clearTimeout(this.keepAliveDebounceTimeout),this.keepAliveDebounceTimeout=void 0}sendKeepAlive(){return this.keepAliveDebounceTimeout?Promise.resolve():(this.keepAliveDebounceTimeout=setTimeout(()=>{this.clearKeepAliveTimeout()},this.configuration.keepAliveDebounce*1e3),this.send(`\r
|
|
56
56
|
\r
|
|
57
|
-
`))}startSendingKeepAlives(){this.configuration.keepAliveInterval&&!this.keepAliveInterval&&(this.keepAliveInterval=setInterval(()=>{this.sendKeepAlive(),this.startSendingKeepAlives()},(e=>{let t=e*.8;return 1e3*(Math.random()*(e-t)+t)})(this.configuration.keepAliveInterval)))}stopSendingKeepAlives(){this.keepAliveInterval&&clearInterval(this.keepAliveInterval),this.keepAliveDebounceTimeout&&clearTimeout(this.keepAliveDebounceTimeout),this.keepAliveInterval=void 0,this.keepAliveDebounceTimeout=void 0}};Tt.defaultOptions={server:``,connectionTimeout:5,keepAliveInterval:0,keepAliveDebounce:10,traceSip:!0};var Et=class e{constructor(t={}){if(this._publishers={},this._registerers={},this._sessions={},this._subscriptions={},this._state=De.Stopped,this._stateEventEmitter=new T,this.delegate=t.delegate,this.options=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e.defaultOptions()),{sipjsId:F(5)}),{uri:new k(`sip`,`anonymous.`+F(6),`anonymous.invalid`)}),{viaHost:F(12)+`.invalid`}),e.stripUndefinedProperties(t)),this.options.hackIpInContact)if(typeof this.options.hackIpInContact==`boolean`&&this.options.hackIpInContact){let e=Math.floor(Math.random()*254+1);this.options.viaHost=`192.0.2.`+e}else this.options.hackIpInContact&&(this.options.viaHost=this.options.hackIpInContact);switch(this.loggerFactory=new Ne,this.logger=this.loggerFactory.getLogger(`sip.UserAgent`),this.loggerFactory.builtinEnabled=this.options.logBuiltinEnabled,this.loggerFactory.connector=this.options.logConnector,this.options.logLevel){case`error`:this.loggerFactory.level=je.error;break;case`warn`:this.loggerFactory.level=je.warn;break;case`log`:this.loggerFactory.level=je.log;break;case`debug`:this.loggerFactory.level=je.debug;break;default:break}if(this.options.logConfiguration&&(this.logger.log(`Configuration:`),Object.keys(this.options).forEach(e=>{let t=this.options[e];switch(e){case`uri`:case`sessionDescriptionHandlerFactory`:this.logger.log(`· `+e+`: `+t);break;case`authorizationPassword`:this.logger.log(`· `+e+`: NOT SHOWN`);break;case`transportConstructor`:this.logger.log(`· `+e+`: `+t.name);break;default:this.logger.log(`· `+e+`: `+JSON.stringify(t))}})),this.options.transportOptions){let e=this.options.transportOptions,n=e.maxReconnectionAttempts,r=e.reconnectionTimeout;n!==void 0&&this.logger.warn(`The transport option "maxReconnectionAttempts" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),r!==void 0&&this.logger.warn(`The transport option "reconnectionTimeout" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),t.reconnectionDelay===void 0&&r!==void 0&&(this.options.reconnectionDelay=r),t.reconnectionAttempts===void 0&&n!==void 0&&(this.options.reconnectionAttempts=n)}if(t.reconnectionDelay!==void 0&&this.logger.warn(`The user agent option "reconnectionDelay" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),t.reconnectionAttempts!==void 0&&this.logger.warn(`The user agent option "reconnectionAttempts" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),this._transport=new this.options.transportConstructor(this.getLogger(`sip.Transport`),this.options.transportOptions),this.initTransportCallbacks(),this._contact=this.initContact(),this._instanceId=this.options.instanceId?this.options.instanceId:e.newUUID(),N.parse(this._instanceId,`uuid`)===-1)throw Error(`Invalid instanceId.`);this._userAgentCore=this.initCore()}static makeURI(e){return N.URIParse(e)}static defaultOptions(){return{allowLegacyNotifications:!1,authorizationHa1:``,authorizationPassword:``,authorizationUsername:``,delegate:{},contactName:``,contactParams:{transport:`ws`},displayName:``,forceRport:!1,gracefulShutdown:!0,hackAllowUnregisteredOptionTags:!1,hackIpInContact:!1,hackViaTcp:!1,instanceId:``,instanceIdAlwaysAdded:!1,logBuiltinEnabled:!0,logConfiguration:!0,logConnector:()=>{},logLevel:`log`,noAnswerTimeout:60,preloadedRouteSet:[],reconnectionAttempts:0,reconnectionDelay:4,sendInitialProvisionalResponse:!0,sessionDescriptionHandlerFactory:wt(),sessionDescriptionHandlerFactoryOptions:{},sipExtension100rel:Se.Unsupported,sipExtensionReplaces:Se.Unsupported,sipExtensionExtraSupported:[],sipjsId:``,transportConstructor:Tt,transportOptions:{},uri:new k(`sip`,`anonymous`,`anonymous.invalid`),userAgentString:`SIP.js/0.21.1`,viaHost:``}}static newUUID(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.floor(Math.random()*16);return(e===`x`?t:t%4+8).toString(16)})}static stripUndefinedProperties(e){return Object.keys(e).reduce((t,n)=>(e[n]!==void 0&&(t[n]=e[n]),t),{})}get configuration(){return this.options}get contact(){return this._contact}get instanceId(){return this._instanceId}get state(){return this._state}get stateChange(){return this._stateEventEmitter}get transport(){return this._transport}get userAgentCore(){return this._userAgentCore}getLogger(e,t){return this.loggerFactory.getLogger(e,t)}getLoggerFactory(){return this.loggerFactory}isConnected(){return this.transport.isConnected()}reconnect(){return this.state===De.Stopped?Promise.reject(Error(`User agent stopped.`)):Promise.resolve().then(()=>this.transport.connect())}start(){return this.state===De.Started?(this.logger.warn(`User agent already started`),Promise.resolve()):(this.logger.log(`Starting ${this.configuration.uri}`),this.transitionState(De.Started),this.transport.connect())}async stop(){if(this.state===De.Stopped)return this.logger.warn(`User agent already stopped`),Promise.resolve();if(this.logger.log(`Stopping ${this.configuration.uri}`),!this.options.gracefulShutdown)return this.logger.log(`Dispose of transport`),this.transport.dispose().catch(e=>{throw this.logger.error(e.message),e}),this.logger.log(`Dispose of core`),this.userAgentCore.dispose(),this._publishers={},this._registerers={},this._sessions={},this._subscriptions={},this.transitionState(De.Stopped),Promise.resolve();let e=Object.assign({},this._publishers),t=Object.assign({},this._registerers),n=Object.assign({},this._sessions),r=Object.assign({},this._subscriptions),i=this.transport,a=this.userAgentCore;for(let e in this.logger.log(`Dispose of registerers`),t)t[e]&&await t[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._registerers[e],t});for(let e in this.logger.log(`Dispose of sessions`),n)n[e]&&await n[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._sessions[e],t});for(let e in this.logger.log(`Dispose of subscriptions`),r)r[e]&&await r[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._subscriptions[e],t});for(let t in this.logger.log(`Dispose of publishers`),e)e[t]&&await e[t].dispose().catch(e=>{throw this.logger.error(e.message),delete this._publishers[t],e});this.logger.log(`Dispose of transport`),await i.dispose().catch(e=>{throw this.logger.error(e.message),e}),this.logger.log(`Dispose of core`),a.dispose(),this.transitionState(De.Stopped)}_makeInviter(e,t){return new Te(this,e,t)}attemptReconnection(e=1){let t=this.options.reconnectionAttempts,n=this.options.reconnectionDelay;if(e>t){this.logger.log(`Maximum reconnection attempts reached`);return}this.logger.log(`Reconnection attempt ${e} of ${t} - trying`),setTimeout(()=>{this.reconnect().then(()=>{this.logger.log(`Reconnection attempt ${e} of ${t} - succeeded`)}).catch(n=>{this.logger.error(n.message),this.logger.log(`Reconnection attempt ${e} of ${t} - failed`),this.attemptReconnection(++e)})},e===1?0:n*1e3)}initContact(){let e=this.options.contactName===``?F(8):this.options.contactName,t=this.options.contactParams;return{pubGruu:void 0,tempGruu:void 0,uri:new k(`sip`,e,this.options.viaHost,void 0,t),toString:(e={})=>{let n=e.anonymous||!1,r=e.outbound||!1,i=e.register||!1,a=`<`;return n?a+=this.contact.tempGruu||`sip:anonymous@anonymous.invalid;transport=${t.transport?t.transport:`ws`}`:i?a+=this.contact.uri:a+=this.contact.pubGruu||this.contact.uri,r&&(a+=`;ob`),a+=`>`,this.options.instanceIdAlwaysAdded&&(a+=`;+sip.instance="<urn:uuid:`+this._instanceId+`>"`),a}}}initCore(){let e=[];e.push(`outbound`),this.options.sipExtension100rel===Se.Supported&&e.push(`100rel`),this.options.sipExtensionReplaces===Se.Supported&&e.push(`replaces`),this.options.sipExtensionExtraSupported&&e.push(...this.options.sipExtensionExtraSupported),this.options.hackAllowUnregisteredOptionTags||(e=e.filter(e=>Ce[e])),e=Array.from(new Set(e));let t=e.slice();return(this.contact.pubGruu||this.contact.tempGruu)&&t.push(`gruu`),new bt({aor:this.options.uri,contact:this.contact,displayName:this.options.displayName,loggerFactory:this.loggerFactory,hackViaTcp:this.options.hackViaTcp,routeSet:this.options.preloadedRouteSet,supportedOptionTags:e,supportedOptionTagsResponse:t,sipjsId:this.options.sipjsId,userAgentHeaderFieldValue:this.options.userAgentString,viaForceRport:this.options.forceRport,viaHost:this.options.viaHost,authenticationFactory:()=>{let e=this.options.authorizationUsername?this.options.authorizationUsername:this.options.uri.user,t=this.options.authorizationPassword?this.options.authorizationPassword:void 0,n=this.options.authorizationHa1?this.options.authorizationHa1:void 0;return new Ae(this.getLoggerFactory(),n,e,t)},transportAccessor:()=>this.transport},{onInvite:e=>{let t=new we(this,e);if(e.delegate={onCancel:e=>{t._onCancel(e)},onTransportError:e=>{this.logger.error(`A transport error has occurred while handling an incoming INVITE request.`)}},e.trying(),this.options.sipExtensionReplaces!==Se.Unsupported){let n=e.message.parseHeader(`replaces`);if(n){let e=n.call_id;if(typeof e!=`string`)throw Error(`Type of call id is not string`);let r=n.replaces_to_tag;if(typeof r!=`string`)throw Error(`Type of to tag is not string`);let i=n.replaces_from_tag;if(typeof i!=`string`)throw Error(`type of from tag is not string`);let a=e+r+i,o=this.userAgentCore.dialogs.get(a);if(!o){t.reject({statusCode:481});return}if(!o.early&&n.early_only===!0){t.reject({statusCode:486});return}let s=this._sessions[e+i]||this._sessions[e+r]||void 0;if(!s)throw Error(`Session does not exist.`);t._replacee=s}}if(this.delegate?.onInvite){if(t.autoSendAnInitialProvisionalResponse){t.progress().then(()=>{if(this.delegate?.onInvite===void 0)throw Error(`onInvite undefined.`);this.delegate.onInvite(t)});return}this.delegate.onInvite(t);return}t.reject({statusCode:486})},onMessage:e=>{if(this.delegate&&this.delegate.onMessage){let t=new ve(e);this.delegate.onMessage(t)}else e.accept()},onNotify:e=>{if(this.delegate&&this.delegate.onNotify){let t=new ye(e);this.delegate.onNotify(t)}else this.options.allowLegacyNotifications?e.accept():e.reject({statusCode:481})},onRefer:e=>{this.logger.warn(`Received an out of dialog REFER request`),this.delegate&&this.delegate.onReferRequest?this.delegate.onReferRequest(e):e.reject({statusCode:405})},onRegister:e=>{this.logger.warn(`Received an out of dialog REGISTER request`),this.delegate&&this.delegate.onRegisterRequest?this.delegate.onRegisterRequest(e):e.reject({statusCode:405})},onSubscribe:e=>{this.logger.warn(`Received an out of dialog SUBSCRIBE request`),this.delegate&&this.delegate.onSubscribeRequest?this.delegate.onSubscribeRequest(e):e.reject({statusCode:405})}})}initTransportCallbacks(){this.transport.onConnect=()=>this.onTransportConnect(),this.transport.onDisconnect=e=>this.onTransportDisconnect(e),this.transport.onMessage=e=>this.onTransportMessage(e)}onTransportConnect(){this.state!==De.Stopped&&this.delegate&&this.delegate.onConnect&&this.delegate.onConnect()}onTransportDisconnect(e){this.state!==De.Stopped&&(this.delegate&&this.delegate.onDisconnect&&this.delegate.onDisconnect(e),e&&this.options.reconnectionAttempts>0&&this.attemptReconnection())}onTransportMessage(e){let t=Pe.parseMessage(e,this.getLogger(`sip.Parser`));if(!t){this.logger.warn(`Failed to parse incoming message. Dropping.`);return}if(this.state===De.Stopped&&t instanceof oe){this.logger.warn(`Received ${t.method} request while stopped. Dropping.`);return}let n=()=>{for(let e of[`from`,`to`,`call_id`,`cseq`,`via`])if(!t.hasHeader(e))return this.logger.warn(`Missing mandatory header field : ${e}.`),!1;return!0};if(t instanceof oe){if(!n()){this.logger.warn(`Request missing mandatory header field. Dropping.`);return}if(!t.toTag&&t.callId.substr(0,5)===this.options.sipjsId){this.userAgentCore.replyStateless(t,{statusCode:482});return}let e=I(t.body),r=t.getHeader(`content-length`);if(r&&e<Number(r)){this.userAgentCore.replyStateless(t,{statusCode:400});return}}if(t instanceof se){if(!n()){this.logger.warn(`Response missing mandatory header field. Dropping.`);return}if(t.getHeaders(`via`).length>1){this.logger.warn(`More than one Via header field present in the response. Dropping.`);return}if(t.via.host!==this.options.viaHost||t.via.port!==void 0){this.logger.warn(`Via sent-by in the response does not match UA Via host value. Dropping.`);return}let e=I(t.body),r=t.getHeader(`content-length`);if(r&&e<Number(r)){this.logger.warn(`Message body length is lower than the value in Content-Length header field. Dropping.`);return}}if(t instanceof oe){this.userAgentCore.receiveIncomingRequestFromTransport(t);return}if(t instanceof se){this.userAgentCore.receiveIncomingResponseFromTransport(t);return}throw Error(`Invalid message type.`)}transitionState(e,t){let n=()=>{throw Error(`Invalid state transition from ${this._state} to ${e}`)};switch(this._state){case De.Started:e!==De.Stopped&&n();break;case De.Stopped:e!==De.Started&&n();break;default:throw Error(`Unknown state.`)}this.logger.log(`Transitioned from ${this._state} to ${e}`),this._state=e,this._stateEventEmitter.emit(this._state)}},Dt=new window.AudioContext,Ot={1:[697,1209],2:[697,1336],3:[697,1477],A:[697,1633],4:[770,1209],5:[770,1336],6:[770,1477],B:[770,1633],7:[852,1209],8:[852,1336],9:[852,1477],C:[852,1633],"*":[941,1209],0:[941,1336],"#":[941,1477],D:[941,1633]},kt=(0,t.ref)(null),At=(0,t.ref)(null),jt=(0,t.ref)(.5);let Mt=()=>({playDtmf:(e,t=150)=>{Dt.state===`suspended`&&Dt.resume();let n=Ot[e.toUpperCase()];if(!n)return;let r=Dt.createOscillator(),i=Dt.createOscillator(),a=Dt.createGain();r.frequency.value=n[0],i.frequency.value=n[1],r.type=`sine`,i.type=`sine`,a.gain.value=.1*jt.value,r.connect(a),i.connect(a),a.connect(Dt.destination),r.start(),i.start(),setTimeout(()=>{r.stop(),i.stop(),r.disconnect(),i.disconnect(),a.disconnect()},t)},startRingtone:()=>{if(kt.value)return;Dt.state===`suspended`&&Dt.resume();let e=()=>{let e=Dt.currentTime,t=Dt.createOscillator(),n=Dt.createGain();t.type=`sine`,t.frequency.setValueAtTime(523.25,e),t.frequency.setValueAtTime(659.25,e+.1),t.frequency.setValueAtTime(783.99,e+.2),n.gain.setValueAtTime(.1*jt.value,e),n.gain.exponentialRampToValueAtTime(.001,e+.5),t.connect(n),n.connect(Dt.destination),t.start(e),t.stop(e+.5)};e(),kt.value=window.setInterval(()=>{e(),setTimeout(e,400)},3e3)},stopRingtone:()=>{kt.value&&=(clearInterval(kt.value),null)},startRingback:()=>{if(At.value)return;Dt.state===`suspended`&&Dt.resume();let e=()=>{let e=Dt.currentTime,t=Dt.createOscillator(),n=Dt.createGain();t.type=`sine`,t.frequency.value=425,n.gain.setValueAtTime(.1*jt.value,e),n.gain.linearRampToValueAtTime(.1*jt.value,e+1),n.gain.linearRampToValueAtTime(0,e+1.1),t.connect(n),n.connect(Dt.destination),t.start(e),t.stop(e+1.1)};e(),At.value=window.setInterval(()=>{e()},4e3)},stopRingback:()=>{At.value&&=(clearInterval(At.value),null)},setNotificationVolume:e=>{jt.value=Math.max(0,Math.min(1,e/100))}});function Nt(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Nt(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Pt(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Nt(e))&&(r&&(r+=` `),r+=t);return r}var Ft=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},It=(e,t)=>({classGroupId:e,validator:t}),Lt=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Rt=`-`,zt=[],Bt=`arbitrary..`,Vt=e=>{let t=Wt(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Ut(e);let n=e.split(Rt);return Ht(n,n[0]===``&&n.length>1?1:0,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Ft(i,t):t:i||zt}return n[e]||zt}}},Ht=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Ht(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Rt):e.slice(t).join(Rt),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Ut=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Bt+r:void 0})(),Wt=e=>{let{theme:t,classGroups:n}=e;return Gt(n,t)},Gt=(e,t)=>{let n=Lt();for(let r in e){let i=e[r];Kt(i,n,r,t)}return n},Kt=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];qt(i,t,n,r)}},qt=(e,t,n,r)=>{if(typeof e==`string`){Jt(e,t,n);return}if(typeof e==`function`){Yt(e,t,n,r);return}Xt(e,t,n,r)},Jt=(e,t,n)=>{let r=e===``?t:Zt(t,e);r.classGroupId=n},Yt=(e,t,n,r)=>{if(Qt(e)){Kt(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(It(n,e))},Xt=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Kt(o,Zt(t,a),n,r)}},Zt=(e,t)=>{let n=e,r=t.split(Rt),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Lt(),n.nextPart.set(t,i)),n=i}return n},Qt=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,$t=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},en=`!`,tn=`:`,nn=[],rn=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),an=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===tn){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(en)?(c=s.slice(0,-1),l=!0):s.startsWith(en)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return rn(t,l,c,u)};if(t){let e=t+tn,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):rn(nn,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},on=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},sn=e=>({cache:$t(e.cacheSize),parseClassName:an(e),sortModifiers:on(e),...Vt(e)}),cn=/\s+/,ln=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(cn),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+en:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},un=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=dn(n))&&(i&&(i+=` `),i+=r);return i},dn=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=dn(e[r]))&&(n&&(n+=` `),n+=t);return n},fn=(e,...t)=>{let n,r,i,a,o=o=>(n=sn(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=ln(e,n);return i(e,a),a};return a=o,(...e)=>a(un(...e))},pn=[],mn=e=>{let t=t=>t[e]||pn;return t.isThemeGetter=!0,t},hn=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,gn=/^\((?:(\w[\w-]*):)?(.+)\)$/i,_n=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,vn=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,yn=/\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$/,bn=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,xn=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Sn=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Cn=e=>_n.test(e),K=e=>!!e&&!Number.isNaN(Number(e)),wn=e=>!!e&&Number.isInteger(Number(e)),Tn=e=>e.endsWith(`%`)&&K(e.slice(0,-1)),En=e=>vn.test(e),Dn=()=>!0,On=e=>yn.test(e)&&!bn.test(e),kn=()=>!1,An=e=>xn.test(e),jn=e=>Sn.test(e),Mn=e=>!q(e)&&!J(e),Nn=e=>Jn(e,Qn,kn),q=e=>hn.test(e),Pn=e=>Jn(e,$n,On),Fn=e=>Jn(e,er,K),In=e=>Jn(e,nr,Dn),Ln=e=>Jn(e,tr,kn),Rn=e=>Jn(e,Xn,kn),zn=e=>Jn(e,Zn,jn),Bn=e=>Jn(e,rr,An),J=e=>gn.test(e),Vn=e=>Yn(e,$n),Hn=e=>Yn(e,tr),Un=e=>Yn(e,Xn),Wn=e=>Yn(e,Qn),Gn=e=>Yn(e,Zn),Kn=e=>Yn(e,rr,!0),qn=e=>Yn(e,nr,!0),Jn=(e,t,n)=>{let r=hn.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Yn=(e,t,n=!1)=>{let r=gn.exec(e);return r?r[1]?t(r[1]):n:!1},Xn=e=>e===`position`||e===`percentage`,Zn=e=>e===`image`||e===`url`,Qn=e=>e===`length`||e===`size`||e===`bg-size`,$n=e=>e===`length`,er=e=>e===`number`,tr=e=>e===`family-name`,nr=e=>e===`number`||e===`weight`,rr=e=>e===`shadow`,ir=fn(()=>{let e=mn(`color`),t=mn(`font`),n=mn(`text`),r=mn(`font-weight`),i=mn(`tracking`),a=mn(`leading`),o=mn(`breakpoint`),s=mn(`container`),c=mn(`spacing`),l=mn(`radius`),u=mn(`shadow`),d=mn(`inset-shadow`),f=mn(`text-shadow`),p=mn(`drop-shadow`),m=mn(`blur`),h=mn(`perspective`),g=mn(`aspect`),_=mn(`ease`),v=mn(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),J,q],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[J,q,c],T=()=>[Cn,`full`,`auto`,...w()],E=()=>[wn,`none`,`subgrid`,J,q],D=()=>[`auto`,{span:[`full`,wn,J,q]},wn,J,q],O=()=>[wn,`auto`,J,q],k=()=>[`auto`,`min`,`max`,`fr`,J,q],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],ee=()=>[`auto`,...w()],M=()=>[Cn,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],te=()=>[Cn,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],N=()=>[Cn,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,J,q],F=()=>[...b(),Un,Rn,{position:[J,q]}],ne=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],re=()=>[`auto`,`cover`,`contain`,Wn,Nn,{size:[J,q]}],ie=()=>[Tn,Vn,Pn],I=()=>[``,`none`,`full`,l,J,q],ae=()=>[``,K,Vn,Pn],oe=()=>[`solid`,`dashed`,`dotted`,`double`],se=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],L=()=>[K,Tn,Un,Rn],ce=()=>[``,`none`,m,J,q],le=()=>[`none`,K,J,q],ue=()=>[`none`,K,J,q],de=()=>[K,J,q],fe=()=>[Cn,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[En],breakpoint:[En],color:[Dn],container:[En],"drop-shadow":[En],ease:[`in`,`out`,`in-out`],font:[Mn],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[En],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[En],shadow:[En],spacing:[`px`,K],text:[En],"text-shadow":[En],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Cn,q,J,g]}],container:[`container`],columns:[{columns:[K,q,J,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"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:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[wn,`auto`,J,q]}],basis:[{basis:[Cn,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[K,Cn,`auto`,`initial`,`none`,q]}],grow:[{grow:[``,K,J,q]}],shrink:[{shrink:[``,K,J,q]}],order:[{order:[wn,`first`,`last`,`none`,J,q]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:ee()}],mx:[{mx:ee()}],my:[{my:ee()}],ms:[{ms:ee()}],me:[{me:ee()}],mbs:[{mbs:ee()}],mbe:[{mbe:ee()}],mt:[{mt:ee()}],mr:[{mr:ee()}],mb:[{mb:ee()}],ml:[{ml:ee()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:M()}],"inline-size":[{inline:[`auto`,...te()]}],"min-inline-size":[{"min-inline":[`auto`,...te()]}],"max-inline-size":[{"max-inline":[`none`,...te()]}],"block-size":[{block:[`auto`,...N()]}],"min-block-size":[{"min-block":[`auto`,...N()]}],"max-block-size":[{"max-block":[`none`,...N()]}],w:[{w:[s,`screen`,...M()]}],"min-w":[{"min-w":[s,`screen`,`none`,...M()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...M()]}],h:[{h:[`screen`,`lh`,...M()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...M()]}],"max-h":[{"max-h":[`screen`,`lh`,...M()]}],"font-size":[{text:[`base`,n,Vn,Pn]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,qn,In]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Tn,q]}],"font-family":[{font:[Hn,Ln,t]}],"font-features":[{"font-features":[q]}],"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:[i,J,q]}],"line-clamp":[{"line-clamp":[K,`none`,J,Fn]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,J,q]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,J,q]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...oe(),`wavy`]}],"text-decoration-thickness":[{decoration:[K,`from-font`,`auto`,J,Pn]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[K,`auto`,J,q]}],"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`,J,q]}],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`,J,q]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:F()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:re()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},wn,J,q],radial:[``,J,q],conic:[wn,J,q]},Gn,zn]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ie()}],"gradient-via-pos":[{via:ie()}],"gradient-to-pos":[{to:ie()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:ae()}],"border-w-x":[{"border-x":ae()}],"border-w-y":[{"border-y":ae()}],"border-w-s":[{"border-s":ae()}],"border-w-e":[{"border-e":ae()}],"border-w-bs":[{"border-bs":ae()}],"border-w-be":[{"border-be":ae()}],"border-w-t":[{"border-t":ae()}],"border-w-r":[{"border-r":ae()}],"border-w-b":[{"border-b":ae()}],"border-w-l":[{"border-l":ae()}],"divide-x":[{"divide-x":ae()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":ae()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...oe(),`hidden`,`none`]}],"divide-style":[{divide:[...oe(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...oe(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[K,J,q]}],"outline-w":[{outline:[``,K,Vn,Pn]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,Kn,Bn]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,Kn,Bn]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:ae()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[K,Pn]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":ae()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,Kn,Bn]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[K,J,q]}],"mix-blend":[{"mix-blend":[...se(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":se()}],"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":[K]}],"mask-image-linear-from-pos":[{"mask-linear-from":L()}],"mask-image-linear-to-pos":[{"mask-linear-to":L()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":L()}],"mask-image-t-to-pos":[{"mask-t-to":L()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":L()}],"mask-image-r-to-pos":[{"mask-r-to":L()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":L()}],"mask-image-b-to-pos":[{"mask-b-to":L()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":L()}],"mask-image-l-to-pos":[{"mask-l-to":L()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":L()}],"mask-image-x-to-pos":[{"mask-x-to":L()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":L()}],"mask-image-y-to-pos":[{"mask-y-to":L()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[J,q]}],"mask-image-radial-from-pos":[{"mask-radial-from":L()}],"mask-image-radial-to-pos":[{"mask-radial-to":L()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"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":b()}],"mask-image-conic-pos":[{"mask-conic":[K]}],"mask-image-conic-from-pos":[{"mask-conic-from":L()}],"mask-image-conic-to-pos":[{"mask-conic-to":L()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:F()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:re()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,J,q]}],filter:[{filter:[``,`none`,J,q]}],blur:[{blur:ce()}],brightness:[{brightness:[K,J,q]}],contrast:[{contrast:[K,J,q]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Kn,Bn]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,K,J,q]}],"hue-rotate":[{"hue-rotate":[K,J,q]}],invert:[{invert:[``,K,J,q]}],saturate:[{saturate:[K,J,q]}],sepia:[{sepia:[``,K,J,q]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,J,q]}],"backdrop-blur":[{"backdrop-blur":ce()}],"backdrop-brightness":[{"backdrop-brightness":[K,J,q]}],"backdrop-contrast":[{"backdrop-contrast":[K,J,q]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,K,J,q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[K,J,q]}],"backdrop-invert":[{"backdrop-invert":[``,K,J,q]}],"backdrop-opacity":[{"backdrop-opacity":[K,J,q]}],"backdrop-saturate":[{"backdrop-saturate":[K,J,q]}],"backdrop-sepia":[{"backdrop-sepia":[``,K,J,q]}],"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`,J,q]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[K,`initial`,J,q]}],ease:[{ease:[`linear`,`initial`,_,J,q]}],delay:[{delay:[K,J,q]}],animate:[{animate:[`none`,v,J,q]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,J,q]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:le()}],"rotate-x":[{"rotate-x":le()}],"rotate-y":[{"rotate-y":le()}],"rotate-z":[{"rotate-z":le()}],scale:[{scale:ue()}],"scale-x":[{"scale-x":ue()}],"scale-y":[{"scale-y":ue()}],"scale-z":[{"scale-z":ue()}],"scale-3d":[`scale-3d`],skew:[{skew:de()}],"skew-x":[{"skew-x":de()}],"skew-y":[{"skew-y":de()}],transform:[{transform:[J,q,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:fe()}],"translate-x":[{"translate-x":fe()}],"translate-y":[{"translate-y":fe()}],"translate-z":[{"translate-z":fe()}],"translate-none":[`translate-none`],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"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`,J,q]}],"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-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":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-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":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`,J,q]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[K,Vn,Pn,Fn]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`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`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`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-bs`,`border-w-be`,`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-bs`,`border-color-be`,`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-mbs`,`scroll-mbe`,`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-pbs`,`scroll-pbe`,`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`]}});let Y=(...e)=>ir(Pt(e)),ar=e=>e.length<=3?e:`${e.slice(0,3)}${`*`.repeat(e.length-3)}`,or=(e,t)=>{if(e){let t=sr(e);if(t&&cr(t))return t;if(e.trim())return e.trim()}if(t){let e=sr(t);if(e&&cr(e))return e;let n=lr(t);if(n)return n;if(t.trim()&&!t.includes(`@`))return t.trim()}return`Unknown`};var sr=e=>e.replace(/[^\d+*#]/g,``),cr=e=>/^\+?[\d*#]{2,}$/.test(e),lr=e=>{let t=e.match(/^([+]?[\d*#]{2,})\s*[-:]/);return t&&t[1]||(t=e.match(/\(([+]?[\d*#]{2,})\)/),t&&t[1])||(t=e.match(/(?:ext\.?|extension)\s*([+]?[\d*#]{2,})/i),t&&t[1])?t[1]:(t=e.match(/([+]?\d{1,3}[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9})/),t&&t[1]?sr(t[1]):null)},ur=`X-Nebula-Queue`,dr=`X-Nebula-Queue-Id`;let fr=(e,n={})=>{let r=(0,t.shallowRef)(null),i=(0,t.shallowRef)(null),a=(0,t.shallowRef)(new Map),o=new Audio;o.autoplay=!0;let s=(0,t.shallowRef)(void 0),c=(0,t.shallowRef)(null),l=(0,t.shallowRef)(null),u=new Map,d=new Map,f=new Set,p=!1,m=null,h=null,g=null,_=null,v=null,y=(0,t.computed)(()=>r.value?.configuration.uri?.user||``),{startRingtone:b,stopRingtone:x,startRingback:S,stopRingback:C,setNotificationVolume:w}=Mt(),T=e=>e instanceof Te||e instanceof we?e.request?.callId||e.dialog?.callId||e.id||crypto.randomUUID():e.dialog?.callId||e.id||crypto.randomUUID(),E=e=>{if(!(e instanceof we))return;let t=e.request;if(!t)return;let n=t.getHeader(ur)?.trim(),r=t.getHeader(dr)?.trim();if(!(!n&&!r))return{...r?{id:r}:{},...n?{name:n}:{}}},D=(e,t,r,i)=>{let a=E(e),o={channelId:t,sipCallId:T(e),direction:r,remoteNumber:i,...a?{queue:a}:{}};return u.set(t,o),n.onCallContext?.(o),o},O=(e,t)=>{let r=u.get(e);r&&n.onCallState?.({...r,state:t,timestamp:Date.now()})},k=(e,t)=>{if(e.state!==V.Established)return;let r=u.get(t),i=e.sessionDescriptionHandler,a=i?.localMediaStream??l.value,o=i?.remoteMediaStream??c.value,s=a?.getAudioTracks()??[],f=o?.getAudioTracks()??[];if(!r||!a||!o||s.length===0||f.length===0)return;let p=[r.sipCallId,...s.map(e=>`local:${e.id}`),...f.map(e=>`remote:${e.id}`)].join(`|`);d.get(t)!==p&&(d.set(t,p),n.onMediaReady?.({...r,localStream:a,remoteStream:o}))},A=e=>{u.delete(e),d.delete(e),f.delete(e)},j=()=>{e.channels.value.some(e=>e.status===`incoming`)?b():x(),e.activeChannel.value?.status===`calling`?S():C()},ee=e=>{o.volume=e/100},M=async e=>{typeof o.setSinkId==`function`&&await o.setSinkId(e)},te=e=>{s.value=e},N=(e,t)=>{let n=!1,r=e.sessionDescriptionHandler;return r?.peerConnection&&r.peerConnection.getSenders().forEach(e=>{e.track&&e.track.kind===`audio`&&(e.track.enabled=t,n=!0)}),n},P=e=>{let t=!1;return l.value&&l.value.getAudioTracks().forEach(n=>{n.enabled=e,t=!0}),t},F=(e,t)=>{let n=!(t?.isHeld||t?.isMuted),r=N(e,n),i=P(n);!r&&!i&&console.warn(`[SipJs] No audio tracks found to apply channel audio state`)},ne=t=>{for(let[n,r]of a.value.entries())if(r===t)return e.channels.value.find(e=>e.id===n)||null;return e.activeChannel.value||null},re=async e=>{let t=e.sessionDescriptionHandler?.peerConnection;if(!t)return;let n=ne(e),r=!(n?.isHeld||n?.isMuted),i=t.getSenders().find(e=>e.track?.kind===`audio`);if(i?.track){i.track.enabled=r,n&&k(e,n.id);return}try{let[i]=(await navigator.mediaDevices.getUserMedia(ie(!1))).getAudioTracks();if(!i)return;i.enabled=r;let a=new MediaStream([i]);l.value=a;let o=t.getSenders().find(e=>e.track===null);o?await o.replaceTrack(i):t.addTrack(i,a),F(e,n),n&&k(e,n.id)}catch(e){console.warn(`[SipJs] Failed to recover outbound audio track:`,e)}},ie=(e=!1)=>{let t={echoCancellation:{ideal:!0},noiseSuppression:{ideal:!1},autoGainControl:{ideal:!1},channelCount:1};return s.value&&(t.deviceId={exact:s.value}),{audio:t,video:e}},I=async()=>{let t=i.value;t&&await t.register({requestDelegate:{onAccept:()=>{e.setConnected(!0)},onReject:()=>{e.setConnected(!1)}}})},ae=async t=>{if(!r.value){try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch(e){console.error(`Microphone permission denied`,e);return}try{let n=Et.makeURI(t.uri);if(!n)throw Error(`Invalid URI`);p=t.earlyMedia??!1,r.value=new Et({uri:n,logLevel:`error`,transportOptions:{server:t.transportOptions.server,keepAliveInterval:t.transportOptions.keepAliveInterval??30},authorizationUsername:t.authorizationUsername,authorizationPassword:t.authorizationPassword,reconnectionDelay:5,reconnectionAttempts:3,delegate:{onConnect:()=>{},onDisconnect:()=>e.setConnected(!1),onInvite:e=>ce(e)}}),await r.value.start(),i.value=new Ee(r.value),await I(),oe()}catch{}}},oe=()=>{g=new AbortController;let{signal:t}=g,n=Date.now(),r=(e=1e3)=>{_&&clearTimeout(_),_=setTimeout(async()=>{_=null,await se()},e)},i=()=>{if(document.visibilityState===`visible`){let e=Date.now()-n;e>5e3?(console.log(`[SipJs] Device was suspended for ${Math.round(e/1e3)}s, reconnecting...`),r(1500)):r(500)}n=Date.now()},a=()=>{console.log(`[SipJs] Network online, reconnecting...`),r(1e3)},o=()=>{console.log(`[SipJs] Network offline`),e.setConnected(!1),_&&=(clearTimeout(_),null)},s=()=>{v=setInterval(()=>{let e=Date.now(),t=e-n;t>3e4&&(console.log(`[SipJs] Heartbeat drift detected (${Math.round(t/1e3)}s), device may have woken from sleep`),r(1500)),n=e},1e3)};document.addEventListener(`visibilitychange`,i,{signal:t}),window.addEventListener(`online`,a,{signal:t}),window.addEventListener(`offline`,o,{signal:t}),document.addEventListener(`freeze`,()=>{console.log(`[SipJs] Page frozen`),v&&=(clearInterval(v),null)},{signal:t}),document.addEventListener(`resume`,()=>{console.log(`[SipJs] Page resumed`),n=Date.now(),s(),r(1e3)},{signal:t}),s()},se=async()=>{if(r.value){if(!navigator.onLine){console.log(`[SipJs] Skipping reconnect, device is offline`);return}if(a.value.size>0){console.log(`[SipJs] Skipping reconnect, active calls in progress`);return}try{if(r.value.isConnected()||(console.log(`[SipJs] Reconnecting...`),await r.value.reconnect()),i.value&&r.value.isConnected())try{await I()}catch{}}catch(e){console.error(`[SipJs] Reconnection failed:`,e)}}},L=async()=>{g?.abort(),g=null,_&&=(clearTimeout(_),null),v&&=(clearInterval(v),null);let e=i.value,t=r.value;if(i.value=null,r.value=null,e)try{await e.unregister()}catch(e){console.warn(`[SipJs] Unregister failed:`,e)}if(t)try{await t.stop()}catch(e){console.warn(`[SipJs] UserAgent stop failed:`,e)}},ce=t=>{console.log(`[SipJs] 📞 Llamada entrante recibida`),console.log(`[SipJs] Remote Identity URI:`,t.remoteIdentity.uri.toString()),console.log(`[SipJs] Remote Identity URI user:`,t.remoteIdentity.uri.user),console.log(`[SipJs] Remote Identity displayName:`,t.remoteIdentity.displayName);let n=e.channels.value.find(e=>e.status===`idle`);if(!n){console.warn(`[SipJs] ⚠️ No hay canales disponibles, rechazando llamada`),t.reject();return}let r=n.id;a.value.set(r,t);let i=t.body?t.body.includes(`m=video`):!1,o=or(t.remoteIdentity.uri.user,t.remoteIdentity.displayName);console.log(`[SipJs] 📋 Caller number extraído:`,o),console.log(`[SipJs] 🎥 Video:`,i?`Sí`:`No`),e.updateChannelState(r,{status:`incoming`,remoteNumber:o,remoteDisplayName:t.remoteIdentity.displayName||void 0,hasVideo:i}),D(t,r,`incoming`,o),O(r,`ringing`),j(),e.setActiveChannelId(r),t.stateChange.addListener(n=>{switch(n){case V.Terminated:{let n=e.channels.value.find(e=>e.id===r),i=or(t.remoteIdentity.uri.user,t.remoteIdentity.displayName);if(n?.status===`connected`){let t=Math.floor((Date.now()-(n.startTime||Date.now()))/1e3);e.addCallLog({number:i,direction:`incoming`,status:`answered`,startTime:n.startTime||Date.now(),duration:t})}else n?.status===`incoming`&&e.addCallLog({number:i,direction:`incoming`,status:`missed`,startTime:Date.now(),duration:0});O(r,f.has(r)?`ended`:`failed`),A(r),e.updateChannelState(r,{status:`idle`,remoteNumber:``,isMuted:!1,isHeld:!1,hasVideo:!1,hasEarlyMedia:!1}),a.value.delete(r),e.activeChannelId.value===r&&be(),j();break}case V.Established:f.add(r),e.updateChannelState(r,{status:`connected`,startTime:Date.now()}),O(r,`connected`),e.activeChannelId.value===r&&(ye(t),re(t).then(()=>k(t,r))),j();break}})},le=async(t,n=!1)=>{if(!r.value)return;let i=e.activeChannelId.value;if(a.value.has(i))return;let o=Et.makeURI(t);if(!o&&r.value.configuration.uri){let e=r.value.configuration.uri.host;o=Et.makeURI(`sip:${t}@${e}`)}if(!o)return;let s=new Te(r.value,o,{earlyMedia:p});a.value.set(i,s),D(s,i,`outgoing`,t),O(i,`dialing`),e.updateChannelState(i,{status:`calling`,remoteNumber:t,hasVideo:n}),e.setLastDialedNumber(t),j(),s.stateChange.addListener(n=>{switch(n){case V.Established:f.add(i),e.channels.value.find(e=>e.id===i)?.status!==`connected`&&(e.updateChannelState(i,{status:`connected`,startTime:Date.now()}),O(i,`connected`),ye(s),re(s).then(()=>k(s,i)),j());break;case V.Terminated:{let n=e.channels.value.find(e=>e.id===i);if(n?.status===`connected`){let r=Math.floor((Date.now()-(n.startTime||Date.now()))/1e3);e.addCallLog({number:t,direction:`outgoing`,status:`answered`,startTime:n.startTime||Date.now(),duration:r})}else e.addCallLog({number:t,direction:`outgoing`,status:`cancelled`,startTime:Date.now(),duration:0});O(i,f.has(i)?`ended`:`failed`),A(i),e.updateChannelState(i,{status:`idle`,remoteNumber:``,isMuted:!1,isHeld:!1,startTime:void 0,keypadValue:``,hasVideo:!1}),a.value.delete(i),e.activeChannelId.value===i&&be(),j();break}}});let c={sessionDescriptionHandlerOptions:{constraints:ie(n)},requestDelegate:{onProgress:t=>{(t.message.statusCode===180||t.message.statusCode===183)&&(t.message.body&&(e.updateChannelState(i,{hasEarlyMedia:!0}),ye(s)),j())},onAccept:t=>{e.channels.value.find(e=>e.id===i)?.status!==`connected`&&(f.add(i),e.updateChannelState(i,{status:`connected`,startTime:Date.now()}),O(i,`connected`),ye(s),re(s).then(()=>k(s,i)),j())}}};await s.invite(c)},ue=async(t=!1)=>{let n=e.activeChannelId.value,r=a.value.get(n);if(r instanceof we&&r.state===V.Initial){for(let[t,n]of a.value.entries())if(t!==e.activeChannelId.value&&n.state===V.Established&&!e.channels.value.find(e=>e.id===t)?.isHeld)try{await R(n,!0),e.updateChannelState(t,{isHeld:!0})}catch(e){console.error(`[SipJs] Failed to hold channel ${t}:`,e)}let i={sessionDescriptionHandlerOptions:{constraints:ie(t)}};e.updateChannelState(n,{status:`connected`,startTime:Date.now()});try{await r.accept(i),await re(r),j()}catch(t){let r=a.value.get(n);throw r instanceof we&&r.state===V.Initial&&e.updateChannelState(n,{status:`incoming`,startTime:void 0}),t}}},de=async()=>{let t=a.value.get(e.activeChannelId.value);if(t)switch(t.state){case V.Initial:case V.Establishing:t instanceof Te?await t.cancel():t instanceof we&&await t.reject();break;case V.Established:await t.bye();break}},fe=()=>{let t=a.value.get(e.activeChannelId.value);if(!t)return;let n=!e.isMuted.value;e.setMuted(n),F(t,e.channels.value.find(t=>t.id===e.activeChannelId.value))},R=async(e,t)=>{let n={sessionDescriptionHandlerOptions:{hold:t}};await e.invite(n)},pe=async()=>{let t=a.value.get(e.activeChannelId.value);if(t?.state!==V.Established)return;let n=!e.isHeld.value;try{await R(t,n),e.setHeld(n),F(t,e.channels.value.find(t=>t.id===e.activeChannelId.value))}catch{}},me=async t=>{let n=e.activeChannelId.value;if(n===t)return;let r=a.value.get(n),i=a.value.get(t),o=e.channels.value.find(e=>e.id===n),s=e.channels.value.find(e=>e.id===t);if(r&&r.state===V.Established&&!o?.isHeld)try{await R(r,!0),e.updateChannelState(n,{isHeld:!0}),F(r,e.channels.value.find(e=>e.id===n))}catch{}if(e.setActiveChannelId(t),j(),i&&i.state===V.Established){if(s?.isHeld)try{await R(i,!1),e.updateChannelState(t,{isHeld:!1})}catch{}F(i,e.channels.value.find(e=>e.id===t)),ye(i)}else be()},he=t=>{if(!/^[0-9*#]$/.test(t))return;let n=a.value.get(e.activeChannelId.value);if(n?.state!==V.Established)return;let r=n.sessionDescriptionHandler?.peerConnection?.getSenders().find(e=>e.track?.kind===`audio`)?.dtmf;if(r?.canInsertDTMF){r.insertDTMF(t,160,70);return}let i={requestOptions:{body:{content:`Signal=${t}\r\nDuration=160`,contentType:`application/dtmf-relay`,contentDisposition:`signal`}}};n.info(i)},z=(t,n)=>{let r=e.channels.value.find(e=>e.id===t);!r||r.status!==`connected`||(ye(n),F(n,r),re(n),o.play().catch(()=>{}))},ge=async t=>{console.log(`[SipJs] 🔄 transferCall iniciado`),console.log(`[SipJs] Target:`,t);let n=e.activeChannelId.value,i=a.value.get(n);if(!i)throw console.error(`[SipJs] ❌ No hay sesión activa en el canal`,n),Error(`No active session to transfer`);if(console.log(`[SipJs] Sesión encontrada - Estado:`,i.state),console.log(`[SipJs] Dialog ID:`,i.dialog?.id),console.log(`[SipJs] Call ID:`,i.dialog?.callId),i.state!==V.Established)throw console.error(`[SipJs] ❌ Sesión no establecida. Estado actual:`,i.state),Error(`Cannot transfer call. Call is not established (state: ${i.state})`);let o=Et.makeURI(t);if(!o&&r.value?.configuration.uri){let e=r.value.configuration.uri.host;console.log(`[SipJs] Construyendo URI con dominio:`,e),o=Et.makeURI(`sip:${t}@${e}`)}if(!o)throw console.error(`[SipJs] ❌ URI de destino inválida:`,t),Error(`Invalid transfer target: ${t}`);console.log(`[SipJs] 📤 URI de transferencia:`,o.toString()),console.log(`[SipJs] URI scheme:`,o.scheme),console.log(`[SipJs] URI user:`,o.user),console.log(`[SipJs] URI host:`,o.host);try{console.log(`[SipJs] 🚀 Enviando REFER...`),await i.refer(o,{requestDelegate:{onAccept:e=>{console.log(`[SipJs] ✅ Transfer REFER aceptado por el servidor (202 Accepted)`),console.log(`[SipJs] Response:`,e.message)},onReject:e=>{let t=e.message.statusCode;console.error(`[SipJs] ❌ Transfer REFER rechazado:`,t),console.error(`[SipJs] Response completo:`,e.message),z(n,i)}},onNotify:e=>{console.log(`[SipJs] 📬 NOTIFY recibido para transferencia`),console.log(`[SipJs] NOTIFY request:`,e.request),e.accept();let t=e.request.body;if(console.log(`[SipJs] NOTIFY body:`,t),t){let e=t.match(/SIP\/2\.0\s+(\d{3})(.*)/);if(e&&e[1]){let t=parseInt(e[1],10),r=e[2]?.trim()||``;if(console.log(`[SipJs] 📊 Status code:`,t),console.log(`[SipJs] 📊 Status text:`,r),t>=200&&t<300)console.log(`[SipJs] ✅ Transferencia exitosa! Terminando sesión...`),setTimeout(()=>{i.bye().catch(e=>{console.warn(`[SipJs] Error hanging up after successful transfer:`,e)})},500);else if(t>=400){console.error(`[SipJs] ❌ Transfer falló con status:`,t,r),console.log(`[SipJs] 🔄 Manteniendo la sesión activa para el usuario`);let e={404:`Número no encontrado`,486:`Número ocupado`,487:`Transferencia cancelada`,503:`Servicio no disponible - el destino puede estar fuera de línea`}[t]||`Error en transferencia (código ${t})`;console.warn(`[SipJs] 💬`,e),z(n,i)}else t>=100&&t<200&&console.log(`[SipJs] 📞 Transferencia en progreso:`,t,r)}else console.warn(`[SipJs] ⚠️ No se pudo extraer el código de estado del NOTIFY body`)}else console.warn(`[SipJs] ⚠️ NOTIFY sin body`)}}),console.log(`[SipJs] ✅ REFER enviado exitosamente (promesa resuelta)`)}catch(e){throw console.error(`[SipJs] ❌ Error en transferCall:`,e),console.error(`[SipJs] Error type:`,e?.constructor?.name),console.error(`[SipJs] Error message:`,e instanceof Error?e.message:String(e)),console.error(`[SipJs] Error stack:`,e instanceof Error?e.stack:`N/A`),e}},B=async t=>{console.log(`[SipJs] 🔄 startAttendedTransfer iniciado`),console.log(`[SipJs] Target:`,t);let n=e.activeChannelId.value,r=a.value.get(n);if(console.log(`[SipJs] Canal original:`,n),console.log(`[SipJs] Sesión original:`,r?.state),!r||r.state!==V.Established)throw console.error(`[SipJs] ❌ No hay llamada establecida para transferir`),Error(`No established call to transfer`);let i=e.channels.value.find(e=>e.status===`idle`);if(console.log(`[SipJs] Canal de consulta encontrado:`,i?.id),!i)throw console.error(`[SipJs] ❌ No hay canales disponibles para llamada de consulta`),Error(`No available channel for consultation call`);try{console.log(`[SipJs] 🔇 Poniendo llamada original en hold...`),await R(r,!0),e.updateChannelState(n,{isHeld:!0}),console.log(`[SipJs] ✅ Llamada original en hold`)}catch(e){throw console.error(`[SipJs] ❌ Failed to hold original call:`,e),Error(`Failed to put call on hold`)}console.log(`[SipJs] 🔄 Cambiando al canal de consulta:`,i.id),e.setActiveChannelId(i.id);try{console.log(`[SipJs] 📞 Iniciando llamada de consulta a:`,t),await le(t,!1),console.log(`[SipJs] ✅ Llamada de consulta iniciada`),e.setTransferInProgress({originalChannelId:n,consultationChannelId:i.id,targetNumber:t}),console.log(`[SipJs] 📋 Transferencia en progreso registrada`)}catch(t){throw console.error(`[SipJs] ❌ Failed to start consultation call:`,t),console.log(`[SipJs] 🔄 Volviendo al canal original y quitando hold...`),e.setActiveChannelId(n),await R(r,!1).catch(()=>{}),e.updateChannelState(n,{isHeld:!1}),Error(`Failed to initiate consultation call`)}},_e=async()=>{console.log(`[SipJs] 🔄 completeAttendedTransfer iniciado`);let t=e.transferInProgress.value;if(!t)throw console.error(`[SipJs] ❌ No hay transferencia en progreso`),Error(`No transfer in progress`);console.log(`[SipJs] Estado de transferencia:`,t);let n=a.value.get(t.originalChannelId),i=a.value.get(t.consultationChannelId);if(console.log(`[SipJs] Sesión original:`,n?.state),console.log(`[SipJs] Sesión de consulta:`,i?.state),!n||!i)throw console.error(`[SipJs] ❌ Falta una o ambas sesiones`),Error(`Missing session for transfer`);if(i.state!==V.Established)throw console.error(`[SipJs] ❌ Llamada de consulta no está establecida. Estado:`,i.state),Error(`Consultation call not established`);let o=i.dialog;if(!o)throw Error(`No dialog available for consultation session`);let s=o.callId,c=o.remoteTag,l=o.localTag,u=Et.makeURI(t.targetNumber);if(!u&&r.value?.configuration.uri){let e=r.value.configuration.uri.host;u=Et.makeURI(`sip:${t.targetNumber}@${e}`)}if(!u)throw Error(`Invalid transfer target URI`);let d=`${encodeURIComponent(s)}%3Bto-tag%3D${encodeURIComponent(c)}%3Bfrom-tag%3D${encodeURIComponent(l)}`;u.setHeader(`Replaces`,d);try{await n.refer(u,{onNotify:t=>{t.accept();let r=t.request.body,a=typeof r==`string`?r:r&&typeof r==`object`&&`content`in r?r.content:void 0;if(a){let t=a.match(/SIP\/2\.0\s+(\d+)/);if(t&&t[1]){let r=parseInt(t[1]);r>=200&&r<300?setTimeout(()=>{n.bye().catch(()=>{}),i.bye().catch(()=>{}),e.setTransferInProgress(null)},500):r>=400&&(console.error(`[SipJs] Attended transfer failed with status:`,r),e.setTransferInProgress(null))}}},requestDelegate:{onAccept:()=>{},onReject:t=>{console.error(`[SipJs] Attended transfer REFER rejected:`,t.message.statusCode),e.setTransferInProgress(null)}}})}catch(e){throw console.error(`[SipJs] Attended transfer failed:`,e),e}},ve=async()=>{let t=e.transferInProgress.value;if(!t)throw Error(`No transfer in progress`);console.log(`[SipJs] Canceling attended transfer...`);let n=a.value.get(t.originalChannelId),r=a.value.get(t.consultationChannelId);if(r)try{await r.bye(),console.log(`[SipJs] Consultation call ended`)}catch(e){console.warn(`[SipJs] Error ending consultation:`,e)}if(n)try{e.setActiveChannelId(t.originalChannelId),await R(n,!1),e.updateChannelState(t.originalChannelId,{isHeld:!1}),console.log(`[SipJs] Returned to original call`)}catch(e){console.warn(`[SipJs] Error resuming original call:`,e)}e.setTransferInProgress(null)},ye=e=>{let t=e.sessionDescriptionHandler;if(!t){console.error(`[SipJs] setupRemoteMedia: no sessionDescriptionHandler`);return}let n=t.remoteMediaStream;if(!n){console.error(`[SipJs] setupRemoteMedia: no remoteMediaStream on SDH`);return}if(c.value===n)return;o.pause(),o.srcObject=null,m?.abort(),m=new AbortController,c.value=n,l.value=t.localMediaStream??null;let r=ne(e);F(e,r),r&&k(e,r.id);let i=e=>{h?.abort(),h=new AbortController;let{signal:t}=h,n=()=>{o.play().catch(e=>{e.name!==`AbortError`&&console.error(`[SipJs] play() failed:`,e.name,e.message)})};e.addEventListener(`unmute`,()=>{n()},{signal:t}),n()};n.addEventListener(`addtrack`,t=>{t.track.kind===`audio`&&(o.srcObject=null,o.srcObject=n,i(t.track),r&&k(e,r.id))},{signal:m.signal});let[a]=n.getTracks();a&&(o.srcObject=n,i(a),r&&k(e,r.id))},be=()=>{h?.abort(),h=null,m?.abort(),m=null,o.pause(),o.srcObject=null,c.value=null,l.value=null};return{initUserAgent:ae,stop:L,makeCall:le,answerCall:ue,hangupCall:de,toggleMute:fe,toggleHold:pe,sendDTMF:he,transferCall:ge,startAttendedTransfer:B,completeAttendedTransfer:_e,cancelAttendedTransfer:ve,switchChannel:me,extension:y,setVolume:ee,setNotificationVolume:w,setOutputDevice:M,setInputDevice:te,remoteStream:c,localStream:l}};var pr=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e;let mr=Pt,hr=(e,t)=>n=>{if(t?.variants==null)return mr(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=pr(t)||pr(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return mr(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function gr(e){return typeof e==`string`?`'${e}'`:new _r().serialize(e)}var _r=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function vr(e,t){return e===t||gr(e)===gr(t)}function yr(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function br(e,n){let r=typeof e==`string`&&!n?`${e}Context`:n,i=Symbol(r);return[n=>{let r=(0,t.inject)(i,n);if(r||r===null)return r;throw Error(`Injection \`${i.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>((0,t.provide)(i,e),e)]}function xr(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Sr(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function Cr(e){return e==null}function wr(e){return e?e.flatMap(e=>e.type===t.Fragment?wr(e.children):[e]):[]}var[Tr,Er]=br(`ConfigProvider`);function Dr(e,n){return(0,t.getCurrentScope)()?((0,t.onScopeDispose)(e,n),!0):!1}function Or(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return Dr(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}var kr=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Ar=jr();function jr(){var e,t;return kr&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Mr(e){return e||(0,t.getCurrentInstance)()}function Nr(e,n=1e4){return(0,t.customRef)((r,i)=>{let a=(0,t.toValue)(e),o,s=()=>setTimeout(()=>{a=(0,t.toValue)(e),i()},(0,t.toValue)(n));return Dr(()=>{clearTimeout(o)}),{get(){return r(),a},set(e){a=e,i(),clearTimeout(o),o=s()}}})}function Pr(e,n){Mr(n)&&(0,t.onBeforeUnmount)(e,n)}function Fr(e,n,r={}){let{immediate:i=!0,immediateCallback:a=!1}=r,o=(0,t.shallowRef)(!1),s;function c(){s&&=(clearTimeout(s),void 0)}function l(){o.value=!1,c()}function u(...r){a&&e(),c(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=void 0,e(...r)},(0,t.toValue)(n))}return i&&(o.value=!0,kr&&u()),Dr(l),{isPending:(0,t.shallowReadonly)(o),start:u,stop:l}}function Ir(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function Lr(e,t,n=`.`,r){if(!Ir(t))return Lr(e,{},n,r);let i=Object.assign({},t);for(let t in e){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:Ir(a)&&Ir(i[t])?i[t]=Lr(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Rr(e){return(...t)=>t.reduce((t,n)=>Lr(t,n,``,e),{})}var zr=Rr(),Br=(0,n.createSharedComposable)(()=>{let e=(0,t.ref)(new Map),r=(0,t.ref)(),i=(0,t.computed)(()=>{for(let t of e.value.values())if(t)return!0;return!1}),a=Tr({scrollBody:(0,t.ref)(!0)}),o=null,s=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=r.value??``,Ar&&o?.(),r.value=void 0};return(0,t.watch)(i,(e,i)=>{if(!kr)return;if(!e){i&&s();return}r.value===void 0&&(r.value=document.body.style.overflow);let c=window.innerWidth-document.documentElement.clientWidth,l={padding:c,margin:0},u=a.scrollBody?.value?typeof a.scrollBody.value==`object`?zr({padding:a.scrollBody.value.padding===!0?c:a.scrollBody.value.padding,margin:a.scrollBody.value.margin===!0?c:a.scrollBody.value.margin},l):l:{padding:0,margin:0};c>0&&(document.body.style.paddingRight=typeof u.padding==`number`?`${u.padding}px`:String(u.padding),document.body.style.marginRight=typeof u.margin==`number`?`${u.margin}px`:String(u.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${c}px`),document.body.style.overflow=`hidden`),Ar&&(o=(0,n.useEventListener)(document,`touchmove`,e=>Ur(e),{passive:!1})),(0,t.nextTick)(()=>{document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`})},{immediate:!0,flush:`sync`}),e});function Vr(e){let n=Math.random().toString(36).substring(2,7),r=Br();r.value.set(n,e??!1);let i=(0,t.computed)({get:()=>r.value.get(n)??!1,set:e=>r.value.set(n,e)});return Pr(()=>{r.value.delete(n)}),i}function Hr(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:Hr(t)}}function Ur(e){let t=e||window.event,n=t.target;return n instanceof Element&&Hr(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function Wr(e){let n=Tr({dir:(0,t.ref)(`ltr`)});return(0,t.computed)(()=>e?.value||n.dir?.value||`ltr`)}function Gr(e){let n=(0,t.getCurrentInstance)(),r=n?.type.emits,i={};return r?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),r?.forEach(n=>{i[(0,t.toHandlerKey)((0,t.camelize)(n))]=(...t)=>e(n,...t)}),i}var Kr=0;function qr(){(0,t.watchEffect)(e=>{if(!kr)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Jr()),document.body.insertAdjacentElement(`beforeend`,t[1]??Jr()),Kr++,e(()=>{Kr===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Kr--})})}function Jr(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function Yr(e){return(0,t.computed)(()=>(0,t.toValue)(e)?!!(0,n.unrefElement)(e)?.closest(`form`):!0)}function X(){let e=(0,t.getCurrentInstance)(),r=(0,t.ref)(),i=(0,t.computed)(()=>a());(0,t.onUpdated)(()=>{i.value!==a()&&(0,t.triggerRef)(r)});function a(){return r.value&&`$el`in r.value&&[`#text`,`#comment`].includes(r.value.$el.nodeName)?r.value.$el.nextElementSibling:(0,n.unrefElement)(r)}let o=Object.assign({},e.exposed),s={};for(let t in e.props)Object.defineProperty(s,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(o).length>0)for(let e in o)Object.defineProperty(s,e,{enumerable:!0,configurable:!0,get:()=>o[e]});Object.defineProperty(s,`$el`,{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=s;function c(t){if(r.value=t,t&&(Object.defineProperty(s,`$el`,{enumerable:!0,configurable:!0,get:()=>t instanceof Element?t:t.$el}),!(t instanceof Element)&&!Object.prototype.hasOwnProperty.call(t,`$el`))){let n=t.$.exposed,r=Object.assign({},s);for(let e in n)Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>n[e]});e.exposed=r}}return{forwardRef:c,currentRef:r,currentElement:i}}function Xr(e){let n=(0,t.getCurrentInstance)(),r=Object.keys(n?.type.props??{}).reduce((e,t)=>{let r=(n?.type.props[t]).default;return r!==void 0&&(e[t]=r),e},{}),i=(0,t.toRef)(e);return(0,t.computed)(()=>{let e={},a=n?.vnode.props??{};return Object.keys(a).forEach(n=>{e[(0,t.camelize)(n)]=a[n]}),Object.keys({...r,...e}).reduce((e,t)=>(i.value[t]!==void 0&&(e[t]=i.value[t]),e),{})})}function Zr(e,n){let r=Xr(e),i=n?Gr(n):{};return(0,t.computed)(()=>({...r.value,...i}))}function Qr(e,n){let r=Nr(!1,300);Dr(()=>{r.value=!1});let i=(0,t.ref)(null),a=Or();function o(){i.value=null,r.value=!1}function s(e,t){let n=e.currentTarget,a={x:e.clientX,y:e.clientY},o=ei(a,$r(a,n.getBoundingClientRect()),1),s=ti(t.getBoundingClientRect());i.value=ri([...o,...s]),r.value=!0}return(0,t.watchEffect)(t=>{if(e.value&&n.value){let r=e=>s(e,n.value),i=t=>s(t,e.value);e.value.addEventListener(`pointerleave`,r),n.value.addEventListener(`pointerleave`,i),t(()=>{e.value?.removeEventListener(`pointerleave`,r),n.value?.removeEventListener(`pointerleave`,i)})}}),(0,t.watchEffect)(t=>{if(i.value){let r=t=>{if(!i.value||!(t.target instanceof Element))return;let r=t.target,s={x:t.clientX,y:t.clientY},c=e.value?.contains(r)||n.value?.contains(r),l=!ni(s,i.value),u=!!r.closest(`[data-grace-area-trigger]`);c?o():(l||u)&&(o(),a.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,r),t(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:r,onPointerExit:a.on}}function $r(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function ei(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ti(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function ni(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function ri(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),ii(t)}function ii(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var ai=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},oi=new WeakMap,si=new WeakMap,ci={},li=0,ui=function(e){return e&&(e.host||ui(e.parentNode))},di=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=ui(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},fi=function(e,t,n,r){var i=di(t,Array.isArray(e)?e:[e]);ci[n]||(ci[n]=new WeakMap);var a=ci[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(oi.get(e)||0)+1,l=(a.get(e)||0)+1;oi.set(e,c),a.set(e,l),o.push(e),c===1&&i&&si.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),li++,function(){o.forEach(function(e){var t=oi.get(e)-1,i=a.get(e)-1;oi.set(e,t),a.set(e,i),t||(si.has(e)||e.removeAttribute(r),si.delete(e)),i||e.removeAttribute(n)}),li--,li||(oi=new WeakMap,oi=new WeakMap,si=new WeakMap,ci={})}},pi=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ai(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),fi(r,i,n,`aria-hidden`)):function(){return null}};function mi(e){let r;(0,t.watch)(()=>(0,n.unrefElement)(e),e=>{e?r=pi(e):r&&r()}),(0,t.onUnmounted)(()=>{r&&r()})}var hi=0;function gi(e,n=`reka`){if(e)return e;let r;return r=`useId`in t?t.useId?.():Tr({useId:void 0}).useId?.()??`${++hi}`,n?`${n}-${r}`:r}function _i(e){let r=(0,t.ref)(),i=(0,t.computed)(()=>r.value?.width??0),a=(0,t.computed)(()=>r.value?.height??0);return(0,t.onMounted)(()=>{let t=(0,n.unrefElement)(e);if(t){r.value={width:t.offsetWidth,height:t.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let n=e[0],i,a;if(`borderBoxSize`in n){let e=n.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=t.offsetWidth,a=t.offsetHeight;r.value={width:i,height:a}});return e.observe(t,{box:`border-box`}),()=>e.unobserve(t)}else r.value=void 0}),{width:i,height:a}}function vi(e,n){let r=(0,t.ref)(e);function i(e){return n[r.value][e]??r.value}return{state:r,dispatch:e=>{r.value=i(e)}}}function yi(e){let t=Nr(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=xr(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=xi(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function bi(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function xi(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=bi(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Si(e,r){let i=(0,t.ref)({}),a=(0,t.ref)(`none`),o=(0,t.ref)(e),s=e.value?`mounted`:`unmounted`,c,l=r.value?.ownerDocument.defaultView??n.defaultWindow,{state:u,dispatch:d}=vi(s,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),f=e=>{if(kr){let t=new CustomEvent(e,{bubbles:!1,cancelable:!1});r.value?.dispatchEvent(t)}};(0,t.watch)(e,async(e,n)=>{let o=n!==e;if(await(0,t.nextTick)(),o){let t=a.value,o=Ci(r.value);e?(d(`MOUNT`),f(`enter`),o===`none`&&f(`after-enter`)):o===`none`||o===`undefined`||i.value?.display===`none`?(d(`UNMOUNT`),f(`leave`),f(`after-leave`)):n&&t!==o?(d(`ANIMATION_OUT`),f(`leave`)):(d(`UNMOUNT`),f(`after-leave`))}},{immediate:!0});let p=e=>{let t=Ci(r.value),n=t.includes(CSS.escape(e.animationName)),i=u.value===`mounted`?`enter`:`leave`;if(e.target===r.value&&n&&(f(`after-${i}`),d(`ANIMATION_END`),!o.value)){let e=r.value.style.animationFillMode;r.value.style.animationFillMode=`forwards`,c=l?.setTimeout(()=>{r.value?.style.animationFillMode===`forwards`&&(r.value.style.animationFillMode=e)})}e.target===r.value&&t===`none`&&d(`ANIMATION_END`)},m=e=>{e.target===r.value&&(a.value=Ci(r.value))},h=(0,t.watch)(r,(e,t)=>{e?(i.value=getComputedStyle(e),e.addEventListener(`animationstart`,m),e.addEventListener(`animationcancel`,p),e.addEventListener(`animationend`,p)):(d(`ANIMATION_END`),c!==void 0&&l?.clearTimeout(c),t?.removeEventListener(`animationstart`,m),t?.removeEventListener(`animationcancel`,p),t?.removeEventListener(`animationend`,p))},{immediate:!0}),g=(0,t.watch)(u,()=>{let e=Ci(r.value);a.value=u.value===`mounted`?e:`none`});return(0,t.onUnmounted)(()=>{h(),g()}),{isPresent:(0,t.computed)(()=>[`mounted`,`unmountSuspended`].includes(u.value))}}function Ci(e){return e&&getComputedStyle(e).animationName||`none`}var wi=(0,t.defineComponent)({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:r,expose:i}){let{present:a,forceMount:o}=(0,t.toRefs)(e),s=(0,t.ref)(),{isPresent:c}=Si(a,s);i({present:c});let l=r.default({present:c.value});l=wr(l||[]);let u=(0,t.getCurrentInstance)();if(l&&l?.length>1){let e=u?.parent?.type.name?`<${u.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
|
|
57
|
+
`))}startSendingKeepAlives(){this.configuration.keepAliveInterval&&!this.keepAliveInterval&&(this.keepAliveInterval=setInterval(()=>{this.sendKeepAlive(),this.startSendingKeepAlives()},(e=>{let t=e*.8;return 1e3*(Math.random()*(e-t)+t)})(this.configuration.keepAliveInterval)))}stopSendingKeepAlives(){this.keepAliveInterval&&clearInterval(this.keepAliveInterval),this.keepAliveDebounceTimeout&&clearTimeout(this.keepAliveDebounceTimeout),this.keepAliveInterval=void 0,this.keepAliveDebounceTimeout=void 0}};Tt.defaultOptions={server:``,connectionTimeout:5,keepAliveInterval:0,keepAliveDebounce:10,traceSip:!0};var Et=class e{constructor(t={}){if(this._publishers={},this._registerers={},this._sessions={},this._subscriptions={},this._state=De.Stopped,this._stateEventEmitter=new T,this.delegate=t.delegate,this.options=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e.defaultOptions()),{sipjsId:F(5)}),{uri:new k(`sip`,`anonymous.`+F(6),`anonymous.invalid`)}),{viaHost:F(12)+`.invalid`}),e.stripUndefinedProperties(t)),this.options.hackIpInContact)if(typeof this.options.hackIpInContact==`boolean`&&this.options.hackIpInContact){let e=Math.floor(Math.random()*254+1);this.options.viaHost=`192.0.2.`+e}else this.options.hackIpInContact&&(this.options.viaHost=this.options.hackIpInContact);switch(this.loggerFactory=new Ne,this.logger=this.loggerFactory.getLogger(`sip.UserAgent`),this.loggerFactory.builtinEnabled=this.options.logBuiltinEnabled,this.loggerFactory.connector=this.options.logConnector,this.options.logLevel){case`error`:this.loggerFactory.level=je.error;break;case`warn`:this.loggerFactory.level=je.warn;break;case`log`:this.loggerFactory.level=je.log;break;case`debug`:this.loggerFactory.level=je.debug;break;default:break}if(this.options.logConfiguration&&(this.logger.log(`Configuration:`),Object.keys(this.options).forEach(e=>{let t=this.options[e];switch(e){case`uri`:case`sessionDescriptionHandlerFactory`:this.logger.log(`· `+e+`: `+t);break;case`authorizationPassword`:this.logger.log(`· `+e+`: NOT SHOWN`);break;case`transportConstructor`:this.logger.log(`· `+e+`: `+t.name);break;default:this.logger.log(`· `+e+`: `+JSON.stringify(t))}})),this.options.transportOptions){let e=this.options.transportOptions,n=e.maxReconnectionAttempts,r=e.reconnectionTimeout;n!==void 0&&this.logger.warn(`The transport option "maxReconnectionAttempts" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),r!==void 0&&this.logger.warn(`The transport option "reconnectionTimeout" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),t.reconnectionDelay===void 0&&r!==void 0&&(this.options.reconnectionDelay=r),t.reconnectionAttempts===void 0&&n!==void 0&&(this.options.reconnectionAttempts=n)}if(t.reconnectionDelay!==void 0&&this.logger.warn(`The user agent option "reconnectionDelay" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),t.reconnectionAttempts!==void 0&&this.logger.warn(`The user agent option "reconnectionAttempts" as has apparently been specified and has been deprecated. It will no longer be available starting with SIP.js release 0.16.0. Please update accordingly.`),this._transport=new this.options.transportConstructor(this.getLogger(`sip.Transport`),this.options.transportOptions),this.initTransportCallbacks(),this._contact=this.initContact(),this._instanceId=this.options.instanceId?this.options.instanceId:e.newUUID(),N.parse(this._instanceId,`uuid`)===-1)throw Error(`Invalid instanceId.`);this._userAgentCore=this.initCore()}static makeURI(e){return N.URIParse(e)}static defaultOptions(){return{allowLegacyNotifications:!1,authorizationHa1:``,authorizationPassword:``,authorizationUsername:``,delegate:{},contactName:``,contactParams:{transport:`ws`},displayName:``,forceRport:!1,gracefulShutdown:!0,hackAllowUnregisteredOptionTags:!1,hackIpInContact:!1,hackViaTcp:!1,instanceId:``,instanceIdAlwaysAdded:!1,logBuiltinEnabled:!0,logConfiguration:!0,logConnector:()=>{},logLevel:`log`,noAnswerTimeout:60,preloadedRouteSet:[],reconnectionAttempts:0,reconnectionDelay:4,sendInitialProvisionalResponse:!0,sessionDescriptionHandlerFactory:wt(),sessionDescriptionHandlerFactoryOptions:{},sipExtension100rel:Se.Unsupported,sipExtensionReplaces:Se.Unsupported,sipExtensionExtraSupported:[],sipjsId:``,transportConstructor:Tt,transportOptions:{},uri:new k(`sip`,`anonymous`,`anonymous.invalid`),userAgentString:`SIP.js/0.21.1`,viaHost:``}}static newUUID(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.floor(Math.random()*16);return(e===`x`?t:t%4+8).toString(16)})}static stripUndefinedProperties(e){return Object.keys(e).reduce((t,n)=>(e[n]!==void 0&&(t[n]=e[n]),t),{})}get configuration(){return this.options}get contact(){return this._contact}get instanceId(){return this._instanceId}get state(){return this._state}get stateChange(){return this._stateEventEmitter}get transport(){return this._transport}get userAgentCore(){return this._userAgentCore}getLogger(e,t){return this.loggerFactory.getLogger(e,t)}getLoggerFactory(){return this.loggerFactory}isConnected(){return this.transport.isConnected()}reconnect(){return this.state===De.Stopped?Promise.reject(Error(`User agent stopped.`)):Promise.resolve().then(()=>this.transport.connect())}start(){return this.state===De.Started?(this.logger.warn(`User agent already started`),Promise.resolve()):(this.logger.log(`Starting ${this.configuration.uri}`),this.transitionState(De.Started),this.transport.connect())}async stop(){if(this.state===De.Stopped)return this.logger.warn(`User agent already stopped`),Promise.resolve();if(this.logger.log(`Stopping ${this.configuration.uri}`),!this.options.gracefulShutdown)return this.logger.log(`Dispose of transport`),this.transport.dispose().catch(e=>{throw this.logger.error(e.message),e}),this.logger.log(`Dispose of core`),this.userAgentCore.dispose(),this._publishers={},this._registerers={},this._sessions={},this._subscriptions={},this.transitionState(De.Stopped),Promise.resolve();let e=Object.assign({},this._publishers),t=Object.assign({},this._registerers),n=Object.assign({},this._sessions),r=Object.assign({},this._subscriptions),i=this.transport,a=this.userAgentCore;for(let e in this.logger.log(`Dispose of registerers`),t)t[e]&&await t[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._registerers[e],t});for(let e in this.logger.log(`Dispose of sessions`),n)n[e]&&await n[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._sessions[e],t});for(let e in this.logger.log(`Dispose of subscriptions`),r)r[e]&&await r[e].dispose().catch(t=>{throw this.logger.error(t.message),delete this._subscriptions[e],t});for(let t in this.logger.log(`Dispose of publishers`),e)e[t]&&await e[t].dispose().catch(e=>{throw this.logger.error(e.message),delete this._publishers[t],e});this.logger.log(`Dispose of transport`),await i.dispose().catch(e=>{throw this.logger.error(e.message),e}),this.logger.log(`Dispose of core`),a.dispose(),this.transitionState(De.Stopped)}_makeInviter(e,t){return new Te(this,e,t)}attemptReconnection(e=1){let t=this.options.reconnectionAttempts,n=this.options.reconnectionDelay;if(e>t){this.logger.log(`Maximum reconnection attempts reached`);return}this.logger.log(`Reconnection attempt ${e} of ${t} - trying`),setTimeout(()=>{this.reconnect().then(()=>{this.logger.log(`Reconnection attempt ${e} of ${t} - succeeded`)}).catch(n=>{this.logger.error(n.message),this.logger.log(`Reconnection attempt ${e} of ${t} - failed`),this.attemptReconnection(++e)})},e===1?0:n*1e3)}initContact(){let e=this.options.contactName===``?F(8):this.options.contactName,t=this.options.contactParams;return{pubGruu:void 0,tempGruu:void 0,uri:new k(`sip`,e,this.options.viaHost,void 0,t),toString:(e={})=>{let n=e.anonymous||!1,r=e.outbound||!1,i=e.register||!1,a=`<`;return n?a+=this.contact.tempGruu||`sip:anonymous@anonymous.invalid;transport=${t.transport?t.transport:`ws`}`:i?a+=this.contact.uri:a+=this.contact.pubGruu||this.contact.uri,r&&(a+=`;ob`),a+=`>`,this.options.instanceIdAlwaysAdded&&(a+=`;+sip.instance="<urn:uuid:`+this._instanceId+`>"`),a}}}initCore(){let e=[];e.push(`outbound`),this.options.sipExtension100rel===Se.Supported&&e.push(`100rel`),this.options.sipExtensionReplaces===Se.Supported&&e.push(`replaces`),this.options.sipExtensionExtraSupported&&e.push(...this.options.sipExtensionExtraSupported),this.options.hackAllowUnregisteredOptionTags||(e=e.filter(e=>Ce[e])),e=Array.from(new Set(e));let t=e.slice();return(this.contact.pubGruu||this.contact.tempGruu)&&t.push(`gruu`),new bt({aor:this.options.uri,contact:this.contact,displayName:this.options.displayName,loggerFactory:this.loggerFactory,hackViaTcp:this.options.hackViaTcp,routeSet:this.options.preloadedRouteSet,supportedOptionTags:e,supportedOptionTagsResponse:t,sipjsId:this.options.sipjsId,userAgentHeaderFieldValue:this.options.userAgentString,viaForceRport:this.options.forceRport,viaHost:this.options.viaHost,authenticationFactory:()=>{let e=this.options.authorizationUsername?this.options.authorizationUsername:this.options.uri.user,t=this.options.authorizationPassword?this.options.authorizationPassword:void 0,n=this.options.authorizationHa1?this.options.authorizationHa1:void 0;return new Ae(this.getLoggerFactory(),n,e,t)},transportAccessor:()=>this.transport},{onInvite:e=>{let t=new we(this,e);if(e.delegate={onCancel:e=>{t._onCancel(e)},onTransportError:e=>{this.logger.error(`A transport error has occurred while handling an incoming INVITE request.`)}},e.trying(),this.options.sipExtensionReplaces!==Se.Unsupported){let n=e.message.parseHeader(`replaces`);if(n){let e=n.call_id;if(typeof e!=`string`)throw Error(`Type of call id is not string`);let r=n.replaces_to_tag;if(typeof r!=`string`)throw Error(`Type of to tag is not string`);let i=n.replaces_from_tag;if(typeof i!=`string`)throw Error(`type of from tag is not string`);let a=e+r+i,o=this.userAgentCore.dialogs.get(a);if(!o){t.reject({statusCode:481});return}if(!o.early&&n.early_only===!0){t.reject({statusCode:486});return}let s=this._sessions[e+i]||this._sessions[e+r]||void 0;if(!s)throw Error(`Session does not exist.`);t._replacee=s}}if(this.delegate?.onInvite){if(t.autoSendAnInitialProvisionalResponse){t.progress().then(()=>{if(this.delegate?.onInvite===void 0)throw Error(`onInvite undefined.`);this.delegate.onInvite(t)});return}this.delegate.onInvite(t);return}t.reject({statusCode:486})},onMessage:e=>{if(this.delegate&&this.delegate.onMessage){let t=new ve(e);this.delegate.onMessage(t)}else e.accept()},onNotify:e=>{if(this.delegate&&this.delegate.onNotify){let t=new ye(e);this.delegate.onNotify(t)}else this.options.allowLegacyNotifications?e.accept():e.reject({statusCode:481})},onRefer:e=>{this.logger.warn(`Received an out of dialog REFER request`),this.delegate&&this.delegate.onReferRequest?this.delegate.onReferRequest(e):e.reject({statusCode:405})},onRegister:e=>{this.logger.warn(`Received an out of dialog REGISTER request`),this.delegate&&this.delegate.onRegisterRequest?this.delegate.onRegisterRequest(e):e.reject({statusCode:405})},onSubscribe:e=>{this.logger.warn(`Received an out of dialog SUBSCRIBE request`),this.delegate&&this.delegate.onSubscribeRequest?this.delegate.onSubscribeRequest(e):e.reject({statusCode:405})}})}initTransportCallbacks(){this.transport.onConnect=()=>this.onTransportConnect(),this.transport.onDisconnect=e=>this.onTransportDisconnect(e),this.transport.onMessage=e=>this.onTransportMessage(e)}onTransportConnect(){this.state!==De.Stopped&&this.delegate&&this.delegate.onConnect&&this.delegate.onConnect()}onTransportDisconnect(e){this.state!==De.Stopped&&(this.delegate&&this.delegate.onDisconnect&&this.delegate.onDisconnect(e),e&&this.options.reconnectionAttempts>0&&this.attemptReconnection())}onTransportMessage(e){let t=Pe.parseMessage(e,this.getLogger(`sip.Parser`));if(!t){this.logger.warn(`Failed to parse incoming message. Dropping.`);return}if(this.state===De.Stopped&&t instanceof oe){this.logger.warn(`Received ${t.method} request while stopped. Dropping.`);return}let n=()=>{for(let e of[`from`,`to`,`call_id`,`cseq`,`via`])if(!t.hasHeader(e))return this.logger.warn(`Missing mandatory header field : ${e}.`),!1;return!0};if(t instanceof oe){if(!n()){this.logger.warn(`Request missing mandatory header field. Dropping.`);return}if(!t.toTag&&t.callId.substr(0,5)===this.options.sipjsId){this.userAgentCore.replyStateless(t,{statusCode:482});return}let e=I(t.body),r=t.getHeader(`content-length`);if(r&&e<Number(r)){this.userAgentCore.replyStateless(t,{statusCode:400});return}}if(t instanceof se){if(!n()){this.logger.warn(`Response missing mandatory header field. Dropping.`);return}if(t.getHeaders(`via`).length>1){this.logger.warn(`More than one Via header field present in the response. Dropping.`);return}if(t.via.host!==this.options.viaHost||t.via.port!==void 0){this.logger.warn(`Via sent-by in the response does not match UA Via host value. Dropping.`);return}let e=I(t.body),r=t.getHeader(`content-length`);if(r&&e<Number(r)){this.logger.warn(`Message body length is lower than the value in Content-Length header field. Dropping.`);return}}if(t instanceof oe){this.userAgentCore.receiveIncomingRequestFromTransport(t);return}if(t instanceof se){this.userAgentCore.receiveIncomingResponseFromTransport(t);return}throw Error(`Invalid message type.`)}transitionState(e,t){let n=()=>{throw Error(`Invalid state transition from ${this._state} to ${e}`)};switch(this._state){case De.Started:e!==De.Stopped&&n();break;case De.Stopped:e!==De.Started&&n();break;default:throw Error(`Unknown state.`)}this.logger.log(`Transitioned from ${this._state} to ${e}`),this._state=e,this._stateEventEmitter.emit(this._state)}},Dt=new window.AudioContext,Ot={1:[697,1209],2:[697,1336],3:[697,1477],A:[697,1633],4:[770,1209],5:[770,1336],6:[770,1477],B:[770,1633],7:[852,1209],8:[852,1336],9:[852,1477],C:[852,1633],"*":[941,1209],0:[941,1336],"#":[941,1477],D:[941,1633]},kt=(0,t.ref)(null),At=(0,t.ref)(null),jt=(0,t.ref)(.5);let Mt=()=>({playDtmf:(e,t=150)=>{Dt.state===`suspended`&&Dt.resume();let n=Ot[e.toUpperCase()];if(!n)return;let r=Dt.createOscillator(),i=Dt.createOscillator(),a=Dt.createGain();r.frequency.value=n[0],i.frequency.value=n[1],r.type=`sine`,i.type=`sine`,a.gain.value=.1*jt.value,r.connect(a),i.connect(a),a.connect(Dt.destination),r.start(),i.start(),setTimeout(()=>{r.stop(),i.stop(),r.disconnect(),i.disconnect(),a.disconnect()},t)},startRingtone:()=>{if(kt.value)return;Dt.state===`suspended`&&Dt.resume();let e=()=>{let e=Dt.currentTime,t=Dt.createOscillator(),n=Dt.createGain();t.type=`sine`,t.frequency.setValueAtTime(523.25,e),t.frequency.setValueAtTime(659.25,e+.1),t.frequency.setValueAtTime(783.99,e+.2),n.gain.setValueAtTime(.1*jt.value,e),n.gain.exponentialRampToValueAtTime(.001,e+.5),t.connect(n),n.connect(Dt.destination),t.start(e),t.stop(e+.5)};e(),kt.value=window.setInterval(()=>{e(),setTimeout(e,400)},3e3)},stopRingtone:()=>{kt.value&&=(clearInterval(kt.value),null)},startRingback:()=>{if(At.value)return;Dt.state===`suspended`&&Dt.resume();let e=()=>{let e=Dt.currentTime,t=Dt.createOscillator(),n=Dt.createGain();t.type=`sine`,t.frequency.value=425,n.gain.setValueAtTime(.1*jt.value,e),n.gain.linearRampToValueAtTime(.1*jt.value,e+1),n.gain.linearRampToValueAtTime(0,e+1.1),t.connect(n),n.connect(Dt.destination),t.start(e),t.stop(e+1.1)};e(),At.value=window.setInterval(()=>{e()},4e3)},stopRingback:()=>{At.value&&=(clearInterval(At.value),null)},setNotificationVolume:e=>{jt.value=Math.max(0,Math.min(1,e/100))}});function Nt(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Nt(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Pt(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Nt(e))&&(r&&(r+=` `),r+=t);return r}var Ft=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},It=(e,t)=>({classGroupId:e,validator:t}),Lt=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Rt=`-`,zt=[],Bt=`arbitrary..`,Vt=e=>{let t=Wt(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Ut(e);let n=e.split(Rt);return Ht(n,n[0]===``&&n.length>1?1:0,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Ft(i,t):t:i||zt}return n[e]||zt}}},Ht=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Ht(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Rt):e.slice(t).join(Rt),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Ut=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Bt+r:void 0})(),Wt=e=>{let{theme:t,classGroups:n}=e;return Gt(n,t)},Gt=(e,t)=>{let n=Lt();for(let r in e){let i=e[r];Kt(i,n,r,t)}return n},Kt=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];qt(i,t,n,r)}},qt=(e,t,n,r)=>{if(typeof e==`string`){Jt(e,t,n);return}if(typeof e==`function`){Yt(e,t,n,r);return}Xt(e,t,n,r)},Jt=(e,t,n)=>{let r=e===``?t:Zt(t,e);r.classGroupId=n},Yt=(e,t,n,r)=>{if(Qt(e)){Kt(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(It(n,e))},Xt=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Kt(o,Zt(t,a),n,r)}},Zt=(e,t)=>{let n=e,r=t.split(Rt),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Lt(),n.nextPart.set(t,i)),n=i}return n},Qt=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,$t=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},en=`!`,tn=`:`,nn=[],rn=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),an=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===tn){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(en)?(c=s.slice(0,-1),l=!0):s.startsWith(en)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return rn(t,l,c,u)};if(t){let e=t+tn,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):rn(nn,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},on=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},sn=e=>({cache:$t(e.cacheSize),parseClassName:an(e),sortModifiers:on(e),...Vt(e)}),cn=/\s+/,ln=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(cn),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+en:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},un=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=dn(n))&&(i&&(i+=` `),i+=r);return i},dn=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=dn(e[r]))&&(n&&(n+=` `),n+=t);return n},fn=(e,...t)=>{let n,r,i,a,o=o=>(n=sn(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=ln(e,n);return i(e,a),a};return a=o,(...e)=>a(un(...e))},pn=[],mn=e=>{let t=t=>t[e]||pn;return t.isThemeGetter=!0,t},hn=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,gn=/^\((?:(\w[\w-]*):)?(.+)\)$/i,_n=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,vn=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,yn=/\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$/,bn=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,xn=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Sn=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Cn=e=>_n.test(e),K=e=>!!e&&!Number.isNaN(Number(e)),wn=e=>!!e&&Number.isInteger(Number(e)),Tn=e=>e.endsWith(`%`)&&K(e.slice(0,-1)),En=e=>vn.test(e),Dn=()=>!0,On=e=>yn.test(e)&&!bn.test(e),kn=()=>!1,An=e=>xn.test(e),jn=e=>Sn.test(e),Mn=e=>!q(e)&&!J(e),Nn=e=>Jn(e,Qn,kn),q=e=>hn.test(e),Pn=e=>Jn(e,$n,On),Fn=e=>Jn(e,er,K),In=e=>Jn(e,nr,Dn),Ln=e=>Jn(e,tr,kn),Rn=e=>Jn(e,Xn,kn),zn=e=>Jn(e,Zn,jn),Bn=e=>Jn(e,rr,An),J=e=>gn.test(e),Vn=e=>Yn(e,$n),Hn=e=>Yn(e,tr),Un=e=>Yn(e,Xn),Wn=e=>Yn(e,Qn),Gn=e=>Yn(e,Zn),Kn=e=>Yn(e,rr,!0),qn=e=>Yn(e,nr,!0),Jn=(e,t,n)=>{let r=hn.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Yn=(e,t,n=!1)=>{let r=gn.exec(e);return r?r[1]?t(r[1]):n:!1},Xn=e=>e===`position`||e===`percentage`,Zn=e=>e===`image`||e===`url`,Qn=e=>e===`length`||e===`size`||e===`bg-size`,$n=e=>e===`length`,er=e=>e===`number`,tr=e=>e===`family-name`,nr=e=>e===`number`||e===`weight`,rr=e=>e===`shadow`,ir=fn(()=>{let e=mn(`color`),t=mn(`font`),n=mn(`text`),r=mn(`font-weight`),i=mn(`tracking`),a=mn(`leading`),o=mn(`breakpoint`),s=mn(`container`),c=mn(`spacing`),l=mn(`radius`),u=mn(`shadow`),d=mn(`inset-shadow`),f=mn(`text-shadow`),p=mn(`drop-shadow`),m=mn(`blur`),h=mn(`perspective`),g=mn(`aspect`),_=mn(`ease`),v=mn(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),J,q],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[J,q,c],T=()=>[Cn,`full`,`auto`,...w()],E=()=>[wn,`none`,`subgrid`,J,q],D=()=>[`auto`,{span:[`full`,wn,J,q]},wn,J,q],O=()=>[wn,`auto`,J,q],k=()=>[`auto`,`min`,`max`,`fr`,J,q],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],ee=()=>[`auto`,...w()],M=()=>[Cn,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],te=()=>[Cn,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],N=()=>[Cn,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,J,q],F=()=>[...b(),Un,Rn,{position:[J,q]}],ne=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],re=()=>[`auto`,`cover`,`contain`,Wn,Nn,{size:[J,q]}],ie=()=>[Tn,Vn,Pn],I=()=>[``,`none`,`full`,l,J,q],ae=()=>[``,K,Vn,Pn],oe=()=>[`solid`,`dashed`,`dotted`,`double`],se=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],L=()=>[K,Tn,Un,Rn],ce=()=>[``,`none`,m,J,q],le=()=>[`none`,K,J,q],ue=()=>[`none`,K,J,q],de=()=>[K,J,q],fe=()=>[Cn,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[En],breakpoint:[En],color:[Dn],container:[En],"drop-shadow":[En],ease:[`in`,`out`,`in-out`],font:[Mn],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[En],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[En],shadow:[En],spacing:[`px`,K],text:[En],"text-shadow":[En],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Cn,q,J,g]}],container:[`container`],columns:[{columns:[K,q,J,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"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:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[wn,`auto`,J,q]}],basis:[{basis:[Cn,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[K,Cn,`auto`,`initial`,`none`,q]}],grow:[{grow:[``,K,J,q]}],shrink:[{shrink:[``,K,J,q]}],order:[{order:[wn,`first`,`last`,`none`,J,q]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:ee()}],mx:[{mx:ee()}],my:[{my:ee()}],ms:[{ms:ee()}],me:[{me:ee()}],mbs:[{mbs:ee()}],mbe:[{mbe:ee()}],mt:[{mt:ee()}],mr:[{mr:ee()}],mb:[{mb:ee()}],ml:[{ml:ee()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:M()}],"inline-size":[{inline:[`auto`,...te()]}],"min-inline-size":[{"min-inline":[`auto`,...te()]}],"max-inline-size":[{"max-inline":[`none`,...te()]}],"block-size":[{block:[`auto`,...N()]}],"min-block-size":[{"min-block":[`auto`,...N()]}],"max-block-size":[{"max-block":[`none`,...N()]}],w:[{w:[s,`screen`,...M()]}],"min-w":[{"min-w":[s,`screen`,`none`,...M()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...M()]}],h:[{h:[`screen`,`lh`,...M()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...M()]}],"max-h":[{"max-h":[`screen`,`lh`,...M()]}],"font-size":[{text:[`base`,n,Vn,Pn]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,qn,In]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Tn,q]}],"font-family":[{font:[Hn,Ln,t]}],"font-features":[{"font-features":[q]}],"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:[i,J,q]}],"line-clamp":[{"line-clamp":[K,`none`,J,Fn]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,J,q]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,J,q]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...oe(),`wavy`]}],"text-decoration-thickness":[{decoration:[K,`from-font`,`auto`,J,Pn]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[K,`auto`,J,q]}],"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`,J,q]}],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`,J,q]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:F()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:re()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},wn,J,q],radial:[``,J,q],conic:[wn,J,q]},Gn,zn]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ie()}],"gradient-via-pos":[{via:ie()}],"gradient-to-pos":[{to:ie()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:ae()}],"border-w-x":[{"border-x":ae()}],"border-w-y":[{"border-y":ae()}],"border-w-s":[{"border-s":ae()}],"border-w-e":[{"border-e":ae()}],"border-w-bs":[{"border-bs":ae()}],"border-w-be":[{"border-be":ae()}],"border-w-t":[{"border-t":ae()}],"border-w-r":[{"border-r":ae()}],"border-w-b":[{"border-b":ae()}],"border-w-l":[{"border-l":ae()}],"divide-x":[{"divide-x":ae()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":ae()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...oe(),`hidden`,`none`]}],"divide-style":[{divide:[...oe(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...oe(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[K,J,q]}],"outline-w":[{outline:[``,K,Vn,Pn]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,Kn,Bn]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,Kn,Bn]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:ae()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[K,Pn]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":ae()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,Kn,Bn]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[K,J,q]}],"mix-blend":[{"mix-blend":[...se(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":se()}],"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":[K]}],"mask-image-linear-from-pos":[{"mask-linear-from":L()}],"mask-image-linear-to-pos":[{"mask-linear-to":L()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":L()}],"mask-image-t-to-pos":[{"mask-t-to":L()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":L()}],"mask-image-r-to-pos":[{"mask-r-to":L()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":L()}],"mask-image-b-to-pos":[{"mask-b-to":L()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":L()}],"mask-image-l-to-pos":[{"mask-l-to":L()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":L()}],"mask-image-x-to-pos":[{"mask-x-to":L()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":L()}],"mask-image-y-to-pos":[{"mask-y-to":L()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[J,q]}],"mask-image-radial-from-pos":[{"mask-radial-from":L()}],"mask-image-radial-to-pos":[{"mask-radial-to":L()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"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":b()}],"mask-image-conic-pos":[{"mask-conic":[K]}],"mask-image-conic-from-pos":[{"mask-conic-from":L()}],"mask-image-conic-to-pos":[{"mask-conic-to":L()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:F()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:re()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,J,q]}],filter:[{filter:[``,`none`,J,q]}],blur:[{blur:ce()}],brightness:[{brightness:[K,J,q]}],contrast:[{contrast:[K,J,q]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Kn,Bn]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,K,J,q]}],"hue-rotate":[{"hue-rotate":[K,J,q]}],invert:[{invert:[``,K,J,q]}],saturate:[{saturate:[K,J,q]}],sepia:[{sepia:[``,K,J,q]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,J,q]}],"backdrop-blur":[{"backdrop-blur":ce()}],"backdrop-brightness":[{"backdrop-brightness":[K,J,q]}],"backdrop-contrast":[{"backdrop-contrast":[K,J,q]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,K,J,q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[K,J,q]}],"backdrop-invert":[{"backdrop-invert":[``,K,J,q]}],"backdrop-opacity":[{"backdrop-opacity":[K,J,q]}],"backdrop-saturate":[{"backdrop-saturate":[K,J,q]}],"backdrop-sepia":[{"backdrop-sepia":[``,K,J,q]}],"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`,J,q]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[K,`initial`,J,q]}],ease:[{ease:[`linear`,`initial`,_,J,q]}],delay:[{delay:[K,J,q]}],animate:[{animate:[`none`,v,J,q]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,J,q]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:le()}],"rotate-x":[{"rotate-x":le()}],"rotate-y":[{"rotate-y":le()}],"rotate-z":[{"rotate-z":le()}],scale:[{scale:ue()}],"scale-x":[{"scale-x":ue()}],"scale-y":[{"scale-y":ue()}],"scale-z":[{"scale-z":ue()}],"scale-3d":[`scale-3d`],skew:[{skew:de()}],"skew-x":[{"skew-x":de()}],"skew-y":[{"skew-y":de()}],transform:[{transform:[J,q,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:fe()}],"translate-x":[{"translate-x":fe()}],"translate-y":[{"translate-y":fe()}],"translate-z":[{"translate-z":fe()}],"translate-none":[`translate-none`],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"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`,J,q]}],"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-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":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-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":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`,J,q]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[K,Vn,Pn,Fn]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`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`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`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-bs`,`border-w-be`,`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-bs`,`border-color-be`,`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-mbs`,`scroll-mbe`,`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-pbs`,`scroll-pbe`,`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`]}});let Y=(...e)=>ir(Pt(e)),ar=e=>e.length<=3?e:`${e.slice(0,3)}${`*`.repeat(e.length-3)}`,or=(e,t)=>{if(e){let t=sr(e);if(t&&cr(t))return t;if(e.trim())return e.trim()}if(t){let e=sr(t);if(e&&cr(e))return e;let n=lr(t);if(n)return n;if(t.trim()&&!t.includes(`@`))return t.trim()}return`Unknown`};var sr=e=>e.replace(/[^\d+*#]/g,``),cr=e=>/^\+?[\d*#]{2,}$/.test(e),lr=e=>{let t=e.match(/^([+]?[\d*#]{2,})\s*[-:]/);return t&&t[1]||(t=e.match(/\(([+]?[\d*#]{2,})\)/),t&&t[1])||(t=e.match(/(?:ext\.?|extension)\s*([+]?[\d*#]{2,})/i),t&&t[1])?t[1]:(t=e.match(/([+]?\d{1,3}[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9})/),t&&t[1]?sr(t[1]):null)},ur=`X-Nebula-Queue`,dr=`X-Nebula-Queue-Id`;let fr=(e,n={})=>{let r=(0,t.shallowRef)(null),i=(0,t.shallowRef)(null),a=(0,t.shallowRef)(new Map),o=new Audio;o.autoplay=!0;let s=(0,t.shallowRef)(void 0),c=(0,t.shallowRef)(null),l=(0,t.shallowRef)(null),u=new Map,d=new Map,f=new Set,p=!1,m=null,h=null,g=null,_=null,v=null,y=(0,t.computed)(()=>r.value?.configuration.uri?.user||``),{startRingtone:b,stopRingtone:x,startRingback:S,stopRingback:C,setNotificationVolume:w}=Mt(),T=e=>e instanceof Te||e instanceof we?e.request?.callId||e.dialog?.callId||e.id||crypto.randomUUID():e.dialog?.callId||e.id||crypto.randomUUID(),E=e=>{if(!(e instanceof we))return;let t=e.request;if(!t)return;let n=t.getHeader(ur)?.trim(),r=t.getHeader(dr)?.trim();if(!(!n&&!r))return{...r?{id:r}:{},...n?{name:n}:{}}},D=(e,t,r,i)=>{let a=E(e),o={channelId:t,sipCallId:T(e),direction:r,remoteNumber:i,...a?{queue:a}:{}};return u.set(t,o),n.onCallContext?.(o),o},O=(e,t)=>{let r=u.get(e);r&&n.onCallState?.({...r,state:t,timestamp:Date.now()})},k=(e,t)=>{if(e.state!==V.Established)return;let r=u.get(t),i=e.sessionDescriptionHandler,a=i?.localMediaStream??l.value,o=i?.remoteMediaStream??c.value,s=a?.getAudioTracks()??[],f=o?.getAudioTracks()??[];if(!r||!a||!o||s.length===0||f.length===0)return;let p=[r.sipCallId,...s.map(e=>`local:${e.id}`),...f.map(e=>`remote:${e.id}`)].join(`|`);d.get(t)!==p&&(d.set(t,p),n.onMediaReady?.({...r,localStream:a,remoteStream:o}))},A=e=>{u.delete(e),d.delete(e),f.delete(e)},j=()=>{e.channels.value.some(e=>e.status===`incoming`)?b():x(),e.activeChannel.value?.status===`calling`?S():C()},ee=e=>{o.volume=e/100},M=async e=>{typeof o.setSinkId==`function`&&await o.setSinkId(e)},te=async t=>{if(!t)return;let n=[...a.value.entries()].flatMap(([e,t])=>{let n=t.sessionDescriptionHandler,r=n?.peerConnection?.getSenders().find(e=>e.track?.kind===`audio`);return r?[{channelId:e,session:t,sdh:n,sender:r}]:[]});if(n.length===0){s.value=t;return}let r=[],i=[];try{for(let{sender:e}of n){let n=await navigator.mediaDevices.getUserMedia(ie(!1,t));r.push(n);let[a]=n.getAudioTracks(),o=e.track;if(!a||!o)throw Error(`Could not acquire an audio track for the selected microphone`);a.enabled=o.enabled,await e.replaceTrack(a),i.push({sender:e,previousTrack:o})}s.value=t,n.forEach(({channelId:t,session:n,sdh:i,sender:a},o)=>{let s=r[o]?.getAudioTracks()[0];if(!s)return;let c=e.channels.value.find(e=>e.id===t),u=!(c?.isHeld||c?.isMuted);a.track.enabled=u;let d=i.localMediaStream;d&&(d.getAudioTracks().forEach(e=>{e!==s&&d.removeTrack(e)}),d.getTracks().includes(s)||d.addTrack(s)),e.activeChannelId.value===t&&(d?l.value=d:l.value&&(l.value.getAudioTracks().forEach(e=>{e!==s&&l.value?.removeTrack(e)}),l.value.getTracks().includes(s)||l.value.addTrack(s)));try{k(n,t)}catch(e){console.error(`[SipJs] Media-ready callback failed after microphone switch:`,e)}});let o=new Set([...a.value.values()].flatMap(e=>e.sessionDescriptionHandler?.peerConnection?.getSenders().map(e=>e.track).filter(e=>e?.kind===`audio`)??[]));i.forEach(({previousTrack:e})=>{o.has(e)||e.stop()}),r.forEach((e,t)=>{e.getTracks().forEach(e=>{e!==n[t]?.sender.track&&e.stop()})})}catch(e){await Promise.allSettled(i.map(({sender:e,previousTrack:t})=>e.replaceTrack(t))),r.forEach(e=>e.getTracks().forEach(e=>e.stop())),console.warn(`[SipJs] Failed to switch microphone:`,e)}},N=(e,t)=>{let n=!1,r=e.sessionDescriptionHandler;return r?.peerConnection&&r.peerConnection.getSenders().forEach(e=>{e.track&&e.track.kind===`audio`&&(e.track.enabled=t,n=!0)}),n},P=e=>{let t=!1;return l.value&&l.value.getAudioTracks().forEach(n=>{n.enabled=e,t=!0}),t},F=(e,t)=>{let n=!(t?.isHeld||t?.isMuted),r=N(e,n),i=P(n);!r&&!i&&console.warn(`[SipJs] No audio tracks found to apply channel audio state`)},ne=t=>{for(let[n,r]of a.value.entries())if(r===t)return e.channels.value.find(e=>e.id===n)||null;return e.activeChannel.value||null},re=async e=>{let t=e.sessionDescriptionHandler?.peerConnection;if(!t)return;let n=ne(e),r=!(n?.isHeld||n?.isMuted),i=t.getSenders().find(e=>e.track?.kind===`audio`);if(i?.track){i.track.enabled=r,n&&k(e,n.id);return}try{let[i]=(await navigator.mediaDevices.getUserMedia(ie(!1))).getAudioTracks();if(!i)return;i.enabled=r;let a=new MediaStream([i]);l.value=a;let o=t.getSenders().find(e=>e.track===null);o?await o.replaceTrack(i):t.addTrack(i,a),F(e,n),n&&k(e,n.id)}catch(e){console.warn(`[SipJs] Failed to recover outbound audio track:`,e)}},ie=(e=!1,t=s.value)=>{let n={echoCancellation:{ideal:!0},noiseSuppression:{ideal:!1},autoGainControl:{ideal:!1},channelCount:1};return t&&(n.deviceId={exact:t}),{audio:n,video:e}},I=async()=>{let t=i.value;t&&await t.register({requestDelegate:{onAccept:()=>{e.setConnected(!0)},onReject:()=>{e.setConnected(!1)}}})},ae=async t=>{if(!r.value){try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch(e){console.error(`Microphone permission denied`,e);return}try{let n=Et.makeURI(t.uri);if(!n)throw Error(`Invalid URI`);p=t.earlyMedia??!1,r.value=new Et({uri:n,logLevel:`error`,transportOptions:{server:t.transportOptions.server,keepAliveInterval:t.transportOptions.keepAliveInterval??30},authorizationUsername:t.authorizationUsername,authorizationPassword:t.authorizationPassword,reconnectionDelay:5,reconnectionAttempts:3,delegate:{onConnect:()=>{},onDisconnect:()=>e.setConnected(!1),onInvite:e=>ce(e)}}),await r.value.start(),i.value=new Ee(r.value),await I(),oe()}catch{}}},oe=()=>{g=new AbortController;let{signal:t}=g,n=Date.now(),r=(e=1e3)=>{_&&clearTimeout(_),_=setTimeout(async()=>{_=null,await se()},e)},i=()=>{if(document.visibilityState===`visible`){let e=Date.now()-n;e>5e3?(console.log(`[SipJs] Device was suspended for ${Math.round(e/1e3)}s, reconnecting...`),r(1500)):r(500)}n=Date.now()},a=()=>{console.log(`[SipJs] Network online, reconnecting...`),r(1e3)},o=()=>{console.log(`[SipJs] Network offline`),e.setConnected(!1),_&&=(clearTimeout(_),null)},s=()=>{v=setInterval(()=>{let e=Date.now(),t=e-n;t>3e4&&(console.log(`[SipJs] Heartbeat drift detected (${Math.round(t/1e3)}s), device may have woken from sleep`),r(1500)),n=e},1e3)};document.addEventListener(`visibilitychange`,i,{signal:t}),window.addEventListener(`online`,a,{signal:t}),window.addEventListener(`offline`,o,{signal:t}),document.addEventListener(`freeze`,()=>{console.log(`[SipJs] Page frozen`),v&&=(clearInterval(v),null)},{signal:t}),document.addEventListener(`resume`,()=>{console.log(`[SipJs] Page resumed`),n=Date.now(),s(),r(1e3)},{signal:t}),s()},se=async()=>{if(r.value){if(!navigator.onLine){console.log(`[SipJs] Skipping reconnect, device is offline`);return}if(a.value.size>0){console.log(`[SipJs] Skipping reconnect, active calls in progress`);return}try{if(r.value.isConnected()||(console.log(`[SipJs] Reconnecting...`),await r.value.reconnect()),i.value&&r.value.isConnected())try{await I()}catch{}}catch(e){console.error(`[SipJs] Reconnection failed:`,e)}}},L=async()=>{g?.abort(),g=null,_&&=(clearTimeout(_),null),v&&=(clearInterval(v),null);let e=i.value,t=r.value;if(i.value=null,r.value=null,e)try{await e.unregister()}catch(e){console.warn(`[SipJs] Unregister failed:`,e)}if(t)try{await t.stop()}catch(e){console.warn(`[SipJs] UserAgent stop failed:`,e)}},ce=t=>{console.log(`[SipJs] 📞 Llamada entrante recibida`),console.log(`[SipJs] Remote Identity URI:`,t.remoteIdentity.uri.toString()),console.log(`[SipJs] Remote Identity URI user:`,t.remoteIdentity.uri.user),console.log(`[SipJs] Remote Identity displayName:`,t.remoteIdentity.displayName);let n=e.channels.value.find(e=>e.status===`idle`);if(!n){console.warn(`[SipJs] ⚠️ No hay canales disponibles, rechazando llamada`),t.reject();return}let r=n.id;a.value.set(r,t);let i=t.body?t.body.includes(`m=video`):!1,o=or(t.remoteIdentity.uri.user,t.remoteIdentity.displayName);console.log(`[SipJs] 📋 Caller number extraído:`,o),console.log(`[SipJs] 🎥 Video:`,i?`Sí`:`No`),e.updateChannelState(r,{status:`incoming`,remoteNumber:o,remoteDisplayName:t.remoteIdentity.displayName||void 0,hasVideo:i}),D(t,r,`incoming`,o),O(r,`ringing`),j(),e.setActiveChannelId(r),t.stateChange.addListener(n=>{switch(n){case V.Terminated:{let n=e.channels.value.find(e=>e.id===r),i=or(t.remoteIdentity.uri.user,t.remoteIdentity.displayName);if(n?.status===`connected`){let t=Math.floor((Date.now()-(n.startTime||Date.now()))/1e3);e.addCallLog({number:i,direction:`incoming`,status:`answered`,startTime:n.startTime||Date.now(),duration:t})}else n?.status===`incoming`&&e.addCallLog({number:i,direction:`incoming`,status:`missed`,startTime:Date.now(),duration:0});O(r,f.has(r)?`ended`:`failed`),A(r),e.updateChannelState(r,{status:`idle`,remoteNumber:``,isMuted:!1,isHeld:!1,hasVideo:!1,hasEarlyMedia:!1}),a.value.delete(r),e.activeChannelId.value===r&&be(),j();break}case V.Established:f.add(r),e.updateChannelState(r,{status:`connected`,startTime:Date.now()}),O(r,`connected`),e.activeChannelId.value===r&&(ye(t),re(t).then(()=>k(t,r))),j();break}})},le=async(t,n=!1)=>{if(!r.value)return;let i=e.activeChannelId.value;if(a.value.has(i))return;let o=Et.makeURI(t);if(!o&&r.value.configuration.uri){let e=r.value.configuration.uri.host;o=Et.makeURI(`sip:${t}@${e}`)}if(!o)return;let s=new Te(r.value,o,{earlyMedia:p});a.value.set(i,s),D(s,i,`outgoing`,t),O(i,`dialing`),e.updateChannelState(i,{status:`calling`,remoteNumber:t,hasVideo:n}),e.setLastDialedNumber(t),j(),s.stateChange.addListener(n=>{switch(n){case V.Established:f.add(i),e.channels.value.find(e=>e.id===i)?.status!==`connected`&&(e.updateChannelState(i,{status:`connected`,startTime:Date.now()}),O(i,`connected`),ye(s),re(s).then(()=>k(s,i)),j());break;case V.Terminated:{let n=e.channels.value.find(e=>e.id===i);if(n?.status===`connected`){let r=Math.floor((Date.now()-(n.startTime||Date.now()))/1e3);e.addCallLog({number:t,direction:`outgoing`,status:`answered`,startTime:n.startTime||Date.now(),duration:r})}else e.addCallLog({number:t,direction:`outgoing`,status:`cancelled`,startTime:Date.now(),duration:0});O(i,f.has(i)?`ended`:`failed`),A(i),e.updateChannelState(i,{status:`idle`,remoteNumber:``,isMuted:!1,isHeld:!1,startTime:void 0,keypadValue:``,hasVideo:!1}),a.value.delete(i),e.activeChannelId.value===i&&be(),j();break}}});let c={sessionDescriptionHandlerOptions:{constraints:ie(n)},requestDelegate:{onProgress:t=>{(t.message.statusCode===180||t.message.statusCode===183)&&(t.message.body&&(e.updateChannelState(i,{hasEarlyMedia:!0}),ye(s)),j())},onAccept:t=>{e.channels.value.find(e=>e.id===i)?.status!==`connected`&&(f.add(i),e.updateChannelState(i,{status:`connected`,startTime:Date.now()}),O(i,`connected`),ye(s),re(s).then(()=>k(s,i)),j())}}};await s.invite(c)},ue=async(t=!1)=>{let n=e.activeChannelId.value,r=a.value.get(n);if(r instanceof we&&r.state===V.Initial){x(),e.updateChannelState(n,{status:`connected`,startTime:Date.now()}),j();for(let[t,n]of a.value.entries())if(t!==e.activeChannelId.value&&n.state===V.Established&&!e.channels.value.find(e=>e.id===t)?.isHeld)try{await R(n,!0),e.updateChannelState(t,{isHeld:!0})}catch(e){console.error(`[SipJs] Failed to hold channel ${t}:`,e)}let i={sessionDescriptionHandlerOptions:{constraints:ie(t),iceGatheringTimeout:1e3}};try{await r.accept(i),j()}catch(t){let r=a.value.get(n);throw r instanceof we&&r.state===V.Initial&&(e.updateChannelState(n,{status:`incoming`,startTime:void 0}),j()),t}}},de=async()=>{let t=a.value.get(e.activeChannelId.value);if(t)switch(t.state){case V.Initial:case V.Establishing:t instanceof Te?await t.cancel():t instanceof we&&await t.reject();break;case V.Established:await t.bye();break}},fe=()=>{let t=a.value.get(e.activeChannelId.value);if(!t)return;let n=!e.isMuted.value;e.setMuted(n),F(t,e.channels.value.find(t=>t.id===e.activeChannelId.value))},R=async(e,t)=>{let n={sessionDescriptionHandlerOptions:{hold:t}};await e.invite(n)},pe=async()=>{let t=a.value.get(e.activeChannelId.value);if(t?.state!==V.Established)return;let n=!e.isHeld.value;try{await R(t,n),e.setHeld(n),F(t,e.channels.value.find(t=>t.id===e.activeChannelId.value))}catch{}},me=async t=>{let n=e.activeChannelId.value;if(n===t)return;let r=a.value.get(n),i=a.value.get(t),o=e.channels.value.find(e=>e.id===n),s=e.channels.value.find(e=>e.id===t);if(r&&r.state===V.Established&&!o?.isHeld)try{await R(r,!0),e.updateChannelState(n,{isHeld:!0}),F(r,e.channels.value.find(e=>e.id===n))}catch{}if(e.setActiveChannelId(t),j(),i&&i.state===V.Established){if(s?.isHeld)try{await R(i,!1),e.updateChannelState(t,{isHeld:!1})}catch{}F(i,e.channels.value.find(e=>e.id===t)),ye(i)}else be()},he=t=>{if(!/^[0-9*#]$/.test(t))return;let n=a.value.get(e.activeChannelId.value);if(n?.state!==V.Established)return;let r=n.sessionDescriptionHandler?.peerConnection?.getSenders().find(e=>e.track?.kind===`audio`)?.dtmf;if(r?.canInsertDTMF){r.insertDTMF(t,160,70);return}let i={requestOptions:{body:{content:`Signal=${t}\r\nDuration=160`,contentType:`application/dtmf-relay`,contentDisposition:`signal`}}};n.info(i)},z=(t,n)=>{let r=e.channels.value.find(e=>e.id===t);!r||r.status!==`connected`||(ye(n),F(n,r),re(n),o.play().catch(()=>{}))},ge=async t=>{console.log(`[SipJs] 🔄 transferCall iniciado`),console.log(`[SipJs] Target:`,t);let n=e.activeChannelId.value,i=a.value.get(n);if(!i)throw console.error(`[SipJs] ❌ No hay sesión activa en el canal`,n),Error(`No active session to transfer`);if(console.log(`[SipJs] Sesión encontrada - Estado:`,i.state),console.log(`[SipJs] Dialog ID:`,i.dialog?.id),console.log(`[SipJs] Call ID:`,i.dialog?.callId),i.state!==V.Established)throw console.error(`[SipJs] ❌ Sesión no establecida. Estado actual:`,i.state),Error(`Cannot transfer call. Call is not established (state: ${i.state})`);let o=Et.makeURI(t);if(!o&&r.value?.configuration.uri){let e=r.value.configuration.uri.host;console.log(`[SipJs] Construyendo URI con dominio:`,e),o=Et.makeURI(`sip:${t}@${e}`)}if(!o)throw console.error(`[SipJs] ❌ URI de destino inválida:`,t),Error(`Invalid transfer target: ${t}`);console.log(`[SipJs] 📤 URI de transferencia:`,o.toString()),console.log(`[SipJs] URI scheme:`,o.scheme),console.log(`[SipJs] URI user:`,o.user),console.log(`[SipJs] URI host:`,o.host);try{console.log(`[SipJs] 🚀 Enviando REFER...`),await i.refer(o,{requestDelegate:{onAccept:e=>{console.log(`[SipJs] ✅ Transfer REFER aceptado por el servidor (202 Accepted)`),console.log(`[SipJs] Response:`,e.message)},onReject:e=>{let t=e.message.statusCode;console.error(`[SipJs] ❌ Transfer REFER rechazado:`,t),console.error(`[SipJs] Response completo:`,e.message),z(n,i)}},onNotify:e=>{console.log(`[SipJs] 📬 NOTIFY recibido para transferencia`),console.log(`[SipJs] NOTIFY request:`,e.request),e.accept();let t=e.request.body;if(console.log(`[SipJs] NOTIFY body:`,t),t){let e=t.match(/SIP\/2\.0\s+(\d{3})(.*)/);if(e&&e[1]){let t=parseInt(e[1],10),r=e[2]?.trim()||``;if(console.log(`[SipJs] 📊 Status code:`,t),console.log(`[SipJs] 📊 Status text:`,r),t>=200&&t<300)console.log(`[SipJs] ✅ Transferencia exitosa! Terminando sesión...`),setTimeout(()=>{i.bye().catch(e=>{console.warn(`[SipJs] Error hanging up after successful transfer:`,e)})},500);else if(t>=400){console.error(`[SipJs] ❌ Transfer falló con status:`,t,r),console.log(`[SipJs] 🔄 Manteniendo la sesión activa para el usuario`);let e={404:`Número no encontrado`,486:`Número ocupado`,487:`Transferencia cancelada`,503:`Servicio no disponible - el destino puede estar fuera de línea`}[t]||`Error en transferencia (código ${t})`;console.warn(`[SipJs] 💬`,e),z(n,i)}else t>=100&&t<200&&console.log(`[SipJs] 📞 Transferencia en progreso:`,t,r)}else console.warn(`[SipJs] ⚠️ No se pudo extraer el código de estado del NOTIFY body`)}else console.warn(`[SipJs] ⚠️ NOTIFY sin body`)}}),console.log(`[SipJs] ✅ REFER enviado exitosamente (promesa resuelta)`)}catch(e){throw console.error(`[SipJs] ❌ Error en transferCall:`,e),console.error(`[SipJs] Error type:`,e?.constructor?.name),console.error(`[SipJs] Error message:`,e instanceof Error?e.message:String(e)),console.error(`[SipJs] Error stack:`,e instanceof Error?e.stack:`N/A`),e}},B=async t=>{console.log(`[SipJs] 🔄 startAttendedTransfer iniciado`),console.log(`[SipJs] Target:`,t);let n=e.activeChannelId.value,r=a.value.get(n);if(console.log(`[SipJs] Canal original:`,n),console.log(`[SipJs] Sesión original:`,r?.state),!r||r.state!==V.Established)throw console.error(`[SipJs] ❌ No hay llamada establecida para transferir`),Error(`No established call to transfer`);let i=e.channels.value.find(e=>e.status===`idle`);if(console.log(`[SipJs] Canal de consulta encontrado:`,i?.id),!i)throw console.error(`[SipJs] ❌ No hay canales disponibles para llamada de consulta`),Error(`No available channel for consultation call`);try{console.log(`[SipJs] 🔇 Poniendo llamada original en hold...`),await R(r,!0),e.updateChannelState(n,{isHeld:!0}),console.log(`[SipJs] ✅ Llamada original en hold`)}catch(e){throw console.error(`[SipJs] ❌ Failed to hold original call:`,e),Error(`Failed to put call on hold`)}console.log(`[SipJs] 🔄 Cambiando al canal de consulta:`,i.id),e.setActiveChannelId(i.id);try{console.log(`[SipJs] 📞 Iniciando llamada de consulta a:`,t),await le(t,!1),console.log(`[SipJs] ✅ Llamada de consulta iniciada`),e.setTransferInProgress({originalChannelId:n,consultationChannelId:i.id,targetNumber:t}),console.log(`[SipJs] 📋 Transferencia en progreso registrada`)}catch(t){throw console.error(`[SipJs] ❌ Failed to start consultation call:`,t),console.log(`[SipJs] 🔄 Volviendo al canal original y quitando hold...`),e.setActiveChannelId(n),await R(r,!1).catch(()=>{}),e.updateChannelState(n,{isHeld:!1}),Error(`Failed to initiate consultation call`)}},_e=async()=>{console.log(`[SipJs] 🔄 completeAttendedTransfer iniciado`);let t=e.transferInProgress.value;if(!t)throw console.error(`[SipJs] ❌ No hay transferencia en progreso`),Error(`No transfer in progress`);console.log(`[SipJs] Estado de transferencia:`,t);let n=a.value.get(t.originalChannelId),i=a.value.get(t.consultationChannelId);if(console.log(`[SipJs] Sesión original:`,n?.state),console.log(`[SipJs] Sesión de consulta:`,i?.state),!n||!i)throw console.error(`[SipJs] ❌ Falta una o ambas sesiones`),Error(`Missing session for transfer`);if(i.state!==V.Established)throw console.error(`[SipJs] ❌ Llamada de consulta no está establecida. Estado:`,i.state),Error(`Consultation call not established`);let o=i.dialog;if(!o)throw Error(`No dialog available for consultation session`);let s=o.callId,c=o.remoteTag,l=o.localTag,u=Et.makeURI(t.targetNumber);if(!u&&r.value?.configuration.uri){let e=r.value.configuration.uri.host;u=Et.makeURI(`sip:${t.targetNumber}@${e}`)}if(!u)throw Error(`Invalid transfer target URI`);let d=`${encodeURIComponent(s)}%3Bto-tag%3D${encodeURIComponent(c)}%3Bfrom-tag%3D${encodeURIComponent(l)}`;u.setHeader(`Replaces`,d);try{await n.refer(u,{onNotify:t=>{t.accept();let r=t.request.body,a=typeof r==`string`?r:r&&typeof r==`object`&&`content`in r?r.content:void 0;if(a){let t=a.match(/SIP\/2\.0\s+(\d+)/);if(t&&t[1]){let r=parseInt(t[1]);r>=200&&r<300?setTimeout(()=>{n.bye().catch(()=>{}),i.bye().catch(()=>{}),e.setTransferInProgress(null)},500):r>=400&&(console.error(`[SipJs] Attended transfer failed with status:`,r),e.setTransferInProgress(null))}}},requestDelegate:{onAccept:()=>{},onReject:t=>{console.error(`[SipJs] Attended transfer REFER rejected:`,t.message.statusCode),e.setTransferInProgress(null)}}})}catch(e){throw console.error(`[SipJs] Attended transfer failed:`,e),e}},ve=async()=>{let t=e.transferInProgress.value;if(!t)throw Error(`No transfer in progress`);console.log(`[SipJs] Canceling attended transfer...`);let n=a.value.get(t.originalChannelId),r=a.value.get(t.consultationChannelId);if(r)try{await r.bye(),console.log(`[SipJs] Consultation call ended`)}catch(e){console.warn(`[SipJs] Error ending consultation:`,e)}if(n)try{e.setActiveChannelId(t.originalChannelId),await R(n,!1),e.updateChannelState(t.originalChannelId,{isHeld:!1}),console.log(`[SipJs] Returned to original call`)}catch(e){console.warn(`[SipJs] Error resuming original call:`,e)}e.setTransferInProgress(null)},ye=e=>{let t=e.sessionDescriptionHandler;if(!t){console.error(`[SipJs] setupRemoteMedia: no sessionDescriptionHandler`);return}let n=t.remoteMediaStream;if(!n){console.error(`[SipJs] setupRemoteMedia: no remoteMediaStream on SDH`);return}if(c.value===n)return;o.pause(),o.srcObject=null,m?.abort(),m=new AbortController,c.value=n,l.value=t.localMediaStream??null;let r=ne(e);F(e,r),r&&k(e,r.id);let i=e=>{h?.abort(),h=new AbortController;let{signal:t}=h,n=()=>{o.play().catch(e=>{e.name!==`AbortError`&&console.error(`[SipJs] play() failed:`,e.name,e.message)})};e.addEventListener(`unmute`,()=>{n()},{signal:t}),n()};n.addEventListener(`addtrack`,t=>{t.track.kind===`audio`&&(o.srcObject=null,o.srcObject=n,i(t.track),r&&k(e,r.id))},{signal:m.signal});let[a]=n.getTracks();a&&(o.srcObject=n,i(a),r&&k(e,r.id))},be=()=>{h?.abort(),h=null,m?.abort(),m=null,o.pause(),o.srcObject=null,c.value=null,l.value=null};return{initUserAgent:ae,stop:L,makeCall:le,answerCall:ue,hangupCall:de,toggleMute:fe,toggleHold:pe,sendDTMF:he,transferCall:ge,startAttendedTransfer:B,completeAttendedTransfer:_e,cancelAttendedTransfer:ve,switchChannel:me,extension:y,setVolume:ee,setNotificationVolume:w,setOutputDevice:M,setInputDevice:te,remoteStream:c,localStream:l}};var pr=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e;let mr=Pt,hr=(e,t)=>n=>{if(t?.variants==null)return mr(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=pr(t)||pr(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return mr(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function gr(e){return typeof e==`string`?`'${e}'`:new _r().serialize(e)}var _r=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function vr(e,t){return e===t||gr(e)===gr(t)}function yr(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function br(e,n){let r=typeof e==`string`&&!n?`${e}Context`:n,i=Symbol(r);return[n=>{let r=(0,t.inject)(i,n);if(r||r===null)return r;throw Error(`Injection \`${i.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>((0,t.provide)(i,e),e)]}function xr(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function Sr(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function Cr(e){return e==null}function wr(e){return e?e.flatMap(e=>e.type===t.Fragment?wr(e.children):[e]):[]}var[Tr,Er]=br(`ConfigProvider`);function Dr(e,n){return(0,t.getCurrentScope)()?((0,t.onScopeDispose)(e,n),!0):!1}function Or(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return Dr(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}var kr=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Ar=jr();function jr(){var e,t;return kr&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Mr(e){return e||(0,t.getCurrentInstance)()}function Nr(e,n=1e4){return(0,t.customRef)((r,i)=>{let a=(0,t.toValue)(e),o,s=()=>setTimeout(()=>{a=(0,t.toValue)(e),i()},(0,t.toValue)(n));return Dr(()=>{clearTimeout(o)}),{get(){return r(),a},set(e){a=e,i(),clearTimeout(o),o=s()}}})}function Pr(e,n){Mr(n)&&(0,t.onBeforeUnmount)(e,n)}function Fr(e,n,r={}){let{immediate:i=!0,immediateCallback:a=!1}=r,o=(0,t.shallowRef)(!1),s;function c(){s&&=(clearTimeout(s),void 0)}function l(){o.value=!1,c()}function u(...r){a&&e(),c(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=void 0,e(...r)},(0,t.toValue)(n))}return i&&(o.value=!0,kr&&u()),Dr(l),{isPending:(0,t.shallowReadonly)(o),start:u,stop:l}}function Ir(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function Lr(e,t,n=`.`,r){if(!Ir(t))return Lr(e,{},n,r);let i=Object.assign({},t);for(let t in e){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:Ir(a)&&Ir(i[t])?i[t]=Lr(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Rr(e){return(...t)=>t.reduce((t,n)=>Lr(t,n,``,e),{})}var zr=Rr(),Br=(0,n.createSharedComposable)(()=>{let e=(0,t.ref)(new Map),r=(0,t.ref)(),i=(0,t.computed)(()=>{for(let t of e.value.values())if(t)return!0;return!1}),a=Tr({scrollBody:(0,t.ref)(!0)}),o=null,s=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=r.value??``,Ar&&o?.(),r.value=void 0};return(0,t.watch)(i,(e,i)=>{if(!kr)return;if(!e){i&&s();return}r.value===void 0&&(r.value=document.body.style.overflow);let c=window.innerWidth-document.documentElement.clientWidth,l={padding:c,margin:0},u=a.scrollBody?.value?typeof a.scrollBody.value==`object`?zr({padding:a.scrollBody.value.padding===!0?c:a.scrollBody.value.padding,margin:a.scrollBody.value.margin===!0?c:a.scrollBody.value.margin},l):l:{padding:0,margin:0};c>0&&(document.body.style.paddingRight=typeof u.padding==`number`?`${u.padding}px`:String(u.padding),document.body.style.marginRight=typeof u.margin==`number`?`${u.margin}px`:String(u.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${c}px`),document.body.style.overflow=`hidden`),Ar&&(o=(0,n.useEventListener)(document,`touchmove`,e=>Ur(e),{passive:!1})),(0,t.nextTick)(()=>{document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`})},{immediate:!0,flush:`sync`}),e});function Vr(e){let n=Math.random().toString(36).substring(2,7),r=Br();r.value.set(n,e??!1);let i=(0,t.computed)({get:()=>r.value.get(n)??!1,set:e=>r.value.set(n,e)});return Pr(()=>{r.value.delete(n)}),i}function Hr(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:Hr(t)}}function Ur(e){let t=e||window.event,n=t.target;return n instanceof Element&&Hr(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function Wr(e){let n=Tr({dir:(0,t.ref)(`ltr`)});return(0,t.computed)(()=>e?.value||n.dir?.value||`ltr`)}function Gr(e){let n=(0,t.getCurrentInstance)(),r=n?.type.emits,i={};return r?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),r?.forEach(n=>{i[(0,t.toHandlerKey)((0,t.camelize)(n))]=(...t)=>e(n,...t)}),i}var Kr=0;function qr(){(0,t.watchEffect)(e=>{if(!kr)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Jr()),document.body.insertAdjacentElement(`beforeend`,t[1]??Jr()),Kr++,e(()=>{Kr===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Kr--})})}function Jr(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function Yr(e){return(0,t.computed)(()=>(0,t.toValue)(e)?!!(0,n.unrefElement)(e)?.closest(`form`):!0)}function X(){let e=(0,t.getCurrentInstance)(),r=(0,t.ref)(),i=(0,t.computed)(()=>a());(0,t.onUpdated)(()=>{i.value!==a()&&(0,t.triggerRef)(r)});function a(){return r.value&&`$el`in r.value&&[`#text`,`#comment`].includes(r.value.$el.nodeName)?r.value.$el.nextElementSibling:(0,n.unrefElement)(r)}let o=Object.assign({},e.exposed),s={};for(let t in e.props)Object.defineProperty(s,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(o).length>0)for(let e in o)Object.defineProperty(s,e,{enumerable:!0,configurable:!0,get:()=>o[e]});Object.defineProperty(s,`$el`,{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=s;function c(t){if(r.value=t,t&&(Object.defineProperty(s,`$el`,{enumerable:!0,configurable:!0,get:()=>t instanceof Element?t:t.$el}),!(t instanceof Element)&&!Object.prototype.hasOwnProperty.call(t,`$el`))){let n=t.$.exposed,r=Object.assign({},s);for(let e in n)Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>n[e]});e.exposed=r}}return{forwardRef:c,currentRef:r,currentElement:i}}function Xr(e){let n=(0,t.getCurrentInstance)(),r=Object.keys(n?.type.props??{}).reduce((e,t)=>{let r=(n?.type.props[t]).default;return r!==void 0&&(e[t]=r),e},{}),i=(0,t.toRef)(e);return(0,t.computed)(()=>{let e={},a=n?.vnode.props??{};return Object.keys(a).forEach(n=>{e[(0,t.camelize)(n)]=a[n]}),Object.keys({...r,...e}).reduce((e,t)=>(i.value[t]!==void 0&&(e[t]=i.value[t]),e),{})})}function Zr(e,n){let r=Xr(e),i=n?Gr(n):{};return(0,t.computed)(()=>({...r.value,...i}))}function Qr(e,n){let r=Nr(!1,300);Dr(()=>{r.value=!1});let i=(0,t.ref)(null),a=Or();function o(){i.value=null,r.value=!1}function s(e,t){let n=e.currentTarget,a={x:e.clientX,y:e.clientY},o=ei(a,$r(a,n.getBoundingClientRect()),1),s=ti(t.getBoundingClientRect());i.value=ri([...o,...s]),r.value=!0}return(0,t.watchEffect)(t=>{if(e.value&&n.value){let r=e=>s(e,n.value),i=t=>s(t,e.value);e.value.addEventListener(`pointerleave`,r),n.value.addEventListener(`pointerleave`,i),t(()=>{e.value?.removeEventListener(`pointerleave`,r),n.value?.removeEventListener(`pointerleave`,i)})}}),(0,t.watchEffect)(t=>{if(i.value){let r=t=>{if(!i.value||!(t.target instanceof Element))return;let r=t.target,s={x:t.clientX,y:t.clientY},c=e.value?.contains(r)||n.value?.contains(r),l=!ni(s,i.value),u=!!r.closest(`[data-grace-area-trigger]`);c?o():(l||u)&&(o(),a.trigger())};e.value?.ownerDocument.addEventListener(`pointermove`,r),t(()=>e.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:r,onPointerExit:a.on}}function $r(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function ei(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function ti(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function ni(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function ri(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),ii(t)}function ii(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var ai=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},oi=new WeakMap,si=new WeakMap,ci={},li=0,ui=function(e){return e&&(e.host||ui(e.parentNode))},di=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=ui(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},fi=function(e,t,n,r){var i=di(t,Array.isArray(e)?e:[e]);ci[n]||(ci[n]=new WeakMap);var a=ci[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(oi.get(e)||0)+1,l=(a.get(e)||0)+1;oi.set(e,c),a.set(e,l),o.push(e),c===1&&i&&si.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),li++,function(){o.forEach(function(e){var t=oi.get(e)-1,i=a.get(e)-1;oi.set(e,t),a.set(e,i),t||(si.has(e)||e.removeAttribute(r),si.delete(e)),i||e.removeAttribute(n)}),li--,li||(oi=new WeakMap,oi=new WeakMap,si=new WeakMap,ci={})}},pi=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ai(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),fi(r,i,n,`aria-hidden`)):function(){return null}};function mi(e){let r;(0,t.watch)(()=>(0,n.unrefElement)(e),e=>{e?r=pi(e):r&&r()}),(0,t.onUnmounted)(()=>{r&&r()})}var hi=0;function gi(e,n=`reka`){if(e)return e;let r;return r=`useId`in t?t.useId?.():Tr({useId:void 0}).useId?.()??`${++hi}`,n?`${n}-${r}`:r}function _i(e){let r=(0,t.ref)(),i=(0,t.computed)(()=>r.value?.width??0),a=(0,t.computed)(()=>r.value?.height??0);return(0,t.onMounted)(()=>{let t=(0,n.unrefElement)(e);if(t){r.value={width:t.offsetWidth,height:t.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let n=e[0],i,a;if(`borderBoxSize`in n){let e=n.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=t.offsetWidth,a=t.offsetHeight;r.value={width:i,height:a}});return e.observe(t,{box:`border-box`}),()=>e.unobserve(t)}else r.value=void 0}),{width:i,height:a}}function vi(e,n){let r=(0,t.ref)(e);function i(e){return n[r.value][e]??r.value}return{state:r,dispatch:e=>{r.value=i(e)}}}function yi(e){let t=Nr(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=xr(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=xi(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function bi(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function xi(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=bi(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function Si(e,r){let i=(0,t.ref)({}),a=(0,t.ref)(`none`),o=(0,t.ref)(e),s=e.value?`mounted`:`unmounted`,c,l=r.value?.ownerDocument.defaultView??n.defaultWindow,{state:u,dispatch:d}=vi(s,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),f=e=>{if(kr){let t=new CustomEvent(e,{bubbles:!1,cancelable:!1});r.value?.dispatchEvent(t)}};(0,t.watch)(e,async(e,n)=>{let o=n!==e;if(await(0,t.nextTick)(),o){let t=a.value,o=Ci(r.value);e?(d(`MOUNT`),f(`enter`),o===`none`&&f(`after-enter`)):o===`none`||o===`undefined`||i.value?.display===`none`?(d(`UNMOUNT`),f(`leave`),f(`after-leave`)):n&&t!==o?(d(`ANIMATION_OUT`),f(`leave`)):(d(`UNMOUNT`),f(`after-leave`))}},{immediate:!0});let p=e=>{let t=Ci(r.value),n=t.includes(CSS.escape(e.animationName)),i=u.value===`mounted`?`enter`:`leave`;if(e.target===r.value&&n&&(f(`after-${i}`),d(`ANIMATION_END`),!o.value)){let e=r.value.style.animationFillMode;r.value.style.animationFillMode=`forwards`,c=l?.setTimeout(()=>{r.value?.style.animationFillMode===`forwards`&&(r.value.style.animationFillMode=e)})}e.target===r.value&&t===`none`&&d(`ANIMATION_END`)},m=e=>{e.target===r.value&&(a.value=Ci(r.value))},h=(0,t.watch)(r,(e,t)=>{e?(i.value=getComputedStyle(e),e.addEventListener(`animationstart`,m),e.addEventListener(`animationcancel`,p),e.addEventListener(`animationend`,p)):(d(`ANIMATION_END`),c!==void 0&&l?.clearTimeout(c),t?.removeEventListener(`animationstart`,m),t?.removeEventListener(`animationcancel`,p),t?.removeEventListener(`animationend`,p))},{immediate:!0}),g=(0,t.watch)(u,()=>{let e=Ci(r.value);a.value=u.value===`mounted`?e:`none`});return(0,t.onUnmounted)(()=>{h(),g()}),{isPresent:(0,t.computed)(()=>[`mounted`,`unmountSuspended`].includes(u.value))}}function Ci(e){return e&&getComputedStyle(e).animationName||`none`}var wi=(0,t.defineComponent)({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:r,expose:i}){let{present:a,forceMount:o}=(0,t.toRefs)(e),s=(0,t.ref)(),{isPresent:c}=Si(a,s);i({present:c});let l=r.default({present:c.value});l=wr(l||[]);let u=(0,t.getCurrentInstance)();if(l&&l?.length>1){let e=u?.parent?.type.name?`<${u.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
|
|
58
58
|
`)].join(`
|
|
59
59
|
`))}return()=>o.value||a.value||c.value?(0,t.h)(r.default({present:c.value})[0],{ref:e=>{let t=(0,n.unrefElement)(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?s.value=t.firstElementChild:s.value=t),t}}):null}}),Ti=(0,t.defineComponent)({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:n,slots:r}){return()=>{if(!r.default)return null;let e=wr(r.default()),i=e.findIndex(e=>e.type!==t.Comment);if(i===-1)return e;let a=e[i];delete a.props?.ref;let o=a.props?(0,t.mergeProps)(n,a.props):n,s=(0,t.cloneVNode)({...a,props:{}},o);return e.length===1?s:(e[i]=s,e)}}}),Ei=[`area`,`img`,`input`],Z=(0,t.defineComponent)({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:n,slots:r}){let i=e.asChild?`template`:e.as;return typeof i==`string`&&Ei.includes(i)?()=>(0,t.h)(i,n):i===`template`?()=>(0,t.h)(Ti,n,{default:r.default}):()=>(0,t.h)(e.as,n,{default:r.default})}});function Di(){let e=(0,t.ref)();return{primitiveElement:e,currentElement:(0,t.computed)(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:(0,n.unrefElement)(e))}}var[Oi,ki]=br(`DialogRoot`),Ai=(0,t.defineComponent)({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:r}){let i=e,a=(0,n.useVModel)(i,`open`,r,{defaultValue:i.defaultOpen,passive:i.open===void 0}),o=(0,t.ref)(),s=(0,t.ref)(),{modal:c}=(0,t.toRefs)(i);return ki({open:a,modal:c,openModal:()=>{a.value=!0},onOpenChange:e=>{a.value=e},onOpenToggle:()=>{a.value=!a.value},contentId:``,titleId:``,descriptionId:``,triggerElement:o,contentElement:s}),(e,n)=>(0,t.renderSlot)(e.$slots,`default`,{open:(0,t.unref)(a),close:()=>a.value=!1})}}),ji=(0,t.defineComponent)({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e;X();let r=Oi();return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Z),(0,t.mergeProps)(n,{type:e.as===`button`?`button`:void 0,onClick:i[0]||=e=>(0,t.unref)(r).onOpenChange(!1)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`type`]))}}),Mi=`dismissableLayer.pointerDownOutside`,Ni=`dismissableLayer.focusOutside`;function Pi(e,t){let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function Fi(e,n,r=!0){let i=n?.value?.ownerDocument??globalThis?.document,a=(0,t.ref)(!1),o=(0,t.ref)(()=>{});return(0,t.watchEffect)(s=>{if(!kr||!(0,t.toValue)(r))return;let c=async t=>{let r=t.target;if(!(!n?.value||!r)){if(Pi(n.value,r)){a.value=!1;return}if(t.target&&!a.value){let n={originalEvent:t};function r(){Sr(Mi,e,n)}t.pointerType===`touch`?(i.removeEventListener(`click`,o.value),o.value=r,i.addEventListener(`click`,o.value,{once:!0})):r()}else i.removeEventListener(`click`,o.value);a.value=!1}},l=window.setTimeout(()=>{i.addEventListener(`pointerdown`,c)},0);s(()=>{window.clearTimeout(l),i.removeEventListener(`pointerdown`,c),i.removeEventListener(`click`,o.value)})}),{onPointerDownCapture:()=>{(0,t.toValue)(r)&&(a.value=!0)}}}function Ii(e,n,r=!0){let i=n?.value?.ownerDocument??globalThis?.document,a=(0,t.ref)(!1);return(0,t.watchEffect)(o=>{if(!kr||!(0,t.toValue)(r))return;let s=async r=>{if(!n?.value)return;await(0,t.nextTick)(),await(0,t.nextTick)();let i=r.target;!n.value||!i||Pi(n.value,i)||r.target&&!a.value&&Sr(Ni,e,{originalEvent:r})};i.addEventListener(`focusin`,s),o(()=>i.removeEventListener(`focusin`,s))}),{onFocusCapture:()=>{(0,t.toValue)(r)&&(a.value=!0)},onBlurCapture:()=>{(0,t.toValue)(r)&&(a.value=!1)}}}var Li=(0,t.reactive)({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),Ri=(0,t.defineComponent)({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:r}){let i=e,a=r,{forwardRef:o,currentElement:s}=X(),c=(0,t.computed)(()=>s.value?.ownerDocument??globalThis.document),l=(0,t.computed)(()=>Li.layersRoot),u=(0,t.computed)(()=>s.value?Array.from(l.value).indexOf(s.value):-1),d=(0,t.computed)(()=>Li.layersWithOutsidePointerEventsDisabled.size>0),f=(0,t.computed)(()=>{let e=Array.from(l.value),[t]=[...Li.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return u.value>=n}),p=Fi(async e=>{let n=[...Li.branches].some(t=>t?.contains(e.target));!f.value||n||(a(`pointerDownOutside`,e),a(`interactOutside`,e),await(0,t.nextTick)(),e.defaultPrevented||a(`dismiss`))},s),m=Ii(e=>{[...Li.branches].some(t=>t?.contains(e.target))||(a(`focusOutside`,e),a(`interactOutside`,e),e.defaultPrevented||a(`dismiss`))},s);return(0,n.onKeyStroke)(`Escape`,e=>{u.value===l.value.size-1&&(a(`escapeKeyDown`,e),e.defaultPrevented||a(`dismiss`))}),(0,t.watchEffect)(e=>{s.value&&(i.disableOutsidePointerEvents&&(Li.layersWithOutsidePointerEventsDisabled.size===0&&(Li.originalBodyPointerEvents=c.value.body.style.pointerEvents,c.value.body.style.pointerEvents=`none`),Li.layersWithOutsidePointerEventsDisabled.add(s.value)),l.value.add(s.value),e(()=>{i.disableOutsidePointerEvents&&Li.layersWithOutsidePointerEventsDisabled.size===1&&!Cr(Li.originalBodyPointerEvents)&&(c.value.body.style.pointerEvents=Li.originalBodyPointerEvents)}))}),(0,t.watchEffect)(e=>{e(()=>{s.value&&(l.value.delete(s.value),Li.layersWithOutsidePointerEventsDisabled.delete(s.value))})}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Z),{ref:(0,t.unref)(o),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:(0,t.normalizeStyle)({pointerEvents:d.value?f.value?`auto`:`none`:void 0}),onFocusCapture:(0,t.unref)(m).onFocusCapture,onBlurCapture:(0,t.unref)(m).onBlurCapture,onPointerdownCapture:(0,t.unref)(p).onPointerDownCapture},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),zi=(0,n.createGlobalState)(()=>(0,t.ref)([]));function Bi(){let e=zi();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Vi(e.value,t),e.value.unshift(t)},remove(t){e.value=Vi(e.value,t),e.value[0]?.resume()}}}function Vi(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Hi=`focusScope.autoFocusOnMount`,Ui=`focusScope.autoFocusOnUnmount`,Wi={bubbles:!1,cancelable:!0};function Gi(e,{select:t=!1}={}){let n=xr();for(let r of e)if(Zi(r,{select:t}),xr()!==n)return!0}function Ki(e){let t=qi(e);return[Ji(t,e),Ji(t.reverse(),e)]}function qi(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Ji(e,t){for(let n of e)if(!Yi(n,{upTo:t}))return n}function Yi(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Xi(e){return e instanceof HTMLInputElement&&`select`in e}function Zi(e,{select:t=!1}={}){if(e&&e.focus){let n=xr();e.focus({preventScroll:!0}),e!==n&&Xi(e)&&t&&e.select()}}var Qi=(0,t.defineComponent)({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:n}){let r=e,i=n,{currentRef:a,currentElement:o}=X(),s=(0,t.ref)(null),c=Bi(),l=(0,t.reactive)({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});(0,t.watchEffect)(e=>{if(!kr)return;let t=o.value;if(!r.trapped)return;function n(e){if(l.paused||!t)return;let n=e.target;t.contains(n)?s.value=n:Zi(s.value,{select:!0})}function i(e){if(l.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||Zi(s.value,{select:!0}))}function a(e){t.contains(s.value)||Zi(t)}document.addEventListener(`focusin`,n),document.addEventListener(`focusout`,i);let c=new MutationObserver(a);t&&c.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,n),document.removeEventListener(`focusout`,i),c.disconnect()})}),(0,t.watchEffect)(async e=>{let n=o.value;if(await(0,t.nextTick)(),!n)return;c.add(l);let r=xr();if(!n.contains(r)){let e=new CustomEvent(Hi,Wi);n.addEventListener(Hi,e=>i(`mountAutoFocus`,e)),n.dispatchEvent(e),e.defaultPrevented||(Gi(qi(n),{select:!0}),xr()===r&&Zi(n))}e(()=>{n.removeEventListener(Hi,e=>i(`mountAutoFocus`,e));let e=new CustomEvent(Ui,Wi),t=e=>{i(`unmountAutoFocus`,e)};n.addEventListener(Ui,t),n.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||Zi(r??document.body,{select:!0}),n.removeEventListener(Ui,t),c.remove(l)},0)})});function u(e){if(!r.loop&&!r.trapped||l.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=xr();if(t&&n){let t=e.currentTarget,[i,a]=Ki(t);i&&a?!e.shiftKey&&n===a?(e.preventDefault(),r.loop&&Zi(i,{select:!0})):e.shiftKey&&n===i&&(e.preventDefault(),r.loop&&Zi(a,{select:!0})):n===t&&e.preventDefault()}}return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Z),{ref_key:`currentRef`,ref:a,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:u},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),$i=[`Enter`,` `],ea=[`ArrowDown`,`PageUp`,`Home`],ta=[`ArrowUp`,`PageDown`,`End`];[...ea,...ta],[...$i],[...$i];function na(e){return e?`open`:`closed`}function ra(e){let t=xr();for(let n of e)if(n===t||(n.focus(),xr()!==t))return}var ia=`DialogTitle`,aa=`DialogContent`;function oa({titleName:e=ia,contentName:n=aa,componentLink:r=`dialog.html#title`,titleId:i,descriptionId:a,contentElement:o}){let s=`Warning: \`${n}\` requires a \`${e}\` for the component to be accessible for screen reader users.
|
|
60
60
|
|