@flowengage/react-chatbot 1.5.3 → 1.5.4
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/flowengage-embed.js
CHANGED
|
@@ -30,7 +30,7 @@ Error generating stack: `+e.message+`
|
|
|
30
30
|
box-shadow: none !important;
|
|
31
31
|
transition: outline-color 0.25s ease, box-shadow 0.25s ease !important;
|
|
32
32
|
}
|
|
33
|
-
`,document.head.appendChild(e)};function gn(e,t){if(typeof document>`u`)return null;if(e){let n=document.getElementById(e)||document.querySelector(`[data-section="${e}"]`);if(n)return n;t||=e.replace(/[-_]+/g,` `).trim()}if(!t)return null;let n=t.toLowerCase().trim(),r=n.split(/\s+/).filter(e=>e.length>2),i=Array.from(document.querySelectorAll(`h1, h2, h3, h4, h5, h6, [data-section]`)).filter(e=>!un(e));for(let e of i)if(e.textContent.replace(/\s+/g,` `).toLowerCase().trim()===n)return e;for(let e of i){let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(t.startsWith(n)||t.endsWith(n))return e}let a=[];for(let e of i){let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();t.includes(n)&&a.push({el:e,len:t.length})}if(a.length)return a.sort((e,t)=>e.len-t.len),a[0].el;for(let e of i){let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(t.length>3&&n.includes(t))return e}if(r.length>0){let e=null,t=0;for(let n of i){let i=n.textContent.replace(/\s+/g,` `).toLowerCase(),a=0;for(let e of r)i.includes(e)&&a++;let o=a/r.length;o>t&&o>=.6&&(t=o,e=n)}if(e)return e}let o=Array.from(document.querySelectorAll(`main [role='group']`)).filter(e=>!un(e)),s=[];for(let e of o){let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();t.length<15||t.length>8e3||t.includes(n)&&s.push({el:e,len:t.length})}if(s.length)return s.sort((e,t)=>e.len-t.len),s[0].el;if(r.length>0){let e=Array.from(document.querySelectorAll(`main a[href], article a[href], .views-row a[href], h2 a[href], h3 a[href], .card a[href], [class*='teaser'] a[href]`)).filter(e=>{if(un(e))return!1;try{let t=e.getAttribute(`href`)||``;if(!t||t===`#`||t.startsWith(`javascript:`))return!1}catch{return!1}let t=e.textContent.replace(/\s+/g,` `).trim();return t.length>=3&&t.length<=220}),t=null,n=0;for(let i of e){let e=i.textContent.replace(/\s+/g,` `).toLowerCase(),a=0;for(let t of r)e.includes(t)&&a++;let o=a/r.length;o>n&&o>=.5&&(n=o,t=i)}if(t)return t.closest(`article`)||t.closest(`.views-row`)||t}let c=document.querySelectorAll(`section, article, .card, [class*='feature'], [class*='service']`);for(let e of c){if(un(e))continue;let t=e.querySelector(`h1, h2, h3, h4, h5, h6`);if(t){let r=t.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(r.includes(n)||n.includes(r))return e}}let l=document.querySelectorAll(`li, strong, blockquote, dt`);for(let e of l){if(un(e))continue;let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(t.includes(n)&&t.length<500)return e.tagName===`STRONG`&&e.parentElement?.tagName===`LI`?e.parentElement:e}let u=Array.from(document.querySelectorAll(`a[href]`)).filter(e=>!un(e));u.sort((e,t)=>(e.textContent||``).trim().length-(t.textContent||``).trim().length);for(let e of u){let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(t.includes(n)&&t.length<500)return e}let d=document.querySelectorAll(`p`);for(let e of d){if(un(e))continue;let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(t.includes(n)&&t.length<800)return e}return null}function _n(e,{speaking:t=!1,scroll:n=!0}={}){if(!e||typeof document>`u`)return;hn();let r=document.querySelectorAll(`.fe-highlight-section`);for(let t of r)t!==e&&(t.classList.remove(`fe-highlight-section`,`fe-highlight-speaking`),t.classList.add(`fe-highlight-exiting`),setTimeout(()=>t.classList.remove(`fe-highlight-exiting`),300));if(e.classList.remove(`fe-highlight-exiting`),e.classList.add(`fe-highlight-section`),t?e.classList.add(`fe-highlight-speaking`):e.classList.remove(`fe-highlight-speaking`),n)try{e.scrollIntoView({behavior:`smooth`,block:`center`})}catch{try{e.scrollIntoView(!0)}catch{}}}function vn(){typeof document>`u`||document.querySelectorAll(`.fe-highlight-section, .fe-highlight-exiting`).forEach(e=>e.classList.remove(`fe-highlight-section`,`fe-highlight-speaking`,`fe-highlight-exiting`))}function yn(e){if(typeof window>`u`)return e;try{let t=new URL(String(e).trim(),window.location.href);return!/^https?:$/i.test(t.protocol)||t.origin===window.location.origin?t.href:new URL(t.pathname+t.search+t.hash,window.location.origin).href}catch{return e}}async function bn(e){if(typeof window>`u`)return!1;try{let t=new URL(String(e).trim(),window.location.href);return t.origin===window.location.origin?(await fetch(t.href,{method:`HEAD`,mode:`same-origin`,cache:`no-store`})).ok:!1}catch{return!1}}async function xn(e,{siteId:t,apiBaseUrl:n}){if(!e)return!1;if(!t||!n)return console.warn(`[FlowEngage] shouldProceedWithNavigation: missing siteId or apiBaseUrl`),!1;let r=String(n).replace(/\/$/,``),i=new URLSearchParams({siteId:String(t),url:String(e).trim()});try{let t=await(await fetch(`${r}/api/widget/navigate-allowed?${i.toString()}`)).json().catch(()=>({}));return t.success?t.allowed?!0:t.hasIndex===!1?bn(e):!1:!1}catch(e){return console.warn(`[FlowEngage] navigate-allowed check failed:`,e?.message),!1}}function Sn(e){if(!(!e||typeof sessionStorage>`u`))try{sessionStorage.setItem(fn,JSON.stringify({sectionText:e,ts:Date.now()}))}catch{}}async function Cn(e,t={}){if(typeof window>`u`)return!1;let{sectionText:n}=t;try{let t=yn(e),r=new URL(t,window.location.origin);if(dn(`input:`,e,`→ normalized:`,t,`href:`,r.href),r.hash&&r.pathname===window.location.pathname){let e=r.hash.slice(1),t=document.getElementById(e);if(t)return dn(`branch: hash scroll (same path)`),t.scrollIntoView({behavior:`smooth`,block:`start`}),!0}if(r.pathname===window.location.pathname&&r.search===window.location.search&&!r.hash)return dn(`branch: already on page (no nav)`),!1;let i=r.pathname+r.search+r.hash,a=window.next?.router;if(a?.push)return dn(`branch: Next.js Pages router.push`,i),new Promise(e=>{let t=()=>{a.events?.off(`routeChangeComplete`,t),e(!0)};a.events?.on(`routeChangeComplete`,t),a.push(i),setTimeout(t,5e3)});let o=window.__NEXT_ROUTER__;return o?.push?(dn(`branch: __NEXT_ROUTER__.push`,i),o.push(i),!0):(n?(Sn(n),dn(`branch: location.assign (full navigation, section stored):`,n)):dn(`branch: location.assign (full navigation)`,r.href),window.location.assign(r.href),!0)}catch(t){console.warn(`[FlowEngage] shadowNavigate error:`,t),n&&Sn(n);try{window.location.href=yn(e)}catch{window.location.href=e}return!0}}var wn=s((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),N=s(((e,t)=>{t.exports=wn()}))(),Tn=e=>!e||typeof e!=`string`?e:e.replace(/<human_assistance_request>[\s\S]*?<\/human_assistance_request>/gi,``).replace(/<human_assistance_request>/gi,``).replace(/<\/human_assistance_request>/gi,``).replace(/<navigate[^>]*\/>/gi,``).replace(/<navigate[^>]*>[\s\S]*?<\/navigate>/gi,``).replace(/<[a-z]+(?:_[a-z]+)+[^>]*>[\s\S]*?<\/[a-z]+(?:_[a-z]+)+>/gi,``).replace(/<[a-z]+(?:_[a-z]+)+[^>]*\/>/gi,``).trim(),En=(e=[])=>e.map(e=>({...e,message:Tn(e.message),isPending:!1,id:e.messageId||`${e.sender}-${e.timestamp||Date.now()}-${Math.random()}`})),Dn=(e,t)=>e?typeof e==`string`?e:e.message||e.error||e.reason||t:t,On=(e={})=>{if(!e?.candidate)return null;if(typeof e.candidate==`object`)return e.candidate;let t=e.sdpMid!==void 0&&e.sdpMid!==null&&e.sdpMid!==``,n=e.sdpMLineIndex!==void 0&&e.sdpMLineIndex!==null;return!t&&!n?null:{candidate:e.candidate,...t?{sdpMid:e.sdpMid}:{},...n?{sdpMLineIndex:e.sdpMLineIndex}:{}}},kn=e=>{if(!e)return null;let t=typeof e==`object`?e:{candidate:e};return{hasCandidate:!!t.candidate,sdpMid:t.sdpMid??null,sdpMLineIndex:t.sdpMLineIndex??null,candidatePreview:typeof t.candidate==`string`?t.candidate.slice(0,80):null}},An=(e=[],t=`Agent`)=>{for(let t of e)if(typeof t==`string`&&t.trim())return t.trim();return t},jn=(e=[],t,n=6)=>!t?.message||e.slice(-n).some(e=>e.sender===`system`&&e.message===t.message)?e:[...e,t];function Mn({siteId:e,config:t,children:n,language:r=`en`}){let i=(0,b.useMemo)(()=>e?{...t||{},siteId:e}:t||null,[e,t]),[a,o]=(0,b.useState)(`booting`),[s,c]=(0,b.useState)(null),[l,u]=(0,b.useState)(null),[d,f]=(0,b.useState)(``),[p,m]=(0,b.useState)([]),[h,g]=(0,b.useState)(fe().isOpen),[_,v]=(0,b.useState)(fe().activeScreen),[y,x]=(0,b.useState)(fe().isHumanHandled),[S,C]=(0,b.useState)(fe().agentName),[te,ne]=(0,b.useState)(fe().agentHeadshot),[oe,se]=(0,b.useState)(()=>me(i?.siteId)),[de,E]=(0,b.useState)(!1),[D,ye]=(0,b.useState)(!1),[be,xe]=(0,b.useState)(`idle`),[Se,Ce]=(0,b.useState)(!1),[we,Te]=(0,b.useState)(!1),[Ee,De]=(0,b.useState)(``),[Oe,ke]=(0,b.useState)(!1),[Ae,je]=(0,b.useState)(!1),[O,Me]=(0,b.useState)(null),[Ne,Pe]=(0,b.useState)(null),[Fe,Ie]=(0,b.useState)(`idle`),[Le,Re]=(0,b.useState)(null),[ze,Be]=(0,b.useState)(!1),[Ve,He]=(0,b.useState)(``),Ue=(0,b.useRef)(null),k=(0,b.useRef)(null),A=(0,b.useRef)(``),We=(0,b.useRef)(null),j=(0,b.useRef)(null),Ge=(0,b.useRef)(null),Ke=(0,b.useRef)(null),qe=(0,b.useRef)(null),Je=(0,b.useRef)([]),Ye=(0,b.useRef)(null),Xe=(0,b.useRef)(null),Ze=(0,b.useRef)(!1),Qe=(0,b.useRef)(!1),$e=(0,b.useRef)(``),et=(0,b.useRef)(S),tt=(0,b.useRef)([]),nt=(0,b.useRef)(!1),rt=(0,b.useRef)({notifyRouteChange:()=>{},cleanup:()=>{}}),it=(0,b.useCallback)((e={})=>{let t=!!e.is_human_handled;return x(t),t?(v(`agent`),e.agent_info?.name&&C(e.agent_info.name),e.agent_info?.headshot&&ne(e.agent_info.headshot),t):(v(`ai`),t)},[]),at=(0,b.useMemo)(()=>{let e=l?.widgetSettings?.call?.maxDurationSeconds??i?.widgetSettings?.call?.maxDurationSeconds??i?.callMaxDurationSeconds,t=Number(e);return Number.isFinite(t)&&t>0?t:ie},[i,l]);(0,b.useEffect)(()=>{We.current=O},[O]),(0,b.useEffect)(()=>{et.current=S},[S]);let ot=()=>{He(``)},st=e=>{let t=typeof e==`string`?e.trim().toLowerCase():``;return se(t),he(t,i?.siteId),t};(0,b.useEffect)(()=>{let e=i?.siteId;e&&se(me(e))},[i?.siteId]);let ct=(e=`unspecified`)=>{console.log(`[FlowEngageCall] cleanup:start`,{reason:e,chatId:A.current,activeCallId:Ye.current,acceptingCallId:Xe.current,hasPeerConnection:!!j.current,hasLocalStream:!!Ge.current,hasRemoteAudio:!!Ke.current,queuedIceCount:Je.current.length}),j.current&&=(j.current.close(),null),Ge.current&&=(Ge.current.getTracks().forEach(e=>e.stop()),null),Ke.current&&=(Ke.current.srcObject=null,Ke.current.remove(),null),qe.current=null,Je.current=[],Ye.current=null,Xe.current=null,Ze.current=!1,Be(!1),Me(null),Pe(null),Ie(`idle`),Re(null),console.log(`[FlowEngageCall] cleanup:complete`,{reason:e,chatId:A.current})},lt=(e=new Date().toISOString())=>{let t=Ue.current,n=Ye.current||qe.current?.callId;if(!t?.connected||!n||Ze.current){console.log(`[FlowEngageProvider] skipping call:connected emit`,{callId:n,chatId:A.current,socketConnected:!!t?.connected,alreadyReported:Ze.current});return}console.log(`[FlowEngageProvider] emitting call:connected`,{callId:n,chatId:A.current,connectedAt:e}),Ze.current=!0,t.emit(`call:connected`,{callId:n,chatId:A.current,connectedAt:e})},ut=(e={})=>{if(!e.callId)return;let t=Xe.current===e.callId,n=Ye.current===e.callId,r=We.current?.callId===e.callId;if(!(!t&&!n&&!r)){if(console.log(`[FlowEngageProvider] syncing accepted call state`,{callId:e.callId,chatId:e.chatId||A.current,isAcceptingHere:t,isAlreadyActive:n,isIncomingHere:r}),Me(null),t||n){Ye.current=e.callId,Pe(e.callId),Ie(e=>e===`connected`?e:`connecting`),g(!0);return}Ie(`idle`)}},dt=(e={})=>{if(!e.callId)return;let t=Xe.current===e.callId,n=Ye.current===e.callId,r=We.current?.callId===e.callId;if(!(!t&&!n&&!r)){if(console.log(`[FlowEngageProvider] syncing ended incoming call state`,{callId:e.callId,chatId:e.chatId||A.current,isAcceptingHere:t,isAlreadyActive:n,isIncomingHere:r,reason:e.reason||e.status||null}),n){ct();return}Xe.current=null,qe.current=null,Je.current=[],Me(null),Ie(`idle`)}},ft=async(e={})=>{let t=j.current,n=Ue.current,r=e.sdpOffer||e.offer?.sdp;if(!t||!n?.connected||!r||!e.callId){console.log(`[FlowEngageProvider] deferring remote offer until peer/socket ready`,{callId:e.callId,chatId:A.current,hasPeerConnection:!!t,socketConnected:!!n?.connected,hasOffer:!!r}),qe.current=e;return}if(console.log(`[FlowEngageProvider] applying remote offer`,{callId:e.callId,chatId:A.current,offerLength:r.length,signalingState:t.signalingState,iceConnectionState:t.iceConnectionState,connectionState:t.connectionState}),await t.setRemoteDescription(new RTCSessionDescription({type:`offer`,sdp:r})),Je.current.length>0){console.log(`[FlowEngageProvider] flushing queued agent ICE candidates after remote offer`,{callId:e.callId,chatId:A.current,queuedCount:Je.current.length});for(let e of Je.current)await t.addIceCandidate(new RTCIceCandidate(e));Je.current=[]}let i=await t.createAnswer();await t.setLocalDescription(i),console.log(`[FlowEngageCall] local-answer:created`,{callId:e.callId,chatId:A.current,answerLength:i.sdp?.length||0,signalingState:t.signalingState,iceConnectionState:t.iceConnectionState,connectionState:t.connectionState}),console.log(`[FlowEngageCall] local-answer:emitting`,{callId:e.callId,chatId:A.current}),n.emit(`call:answer`,{callId:e.callId,sdpAnswer:i.sdp,chatId:A.current})};(0,b.useEffect)(()=>{pe({isOpen:h,activeScreen:_,isHumanHandled:y,agentName:S,agentHeadshot:te})},[h,_,y,S,te]),(0,b.useEffect)(()=>{let e=!0;return(async()=>{try{console.log(`[FlowEngageProvider] boot start`,{resolvedConfig:i,language:r});let t=ee(i);console.log(`[FlowEngageProvider] config validated`,t);let n=await _e(t);if(!e)return;let a=t.siteId,s=w(a),c=``;try{if(c=(await ge({apiBaseUrl:t.apiBaseUrl,userId:n.userId,siteId:a,priorChatId:s||ce()}))?.data?.chatId,!c)throw Error(`resolve-session returned no chatId`);le(),T(a,c)}catch(e){console.warn(`[FlowEngageProvider] resolve-session failed, reusing persisted or ephemeral chat id`,e?.message||e),c=s||ue(),T(a,c)}A.current=c;let l=ve({apiBaseUrl:t.apiBaseUrl,userId:n.userId,siteId:t.siteId});k.current=l,u({...n,apiBaseUrl:t.apiBaseUrl}),f(c);let d=n?.widgetSettings?.branding?.fallbackAgentName||`Agent`;console.log(`[FlowEngageProvider] bootstrap resolved`,{bootstrapData:n,resolvedChatId:c});let p=an({apiBaseUrl:t.apiBaseUrl,userId:n.userId,chatId:c,siteId:t.siteId});Ue.current=p,p.on(`connect`,()=>{console.log(`[FlowEngageProvider] socket connected`),xe(`connected`)}),p.on(`disconnect`,()=>{console.log(`[FlowEngageProvider] socket disconnected`),xe(`disconnected`)}),p.on(`aiTyping`,()=>{console.log(`[FlowEngageProvider] received aiTyping`,{chatId:A.current}),ye(!0)}),p.on(`ai:typing`,()=>{console.log(`[FlowEngageProvider] received ai:typing`,{chatId:A.current}),ye(!0)}),p.on(`messageReceived`,e=>{let t=e.message||e,n={...t,message:Tn(t.message)};ye(!1),E(!1),m(e=>[...e.filter(e=>!e.isPending),{...n,isPending:!1,id:n.messageId||`${n.sender}-${Date.now()}-${Math.random()}`}])}),p.on(`conversationStarted`,e=>{console.log(`[FlowEngageProvider] conversationStarted`,e),e?.message&&m(t=>[...t,{id:`system-start-${Date.now()}`,sender:`system`,message:e.message,timestamp:new Date().toISOString(),isPending:!1}])}),p.on(`message:new`,e=>{let t=e.message||e,n={...t,message:Tn(t.message)};ye(!1),(n.sender===`agent`||n.agent_name||n.sender===`ai`||n.sender===`bot`)&&E(!1),m(e=>n.sender===`bot`||n.sender===`ai`?[...e,{...n,isPending:!1,id:n.messageId||`${n.sender}-${Date.now()}-${Math.random()}`}]:e.some(e=>e.id===n.messageId||e.sender===n.sender&&e.message===n.message&&e.isPending)?e.map(e=>e.sender===n.sender&&e.message===n.message&&e.isPending?{...n,isPending:!1,id:n.messageId||e.id}:e):[...e,{...n,isPending:!1,id:n.messageId||`${n.sender}-${Date.now()}-${Math.random()}`}]),(n.sender===`agent`||n.agent_name)&&(x(!0),v(`agent`),C(An([n.agent_name,n.agentName,n.metadata?.agentName],d)),n.sender_headshot&&ne(n.sender_headshot),g(!0))});let h=(e={})=>{let t=An([e.agent?.name,e.agentName,e.agent_name,et.current],d);x(!0),v(`agent`),C(t),ne(e.agent?.headshot||null),g(!0),m(e=>jn(e,{id:`agent-joined-${Date.now()}`,sender:`system`,message:`${t} has joined the chat.`,timestamp:new Date().toISOString(),isPending:!1}))},y=(e={})=>{let t=An([e.agent?.name,e.agentName,e.agent_name,et.current],d);x(!1),v(`ai`),m(e=>jn(e,{id:`agent-left-${Date.now()}`,sender:`system`,message:`${t} has left the chat.`,timestamp:new Date().toISOString(),isPending:!1}))};p.on(`agent:joined`,h),p.on(`agentJoined`,h),p.on(`agent:left`,y),p.on(`agentLeft`,y),p.on(`conversationEnded`,e=>{je(!0);let t=e?.message||`This conversation has ended. Thank you for reaching out!`;m(e=>[...e,{id:`conversation-ended-${Date.now()}`,sender:`system`,message:t,timestamp:new Date().toISOString(),isPending:!1}])}),p.on(`chat:history_update`,e=>{m(En(e.chat_history||[]))}),p.on(`typing:start`,e=>{console.log(`[FlowEngageProvider] received typing:start`,{chatId:e?.chatId||A.current,sender:e?.sender}),e.sender===`agent`&&E(!0)}),p.on(`typing:stop`,e=>{console.log(`[FlowEngageProvider] received typing:stop`,{chatId:e?.chatId||A.current,sender:e?.sender}),e.sender===`agent`&&E(!1)}),p.on(`call:incoming`,(e={})=>{let t=An([e.agentName,e.ownerName,e.agent?.name,et.current],`Agent`);console.log(`[FlowEngageProvider] received call:incoming`,{callId:e.callId,chatId:A.current,agentName:t}),ot(),Ze.current=!1,Me({callId:e.callId,from:e.from||`owner`,agentId:e.agentId||null,agentName:t}),C(e=>An([t,e],`Agent`)),Ie(`incoming`),Re(null),g(!0)}),p.on(`call:offer`,async(e={})=>{console.log(`[FlowEngageProvider] received call:offer`,{callId:e.callId,chatId:e.chatId||A.current,offerLength:(e.sdpOffer||e.offer?.sdp||``).length}),qe.current=e;try{await ft(e)}catch(e){console.error(`[FlowEngageProvider] failed to apply remote offer`,e)}}),p.on(`call:ice-candidate-from-agent`,async(e={})=>{if(!e.candidate){console.log(`[FlowEngageProvider] skipping agent ICE candidate`,{callId:e.callId,chatId:e.chatId||A.current,hasPeerConnection:!!j.current,hasCandidate:!!e.candidate});return}try{let t=On(e);if(!t){console.warn(`[FlowEngageProvider] ignoring invalid ICE candidate payload`,e);return}if(console.log(`[FlowEngageProvider] adding agent ICE candidate`,{callId:e.callId,chatId:e.chatId||A.current,candidate:kn(t),hasRemoteDescription:!!j.current?.remoteDescription}),!j.current||!j.current.remoteDescription){console.log(`[FlowEngageProvider] queueing agent ICE candidate until peer/remote description is ready`,{callId:e.callId,chatId:e.chatId||A.current,queueSize:Je.current.length+1}),Je.current.push(t);return}await j.current.addIceCandidate(new RTCIceCandidate(t))}catch(e){console.error(`[FlowEngageProvider] failed to add ICE candidate`,e)}}),p.on(`call:ended`,()=>{ot(),console.log(`[FlowEngageCall] socket:event call:ended`,{chatId:A.current,activeCallId:Ye.current}),ct(`socket:call_ended`)}),p.on(`call:accepted`,(e={})=>{console.log(`[FlowEngageProvider] received call:accepted`,{callId:e.callId,chatId:e.chatId||A.current}),ut(e)}),p.on(`call:accepted_by_other`,(e={})=>{console.log(`[FlowEngageProvider] received call:accepted_by_other`,{callId:e.callId,chatId:e.chatId||A.current}),ut(e)}),p.on(`call:rejected`,(e={})=>{console.log(`[FlowEngageProvider] received call:rejected`,{callId:e.callId,chatId:e.chatId||A.current,reason:e.reason}),dt(e)}),p.on(`call:missed`,(e={})=>{console.log(`[FlowEngageProvider] received call:missed`,{callId:e.callId,chatId:e.chatId||A.current,reason:e.reason}),dt(e)}),p.on(`call:failed`,(e={})=>{console.log(`[FlowEngageProvider] received call:failed`,{callId:e.callId,chatId:e.chatId||A.current,reason:e.reason}),dt(e)}),p.on(`call:connected`,(e={})=>{if(!e.callId)return;let t=Xe.current===e.callId,n=Ye.current===e.callId,r=qe.current?.callId===e.callId,i=We.current?.callId===e.callId;if(console.log(`[FlowEngageProvider] received call:connected`,{callId:e.callId,chatId:e.chatId||A.current,connectedAt:e.connectedAt,status:e.status,isAcceptingHere:t,isAlreadyActive:n,isPendingOfferHere:r,isIncomingHere:i}),!t&&!n&&!r){i&&(Me(null),Ie(`idle`));return}Ze.current=!0,Xe.current=null,Ye.current=e.callId,Pe(e.callId),Me(null),Ie(`connected`),Re(e.connectedAt||new Date().toISOString()),g(!0)}),p.on(`call:unavailable`,(e={})=>{console.warn(`[FlowEngageCall] socket:event call:unavailable`,{chatId:e.chatId||A.current,callId:e.callId,reason:e.reason||e.message||null,raw:e}),ct(`socket:call_unavailable`),He(Dn(e,`This visitor is not available for a call right now.`)),g(!0)}),p.on(`call:error`,(e={})=>{console.error(`[FlowEngageCall] socket:event call:error`,{chatId:e.chatId||A.current,callId:e.callId,reason:e.reason||e.message||null,raw:e}),ct(`socket:call_error`),He(Dn(e,`We couldn't connect the call right now.`)),g(!0)}),p.on(`visitor:navigate`,async({url:e,section:n,highlight:r}={})=>{if(e){if(console.log(`[FlowEngageProvider] visitor:navigate`,{url:e,section:n,highlight:r}),!await xn(e,{siteId:t.siteId,apiBaseUrl:t.apiBaseUrl})){console.warn(`[FlowEngageProvider] visitor:navigate blocked (not indexed)`,e);return}Cn(e).then(e=>{let t=n||r;t&&setTimeout(()=>{let e=gn(null,t);e&&_n(e)},e?300:150)})}}),p.on(`visitor:highlight`,({sectionId:e,sectionText:t}={})=>{if(!e&&!t)return;console.log(`[FlowEngageProvider] visitor:highlight`,{sectionId:e,sectionText:t});let n=gn(e||null,t||null);n&&_n(n)}),p.on(`visitor:clear_highlight`,()=>{vn()}),rt.current=on({socket:p,chatId:c}),console.log(`[FlowEngageProvider] tracking started`,{chatId:c});let b=await l.loadHistory(c,r);if(console.log(`[FlowEngageProvider] history loaded`,b),!e||(m(En(b.chat_history||[])),x(!!b.is_human_handled),v(b.is_human_handled?`agent`:_),await new Promise(e=>setTimeout(e,500)),!e))return;o(`ready`),console.log(`[FlowEngageProvider] status ready`)}catch(t){if(!e)return;console.error(`[FlowEngageProvider] boot failed`,t),c(t),o(`error`)}})(),()=>{e=!1,rt.current?.cleanup?.(),ct(),Ue.current?.disconnect()}},[i,r]),(0,b.useEffect)(()=>()=>{if(Oe&&!nt.current&&tt.current.length>0){let e=A.current,t=tt.current,n=k.current;n&&e&&t.length>0&&(console.log(`[FlowEngageProvider] safety-net: syncing voice transcript on unmount`),n.beaconSyncVoice(e,t)||n.syncVoice(e,t).catch(()=>{}),nt.current=!0)}},[Oe,l]),(0,b.useEffect)(()=>{if(!k.current||!d||a!==`ready`)return;let e=window.setInterval(async()=>{try{let e=await k.current.checkHumanHandled(d);x(!!e.is_human_handled),e.is_human_handled&&(v(`agent`),e.agent_info?.name&&C(An([e.agent_info.name],`Agent`)),e.agent_info?.headshot&&ne(e.agent_info.headshot)),it(e)}catch{}},1e4);return()=>window.clearInterval(e)},[d,a,it]);let pt=async()=>{if(!(!O?.callId||!k.current||!Ue.current||!d)){ot(),Xe.current=O.callId,console.log(`[FlowEngageProvider] acceptCall started`,{callId:O?.callId,chatId:d,socketConnected:!!Ue.current?.connected,hasPendingOffer:!!qe.current});try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});console.log(`[FlowEngageProvider] microphone stream acquired`,{callId:O.callId,chatId:d,trackCount:e.getTracks().length}),Ge.current=e;let t=[{urls:`stun:stun.l.google.com:19302`}];try{let e=await k.current.getIceServersConfig();e?.data?.iceServers?.length&&(t=e.data.iceServers)}catch(e){console.warn(`[FlowEngageProvider] ice-config fetch failed, using STUN default`,e)}let n=new RTCPeerConnection({iceServers:t});j.current=n,console.log(`[FlowEngageCall] peer-connection:created`,{callId:O.callId,chatId:d,iceServers:1}),n.onconnectionstatechange=()=>{let e=n.connectionState;if(console.log(`[FlowEngageProvider] peer connection state changed`,{callId:O.callId,chatId:d,connectionState:e,iceConnectionState:n.iceConnectionState,signalingState:n.signalingState}),e===`connected`){let e=new Date().toISOString();Ie(`connected`),Re(t=>t||e),lt(e);return}if(e===`connecting`){Ie(e=>e===`connected`?e:`connecting`);return}(e===`failed`||e===`disconnected`||e===`closed`)&&console.warn(`[FlowEngageCall] peer-connection:terminal-state`,{callId:O.callId,chatId:d,connectionState:e,iceConnectionState:n.iceConnectionState,signalingState:n.signalingState})},n.oniceconnectionstatechange=()=>{let e=n.iceConnectionState;if(console.log(`[FlowEngageProvider] ICE connection state changed`,{callId:O.callId,chatId:d,iceConnectionState:e,connectionState:n.connectionState,signalingState:n.signalingState}),e===`connected`||e===`completed`){let e=new Date().toISOString();Ie(`connected`),Re(t=>t||e),lt(e);return}if(e===`checking`||e===`new`){Ie(e=>e===`connected`?e:`connecting`);return}(e===`failed`||e===`disconnected`||e===`closed`)&&console.warn(`[FlowEngageCall] ice-connection:terminal-state`,{callId:O.callId,chatId:d,iceConnectionState:e,connectionState:n.connectionState,signalingState:n.signalingState})},n.onsignalingstatechange=()=>{console.log(`[FlowEngageCall] signaling-state:changed`,{callId:O.callId,chatId:d,signalingState:n.signalingState,connectionState:n.connectionState,iceConnectionState:n.iceConnectionState})},n.onicegatheringstatechange=()=>{console.log(`[FlowEngageCall] ice-gathering-state:changed`,{callId:O.callId,chatId:d,iceGatheringState:n.iceGatheringState})},e.getTracks().forEach(t=>{console.log(`[FlowEngageCall] local-track:added`,{callId:O.callId,chatId:d,kind:t.kind,enabled:t.enabled,readyState:t.readyState,muted:t.muted,label:t.label}),n.addTrack(t,e)}),n.onicecandidate=e=>{if(!e.candidate||!Ue.current?.connected){console.log(`[FlowEngageProvider] local ICE candidate skipped`,{callId:O.callId,chatId:d,hasCandidate:!!e.candidate,socketConnected:!!Ue.current?.connected});return}let t=e.candidate;console.log(`[FlowEngageProvider] emitting local ICE candidate`,{callId:O.callId,chatId:d,candidate:kn(t)}),Ue.current.emit(`call:ice-candidate`,{callId:O.callId,candidate:t.candidate,sdpMid:t.sdpMid,sdpMLineIndex:t.sdpMLineIndex,chatId:d,from:`customer`})},n.ontrack=e=>{console.log(`[FlowEngageProvider] remote audio track received`,{callId:O.callId,chatId:d,streamCount:e.streams?.length||0});let[t]=e.streams||[],[n]=t?.getAudioTracks?.()||[];if(console.log(`[FlowEngageCall] remote-track:details`,{callId:O.callId,chatId:d,trackKind:e.track?.kind||null,trackEnabled:e.track?.enabled??null,trackMuted:e.track?.muted??null,trackReadyState:e.track?.readyState??null,streamId:t?.id||null,audioTrackCount:t?.getAudioTracks?.().length||0,firstAudioTrackState:n?{enabled:n.enabled,muted:n.muted,readyState:n.readyState,label:n.label}:null}),!Ke.current){let e=document.createElement(`audio`);e.id=`flowengage-remote-audio`,e.autoplay=!0,e.playsInline=!0,e.onplay=()=>{console.log(`[FlowEngageCall] remote-audio:onplay`,{callId:O.callId,chatId:d})},e.onpause=()=>{console.warn(`[FlowEngageCall] remote-audio:onpause`,{callId:O.callId,chatId:d,currentTime:e.currentTime})},e.onended=()=>{console.warn(`[FlowEngageCall] remote-audio:onended`,{callId:O.callId,chatId:d,currentTime:e.currentTime})},e.onerror=t=>{console.error(`[FlowEngageCall] remote-audio:onerror`,{callId:O.callId,chatId:d,error:e.error?{code:e.error.code,message:e.error.message}:null,raw:t})},Ke.current=e,document.body.appendChild(e)}Ke.current.srcObject=e.streams[0];let r=O?.callId,i=r&&(Xe.current===r||Ye.current===r);if(!Ze.current&&i){let e=new Date().toISOString();Ie(`connected`),Re(t=>t||e),Ye.current=r,Pe(r),lt(e)}Ke.current.srcObject=t||null;let a=Ke.current.play?.();a?.catch&&a.catch(e=>{console.error(`[FlowEngageCall] remote-audio:play-failed`,{callId:O.callId,chatId:d,message:e?.message,name:e?.name,raw:e})})};let r=qe.current;r&&(console.log(`[FlowEngageProvider] found pending remote offer during accept`,{callId:r.callId||O.callId,chatId:d}),await ft({...r,callId:r.callId||O.callId})),await k.current.acceptCall(O.callId,d),console.log(`[FlowEngageProvider] acceptCall API succeeded`,{callId:O.callId,chatId:d}),Ye.current=O.callId,Pe(O.callId),Ie(e=>e===`connected`||Ze.current?`connected`:`connecting`),Me(null),g(!0)}catch(e){if(console.error(`[FlowEngageProvider] acceptCall failed`,e),Xe.current=null,ct(`accept_call_failed`),e?.status===404||e?.status===409||e?.status===422){He(Dn(e,`This visitor call is no longer available.`));return}if(e?.name===`NotAllowedError`||e?.name===`PermissionDeniedError`){try{await k.current.rejectCall(O.callId,d)}catch(e){console.error(`[FlowEngageProvider] failed to reject call after microphone denial`,e)}He(`Microphone access was denied. Please allow microphone access to accept the call.`);return}He(`We couldn't connect the call right now. Please try again.`)}}},mt=async()=>{if(!O?.callId||!k.current||!d){ct(`reject_call_without_server_context`);return}ot();try{await k.current.rejectCall(O.callId,d)}catch(e){console.error(`[FlowEngageProvider] rejectCall failed`,e),He(Dn(e,`We couldn't decline the call cleanly.`))}finally{ct(`reject_call_finally`)}},ht=(0,b.useRef)(mt);ht.current=mt,(0,b.useEffect)(()=>{if(!O?.callId||Ne)return;let e=O.callId,t=window.setTimeout(()=>{We.current?.callId===e&&ht.current()},ae);return()=>window.clearTimeout(t)},[O?.callId,Ne]);let gt=async()=>{if(!Ne||!k.current||!d){ct(`end_call_without_server_context`);return}ot();try{await k.current.endWebRTCCall(Ne,d)}catch(e){console.error(`[FlowEngageProvider] endWebRTCCall failed`,e),He(Dn(e,`The call ended locally, but the server could not be updated.`))}finally{ct(`end_call_finally`)}},_t=()=>{let e=Ge.current?.getAudioTracks?.()||[],t=j.current?.getSenders?.().map(e=>e.track).filter(e=>e?.kind===`audio`)||[],n=[...e,...t].filter(Boolean);if(n.length===0){console.warn(`[FlowEngageProvider] no local audio tracks available for mute`);return}let r=!ze;n.forEach(e=>{e.enabled=!r}),console.log(`[FlowEngageProvider] toggled local mute`,{nextMuted:r,trackCount:n.length}),Be(r)},vt=async(e={})=>{let t=e.notifyChatInitiated===!0;if(g(!0),!(!t||!k.current||!d||typeof window>`u`)){try{await k.current.trackVisitor({chatId:d,currentPagePath:window.location.pathname||`/`})}catch{}try{await k.current.updateChatStatus(d,`open`)}catch{}}},yt=async e=>{let t=st(e);if(!t||!k.current||!A.current)return t;try{await k.current.trackVisitor({chatId:A.current,currentPagePath:typeof window<`u`&&window.location.pathname||`/`,email:t})}catch(e){console.error(`[FlowEngageProvider] failed to persist visitor email`,e)}return t},bt=()=>{if(!d||!Ue.current?.connected||Qe.current){console.log(`[FlowEngageProvider] skipped typing:start emit`,{chatId:d,socketConnected:!!Ue.current?.connected,alreadyTyping:Qe.current});return}Qe.current=!0,console.log(`[FlowEngageProvider] emitting typing:start`,{chatId:d,sender:`user`}),Ue.current.emit(`typing:start`,{chatId:d,sender:`user`})},xt=()=>{if(!d||!Ue.current?.connected||!Qe.current){console.log(`[FlowEngageProvider] skipped typing:stop emit`,{chatId:d,socketConnected:!!Ue.current?.connected,wasTyping:Qe.current});return}Qe.current=!1,console.log(`[FlowEngageProvider] emitting typing:stop`,{chatId:d,sender:`user`}),Ue.current.emit(`typing:stop`,{chatId:d,sender:`user`})},St=(e=``)=>{let t=typeof e==`string`?e:``;if(!d||!Ue.current?.connected){console.log(`[FlowEngageProvider] skipped typing:update emit`,{chatId:d,socketConnected:!!Ue.current?.connected,textLength:t.length});return}$e.current!==t&&($e.current=t,console.log(`[FlowEngageProvider] emitting typing:update`,{chatId:d,sender:`user`,textLength:t.length}),Ue.current.emit(`typing:update`,{chatId:d,sender:`user`,text:t}))},Ct=async(e,t=``,n=null,i={})=>{if(!(typeof e==`string`&&e.trim())||!k.current||!d||a!==`ready`||Ae)return;xt();let o=`pending-user-${Date.now()}`,s={id:o,sender:`user`,message:e,timestamp:new Date().toISOString(),isPending:!0,type:i?.type||`text`,metadata:i?.metadata||void 0,...n||{}};m(e=>[...e,s]);let l=y;if(l)try{l=it(await k.current.checkHumanHandled(d))}catch{}if(l&&Ue.current?.connected){Ue.current.emit(`customer:message`,{chatId:d,content:e,sender:`user`,email:oe||void 0,type:i?.type||`text`,metadata:i?.metadata||{},...n||{}});return}Ce(!0);try{let a=await k.current.sendAiMessage(d,e,r,t,{...n||{},...oe?{email:oe}:{}},i);m(En(a.chat_history||[])),x(!!a.is_human_handled),v(a.is_human_handled?`agent`:`ai`),ye(!1),await k.current.updateChatStatus(d,`messageSent`)}catch(e){m(e=>e.filter(e=>e.id!==o)),ye(!1),e.status===429?(Te(!0),De(e.message),window.setTimeout(()=>{Te(!1),De(``)},re)):c(e)}finally{Ce(!1)}},wt=async e=>{if(!k.current||!e)throw Error(`Upload is unavailable right now.`);return k.current.uploadChatFile(e)},Tt=async e=>{if(!(!k.current||!d)){try{let t=e?`voice`:`text`;await k.current.setChatMode(d,t)}catch(e){console.error(`[FlowEngageProvider] setVoiceMode failed`,e)}ke(e),e&&(nt.current=!1)}},Et=async e=>{if(nt.current)return;if(nt.current=!0,!k.current||!d||!e?.length){ke(!1);return}let t=()=>{let t=En(e);m(e=>{if(!e.length)return t;let n=e[e.length-1],r=t[0];return n&&r&&n.sender===r.sender&&n.message===r.message?e:[...e,...t]})};try{let n=await k.current.syncVoice(d,e);if(n?.chat_history?.length)m(En(n.chat_history));else if(n?.success)try{let e=await k.current.loadHistory(d,r);e?.chat_history?.length?m(En(e.chat_history)):t()}catch{t()}else t()}catch{t()}finally{ke(!1)}},Dt=async()=>{if(!(!k.current||!d)){Oe&&!nt.current&&tt.current.length>0&&await Et(tt.current);try{await k.current.endConversation(d)}catch{try{await k.current.updateChatStatus(d,`ended`)}catch{}}je(!0),m(e=>[...e,{id:`conversation-ended-${Date.now()}`,sender:`system`,message:`This conversation has ended. Thank you for reaching out!`,timestamp:new Date().toISOString(),isPending:!1}])}};(0,b.useEffect)(()=>{if(Fe!==`connected`||!Ne||!d||!Le||!at)return;let e=new Date(Le).getTime(),t=Number.isFinite(e)?Date.now()-e:0,n=Math.max(0,at*1e3-t),r=window.setTimeout(()=>{He(`The call ended because it reached the time limit.`),gt()},n);return()=>window.clearTimeout(r)},[Ne,Le,Fe,d,gt,at]),(0,b.useEffect)(()=>{let e=()=>{let e=A.current,t=k.current;if(!t||!e)return;if(Ye.current){t.beaconEndWebRTCCall(Ye.current,e);return}let n=Xe.current||We.current?.callId;n&&t.beaconCustomerUnavailable(n,e)};return window.addEventListener(`pagehide`,e),window.addEventListener(`beforeunload`,e),()=>{window.removeEventListener(`pagehide`,e),window.removeEventListener(`beforeunload`,e)}},[]);let Ot=(0,b.useMemo)(()=>({status:a,error:s,runtimeConfig:l,resolvedConfig:i,chatId:d,chatHistory:p,isOpen:h,activeScreen:_,isHumanHandled:y,agentName:S,agentHeadshot:te,visitorEmail:oe,isAgentTyping:de,isAiTyping:D,connectionStatus:be,isLoading:Se,isVoiceMode:Oe,isRateLimited:we,rateLimitMessage:Ee,isConversationEnded:Ae,incomingCall:O,activeCallId:Ne,callConnectionState:Fe,callConnectedAt:Le,isCallMuted:ze,webRTCError:Ve,language:r,historyRef:tt,hasSyncedRef:nt,dismissCallError:ot,captureVisitorEmail:yt,startTyping:bt,stopTyping:xt,updateTypingDraft:St,notifyRouteChange:()=>rt.current?.notifyRouteChange?.(),openWidget:vt,closeWidget:()=>g(!1),toggleWidget:()=>{if(h){g(!1);return}vt({notifyChatInitiated:!0})},sendMessage:Ct,uploadChatFile:wt,setVoiceMode:Tt,onMessageSync:Et,endConversation:Dt,acceptCall:pt,rejectCall:mt,endWebRTCCall:gt,toggleCallMute:_t}),[a,s,l,i,d,p,h,_,y,S,te,oe,de,D,be,Se,Oe,we,Ee,Ae,O,Ne,Fe,Le,ze,Ve,r,yt,bt,xt,St,pt,mt,gt,_t,vt,Ct,wt,Tt,Et,Dt,ot]);return(0,N.jsx)(sn.Provider,{value:Ot,children:n})}var Nn=(0,b.createContext)({});function Pn(e){let t=(0,b.useRef)(null);return t.current===null&&(t.current=e()),t.current}var Fn=typeof window<`u`?b.useLayoutEffect:b.useEffect,In=(0,b.createContext)(null);function Ln(e,t){e.indexOf(t)===-1&&e.push(t)}function Rn(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var zn=(e,t,n)=>n>t?t:n<e?e:n,Bn={},Vn=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function Hn(e){return typeof e==`object`&&!!e}var Un=e=>/^0[^.\s]+$/u.test(e);function Wn(e){let t;return()=>(t===void 0&&(t=e()),t)}var Gn=e=>e,Kn=(e,t)=>n=>t(e(n)),qn=(...e)=>e.reduce(Kn),Jn=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},Yn=class{constructor(){this.subscriptions=[]}add(e){return Ln(this.subscriptions,e),()=>Rn(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;i<r;i++){let r=this.subscriptions[i];r&&r(e,t,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}},Xn=e=>e*1e3,Zn=e=>e/1e3;function Qn(e,t){return t?1e3/t*e:0}var $n=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,er=1e-7,tr=12;function nr(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=$n(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>er&&++s<tr);return o}function rr(e,t,n,r){if(e===t&&n===r)return Gn;let i=t=>nr(t,0,1,e,n);return e=>e===0||e===1?e:$n(i(e),t,r)}var ir=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,ar=e=>t=>1-e(1-t),or=rr(.33,1.53,.69,.99),sr=ar(or),cr=ir(sr),lr=e=>e>=1?1:(e*=2)<1?.5*sr(e):.5*(2-2**(-10*(e-1))),ur=e=>1-Math.sin(Math.acos(e)),dr=ar(ur),fr=ir(ur),pr=rr(.42,0,1,1),mr=rr(0,0,.58,1),hr=rr(.42,0,.58,1),gr=e=>Array.isArray(e)&&typeof e[0]!=`number`,_r=e=>Array.isArray(e)&&typeof e[0]==`number`,vr={linear:Gn,easeIn:pr,easeInOut:hr,easeOut:mr,circIn:ur,circInOut:fr,circOut:dr,backIn:sr,backInOut:cr,backOut:or,anticipate:lr},yr=e=>typeof e==`string`,br=e=>{if(_r(e)){e.length;let[t,n,r,i]=e;return rr(t,n,r,i)}else if(yr(e))return vr[e],`${e}`,vr[e];return e},xr=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`],Sr={value:null,addProjectionMetrics:null};function Cr(e,t){let n=new Set,r=new Set,i=!1,a=!1,o=new WeakSet,s={delta:0,timestamp:0,isProcessing:!1},c=0;function l(t){o.has(t)&&(u.schedule(t),e()),c++,t(s)}let u={schedule:(e,t=!1,a=!1)=>{let s=a&&i?n:r;return t&&o.add(e),s.add(e),e},cancel:e=>{r.delete(e),o.delete(e)},process:e=>{if(s=e,i){a=!0;return}i=!0;let o=n;n=r,r=o,n.forEach(l),t&&Sr.value&&Sr.value.frameloop[t].push(c),c=0,n.clear(),i=!1,a&&(a=!1,u.process(e))}};return u}var wr=40;function Tr(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=xr.reduce((e,n)=>(e[n]=Cr(a,t?n:void 0),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,h=()=>{let a=Bn.useManualTiming,o=a?i.timestamp:performance.now();n=!1,a||(i.delta=r?1e3/60:Math.max(Math.min(o-i.timestamp,wr),1)),i.timestamp=o,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(h))},g=()=>{n=!0,r=!0,i.isProcessing||e(h)};return{schedule:xr.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||g(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t<xr.length;t++)o[xr[t]].cancel(e)},state:i,steps:o}}var{schedule:Er,cancel:Dr,state:Or,steps:kr}=Tr(typeof requestAnimationFrame<`u`?requestAnimationFrame:Gn,!0),Ar;function jr(){Ar=void 0}var Mr={now:()=>(Ar===void 0&&Mr.set(Or.isProcessing||Bn.useManualTiming?Or.timestamp:performance.now()),Ar),set:e=>{Ar=e,queueMicrotask(jr)}},Nr={layout:0,mainThread:0,waapi:0},Pr=e=>t=>typeof t==`string`&&t.startsWith(e),Fr=Pr(`--`),Ir=Pr(`var(--`),Lr=e=>Ir(e)?Rr.test(e.split(`/*`)[0].trim()):!1,Rr=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function zr(e){return typeof e==`string`?e.split(`/*`)[0].includes(`var(--`):!1}var Br={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},Vr={...Br,transform:e=>zn(0,1,e)},Hr={...Br,default:1},Ur=e=>Math.round(e*1e5)/1e5,Wr=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Gr(e){return e==null}var Kr=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,qr=(e,t)=>n=>!!(typeof n==`string`&&Kr.test(n)&&n.startsWith(e)||t&&!Gr(n)&&Object.prototype.hasOwnProperty.call(n,t)),Jr=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(Wr);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},Yr=e=>zn(0,255,e),Xr={...Br,transform:e=>Math.round(Yr(e))},Zr={test:qr(`rgb`,`red`),parse:Jr(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+Xr.transform(e)+`, `+Xr.transform(t)+`, `+Xr.transform(n)+`, `+Ur(Vr.transform(r))+`)`};function Qr(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var $r={test:qr(`#`),parse:Qr,transform:Zr.transform},ei=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),ti=ei(`deg`),ni=ei(`%`),P=ei(`px`),ri=ei(`vh`),ii=ei(`vw`),ai={...ni,parse:e=>ni.parse(e)/100,transform:e=>ni.transform(e*100)},oi={test:qr(`hsl`,`hue`),parse:Jr(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+ni.transform(Ur(t))+`, `+ni.transform(Ur(n))+`, `+Ur(Vr.transform(r))+`)`},si={test:e=>Zr.test(e)||$r.test(e)||oi.test(e),parse:e=>Zr.test(e)?Zr.parse(e):oi.test(e)?oi.parse(e):$r.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?Zr.transform(e):oi.transform(e),getAnimatableNone:e=>{let t=si.parse(e);return t.alpha=0,si.transform(t)}},ci=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function li(e){return isNaN(e)&&typeof e==`string`&&(e.match(Wr)?.length||0)+(e.match(ci)?.length||0)>0}var ui=`number`,di=`color`,fi=`var`,pi=`var(`,mi="${}",hi=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function gi(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(hi,e=>(si.test(e)?(r.color.push(a),i.push(di),n.push(si.parse(e))):e.startsWith(pi)?(r.var.push(a),i.push(fi),n.push(e)):(r.number.push(a),i.push(ui),n.push(parseFloat(e))),++a,mi)).split(mi),indexes:r,types:i}}function _i(e){return gi(e).values}function vi({split:e,types:t}){let n=e.length;return r=>{let i=``;for(let a=0;a<n;a++)if(i+=e[a],r[a]!==void 0){let e=t[a];e===ui?i+=Ur(r[a]):e===di?i+=si.transform(r[a]):i+=r[a]}return i}}function yi(e){return vi(gi(e))}var bi=e=>typeof e==`number`?0:si.test(e)?si.getAnimatableNone(e):e,xi=(e,t)=>typeof e==`number`?t?.trim().endsWith(`/`)?e:0:bi(e);function Si(e){let t=gi(e);return vi(t)(t.values.map((e,n)=>xi(e,t.split[n])))}var Ci={test:li,parse:_i,createTransformer:yi,getAnimatableNone:Si};function wi(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Ti({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=wi(s,r,e+1/3),a=wi(s,r,e),o=wi(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function Ei(e,t){return n=>n>0?t:e}var F=(e,t,n)=>e+(t-e)*n,Di=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},Oi=[$r,Zr,oi],ki=e=>Oi.find(t=>t.test(e));function Ai(e){let t=ki(e);if(`${e}`,!t)return!1;let n=t.parse(e);return t===oi&&(n=Ti(n)),n}var ji=(e,t)=>{let n=Ai(e),r=Ai(t);if(!n||!r)return Ei(e,t);let i={...n};return e=>(i.red=Di(n.red,r.red,e),i.green=Di(n.green,r.green,e),i.blue=Di(n.blue,r.blue,e),i.alpha=F(n.alpha,r.alpha,e),Zr.transform(i))},Mi=new Set([`none`,`hidden`]);function Ni(e,t){return Mi.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Pi(e,t){return n=>F(e,t,n)}function Fi(e){return typeof e==`number`?Pi:typeof e==`string`?Lr(e)?Ei:si.test(e)?ji:zi:Array.isArray(e)?Ii:typeof e==`object`?si.test(e)?ji:Li:Ei}function Ii(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>Fi(e)(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}}function Li(e,t){let n={...e,...t},r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Fi(e[i])(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}}function Ri(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){let a=t.types[i],o=e.indexes[a][r[a]];n[i]=e.values[o]??0,r[a]++}return n}var zi=(e,t)=>{let n=Ci.createTransformer(t),r=gi(e),i=gi(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?Mi.has(e)&&!i.values.length||Mi.has(t)&&!r.values.length?Ni(e,t):qn(Ii(Ri(r,i),i.values),n):(`${e}${t}`,Ei(e,t))};function Bi(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?F(e,t,n):Fi(e)(e,t)}var Vi=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>Er.update(t,e),stop:()=>Dr(t),now:()=>Or.isProcessing?Or.timestamp:Mr.now()}},Hi=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t<i;t++)r+=Math.round(e(t/(i-1))*1e4)/1e4+`, `;return`linear(${r.substring(0,r.length-2)})`},Ui=2e4;function Wi(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}function Gi(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(Wi(r),Ui);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:Zn(i)}}var Ki={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function qi(e,t){return e*Math.sqrt(1-t*t)}var Ji=12;function Yi(e,t,n){let r=n;for(let n=1;n<Ji;n++)r-=e(r)/t(r);return r}var Xi=.001;function Zi({duration:e=Ki.duration,bounce:t=Ki.bounce,velocity:n=Ki.velocity,mass:r=Ki.mass}){let i,a;Ki.maxDuration;let o=1-t;o=zn(Ki.minDamping,Ki.maxDamping,o),e=zn(Ki.minDuration,Ki.maxDuration,Zn(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=qi(t,o),c=Math.exp(-i);return Xi-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=qi(t**2,o);return(-i(t)+Xi>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-Xi+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=Yi(i,a,s);if(e=Xn(e),isNaN(c))return{stiffness:Ki.stiffness,damping:Ki.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Qi=[`duration`,`bounce`],$i=[`stiffness`,`damping`,`mass`];function ea(e,t){return t.some(t=>e[t]!==void 0)}function ta(e){let t={velocity:Ki.velocity,stiffness:Ki.stiffness,damping:Ki.damping,mass:Ki.mass,isResolvedFromDuration:!1,...e};if(!ea(e,$i)&&ea(e,Qi))if(t.velocity=0,e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*zn(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:Ki.mass,stiffness:i,damping:a}}else{let n=Zi({...e,velocity:0});t={...t,...n,mass:Ki.mass},t.isResolvedFromDuration=!0}return t}function na(e=Ki.visualDuration,t=Ki.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=ta({...n,velocity:-Zn(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=Zn(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?Ki.restSpeed.granular:Ki.restSpeed.default,i||=v?Ki.restDelta.granular:Ki.restDelta.default;let y,b,x,ee,S,C;if(h<1)x=qi(_,h),ee=(m+h*_*g)/x,y=e=>o-Math.exp(-h*_*e)*(ee*Math.sin(x*e)+g*Math.cos(x*e)),S=h*_*ee+g*x,C=h*_*g-ee*x,b=e=>Math.exp(-h*_*e)*(S*Math.sin(x*e)+C*Math.cos(x*e));else if(h===1){y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);let e=m+_*g;b=t=>Math.exp(-_*t)*(_*e*t-m)}else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e};let t=(m+h*_*g)/e,n=h*_*t-g*e,r=h*_*g-t*e;b=t=>{let i=Math.exp(-h*_*t),a=Math.min(e*t,300);return i*(n*Math.sinh(a)+r*Math.cosh(a))}}let te={calculatedDuration:p&&d||null,velocity:e=>Xn(b(e)),next:e=>{if(!p&&h<1){let t=Math.exp(-h*_*e),n=Math.sin(x*e),a=Math.cos(x*e),c=o-t*(ee*n+g*a),l=Xn(t*(S*n+C*a));return s.done=Math.abs(l)<=r&&Math.abs(o-c)<=i,s.value=s.done?o:c,s}let t=y(e);if(p)s.done=e>=d;else{let n=Xn(b(e));s.done=Math.abs(n)<=r&&Math.abs(o-t)<=i}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(Wi(te),Ui),t=Hi(t=>te.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return te}na.applyToOptions=e=>{let t=Gi(e,100,na);return e.ease=t.ease,e.duration=Xn(t.duration),e.type=`keyframes`,e};var ra=5;function ia(e,t,n){let r=Math.max(t-ra,0);return Qn(n-e(r),t-r)}function aa({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&e<s||c!==void 0&&e>c,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)<Math.abs(c-e)?s:c,h=n*t,g=d+h,_=o===void 0?g:o(g);_!==g&&(h=_-d);let v=e=>-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,ee,S=e=>{p(f.value)&&(x=e,ee=na({keyframes:[f.value,m(f.value)],velocity:ia(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return S(0),{calculatedDuration:null,next:e=>{let t=!1;return!ee&&x===void 0&&(t=!0,b(e),S(e)),x!==void 0&&e>=x?ee.next(e-x):(!t&&b(e),f)}}}function oa(e,t,n){let r=[],i=n||Bn.mix||Bi,a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=qn(Array.isArray(t)?t[n]||Gn:t,a)),r.push(a)}return r}function sa(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;if(t.length,a===1)return()=>t[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=oa(t,r,i),c=s.length,l=n=>{if(o&&n<e[0])return t[0];let r=0;if(c>1)for(;r<e.length-2&&!(n<e[r+1]);r++);let i=Jn(e[r],e[r+1],n);return s[r](i)};return n?t=>l(zn(e[0],e[a-1],t)):l}function ca(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=Jn(0,t,r);e.push(F(n,1,i))}}function la(e){let t=[0];return ca(t,e.length-1),t}function ua(e,t){return e.map(e=>e*t)}function da(e,t){return e.map(()=>t||hr).splice(0,e.length-1)}function fa({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=gr(r)?r.map(br):br(r),a={done:!1,value:t[0]},o=sa(ua(n&&n.length===t.length?n:la(t),e),t,{ease:Array.isArray(i)?i:da(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var pa=e=>e!==null;function ma(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(pa),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var ha={decay:aa,inertia:aa,tween:fa,keyframes:fa,spring:na};function ga(e){typeof e.type==`string`&&(e.type=ha[e.type])}var _a=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},va=e=>e/100,ya=class extends _a{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==Mr.now()&&this.tick(Mr.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},Nr.mainThread++,this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;ga(e);let{type:t=fa,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||fa;s!==fa&&typeof o[0]!=`number`&&(this.mixKeyframes=qn(va,Bi(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=Wi(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:m,finalKeyframe:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),_=this.playbackSpeed>=0?g<0:g>r;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let v=this.currentTime,y=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(y=a)),v=zn(0,1,n)*o}let b;_?(this.delayState.value=l[0],b=this.delayState):b=y.next(v),i&&!_&&(b.value=i(b.value));let{done:x}=b;!_&&s!==null&&(x=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let ee=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return ee&&p!==aa&&(b.value=ma(l,this.options,h,this.speed)),m&&m(b.value),ee&&this.finish(),b}then(e,t){return this.finished.then(e,t)}get duration(){return Zn(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Zn(e)}get time(){return Zn(this.currentTime)}set time(e){e=Xn(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state=`paused`,this.holdTime=e,this.tick(e))}getGeneratorVelocity(){let e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);let t=this.generator.next(e).value;return ia(e=>this.generator.next(e).value,e,t)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;t&&this.driver&&this.updateTime(Mr.now()),this.playbackSpeed=e,t&&this.driver&&(this.time=Zn(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=Vi,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,this.state===`finished`&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state=`running`,this.driver.start()}pause(){this.state=`paused`,this.updateTime(Mr.now()),this.holdTime=this.currentTime}complete(){this.state!==`running`&&this.play(),this.state=`finished`,this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state=`finished`,this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state=`idle`,this.stopDriver(),this.startTime=this.holdTime=null,Nr.mainThread--}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function ba(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}var xa=e=>e*180/Math.PI,Sa=e=>wa(xa(Math.atan2(e[1],e[0]))),Ca={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Sa,rotateZ:Sa,skewX:e=>xa(Math.atan(e[1])),skewY:e=>xa(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},wa=e=>(e%=360,e<0&&(e+=360),e),Ta=Sa,Ea=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Da=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),Oa={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Ea,scaleY:Da,scale:e=>(Ea(e)+Da(e))/2,rotateX:e=>wa(xa(Math.atan2(e[6],e[5]))),rotateY:e=>wa(xa(Math.atan2(-e[2],e[0]))),rotateZ:Ta,rotate:Ta,skewX:e=>xa(Math.atan(e[4])),skewY:e=>xa(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function ka(e){return e.includes(`scale`)?1:0}function Aa(e,t){if(!e||e===`none`)return ka(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=Oa,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=Ca,i=t}if(!i)return ka(t);let a=r[t],o=i[1].split(`,`).map(Ma);return typeof a==`function`?a(o):o[a]}var ja=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return Aa(n,t)};function Ma(e){return parseFloat(e.trim())}var Na=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],Pa=new Set(Na),Fa=e=>e===Br||e===P,Ia=new Set([`x`,`y`,`z`]),La=Na.filter(e=>!Ia.has(e));function Ra(e){let t=[];return La.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith(`scale`)?1:0))}),t}var za={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>Aa(t,`x`),y:(e,{transform:t})=>Aa(t,`y`)};za.translateX=za.x,za.translateY=za.y;var Ba=new Set,Va=!1,Ha=!1,Ua=!1;function Wa(){if(Ha){let e=Array.from(Ba).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=Ra(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{e.getValue(t)?.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}Ha=!1,Va=!1,Ba.forEach(e=>e.complete(Ua)),Ba.clear()}function Ga(){Ba.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Ha=!0)})}function Ka(){Ua=!0,Ga(),Wa(),Ua=!1}var qa=class{constructor(e,t,n,r,i,a=!1){this.state=`pending`,this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.state=`scheduled`,this.isAsync?(Ba.add(this),Va||(Va=!0,Er.read(Ga),Er.resolveKeyframes(Wa))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}ba(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),Ba.delete(this)}cancel(){this.state===`scheduled`&&(Ba.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},Ja=e=>e.startsWith(`--`);function Ya(e,t,n){Ja(t)?e.style.setProperty(t,n):e.style[t]=n}var Xa={};function Za(e,t){let n=Wn(e);return()=>Xa[t]??n()}var Qa=Za(()=>window.ScrollTimeline!==void 0,`scrollTimeline`),$a=Za(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),eo=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,to={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:eo([0,.65,.55,1]),circOut:eo([.55,0,1,.45]),backIn:eo([.31,.01,.66,-.59]),backOut:eo([.33,1.53,.69,.99])};function no(e,t){if(e)return typeof e==`function`?$a()?Hi(e,t):`ease-out`:_r(e)?eo(e):Array.isArray(e)?e.map(e=>no(e,t)||to.easeOut):to[e]}function ro(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=no(s,i);Array.isArray(d)&&(u.easing=d),Sr.value&&Nr.waapi++;let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};l&&(f.pseudoElement=l);let p=e.animate(u,f);return Sr.value&&p.finished.finally(()=>{Nr.waapi--}),p}function io(e){return typeof e==`function`&&`applyToOptions`in e}function ao({type:e,...t}){return io(e)&&$a()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var oo=class extends _a{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,e.type;let c=ao(e);this.animation=ro(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=ma(r,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(e),Ya(t,n,e),this.animation.cancel()}s?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state===`finished`&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return Zn(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Zn(e)}get time(){return Zn(Number(this.animation.currentTime)||0)}set time(e){let t=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Xn(e),t&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:n,observe:r}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Qa()?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),n&&(this.animation.rangeEnd=n),Gn):r(this)}},so={anticipate:lr,backInOut:cr,circInOut:fr};function co(e){return e in so}function lo(e){typeof e.ease==`string`&&co(e.ease)&&(e.ease=so[e.ease])}var uo=10,fo=class extends oo{constructor(e){lo(e),ga(e),super(e),e.startTime!==void 0&&e.autoplay!==!1&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new ya({...a,autoplay:!1}),s=Math.max(uo,Mr.now()-this.startTime),c=zn(0,uo,s-uo),l=o.sample(s).value,{name:u}=this.options;i&&u&&Ya(i,u,l),t.setWithVelocity(o.sample(Math.max(0,s-c)).value,l,c),o.stop()}},po=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&(Ci.test(e)||e===`0`)&&!e.startsWith(`url(`));function mo(e){let t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function ho(e,t,n,r){let i=e[0];if(i===null)return!1;if(t===`display`||t===`visibility`)return!0;let a=e[e.length-1],o=po(i,t),s=po(a,t);return`${t}${i}${a}${o?a:i}`,!o||!s?!1:mo(e)||(n===`spring`||io(n))&&r}function go(e){e.duration=0,e.type=`keyframes`}var _o=new Set([`opacity`,`clipPath`,`filter`,`transform`]),I=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function vo(e){for(let t=0;t<e.length;t++)if(typeof e[t]==`string`&&I.test(e[t]))return!0;return!1}var yo=new Set([`color`,`backgroundColor`,`outlineColor`,`fill`,`stroke`,`borderColor`,`borderTopColor`,`borderRightColor`,`borderBottomColor`,`borderLeftColor`]),bo=Wn(()=>Object.hasOwnProperty.call(Element.prototype,`animate`));function xo(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o,keyframes:s}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:c,transformTemplate:l}=t.owner.getProps();return bo()&&n&&(_o.has(n)||yo.has(n)&&vo(s))&&(n!==`transform`||!l)&&!c&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var So=40,Co=class extends _a{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=Mr.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u};this.keyframeResolver=new(l?.KeyframeResolver||qa)(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=Mr.now();let u=!0;ho(e,i,a,o)||(u=!1,(Bn.instantAnimations||!s)&&l?.(ma(e,n,t)),e[0]=e[e.length-1],go(n),n.repeat=0);let d={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>So?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},f=u&&!c&&xo(d),p=d.motionValue?.owner?.current,m;if(f)try{m=new fo({...d,element:p})}catch{m=new ya(d)}else m=new ya(d);m.finished.then(()=>{this.notifyFinished()}).catch(Gn),this.pendingTimeline&&=(this.stopTimeline=m.attachTimeline(this.pendingTimeline),void 0),this._animation=m}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Ka()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}};function wo(e,t,n,r=0,i=1){let a=Array.from(e).sort((e,t)=>e.sortNodePosition(t)).indexOf(t),o=e.size,s=(o-1)*r;return typeof n==`function`?n(a,o):i===1?a*r:s-a*r}var To=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Eo(e){let t=To.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}function Do(e,t,n=1){`${e}`;let[r,i]=Eo(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return Vn(e)?parseFloat(e):e}return Lr(i)?Do(i,t,n+1):i}var Oo={type:`spring`,stiffness:500,damping:25,restSpeed:10},ko=e=>({type:`spring`,stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Ao={type:`keyframes`,duration:.8},jo={type:`keyframes`,ease:[.25,.1,.35,1],duration:.3},Mo=(e,{keyframes:t})=>t.length>2?Ao:Pa.has(e)?e.startsWith(`scale`)?ko(t[1]):Oo:jo;function No(e,t){if(e?.inherit&&t){let{inherit:n,...r}=e;return{...t,...r}}return e}function Po(e,t){let n=e?.[t]??e?.default??e;return n===e?n:No(n,e)}var Fo=new Set([`when`,`delay`,`delayChildren`,`staggerChildren`,`staggerDirection`,`repeat`,`repeatType`,`repeatDelay`,`from`,`elapsed`]);function Io(e){for(let t in e)if(!Fo.has(t))return!0;return!1}var Lo=(e,t,n,r={},i,a)=>o=>{let s=Po(r,e)||{},c=s.delay||r.delay||0,{elapsed:l=0}=r;l-=Xn(c);let u={keyframes:Array.isArray(n)?n:[null,n],ease:`easeOut`,velocity:t.getVelocity(),...s,delay:-l,onUpdate:e=>{t.set(e),s.onUpdate&&s.onUpdate(e)},onComplete:()=>{o(),s.onComplete&&s.onComplete()},name:e,motionValue:t,element:a?void 0:i};Io(s)||Object.assign(u,Mo(e,u)),u.duration&&=Xn(u.duration),u.repeatDelay&&=Xn(u.repeatDelay),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(go(u),u.delay===0&&(d=!0)),(Bn.instantAnimations||Bn.skipAnimations||i?.shouldSkipAnimations)&&(d=!0,go(u),u.delay=0),u.allowFlatten=!s.type&&!s.ease,d&&!a&&t.get()!==void 0){let e=ma(u.keyframes,s);if(e!==void 0){Er.update(()=>{u.onUpdate(e),u.onComplete()});return}}return s.isSync?new ya(u):new Co(u)};function Ro(e){let t=[{},{}];return e?.values.forEach((e,n)=>{t[0][n]=e.get(),t[1][n]=e.getVelocity()}),t}function zo(e,t,n,r){if(typeof t==`function`){let[i,a]=Ro(r);t=t(n===void 0?e.custom:n,i,a)}if(typeof t==`string`&&(t=e.variants&&e.variants[t]),typeof t==`function`){let[i,a]=Ro(r);t=t(n===void 0?e.custom:n,i,a)}return t}function Bo(e,t,n){let r=e.getProps();return zo(r,t,n===void 0?r.custom:n,e)}var Vo=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...Na]),Ho=30,Uo=e=>!isNaN(parseFloat(e)),Wo={current:void 0},Go=class{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=Mr.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=Mr.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=Uo(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new Yn);let n=this.events[e].add(t);return e===`change`?()=>{n(),Er.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return Wo.current&&Wo.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=Mr.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>Ho)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,Ho);return Qn(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}};function Ko(e,t){return new Go(e,t)}var qo=e=>Array.isArray(e);function Jo(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Ko(n))}function Yo(e){return qo(e)?e[e.length-1]||0:e}function Xo(e,t){let{transitionEnd:n={},transition:r={},...i}=Bo(e,t)||{};i={...i,...n};for(let t in i)Jo(e,t,Yo(i[t]))}var Zo=e=>!!(e&&e.getVelocity);function Qo(e){return!!(Zo(e)&&e.add)}function $o(e,t){let n=e.getValue(`willChange`);if(Qo(n))return n.add(t);if(!n&&Bn.WillChange){let n=new Bn.WillChange(`auto`);e.addValue(`willChange`,n),n.add(t)}}function es(e){return e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}var ts=`data-`+es(`framerAppearId`);function ns(e){return e.props[ts]}function rs({protectedKeys:e,needsAnimating:t},n){let r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function is(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:a,transitionEnd:o,...s}=t,c=e.getDefaultTransition();a=a?No(a,c):c;let l=a?.reduceMotion;r&&(a=r);let u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(let t in s){let r=e.getValue(t,e.latestValues[t]??null),i=s[t];if(i===void 0||d&&rs(d,t))continue;let o={delay:n,...Po(a||{},t)},c=r.get();if(c!==void 0&&!r.isAnimating()&&!Array.isArray(i)&&i===c&&!o.velocity){Er.update(()=>r.set(i));continue}let f=!1;if(window.MotionHandoffAnimation){let n=ns(e);if(n){let e=window.MotionHandoffAnimation(n,t,Er);e!==null&&(o.startTime=e,f=!0)}}$o(e,t);let p=l??e.shouldReduceMotion;r.start(Lo(t,r,i,p&&Vo.has(t)?{type:!1}:o,e,f));let m=r.animation;m&&u.push(m)}if(o){let t=()=>Er.update(()=>{o&&Xo(e,o)});u.length?Promise.all(u).then(t):t()}return u}function as(e,t,n={}){let r=Bo(e,t,n.type===`exit`?e.presenceContext?.custom:void 0),{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);let a=r?()=>Promise.all(is(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(r=0)=>{let{delayChildren:a=0,staggerChildren:o,staggerDirection:s}=i;return os(e,t,r,a,o,s,n)}:()=>Promise.resolve(),{when:s}=i;if(s){let[e,t]=s===`beforeChildren`?[a,o]:[o,a];return e().then(()=>t())}else return Promise.all([a(),o(n.delay)])}function os(e,t,n=0,r=0,i=0,a=1,o){let s=[];for(let c of e.variantChildren)c.notify(`AnimationStart`,t),s.push(as(c,t,{...o,delay:n+(typeof r==`function`?0:r)+wo(e.variantChildren,c,r,i,a)}).then(()=>c.notify(`AnimationComplete`,t)));return Promise.all(s)}function ss(e,t,n={}){e.notify(`AnimationStart`,t);let r;if(Array.isArray(t)){let i=t.map(t=>as(e,t,n));r=Promise.all(i)}else if(typeof t==`string`)r=as(e,t,n);else{let i=typeof t==`function`?Bo(e,t,n.custom):t;r=Promise.all(is(e,i,n))}return r.then(()=>{e.notify(`AnimationComplete`,t)})}var cs={test:e=>e===`auto`,parse:e=>e},ls=e=>t=>t.test(e),us=[Br,P,ni,ti,ii,ri,cs],ds=e=>us.find(ls(e));function fs(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||Un(e)}var ps=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function ms(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Wr)||[];if(!r)return e;let i=n.replace(r,``),a=ps.has(t)?1:0;return r!==n&&(a*=100),t+`(`+a+i+`)`}var hs=/\b([a-z-]*)\(.*?\)/gu,gs={...Ci,getAnimatableNone:e=>{let t=e.match(hs);return t?t.map(ms).join(` `):e}},_s={...Ci,getAnimatableNone:e=>{let t=Ci.parse(e);return Ci.createTransformer(e)(t.map(e=>typeof e==`number`?0:typeof e==`object`?{...e,alpha:1}:e))}},vs={...Br,transform:Math.round},ys={borderWidth:P,borderTopWidth:P,borderRightWidth:P,borderBottomWidth:P,borderLeftWidth:P,borderRadius:P,borderTopLeftRadius:P,borderTopRightRadius:P,borderBottomRightRadius:P,borderBottomLeftRadius:P,width:P,maxWidth:P,height:P,maxHeight:P,top:P,right:P,bottom:P,left:P,inset:P,insetBlock:P,insetBlockStart:P,insetBlockEnd:P,insetInline:P,insetInlineStart:P,insetInlineEnd:P,padding:P,paddingTop:P,paddingRight:P,paddingBottom:P,paddingLeft:P,paddingBlock:P,paddingBlockStart:P,paddingBlockEnd:P,paddingInline:P,paddingInlineStart:P,paddingInlineEnd:P,margin:P,marginTop:P,marginRight:P,marginBottom:P,marginLeft:P,marginBlock:P,marginBlockStart:P,marginBlockEnd:P,marginInline:P,marginInlineStart:P,marginInlineEnd:P,fontSize:P,backgroundPositionX:P,backgroundPositionY:P,rotate:ti,rotateX:ti,rotateY:ti,rotateZ:ti,scale:Hr,scaleX:Hr,scaleY:Hr,scaleZ:Hr,skew:ti,skewX:ti,skewY:ti,distance:P,translateX:P,translateY:P,translateZ:P,x:P,y:P,z:P,perspective:P,transformPerspective:P,opacity:Vr,originX:ai,originY:ai,originZ:P,zIndex:vs,fillOpacity:Vr,strokeOpacity:Vr,numOctaves:vs},bs={...ys,color:si,backgroundColor:si,outlineColor:si,fill:si,stroke:si,borderColor:si,borderTopColor:si,borderRightColor:si,borderBottomColor:si,borderLeftColor:si,filter:gs,WebkitFilter:gs,mask:_s,WebkitMask:_s},xs=e=>bs[e],Ss=new Set([gs,_s]);function Cs(e,t){let n=xs(e);return Ss.has(n)||(n=Ci),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var ws=new Set([`auto`,`none`,`0`]);function Ts(e,t,n){let r=0,i;for(;r<e.length&&!i;){let t=e[r];typeof t==`string`&&!ws.has(t)&&gi(t).values.length&&(i=e[r]),r++}if(i&&n)for(let r of t)e[r]=Cs(n,i)}var Es=class extends qa{constructor(e,t,n,r,i){super(e,t,n,r,i,!0)}readKeyframes(){let{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let n=0;n<e.length;n++){let r=e[n];if(typeof r==`string`&&(r=r.trim(),Lr(r))){let i=Do(r,t.current);i!==void 0&&(e[n]=i),n===e.length-1&&(this.finalKeyframe=r)}}if(this.resolveNoneKeyframes(),!Vo.has(n)||e.length!==2)return;let[r,i]=e,a=ds(r),o=ds(i);if(zr(r)!==zr(i)&&za[n]){this.needsMeasurement=!0;return}if(a!==o)if(Fa(a)&&Fa(o))for(let t=0;t<e.length;t++){let n=e[t];typeof n==`string`&&(e[t]=parseFloat(n))}else za[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,n=[];for(let t=0;t<e.length;t++)(e[t]===null||fs(e[t]))&&n.push(t);n.length&&Ts(e,n,t)}measureInitialState(){let{element:e,unresolvedKeyframes:t,name:n}=this;if(!e||!e.current)return;n===`height`&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=za[n](e.measureViewportBox(),window.getComputedStyle(e.current)),t[0]=this.measuredOrigin;let r=t[t.length-1];r!==void 0&&e.getValue(n,r).jump(r,!1)}measureEndState(){let{element:e,name:t,unresolvedKeyframes:n}=this;if(!e||!e.current)return;let r=e.getValue(t);r&&r.jump(this.measuredOrigin,!1);let i=n.length-1,a=n[i];n[i]=za[t](e.measureViewportBox(),window.getComputedStyle(e.current)),a!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=a),this.removedTransforms?.length&&this.removedTransforms.forEach(([t,n])=>{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}};function Ds(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e).filter(e=>e!=null)}var Os=(e,t)=>t&&typeof e==`number`?t.transform(e):e;function ks(e){return Hn(e)&&`offsetHeight`in e&&!(`ownerSVGElement`in e)}var{schedule:As,cancel:js}=Tr(queueMicrotask,!1),Ms={x:!1,y:!1};function Ns(){return Ms.x||Ms.y}function Ps(e){return e===`x`||e===`y`?Ms[e]?null:(Ms[e]=!0,()=>{Ms[e]=!1}):Ms.x||Ms.y?null:(Ms.x=Ms.y=!0,()=>{Ms.x=Ms.y=!1})}function Fs(e,t){let n=Ds(e),r=new AbortController;return[n,{passive:!0,...t,signal:r.signal},()=>r.abort()]}function Is(e){return!(e.pointerType===`touch`||Ns())}function Ls(e,t,n={}){let[r,i,a]=Fs(e,n);return r.forEach(e=>{let n=!1,r=!1,a,o=()=>{e.removeEventListener(`pointerleave`,u)},s=e=>{a&&=(a(e),void 0),o()},c=e=>{n=!1,window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),r&&(r=!1,s(e))},l=()=>{n=!0,window.addEventListener(`pointerup`,c,i),window.addEventListener(`pointercancel`,c,i)},u=e=>{if(e.pointerType!==`touch`){if(n){r=!0;return}s(e)}};e.addEventListener(`pointerenter`,n=>{if(!Is(n))return;r=!1;let o=t(e,n);typeof o==`function`&&(a=o,e.addEventListener(`pointerleave`,u,i))},i),e.addEventListener(`pointerdown`,l,i)}),a}var Rs=(e,t)=>t?e===t?!0:Rs(e,t.parentElement):!1,zs=e=>e.pointerType===`mouse`?typeof e.button!=`number`||e.button<=0:e.isPrimary!==!1,Bs=new Set([`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`,`A`]);function Vs(e){return Bs.has(e.tagName)||e.isContentEditable===!0}var Hs=new Set([`INPUT`,`SELECT`,`TEXTAREA`]);function Us(e){return Hs.has(e.tagName)||e.isContentEditable===!0}var Ws=new WeakSet;function Gs(e){return t=>{t.key===`Enter`&&e(t)}}function Ks(e,t){e.dispatchEvent(new PointerEvent(`pointer`+t,{isPrimary:!0,bubbles:!0}))}var qs=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=Gs(()=>{if(Ws.has(n))return;Ks(n,`down`);let e=Gs(()=>{Ks(n,`up`)});n.addEventListener(`keyup`,e,t),n.addEventListener(`blur`,()=>Ks(n,`cancel`),t)});n.addEventListener(`keydown`,r,t),n.addEventListener(`blur`,()=>n.removeEventListener(`keydown`,r),t)};function Js(e){return zs(e)&&!Ns()}var Ys=new WeakSet;function Xs(e,t,n={}){let[r,i,a]=Fs(e,n),o=e=>{let r=e.currentTarget;if(!Js(e)||Ys.has(e))return;Ws.add(r),n.stopPropagation&&Ys.add(e);let a=t(r,e),o=(e,t)=>{window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),Ws.has(r)&&Ws.delete(r),Js(e)&&typeof a==`function`&&a(e,{success:t})},s=e=>{o(e,r===window||r===document||n.useGlobalTarget||Rs(r,e.target))},c=e=>{o(e,!1)};window.addEventListener(`pointerup`,s,i),window.addEventListener(`pointercancel`,c,i)};return r.forEach(e=>{(n.useGlobalTarget?window:e).addEventListener(`pointerdown`,o,i),ks(e)&&(e.addEventListener(`focus`,e=>qs(e,i)),!Vs(e)&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=0))}),a}function Zs(e){return Hn(e)&&`ownerSVGElement`in e}var Qs=new WeakMap,$s,ec=(e,t,n)=>(r,i)=>i&&i[0]?i[0][e+`Size`]:Zs(r)&&`getBBox`in r?r.getBBox()[t]:r[n],tc=ec(`inline`,`width`,`offsetWidth`),nc=ec(`block`,`height`,`offsetHeight`);function rc({target:e,borderBoxSize:t}){Qs.get(e)?.forEach(n=>{n(e,{get width(){return tc(e,t)},get height(){return nc(e,t)}})})}function ic(e){e.forEach(rc)}function ac(){typeof ResizeObserver>`u`||($s=new ResizeObserver(ic))}function oc(e,t){$s||ac();let n=Ds(e);return n.forEach(e=>{let n=Qs.get(e);n||(n=new Set,Qs.set(e,n)),n.add(t),$s?.observe(e)}),()=>{n.forEach(e=>{let n=Qs.get(e);n?.delete(t),n?.size||$s?.unobserve(e)})}}var sc=new Set,cc;function lc(){cc=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};sc.forEach(t=>t(e))},window.addEventListener(`resize`,cc)}function uc(e){return sc.add(e),cc||lc(),()=>{sc.delete(e),!sc.size&&typeof cc==`function`&&(window.removeEventListener(`resize`,cc),cc=void 0)}}function dc(e,t){return typeof e==`function`?uc(e):oc(e,t)}function fc(e){return Zs(e)&&e.tagName===`svg`}var pc=[...us,si,Ci],mc=e=>pc.find(ls(e)),hc=()=>({translate:0,scale:1,origin:0,originPoint:0}),gc=()=>({x:hc(),y:hc()}),_c=()=>({min:0,max:0}),vc=()=>({x:_c(),y:_c()}),yc=new WeakMap;function bc(e){return typeof e==`object`&&!!e&&typeof e.start==`function`}function xc(e){return typeof e==`string`||Array.isArray(e)}var Sc=[`animate`,`whileInView`,`whileFocus`,`whileHover`,`whileTap`,`whileDrag`,`exit`],Cc=[`initial`,...Sc];function wc(e){return bc(e.animate)||Cc.some(t=>xc(e[t]))}function Tc(e){return!!(wc(e)||e.variants)}function Ec(e,t,n){for(let r in t){let i=t[r],a=n[r];if(Zo(i))e.addValue(r,i);else if(Zo(a))e.addValue(r,Ko(i,{owner:e}));else if(a!==i)if(e.hasValue(r)){let t=e.getValue(r);t.liveStyle===!0?t.jump(i):t.hasAnimated||t.set(i)}else{let t=e.getStaticValue(r);e.addValue(r,Ko(t===void 0?i:t,{owner:e}))}}for(let r in n)t[r]===void 0&&e.removeValue(r);return t}var Dc={current:null},Oc={current:!1},kc=typeof window<`u`;function Ac(){if(Oc.current=!0,kc)if(window.matchMedia){let e=window.matchMedia(`(prefers-reduced-motion)`),t=()=>Dc.current=e.matches;e.addEventListener(`change`,t),t()}else Dc.current=!1}var jc=[`AnimationStart`,`AnimationComplete`,`Update`,`BeforeLayoutMeasure`,`LayoutMeasure`,`LayoutAnimationStart`,`LayoutAnimationComplete`],Mc={};function Nc(e){Mc=e}function Pc(){return Mc}var Fc=class{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,skipAnimations:i,blockInitialAnimation:a,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=qa,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify(`Update`,this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let e=Mr.now();this.renderScheduledAt<e&&(this.renderScheduledAt=e,Er.render(this.render,!1,!0))};let{latestValues:c,renderState:l}=o;this.latestValues=c,this.baseTarget={...c},this.initialValues=t.initial?{...c}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.skipAnimationsConfig=i,this.options=s,this.blockInitialAnimation=!!a,this.isControllingVariants=wc(t),this.isVariantNode=Tc(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);let{willChange:u,...d}=this.scrapeMotionValuesFromProps(t,{},this);for(let e in d){let t=d[e];c[e]!==void 0&&Zo(t)&&t.set(c[e])}}mount(e){if(this.hasBeenMounted)for(let e in this.initialValues)this.values.get(e)?.jump(this.initialValues[e]),this.latestValues[e]=this.initialValues[e];this.current=e,yc.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((e,t)=>this.bindToMotionValue(t,e)),this.reducedMotionConfig===`never`?this.shouldReduceMotion=!1:this.reducedMotionConfig===`always`?this.shouldReduceMotion=!0:(Oc.current||Ac(),this.shouldReduceMotion=Dc.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),Dr(this.notifyUpdate),Dr(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(let e in this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??=new Set,this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,t){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),t.accelerate&&_o.has(e)&&this.current instanceof HTMLElement){let{factory:n,keyframes:r,times:i,ease:a,duration:o}=t.accelerate,s=new oo({element:this.current,name:e,keyframes:r,times:i,ease:a,duration:Xn(o)}),c=n(s);this.valueSubscriptions.set(e,()=>{c(),s.cancel()});return}let n=Pa.has(e);n&&this.onBindTransform&&this.onBindTransform();let r=t.on(`change`,t=>{this.latestValues[e]=t,this.props.onUpdate&&Er.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()}),i;typeof window<`u`&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,()=>{r(),i&&i(),t.owner&&t.stop()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e=`animation`;for(e in Mc){let t=Mc[e];if(!t)continue;let{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){let t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):vc()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;t<jc.length;t++){let n=jc[t];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);let r=e[`on`+n];r&&(this.propEventSubscriptions[n]=this.on(n,r))}this.prevMotionValues=Ec(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){let t=this.getClosestVariantNode();if(t)return t.variantChildren&&t.variantChildren.add(e),()=>t.variantChildren.delete(e)}addValue(e,t){let n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return n===void 0&&t!==void 0&&(n=Ko(t===null?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){let n=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return n!=null&&(typeof n==`string`&&(Vn(n)||Un(n))?n=parseFloat(n):!mc(n)&&Ci.test(t)&&(n=Cs(e,t)),this.setBaseTarget(e,Zo(n)?n.get():n)),Zo(n)?n.get():n}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){let{initial:t}=this.props,n;if(typeof t==`string`||typeof t==`object`){let r=zo(this.props,t,this.presenceContext?.custom);r&&(n=r[e])}if(t&&n!==void 0)return n;let r=this.getBaseTargetFromProps(this.props,e);return r!==void 0&&!Zo(r)?r:this.initialValues[e]!==void 0&&n===void 0?void 0:this.baseTarget[e]}on(e,t){return this.events[e]||(this.events[e]=new Yn),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){As.render(this.render)}},Ic=class extends Fc{constructor(){super(...arguments),this.KeyframeResolver=Es}sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){let n=e.style;return n?n[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:e}=this.props;Zo(e)&&(this.childSubscription=e.on(`change`,e=>{this.current&&(this.current.textContent=`${e}`)}))}},Lc=class{constructor(e){this.isMounted=!1,this.node=e}update(){}};function Rc({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function zc({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Bc(e,t){if(!t)return e;let n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function Vc(e){return e===void 0||e===1}function Hc({scale:e,scaleX:t,scaleY:n}){return!Vc(e)||!Vc(t)||!Vc(n)}function Uc(e){return Hc(e)||Wc(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Wc(e){return Gc(e.x)||Gc(e.y)}function Gc(e){return e&&e!==`0%`}function Kc(e,t,n){return n+t*(e-n)}function qc(e,t,n,r,i){return i!==void 0&&(e=Kc(e,i,r)),Kc(e,n,r)+t}function Jc(e,t=0,n=1,r,i){e.min=qc(e.min,t,n,r,i),e.max=qc(e.max,t,n,r,i)}function Yc(e,{x:t,y:n}){Jc(e.x,t.translate,t.scale,t.originPoint),Jc(e.y,n.translate,n.scale,n.originPoint)}var Xc=.999999999999,Zc=1.0000000000001;function Qc(e,t,n,r=!1){let i=n.length;if(!i)return;t.x=t.y=1;let a,o;for(let s=0;s<i;s++){a=n[s],o=a.projectionDelta;let{visualElement:i}=a.options;i&&i.props.style&&i.props.style.display===`contents`||(r&&a.options.layoutScroll&&a.scroll&&a!==a.root&&($c(e.x,-a.scroll.offset.x),$c(e.y,-a.scroll.offset.y)),o&&(t.x*=o.x.scale,t.y*=o.y.scale,Yc(e,o)),r&&Uc(a.latestValues)&&nl(e,a.latestValues,a.layout?.layoutBox))}t.x<Zc&&t.x>Xc&&(t.x=1),t.y<Zc&&t.y>Xc&&(t.y=1)}function $c(e,t){e.min+=t,e.max+=t}function el(e,t,n,r,i=.5){Jc(e,t,n,F(e.min,e.max,i),r)}function tl(e,t){return typeof e==`string`?parseFloat(e)/100*(t.max-t.min):e}function nl(e,t,n){let r=n??e;el(e.x,tl(t.x,r.x),t.scaleX,t.scale,t.originX),el(e.y,tl(t.y,r.y),t.scaleY,t.scale,t.originY)}function rl(e,t){return Rc(Bc(e.getBoundingClientRect(),t))}function il(e,t,n){let r=rl(e,n),{scroll:i}=t;return i&&($c(r.x,i.offset.x),$c(r.y,i.offset.y)),r}var al={x:`translateX`,y:`translateY`,z:`translateZ`,transformPerspective:`perspective`},ol=Na.length;function sl(e,t,n){let r=``,i=!0;for(let a=0;a<ol;a++){let o=Na[a],s=e[o];if(s===void 0)continue;let c=!0;if(typeof s==`number`)c=s===(o.startsWith(`scale`)?1:0);else{let e=parseFloat(s);c=o.startsWith(`scale`)?e===1:e===0}if(!c||n){let e=Os(s,ys[o]);if(!c){i=!1;let t=al[o]||o;r+=`${t}(${e}) `}n&&(t[o]=e)}}return r=r.trim(),n?r=n(t,i?``:r):i&&(r=`none`),r}function cl(e,t,n){let{style:r,vars:i,transformOrigin:a}=e,o=!1,s=!1;for(let e in t){let n=t[e];if(Pa.has(e)){o=!0;continue}else if(Fr(e)){i[e]=n;continue}else{let t=Os(n,ys[e]);e.startsWith(`origin`)?(s=!0,a[e]=t):r[e]=t}}if(t.transform||(o||n?r.transform=sl(t,e.transform,n):r.transform&&=`none`),s){let{originX:e=`50%`,originY:t=`50%`,originZ:n=0}=a;r.transformOrigin=`${e} ${t} ${n}`}}function ll(e,{style:t,vars:n},r,i){let a=e.style,o;for(o in t)a[o]=t[o];for(o in i?.applyProjectionStyles(a,r),n)a.setProperty(o,n[o])}function ul(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}var dl={correct:(e,t)=>{if(!t.target)return e;if(typeof e==`string`)if(P.test(e))e=parseFloat(e);else return e;return`${ul(e,t.target.x)}% ${ul(e,t.target.y)}%`}},fl={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,i=Ci.parse(e);if(i.length>5)return r;let a=Ci.createTransformer(e),o=typeof i[0]==`number`?0:1,s=n.x.scale*t.x,c=n.y.scale*t.y;i[0+o]/=s,i[1+o]/=c;let l=F(s,c,.5);return typeof i[2+o]==`number`&&(i[2+o]/=l),typeof i[3+o]==`number`&&(i[3+o]/=l),a(i)}},pl={borderRadius:{...dl,applyTo:[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`]},borderTopLeftRadius:dl,borderTopRightRadius:dl,borderBottomLeftRadius:dl,borderBottomRightRadius:dl,boxShadow:fl};function ml(e,{layout:t,layoutId:n}){return Pa.has(e)||e.startsWith(`origin`)||(t||n!==void 0)&&(!!pl[e]||e===`opacity`)}function hl(e,t,n){let r=e.style,i=t?.style,a={};if(!r)return a;for(let t in r)(Zo(r[t])||i&&Zo(i[t])||ml(t,e)||n?.getValue(t)?.liveStyle!==void 0)&&(a[t]=r[t]);return a}function gl(e){return window.getComputedStyle(e)}var _l=class extends Ic{constructor(){super(...arguments),this.type=`html`,this.renderInstance=ll}readValueFromInstance(e,t){if(Pa.has(t))return this.projection?.isProjecting?ka(t):ja(e,t);{let n=gl(e),r=(Fr(t)?n.getPropertyValue(t):n[t])||0;return typeof r==`string`?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return rl(e,t)}build(e,t,n){cl(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return hl(e,t,n)}},vl={offset:`stroke-dashoffset`,array:`stroke-dasharray`},yl={offset:`strokeDashoffset`,array:`strokeDasharray`};function bl(e,t,n=1,r=0,i=!0){e.pathLength=1;let a=i?vl:yl;e[a.offset]=`${-r}`,e[a.array]=`${t} ${n}`}var xl=[`offsetDistance`,`offsetPath`,`offsetRotate`,`offsetAnchor`];function Sl(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:a=1,pathOffset:o=0,...s},c,l,u){if(cl(e,s,l),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};let{attrs:d,style:f}=e;d.transform&&(f.transform=d.transform,delete d.transform),(f.transform||d.transformOrigin)&&(f.transformOrigin=d.transformOrigin??`50% 50%`,delete d.transformOrigin),f.transform&&(f.transformBox=u?.transformBox??`fill-box`,delete d.transformBox);for(let e of xl)d[e]!==void 0&&(f[e]=d[e],delete d[e]);t!==void 0&&(d.x=t),n!==void 0&&(d.y=n),r!==void 0&&(d.scale=r),i!==void 0&&bl(d,i,a,o,!1)}var Cl=new Set([`baseFrequency`,`diffuseConstant`,`kernelMatrix`,`kernelUnitLength`,`keySplines`,`keyTimes`,`limitingConeAngle`,`markerHeight`,`markerWidth`,`numOctaves`,`targetX`,`targetY`,`surfaceScale`,`specularConstant`,`specularExponent`,`stdDeviation`,`tableValues`,`viewBox`,`gradientTransform`,`pathLength`,`startOffset`,`textLength`,`lengthAdjust`]),wl=e=>typeof e==`string`&&e.toLowerCase()===`svg`;function Tl(e,t,n,r){ll(e,t,void 0,r);for(let n in t.attrs)e.setAttribute(Cl.has(n)?n:es(n),t.attrs[n])}function El(e,t,n){let r=hl(e,t,n);for(let n in e)if(Zo(e[n])||Zo(t[n])){let t=Na.indexOf(n)===-1?n:`attr`+n.charAt(0).toUpperCase()+n.substring(1);r[t]=e[n]}return r}var Dl=class extends Ic{constructor(){super(...arguments),this.type=`svg`,this.isSVGTag=!1,this.measureInstanceViewportBox=vc}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(Pa.has(t)){let e=xs(t);return e&&e.default||0}return t=Cl.has(t)?t:es(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return El(e,t,n)}build(e,t,n){Sl(e,t,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(e,t,n,r){Tl(e,t,n,r)}mount(e){this.isSVGTag=wl(e.tagName),super.mount(e)}},Ol=Cc.length;function kl(e){if(!e)return;if(!e.isControllingVariants){let t=e.parent&&kl(e.parent)||{};return e.props.initial!==void 0&&(t.initial=e.props.initial),t}let t={};for(let n=0;n<Ol;n++){let r=Cc[n],i=e.props[r];(xc(i)||i===!1)&&(t[r]=i)}return t}function Al(e,t){if(!Array.isArray(t))return!1;let n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}var jl=[...Sc].reverse(),Ml=Sc.length;function Nl(e){return t=>Promise.all(t.map(({animation:t,options:n})=>ss(e,t,n)))}function Pl(e){let t=Nl(e),n=Ll(),r=!0,i=!1,a=t=>(n,r)=>{let i=Bo(e,r,t===`exit`?e.presenceContext?.custom:void 0);if(i){let{transition:e,transitionEnd:t,...r}=i;n={...n,...r,...t}}return n};function o(n){t=n(e)}function s(o){let{props:s}=e,c=kl(e.parent)||{},l=[],u=new Set,d={},f=1/0;for(let t=0;t<Ml;t++){let p=jl[t],m=n[p],h=s[p]===void 0?c[p]:s[p],g=xc(h),_=p===o?m.isActive:null;_===!1&&(f=t);let v=h===c[p]&&h!==s[p]&&g;if(v&&(r||i)&&e.manuallyAnimateOnMount&&(v=!1),m.protectedKeys={...d},!m.isActive&&_===null||!h&&!m.prevProp||bc(h)||typeof h==`boolean`)continue;if(p===`exit`&&m.isActive&&_!==!0){m.prevResolvedValues&&(d={...d,...m.prevResolvedValues});continue}let y=Fl(m.prevProp,h),b=y||p===o&&m.isActive&&!v&&g||t>f&&g,x=!1,ee=Array.isArray(h)?h:[h],S=ee.reduce(a(p),{});_===!1&&(S={});let{prevResolvedValues:C={}}=m,te={...C,...S},ne=t=>{b=!0,u.has(t)&&(x=!0,u.delete(t)),m.needsAnimating[t]=!0;let n=e.getValue(t);n&&(n.liveStyle=!1)};for(let e in te){let t=S[e],n=C[e];if(d.hasOwnProperty(e))continue;let r=!1;r=qo(t)&&qo(n)?!Al(t,n):t!==n,r?t==null?u.add(e):ne(e):t!==void 0&&u.has(e)?ne(e):m.protectedKeys[e]=!0}m.prevProp=h,m.prevResolvedValues=S,m.isActive&&(d={...d,...S}),(r||i)&&e.blockInitialAnimation&&(b=!1);let re=v&&y;b&&(!re||x)&&l.push(...ee.map(t=>{let n={type:p};if(typeof t==`string`&&(r||i)&&!re&&e.manuallyAnimateOnMount&&e.parent){let{parent:r}=e,i=Bo(r,t);if(r.enteringChildren&&i){let{delayChildren:t}=i.transition||{};n.delay=wo(r.enteringChildren,e,t)}}return{animation:t,options:n}}))}if(u.size){let t={};if(typeof s.initial!=`boolean`){let n=Bo(e,Array.isArray(s.initial)?s.initial[0]:s.initial);n&&n.transition&&(t.transition=n.transition)}u.forEach(n=>{let r=e.getBaseTarget(n),i=e.getValue(n);i&&(i.liveStyle=!0),t[n]=r??null}),l.push({animation:t})}let p=!!l.length;return r&&(s.initial===!1||s.initial===s.animate)&&!e.manuallyAnimateOnMount&&(p=!1),r=!1,i=!1,p?t(l):Promise.resolve()}function c(t,r){if(n[t].isActive===r)return Promise.resolve();e.variantChildren?.forEach(e=>e.animationState?.setActive(t,r)),n[t].isActive=r;let i=s(t);for(let e in n)n[e].protectedKeys={};return i}return{animateChanges:s,setActive:c,setAnimateFunction:o,getState:()=>n,reset:()=>{n=Ll(),i=!0}}}function Fl(e,t){return typeof t==`string`?t!==e:Array.isArray(t)?!Al(t,e):!1}function Il(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Ll(){return{animate:Il(!0),whileInView:Il(),whileHover:Il(),whileTap:Il(),whileDrag:Il(),whileFocus:Il(),exit:Il()}}function Rl(e,t){e.min=t.min,e.max=t.max}function zl(e,t){Rl(e.x,t.x),Rl(e.y,t.y)}function Bl(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var Vl=1e-4,Hl=1-Vl,Ul=1+Vl,Wl=.01,Gl=0-Wl,Kl=0+Wl;function ql(e){return e.max-e.min}function Jl(e,t,n){return Math.abs(e-t)<=n}function Yl(e,t,n,r=.5){e.origin=r,e.originPoint=F(t.min,t.max,e.origin),e.scale=ql(n)/ql(t),e.translate=F(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Hl&&e.scale<=Ul||isNaN(e.scale))&&(e.scale=1),(e.translate>=Gl&&e.translate<=Kl||isNaN(e.translate))&&(e.translate=0)}function L(e,t,n,r){Yl(e.x,t.x,n.x,r?r.originX:void 0),Yl(e.y,t.y,n.y,r?r.originY:void 0)}function R(e,t,n,r=0){e.min=(r?F(n.min,n.max,r):n.min)+t.min,e.max=e.min+ql(t)}function Xl(e,t,n,r){R(e.x,t.x,n.x,r?.x),R(e.y,t.y,n.y,r?.y)}function Zl(e,t,n,r=0){let i=r?F(n.min,n.max,r):n.min;e.min=t.min-i,e.max=e.min+ql(t)}function Ql(e,t,n,r){Zl(e.x,t.x,n.x,r?.x),Zl(e.y,t.y,n.y,r?.y)}function $l(e,t,n,r,i){return e-=t,e=Kc(e,1/n,r),i!==void 0&&(e=Kc(e,1/i,r)),e}function eu(e,t=0,n=1,r=.5,i,a=e,o=e){if(ni.test(t)&&(t=parseFloat(t),t=F(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=F(a.min,a.max,r);e===a&&(s-=t),e.min=$l(e.min,t,n,s,i),e.max=$l(e.max,t,n,s,i)}function tu(e,t,[n,r,i],a,o){eu(e,t[n],t[r],t[i],t.scale,a,o)}var nu=[`x`,`scaleX`,`originX`],ru=[`y`,`scaleY`,`originY`];function iu(e,t,n,r){tu(e.x,t,nu,n?n.x:void 0,r?r.x:void 0),tu(e.y,t,ru,n?n.y:void 0,r?r.y:void 0)}function au(e){return e.translate===0&&e.scale===1}function ou(e){return au(e.x)&&au(e.y)}function su(e,t){return e.min===t.min&&e.max===t.max}function cu(e,t){return su(e.x,t.x)&&su(e.y,t.y)}function lu(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function uu(e,t){return lu(e.x,t.x)&&lu(e.y,t.y)}function du(e){return ql(e.x)/ql(e.y)}function fu(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function pu(e){return[e(`x`),e(`y`)]}function mu(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,rotateX:i,rotateY:a,skewX:o,skewY:s}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotateX(${i}deg) `),a&&(r+=`rotateY(${a}deg) `),o&&(r+=`skewX(${o}deg) `),s&&(r+=`skewY(${s}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var hu=[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`],gu=hu.length,_u=e=>typeof e==`string`?parseFloat(e):e,vu=e=>typeof e==`number`||P.test(e);function yu(e,t,n,r,i,a){i?(e.opacity=F(0,n.opacity??1,xu(r)),e.opacityExit=F(t.opacity??1,0,Su(r))):a&&(e.opacity=F(t.opacity??1,n.opacity??1,r));for(let i=0;i<gu;i++){let a=hu[i],o=bu(t,a),s=bu(n,a);o===void 0&&s===void 0||(o||=0,s||=0,o===0||s===0||vu(o)===vu(s)?(e[a]=Math.max(F(_u(o),_u(s),r),0),(ni.test(s)||ni.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=F(t.rotate||0,n.rotate||0,r))}function bu(e,t){return e[t]===void 0?e.borderRadius:e[t]}var xu=Cu(0,.5,dr),Su=Cu(.5,.95,Gn);function Cu(e,t,n){return r=>r<e?0:r>t?1:n(Jn(e,t,r))}function wu(e,t,n){let r=Zo(e)?e:Ko(e);return r.start(Lo(``,r,t,n)),r.animation}function Tu(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}var Eu=(e,t)=>e.depth-t.depth,Du=class{constructor(){this.children=[],this.isDirty=!1}add(e){Ln(this.children,e),this.isDirty=!0}remove(e){Rn(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Eu),this.isDirty=!1,this.children.forEach(e)}};function Ou(e,t){let n=Mr.now(),r=({timestamp:i})=>{let a=i-n;a>=t&&(Dr(r),e(a-t))};return Er.setup(r,!0),()=>Dr(r)}function ku(e){return Zo(e)?e.get():e}var Au=class{constructor(){this.members=[]}add(e){Ln(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;(!r||r.isConnected===!1)&&!n.snapshot&&(Rn(this.members,n),n.unmount())}e.scheduleRender()}remove(e){if(Rn(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(e.isPresent!==!1&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:i}=e.options;(r===void 0||r!==i)&&(e.resumeFrom=n,t&&(n.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}},ju={hasAnimatedSinceResize:!0,hasEverUpdated:!1},Mu={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},Nu=[``,`X`,`Y`,`Z`],Pu=1e3,Fu=0;function Iu(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Lu(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:t}=e.options;if(!t)return;let n=ns(t);if(window.MotionHasOptimisedAnimation(n,`transform`)){let{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,`transform`,Er,!(t||r))}let{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&Lu(r)}function Ru({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(e={},n=t?.()){this.id=Fu++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,Sr.value&&(Mu.nodes=Mu.calculatedTargetDeltas=Mu.calculatedProjections=0),this.nodes.forEach(Vu),this.nodes.forEach(Xu),this.nodes.forEach(Zu),this.nodes.forEach(Hu),Sr.addProjectionMetrics&&Sr.addProjectionMetrics(Mu)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new Du)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Yn),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t){if(this.instance)return;this.isSVG=Zs(t)&&!fc(t),this.instance=t;let{layoutId:n,layout:r,visualElement:i}=this.options;if(i&&!i.current&&i.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(r||n)&&(this.isLayoutDirty=!0),e){let n,r=0,i=()=>this.root.updateBlockedByResize=!1;Er.read(()=>{r=window.innerWidth}),e(t,()=>{let e=window.innerWidth;e!==r&&(r=e,this.root.updateBlockedByResize=!0,n&&n(),n=Ou(i,250),ju.hasAnimatedSinceResize&&(ju.hasAnimatedSinceResize=!1,this.nodes.forEach(Yu)))})}n&&this.root.registerSharedNode(n,this),this.options.animate!==!1&&i&&(n||r)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let a=this.options.transition||i.getDefaultTransition()||id,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=i.getProps(),c=!this.targetLayout||!uu(this.targetLayout,r),l=!t&&n;if(this.options.layoutRoot||this.resumeFrom||l||t&&(c||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...Po(a,`layout`),onPlay:o,onComplete:s};(i.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,l)}else t||Yu(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Dr(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Qu),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Lu(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,(typeof t.latestValues.x==`string`||typeof t.latestValues.y==`string`)&&(t.isLayoutDirty=!0),t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEach(Gu),this.nodes.forEach(Wu);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Ku);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(qu),this.nodes.forEach(Ju),this.nodes.forEach(zu),this.nodes.forEach(Bu)):this.nodes.forEach(Ku),this.clearAllSnapshots();let e=Mr.now();Or.delta=zn(0,1e3/60,e-Or.timestamp),Or.timestamp=e,Or.isProcessing=!0,kr.update.process(Or),kr.preRender.process(Or),kr.render.process(Or),Or.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,As.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Uu),this.sharedNodes.forEach($u)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Er.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Er.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!ql(this.snapshot.measuredBox.x)&&!ql(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||=vc(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=r(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!i)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!ou(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,a=r!==this.prevTransformTemplateValue;e&&this.instance&&(t||Uc(this.latestValues)||a)&&(i(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),cd(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return vc();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(ud))){let{scroll:e}=this.root;e&&($c(t.x,e.offset.x),$c(t.y,e.offset.y))}return t}removeElementScroll(e){let t=vc();if(zl(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&zl(t,e),$c(t.x,i.offset.x),$c(t.y,i.offset.y))}return t}applyTransform(e,t=!1,n){let r=n||vc();zl(r,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];!t&&n.options.layoutScroll&&n.scroll&&n!==n.root&&($c(r.x,-n.scroll.offset.x),$c(r.y,-n.scroll.offset.y)),Uc(n.latestValues)&&nl(r,n.latestValues,n.layout?.layoutBox)}return Uc(this.latestValues)&&nl(r,this.latestValues,this.layout?.layoutBox),r}removeTransform(e){let t=vc();zl(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!Uc(n.latestValues))continue;let r;n.instance&&(Hc(n.latestValues)&&n.updateSnapshot(),r=vc(),zl(r,n.measurePageBox())),iu(t,n.latestValues,n.snapshot?.layoutBox,r)}return Uc(this.latestValues)&&iu(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0?!0:e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Or.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(!this.layout||!(r||i))return;this.resolvedRelativeTargetAt=Or.timestamp;let a=this.getClosestProjectingParent();a&&this.linkedParentVersion!==a.layoutVersion&&!a.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&a&&a.layout?this.createRelativeTarget(a,this.layout.layoutBox,a.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=vc(),this.targetWithTransforms=vc()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),Xl(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):zl(this.target,this.layout.layoutBox),Yc(this.target,this.targetDelta)):zl(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&a&&!!a.resumingFrom==!!this.resumingFrom&&!a.options.layoutScroll&&a.target&&this.animationProgress!==1?this.createRelativeTarget(a,this.target,a.target):this.relativeParent=this.relativeTarget=void 0),Sr.value&&Mu.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||Hc(this.parent.latestValues)||Wc(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,n){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=vc(),this.relativeTargetOrigin=vc(),Ql(this.relativeTargetOrigin,t,n,this.options.layoutAnchor||void 0),zl(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===Or.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;zl(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;Qc(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=vc());let{target:s}=e;if(!s){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Bl(this.prevProjectionDelta.x,this.projectionDelta.x),Bl(this.prevProjectionDelta.y,this.projectionDelta.y)),L(this.projectionDelta,this.layoutCorrected,s,this.latestValues),(this.treeScale.x!==a||this.treeScale.y!==o||!fu(this.projectionDelta.x,this.prevProjectionDelta.x)||!fu(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),Sr.value&&Mu.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=gc(),this.projectionDelta=gc(),this.projectionDeltaWithTransform=gc()}setAnimationOrigin(e,t=!1){let n=this.snapshot,r=n?n.latestValues:{},i={...this.latestValues},a=gc();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let o=vc(),s=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),c=this.getStack(),l=!c||c.members.length<=1,u=!!(s&&!l&&this.options.crossfade===!0&&!this.path.some(rd));this.animationProgress=0;let d;this.mixTargetDelta=t=>{let n=t/1e3;ed(a.x,e.x,n),ed(a.y,e.y,n),this.setTargetDelta(a),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Ql(o,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),nd(this.relativeTarget,this.relativeTargetOrigin,o,n),d&&cu(this.relativeTarget,d)&&(this.isProjectionDirty=!1),d||=vc(),zl(d,this.relativeTarget)),s&&(this.animationValues=i,yu(i,r,this.latestValues,n,u,l)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&=(Dr(this.pendingAnimation),void 0),this.pendingAnimation=Er.update(()=>{ju.hasAnimatedSinceResize=!0,Nr.layout++,this.motionValue||=Ko(0),this.motionValue.jump(0,!1),this.currentAnimation=wu(this.motionValue,[0,1e3],{...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{Nr.layout--},onComplete:()=>{Nr.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Pu),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:n,layout:r,latestValues:i}=e;if(!(!t||!n||!r)){if(this!==e&&this.layout&&r&&ld(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||vc();let t=ql(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;let r=ql(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}zl(t,n),nl(t,i),L(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new Au),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return e?e.lead===this:!0}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&Iu(`z`,e,r,this.animationValues);for(let t=0;t<Nu.length;t++)Iu(`rotate${Nu[t]}`,e,r,this.animationValues),Iu(`skew${Nu[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility=`hidden`;return}let n=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility=``,e.opacity=``,e.pointerEvents=ku(t?.pointerEvents)||``,e.transform=n?n(this.latestValues,``):`none`;return}let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){this.options.layoutId&&(e.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,e.pointerEvents=ku(t?.pointerEvents)||``),this.hasProjected&&!Uc(this.latestValues)&&(e.transform=n?n({},``):`none`,this.hasProjected=!1);return}e.visibility=``;let i=r.animationValues||r.latestValues;this.applyTransformsToTarget();let a=mu(this.projectionDeltaWithTransform,this.treeScale,i);n&&(a=n(i,a)),e.transform=a;let{x:o,y:s}=this.projectionDelta;e.transformOrigin=`${o.origin*100}% ${s.origin*100}% 0`,r.animationValues?e.opacity=r===this?i.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:i.opacityExit:e.opacity=r===this?i.opacity===void 0?``:i.opacity:i.opacityExit===void 0?0:i.opacityExit;for(let t in pl){if(i[t]===void 0)continue;let{correct:n,applyTo:o,isCSSVariable:s}=pl[t],c=a===`none`?i[t]:n(i[t],r);if(o){let t=o.length;for(let n=0;n<t;n++)e[o[n]]=c}else s?this.options.visualElement.renderState.vars[t]=c:e[t]=c}this.options.layoutId&&(e.pointerEvents=r===this?ku(t?.pointerEvents)||``:`none`)}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(Wu),this.root.sharedNodes.clear()}}}function zu(e){e.updateLayout()}function Bu(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;if(i===`size`)pu(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=ql(r);r.min=n[e].min,r.max=r.min+i});else if(i===`x`||i===`y`){let e=i===`x`?`y`:`x`;Rl(a?t.measuredBox[e]:t.layoutBox[e],n[e])}else ld(i,t.layoutBox,n)&&pu(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=ql(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=gc();L(o,n,t.layoutBox);let s=gc();a?L(s,e.applyTransform(r,!0),t.measuredBox):L(s,n,t.layoutBox);let c=!ou(o),l=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=e.options.layoutAnchor||void 0,s=vc();Ql(s,t.layoutBox,i.layoutBox,o);let c=vc();Ql(c,n,a.layoutBox,o),uu(s,c)||(l=!0),r.options.layoutRoot&&(e.relativeTarget=c,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:s,layoutDelta:o,hasLayoutChanged:c,hasRelativeLayoutChanged:l})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function Vu(e){Sr.value&&Mu.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function Hu(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Uu(e){e.clearSnapshot()}function Wu(e){e.clearMeasurements()}function Gu(e){e.isLayoutDirty=!0,e.updateLayout()}function Ku(e){e.isLayoutDirty=!1}function qu(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function Ju(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function Yu(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Xu(e){e.resolveTargetDelta()}function Zu(e){e.calcProjection()}function Qu(e){e.resetSkewAndRotation()}function $u(e){e.removeLeadSnapshot()}function ed(e,t,n){e.translate=F(t.translate,0,n),e.scale=F(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function td(e,t,n,r){e.min=F(t.min,n.min,r),e.max=F(t.max,n.max,r)}function nd(e,t,n,r){td(e.x,t.x,n.x,r),td(e.y,t.y,n.y,r)}function rd(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var id={duration:.45,ease:[.4,0,.1,1]},ad=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),od=ad(`applewebkit/`)&&!ad(`chrome/`)?Math.round:Gn;function sd(e){e.min=od(e.min),e.max=od(e.max)}function cd(e){sd(e.x),sd(e.y)}function ld(e,t,n){return e===`position`||e===`preserve-aspect`&&!Jl(du(t),du(n),.2)}function ud(e){return e!==e.root&&e.scroll?.wasRoot}var dd=Ru({attachResizeListener:(e,t)=>Tu(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),fd={current:void 0},pd=Ru({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!fd.current){let e=new dd({});e.mount(window),e.setOptions({layoutScroll:!0}),fd.current=e}return fd.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`}),md=(0,b.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function hd(e=!0){let t=(0,b.useContext)(In);if(t===null)return[!0,null];let{isPresent:n,onExitComplete:r,register:i}=t,a=(0,b.useId)();(0,b.useEffect)(()=>{if(e)return i(a)},[e]);let o=(0,b.useCallback)(()=>e&&r&&r(a),[a,r,e]);return!n&&r?[!1,o]:[!0]}var gd=(0,b.createContext)({strict:!1}),_d={animation:[`animate`,`variants`,`whileHover`,`whileTap`,`exit`,`whileInView`,`whileFocus`,`whileDrag`],exit:[`exit`],drag:[`drag`,`dragControls`],focus:[`whileFocus`],hover:[`whileHover`,`onHoverStart`,`onHoverEnd`],tap:[`whileTap`,`onTap`,`onTapStart`,`onTapCancel`],pan:[`onPan`,`onPanStart`,`onPanSessionStart`,`onPanEnd`],inView:[`whileInView`,`onViewportEnter`,`onViewportLeave`],layout:[`layout`,`layoutId`]},vd=!1;function yd(){if(vd)return;let e={};for(let t in _d)e[t]={isEnabled:e=>_d[t].some(t=>!!e[t])};Nc(e),vd=!0}function bd(){return yd(),Pc()}function xd(e){let t=bd();for(let n in e)t[n]={...t[n],...e[n]};Nc(t)}var Sd=new Set(`animate.exit.variants.initial.style.values.variants.transition.transformTemplate.custom.inherit.onBeforeLayoutMeasure.onAnimationStart.onAnimationComplete.onUpdate.onDragStart.onDrag.onDragEnd.onMeasureDragConstraints.onDirectionLock.onDragTransitionEnd._dragX._dragY.onHoverStart.onHoverEnd.onViewportEnter.onViewportLeave.globalTapTarget.propagate.ignoreStrict.viewport`.split(`.`));function Cd(e){return e.startsWith(`while`)||e.startsWith(`drag`)&&e!==`draggable`||e.startsWith(`layout`)||e.startsWith(`onTap`)||e.startsWith(`onPan`)||e.startsWith(`onLayout`)||Sd.has(e)}var wd=c({default:()=>Td}),Td,Ed=o((()=>{throw Td={},Error(`Could not resolve "@emotion/is-prop-valid" imported by "framer-motion". Is it installed?`)})),Dd=e=>!Cd(e);function Od(e){typeof e==`function`&&(Dd=t=>t.startsWith(`on`)?!Cd(t):e(t))}try{Od((Ed(),d(wd)).default)}catch{}function kd(e,t,n){let r={};for(let i in e)i===`values`&&typeof e.values==`object`||Zo(e[i])||(Dd(i)||n===!0&&Cd(i)||!t&&!Cd(i)||e.draggable&&i.startsWith(`onDrag`))&&(r[i]=e[i]);return r}var Ad=(0,b.createContext)({});function jd(e,t){if(wc(e)){let{initial:t,animate:n}=e;return{initial:t===!1||xc(t)?t:void 0,animate:xc(n)?n:void 0}}return e.inherit===!1?{}:t}function Md(e){let{initial:t,animate:n}=jd(e,(0,b.useContext)(Ad));return(0,b.useMemo)(()=>({initial:t,animate:n}),[z(t),z(n)])}function z(e){return Array.isArray(e)?e.join(` `):e}var Nd=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Pd(e,t,n){for(let r in t)!Zo(t[r])&&!ml(r,n)&&(e[r]=t[r])}function Fd({transformTemplate:e},t){return(0,b.useMemo)(()=>{let n=Nd();return cl(n,t,e),Object.assign({},n.vars,n.style)},[t])}function Id(e,t){let n=e.style||{},r={};return Pd(r,n,e),Object.assign(r,Fd(e,t)),r}function Ld(e,t){let n={},r=Id(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout=`none`,r.touchAction=e.drag===!0?`none`:`pan-${e.drag===`x`?`y`:`x`}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}var Rd=()=>({...Nd(),attrs:{}});function zd(e,t,n,r){let i=(0,b.useMemo)(()=>{let n=Rd();return Sl(n,t,wl(r),e.transformTemplate,e.style),{...n.attrs,style:{...n.style}}},[t]);if(e.style){let t={};Pd(t,e.style,e),i.style={...t,...i.style}}return i}var Bd=[`animate`,`circle`,`defs`,`desc`,`ellipse`,`g`,`image`,`line`,`filter`,`marker`,`mask`,`metadata`,`path`,`pattern`,`polygon`,`polyline`,`rect`,`stop`,`switch`,`symbol`,`svg`,`text`,`tspan`,`use`,`view`];function Vd(e){return typeof e!=`string`||e.includes(`-`)?!1:!!(Bd.indexOf(e)>-1||/[A-Z]/u.test(e))}function Hd(e,t,n,{latestValues:r},i,a=!1,o){let s=(o??Vd(e)?zd:Ld)(t,r,i,e),c=kd(t,typeof e==`string`,a),l=e===b.Fragment?{}:{...c,...s,ref:n},{children:u}=t,d=(0,b.useMemo)(()=>Zo(u)?u.get():u,[u]);return(0,b.createElement)(e,{...l,children:d})}function Ud({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:Wd(n,r,i,e),renderState:t()}}function Wd(e,t,n,r){let i={},a=r(e,{});for(let e in a)i[e]=ku(a[e]);let{initial:o,animate:s}=e,c=wc(e),l=Tc(e);t&&l&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),s===void 0&&(s=t.animate));let u=n?n.initial===!1:!1;u||=o===!1;let d=u?s:o;if(d&&typeof d!=`boolean`&&!bc(d)){let t=Array.isArray(d)?d:[d];for(let n=0;n<t.length;n++){let r=zo(e,t[n]);if(r){let{transitionEnd:e,transition:t,...n}=r;for(let e in n){let t=n[e];if(Array.isArray(t)){let e=u?t.length-1:0;t=t[e]}t!==null&&(i[e]=t)}for(let t in e)i[t]=e[t]}}}return i}var Gd=e=>(t,n)=>{let r=(0,b.useContext)(Ad),i=(0,b.useContext)(In),a=()=>Ud(e,t,r,i);return n?a():Pn(a)},Kd=Gd({scrapeMotionValuesFromProps:hl,createRenderState:Nd}),qd=Gd({scrapeMotionValuesFromProps:El,createRenderState:Rd}),Jd=Symbol.for(`motionComponentSymbol`);function Yd(e,t,n){let r=(0,b.useRef)(n);(0,b.useInsertionEffect)(()=>{r.current=n});let i=(0,b.useRef)(null);return(0,b.useCallback)(n=>{n&&e.onMount?.(n);let a=r.current;if(typeof a==`function`)if(n){let e=a(n);typeof e==`function`&&(i.current=e)}else i.current?(i.current(),i.current=null):a(n);else a&&(a.current=n);t&&(n?t.mount(n):t.unmount())},[t])}var Xd=(0,b.createContext)({});function Zd(e){return e&&typeof e==`object`&&Object.prototype.hasOwnProperty.call(e,`current`)}function Qd(e,t,n,r,i,a){let{visualElement:o}=(0,b.useContext)(Ad),s=(0,b.useContext)(gd),c=(0,b.useContext)(In),l=(0,b.useContext)(md),u=l.reducedMotion,d=l.skipAnimations,f=(0,b.useRef)(null),p=(0,b.useRef)(!1);r||=s.renderer,!f.current&&r&&(f.current=r(e,{visualState:t,parent:o,props:n,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:u,skipAnimations:d,isSVG:a}),p.current&&f.current&&(f.current.manuallyAnimateOnMount=!0));let m=f.current,h=(0,b.useContext)(Xd);m&&!m.projection&&i&&(m.type===`html`||m.type===`svg`)&&$d(f.current,n,i,h);let g=(0,b.useRef)(!1);(0,b.useInsertionEffect)(()=>{m&&g.current&&m.update(n,c)});let _=n[ts],v=(0,b.useRef)(!!_&&typeof window<`u`&&!window.MotionHandoffIsComplete?.(_)&&window.MotionHasOptimisedAnimation?.(_));return Fn(()=>{p.current=!0,m&&(g.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),v.current&&m.animationState&&m.animationState.animateChanges())}),(0,b.useEffect)(()=>{m&&(!v.current&&m.animationState&&m.animationState.animateChanges(),v.current&&=(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(_)}),!1),m.enteringChildren=void 0)}),m}function $d(e,t,n,r){let{layoutId:i,layout:a,drag:o,dragConstraints:s,layoutScroll:c,layoutRoot:l,layoutAnchor:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t[`data-framer-portal-id`]?void 0:ef(e.parent)),e.projection.setOptions({layoutId:i,layout:a,alwaysMeasureLayout:!!o||s&&Zd(s),visualElement:e,animationType:typeof a==`string`?a:`both`,initialPromotionConfig:r,crossfade:d,layoutScroll:c,layoutRoot:l,layoutAnchor:u})}function ef(e){if(e)return e.options.allowProjection===!1?ef(e.parent):e.projection}function tf(e,{forwardMotionProps:t=!1,type:n}={},r,i){r&&xd(r);let a=n?n===`svg`:Vd(e),o=a?qd:Kd;function s(n,s){let c,l={...(0,b.useContext)(md),...n,layoutId:nf(n)},{isStatic:u}=l,d=Md(n),f=o(n,u);if(!u&&typeof window<`u`){rf(l,r);let t=af(l);c=t.MeasureLayout,d.visualElement=Qd(e,f,l,i,t.ProjectionNode,a)}return(0,N.jsxs)(Ad.Provider,{value:d,children:[c&&d.visualElement?(0,N.jsx)(c,{visualElement:d.visualElement,...l}):null,Hd(e,n,Yd(f,d.visualElement,s),f,u,t,a)]})}s.displayName=`motion.${typeof e==`string`?e:`create(${e.displayName??e.name??``})`}`;let c=(0,b.forwardRef)(s);return c[Jd]=e,c}function nf({layoutId:e}){let t=(0,b.useContext)(Nn).id;return t&&e!==void 0?t+`-`+e:e}function rf(e,t){(0,b.useContext)(gd).strict}function af(e){let{drag:t,layout:n}=bd();if(!t&&!n)return{};let r={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function of(e,t){if(typeof Proxy>`u`)return tf;let n=new Map,r=(n,r)=>tf(n,r,e,t);return new Proxy((e,t)=>r(e,t),{get:(i,a)=>a===`create`?r:(n.has(a)||n.set(a,tf(a,void 0,e,t)),n.get(a))})}var sf=(e,t)=>t.isSVG??Vd(e)?new Dl(t):new _l(t,{allowProjection:e!==b.Fragment}),cf=class extends Lc{constructor(e){super(e),e.animationState||=Pl(e)}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();bc(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}},lf=0,uf={animation:{Feature:cf},exit:{Feature:class extends Lc{constructor(){super(...arguments),this.id=lf++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;if(e&&n===!1){if(this.isExitComplete){let{initial:e,custom:t}=this.node.getProps();if(typeof e==`string`){let n=Bo(this.node,e,t);if(n){let{transition:e,transitionEnd:t,...r}=n;for(let e in r)this.node.getValue(e)?.jump(r[e])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive(`exit`,!1);this.isExitComplete=!1;return}let r=this.node.animationState.setActive(`exit`,!e);t&&!e&&r.then(()=>{this.isExitComplete=!0,t(this.id)})}mount(){let{register:e,onExitComplete:t}=this.node.presenceContext||{};t&&t(this.id),e&&(this.unmount=e(this.id))}unmount(){}}}};function df(e){return{point:{x:e.pageX,y:e.pageY}}}var ff=e=>t=>zs(t)&&e(t,df(t));function pf(e,t,n,r){return Tu(e,t,ff(n),r)}var mf=({current:e})=>e?e.ownerDocument.defaultView:null,hf=(e,t)=>Math.abs(e-t);function gf(e,t){let n=hf(e.x,t.x),r=hf(e.y,t.y);return Math.sqrt(n**2+r**2)}var _f=new Set([`auto`,`scroll`]),vf=class{constructor(e,t,{transformPagePoint:n,contextWindow:r=window,dragSnapToOrigin:i=!1,distanceThreshold:a=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=yf(this.lastRawMoveEventInfo,this.transformPagePoint));let e=xf(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=gf(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=Or;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=yf(t,this.transformPagePoint),Er.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=xf(e.type===`pointercancel`?this.lastMoveEventInfo:yf(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!zs(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=n,this.distanceThreshold=a,this.contextWindow=r||window;let s=yf(df(e),this.transformPagePoint),{point:c}=s,{timestamp:l}=Or;this.history=[{...c,timestamp:l}];let{onSessionStart:u}=t;u&&u(e,xf(s,this.history)),this.removeListeners=qn(pf(this.contextWindow,`pointermove`,this.handlePointerMove),pf(this.contextWindow,`pointerup`,this.handlePointerUp),pf(this.contextWindow,`pointercancel`,this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(_f.has(e.overflowX)||_f.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let n=e===window,r=n?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},i={x:r.x-t.x,y:r.y-t.y};i.x===0&&i.y===0||(n?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(e,r),Er.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Dr(this.updatePoint)}};function yf(e,t){return t?{point:t(e.point)}:e}function bf(e,t){return{x:e.x-t.x,y:e.y-t.y}}function xf({point:e},t){return{point:e,delta:bf(e,Cf(t)),offset:bf(e,Sf(t)),velocity:wf(t,.1)}}function Sf(e){return e[0]}function Cf(e){return e[e.length-1]}function wf(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=Cf(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Xn(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>Xn(t)*2&&(r=e[1]);let a=Zn(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function Tf(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?F(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?F(n,e,r.max):Math.min(e,n)),e}function Ef(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function Df(e,{top:t,left:n,bottom:r,right:i}){return{x:Ef(e.x,n,i),y:Ef(e.y,t,r)}}function Of(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function kf(e,t){return{x:Of(e.x,t.x),y:Of(e.y,t.y)}}function Af(e,t){let n=.5,r=ql(e),i=ql(t);return i>r?n=Jn(t.min,t.max-r,e.min):r>i&&(n=Jn(e.min,e.max-i,t.min)),zn(0,1,n)}function jf(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var Mf=.35;function Nf(e=Mf){return e===!1?e=0:e===!0&&(e=Mf),{x:Pf(e,`left`,`right`),y:Pf(e,`top`,`bottom`)}}function Pf(e,t,n){return{min:Ff(e,t),max:Ff(e,n)}}function Ff(e,t){return typeof e==`number`?e:e[t]||0}var If=new WeakMap,Lf=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=vc(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:n}={}){let{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;let i=e=>{t&&this.snapToCursor(df(e).point),this.stopAnimation()},a=(e,t)=>{let{drag:n,dragPropagation:r,onDragStart:i}=this.getProps();if(n&&!r&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Ps(n),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),pu(e=>{let t=this.getAxisMotionValue(e).get()||0;if(ni.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=ql(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),i&&Er.update(()=>i(e,t),!1,!0),$o(this.visualElement,`transform`);let{animationState:a}=this.visualElement;a&&a.setActive(`whileDrag`,!0)},o=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openDragLock)return;let{offset:o}=t;if(r&&this.currentDirection===null){this.currentDirection=Vf(o),this.currentDirection!==null&&i&&i(this.currentDirection);return}this.updateAxis(`x`,t.point,o),this.updateAxis(`y`,t.point,o),this.visualElement.render(),a&&Er.update(()=>a(e,t),!1,!0)},s=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:l}=this.getProps();this.panSession=new vf(e,{onSessionStart:i,onStart:a,onMove:o,onSessionEnd:s,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:l,distanceThreshold:n,contextWindow:mf(this.visualElement),element:this.visualElement.current})}stop(e,t){let n=e||this.latestPointerEvent,r=t||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!r||!n)return;let{velocity:a}=r;this.startAnimation(a);let{onDragEnd:o}=this.getProps();o&&Er.postRender(()=>o(n,r))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!Bf(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=Tf(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&Zd(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=Df(n.layoutBox,e):this.constraints=!1,this.elastic=Nf(t),r!==this.constraints&&!Zd(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&pu(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=jf(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!Zd(e))return!1;let n=e.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;let i=il(n,r.root,this.visualElement.getTransformPagePoint()),a=kf(r.layout.layoutBox,i);if(t){let e=t(zc(a));this.hasMutatedConstraints=!!e,e&&(a=Rc(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=pu(o=>{if(!Bf(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return $o(this.visualElement,e),n.start(Lo(e,n,0,t,this.visualElement,!1))}stopAnimation(){pu(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){pu(t=>{let{drag:n}=this.getProps();if(!Bf(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-F(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!Zd(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};pu(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=Af({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),pu(t=>{if(!Bf(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(F(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;If.set(this.visualElement,this);let e=this.visualElement.current,t=pf(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&Us(i);n&&r&&!a&&this.start(t)}),n,r=()=>{let{dragConstraints:t}=this.getProps();Zd(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),n||=zf(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:i}=this.visualElement,a=i.addEventListener(`measure`,r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),Er.read(r);let o=Tu(window,`resize`,()=>this.scalePositionWithinConstraints()),s=i.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(pu(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{o(),t(),a(),s&&s(),n&&n()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=Mf,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function Rf(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function zf(e,t,n){let r=dc(e,Rf(n)),i=dc(t,Rf(n));return()=>{r(),i()}}function Bf(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Vf(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var Hf=class extends Lc{constructor(e){super(e),this.removeGroupControls=Gn,this.removeListeners=Gn,this.controls=new Lf(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Gn}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},Uf=e=>(t,n)=>{e&&Er.update(()=>e(t,n),!1,!0)},Wf=class extends Lc{constructor(){super(...arguments),this.removePointerDownListener=Gn}onPointerDown(e){this.session=new vf(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:mf(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:Uf(e),onStart:Uf(t),onMove:Uf(n),onEnd:(e,t)=>{delete this.session,r&&Er.postRender(()=>r(e,t))}}}mount(){this.removePointerDownListener=pf(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},Gf=!1,Kf=class extends b.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),Gf&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),ju.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,{projection:a}=n;return a?(a.isPresent=i,e.layoutDependency!==t&&a.setOptions({...a.options,layoutDependency:t}),Gf=!0,r||e.layoutDependency!==t||t===void 0||e.isPresent!==i?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||Er.postRender(()=>{let e=a.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),As.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;Gf=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function qf(e){let[t,n]=hd(),r=(0,b.useContext)(Nn);return(0,N.jsx)(Kf,{...e,layoutGroup:r,switchLayoutGroup:(0,b.useContext)(Xd),isPresent:t,safeToRemove:n})}var Jf={pan:{Feature:Wf},drag:{Feature:Hf,ProjectionNode:pd,MeasureLayout:qf}};function Yf(e,t,n){let{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive(`whileHover`,n===`Start`);let i=r[`onHover`+n];i&&Er.postRender(()=>i(t,df(t)))}var Xf=class extends Lc{mount(){let{current:e}=this.node;e&&(this.unmount=Ls(e,(e,t)=>(Yf(this.node,t,`Start`),e=>Yf(this.node,e,`End`))))}unmount(){}},Zf=class extends Lc{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(`:focus-visible`)}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!1),this.isActive=!1)}mount(){this.unmount=qn(Tu(this.node.current,`focus`,()=>this.onFocus()),Tu(this.node.current,`blur`,()=>this.onBlur()))}unmount(){}};function Qf(e,t,n){let{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive(`whileTap`,n===`Start`);let i=r[`onTap`+(n===`End`?``:n)];i&&Er.postRender(()=>i(t,df(t)))}var $f=class extends Lc{mount(){let{current:e}=this.node;if(!e)return;let{globalTapTarget:t,propagate:n}=this.node.props;this.unmount=Xs(e,(e,t)=>(Qf(this.node,t,`Start`),(e,{success:t})=>Qf(this.node,e,t?`End`:`Cancel`)),{useGlobalTarget:t,stopPropagation:n?.tap===!1})}unmount(){}},ep=new WeakMap,tp=new WeakMap,np=e=>{let t=ep.get(e.target);t&&t(e)},rp=e=>{e.forEach(np)};function ip({root:e,...t}){let n=e||document;tp.has(n)||tp.set(n,{});let r=tp.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(rp,{root:e,...t})),r[i]}function ap(e,t,n){let r=ip(t);return ep.set(e,n),r.observe(e),()=>{ep.delete(e),r.unobserve(e)}}var op={some:0,all:1},sp=class extends Lc{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();let{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r=`some`,once:i}=e,a={root:t?t.current:void 0,rootMargin:n,threshold:typeof r==`number`?r:op[r]};this.stopObserver=ap(this.node.current,a,e=>{let{isIntersecting:t}=e;if(this.isInView===t||(this.isInView=t,i&&!t&&this.hasEnteredView))return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(`whileInView`,t);let{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),a=t?n:r;a&&a(e)})}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>`u`)return;let{props:e,prevProps:t}=this.node;[`amount`,`margin`,`root`].some(cp(e,t))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}};function cp({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}var lp={inView:{Feature:sp},tap:{Feature:$f},focus:{Feature:Zf},hover:{Feature:Xf}},up={layout:{ProjectionNode:pd,MeasureLayout:qf}},dp=of({...uf,...lp,...Jf,...up},sf);function fp(e,t){return t.forEach(function(t){t&&typeof t!=`string`&&!Array.isArray(t)&&Object.keys(t).forEach(function(n){if(n!==`default`&&!(n in e)){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}})}),Object.freeze(e)}var pp=Object.defineProperty,mp=(e,t,n)=>t in e?pp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hp=(e,t,n)=>mp(e,typeof t==`symbol`?t:t+``,n),gp=class{constructor(){hp(this,`_locking`),hp(this,`_locks`),this._locking=Promise.resolve(),this._locks=0}isLocked(){return this._locks>0}lock(){this._locks+=1;let e,t=new Promise(t=>e=()=>{--this._locks,t()}),n=this._locking.then(()=>e);return this._locking=this._locking.then(()=>t),n}};function _p(e,t){if(!e)throw Error(t)}var vp=34028234663852886e22,yp=-34028234663852886e22,bp=4294967295,xp=2147483647,Sp=-2147483648;function Cp(e){if(typeof e!=`number`)throw Error(`invalid int 32: `+typeof e);if(!Number.isInteger(e)||e>xp||e<Sp)throw Error(`invalid int 32: `+e)}function wp(e){if(typeof e!=`number`)throw Error(`invalid uint 32: `+typeof e);if(!Number.isInteger(e)||e>bp||e<0)throw Error(`invalid uint 32: `+e)}function Tp(e){if(typeof e!=`number`)throw Error(`invalid float 32: `+typeof e);if(Number.isFinite(e)&&(e>vp||e<yp))throw Error(`invalid float 32: `+e)}var Ep=Symbol(`@bufbuild/protobuf/enum-type`);function Dp(e){let t=e[Ep];return _p(t,`missing enum type on enum object`),t}function Op(e,t,n,r){e[Ep]=kp(t,n.map(t=>({no:t.no,name:t.name,localName:e[t.no]})))}function kp(e,t,n){let r=Object.create(null),i=Object.create(null),a=[];for(let e of t){let t=jp(e);a.push(t),r[e.name]=t,i[e.no]=t}return{typeName:e,values:a,findName(e){return r[e]},findNumber(e){return i[e]}}}function Ap(e,t,n){let r={};for(let e of t){let t=jp(e);r[t.localName]=t.no,r[t.no]=t.localName}return Op(r,e,t),r}function jp(e){return`localName`in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var Mp=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){let n=this.getType().runtime.bin,r=n.makeReadOptions(t);return n.readMessage(this,r.readerFactory(e),e.byteLength,r),this}fromJson(e,t){let n=this.getType(),r=n.runtime.json,i=r.makeReadOptions(t);return r.readMessage(n,e,i,this),this}fromJsonString(e,t){let n;try{n=JSON.parse(e)}catch(e){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${e instanceof Error?e.message:String(e)}`)}return this.fromJson(n,t)}toBinary(e){let t=this.getType().runtime.bin,n=t.makeWriteOptions(e),r=n.writerFactory();return t.writeMessage(this,r,n),r.finish()}toJson(e){let t=this.getType().runtime.json,n=t.makeWriteOptions(e);return t.writeMessage(this,n)}toJsonString(e){let t=this.toJson(e);return JSON.stringify(t,null,e?.prettySpaces??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Np(e,t,n,r){let i=r?.localName??t.substring(t.lastIndexOf(`.`)+1),a={[i]:function(t){e.util.initFields(this),e.util.initPartial(t,this)}}[i];return Object.setPrototypeOf(a.prototype,new Mp),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(e,t){return new a().fromBinary(e,t)},fromJson(e,t){return new a().fromJson(e,t)},fromJsonString(e,t){return new a().fromJsonString(e,t)},equals(t,n){return e.util.equals(a,t,n)}}),a}function Pp(){let e=0,t=0;for(let n=0;n<28;n+=7){let r=this.buf[this.pos++];if(e|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))return this.assertBounds(),[e,t];for(let n=3;n<=31;n+=7){let r=this.buf[this.pos++];if(t|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}throw Error(`invalid varint`)}function Fp(e,t,n){for(let r=0;r<28;r+=7){let i=e>>>r,a=!(!(i>>>7)&&t==0),o=(a?i|128:i)&255;if(n.push(o),!a)return}let r=e>>>28&15|(t&7)<<4,i=!!(t>>3);if(n.push((i?r|128:r)&255),i){for(let e=3;e<31;e+=7){let r=t>>>e,i=!!(r>>>7),a=(i?r|128:r)&255;if(n.push(a),!i)return}n.push(t>>>31&1)}}var Ip=4294967296;function Lp(e){let t=e[0]===`-`;t&&(e=e.slice(1));let n=1e6,r=0,i=0;function a(t,a){let o=Number(e.slice(t,a));i*=n,r=r*n+o,r>=Ip&&(i+=r/Ip|0,r%=Ip)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?Hp(r,i):Vp(r,i)}function Rp(e,t){let n=Vp(e,t),r=n.hi&2147483648;r&&(n=Hp(n.lo,n.hi));let i=zp(n.lo,n.hi);return r?`-`+i:i}function zp(e,t){if({lo:e,hi:t}=Bp(e,t),t<=2097151)return String(Ip*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,i=t>>16&65535,a=n+r*6777216+i*6710656,o=r+i*8147497,s=i*2,c=1e7;return a>=c&&(o+=Math.floor(a/c),a%=c),o>=c&&(s+=Math.floor(o/c),o%=c),s.toString()+Up(o)+Up(a)}function Bp(e,t){return{lo:e>>>0,hi:t>>>0}}function Vp(e,t){return{lo:e|0,hi:t|0}}function Hp(e,t){return t=~t,e?e=~e+1:t+=1,Vp(e,t)}var Up=e=>{let t=String(e);return`0000000`.slice(t.length)+t};function Wp(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function Gp(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw Error(`invalid varint`);return this.assertBounds(),t>>>0}function Kp(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt==`function`&&typeof e.getBigInt64==`function`&&typeof e.getBigUint64==`function`&&typeof e.setBigInt64==`function`&&typeof e.setBigUint64==`function`&&(typeof process!=`object`||typeof process.env!=`object`||process.env.BUF_BIGINT_DISABLE!==`1`)){let t=BigInt(`-9223372036854775808`),n=BigInt(`9223372036854775807`),r=BigInt(`0`),i=BigInt(`18446744073709551615`);return{zero:BigInt(0),supported:!0,parse(e){let r=typeof e==`bigint`?e:BigInt(e);if(r>n||r<t)throw Error(`int64 invalid: ${e}`);return r},uParse(e){let t=typeof e==`bigint`?e:BigInt(e);if(t>i||t<r)throw Error(`uint64 invalid: ${e}`);return t},enc(t){return e.setBigInt64(0,this.parse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(t){return e.setBigInt64(0,this.uParse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigInt64(0,!0)},uDec(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigUint64(0,!0)}}}let t=e=>_p(/^-?[0-9]+$/.test(e),`int64 invalid: ${e}`),n=e=>_p(/^[0-9]+$/.test(e),`uint64 invalid: ${e}`);return{zero:`0`,supported:!1,parse(e){return typeof e!=`string`&&(e=e.toString()),t(e),e},uParse(e){return typeof e!=`string`&&(e=e.toString()),n(e),e},enc(e){return typeof e!=`string`&&(e=e.toString()),t(e),Lp(e)},uEnc(e){return typeof e!=`string`&&(e=e.toString()),n(e),Lp(e)},dec(e,t){return Rp(e,t)},uDec(e,t){return zp(e,t)}}}var qp=Kp(),B;(function(e){e[e.DOUBLE=1]=`DOUBLE`,e[e.FLOAT=2]=`FLOAT`,e[e.INT64=3]=`INT64`,e[e.UINT64=4]=`UINT64`,e[e.INT32=5]=`INT32`,e[e.FIXED64=6]=`FIXED64`,e[e.FIXED32=7]=`FIXED32`,e[e.BOOL=8]=`BOOL`,e[e.STRING=9]=`STRING`,e[e.BYTES=12]=`BYTES`,e[e.UINT32=13]=`UINT32`,e[e.SFIXED32=15]=`SFIXED32`,e[e.SFIXED64=16]=`SFIXED64`,e[e.SINT32=17]=`SINT32`,e[e.SINT64=18]=`SINT64`})(B||={});var Jp;(function(e){e[e.BIGINT=0]=`BIGINT`,e[e.STRING=1]=`STRING`})(Jp||={});function Yp(e,t,n){if(t===n)return!0;if(e==B.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==n[e])return!1;return!0}switch(e){case B.UINT64:case B.FIXED64:case B.INT64:case B.SFIXED64:case B.SINT64:return t==n}return!1}function Xp(e,t){switch(e){case B.BOOL:return!1;case B.UINT64:case B.FIXED64:case B.INT64:case B.SFIXED64:case B.SINT64:return t==0?qp.zero:`0`;case B.DOUBLE:case B.FLOAT:return 0;case B.BYTES:return new Uint8Array;case B.STRING:return``;default:return 0}}function Zp(e,t){switch(e){case B.BOOL:return t===!1;case B.STRING:return t===``;case B.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}var Qp;(function(e){e[e.Varint=0]=`Varint`,e[e.Bit64=1]=`Bit64`,e[e.LengthDelimited=2]=`LengthDelimited`,e[e.StartGroup=3]=`StartGroup`,e[e.EndGroup=4]=`EndGroup`,e[e.Bit32=5]=`Bit32`})(Qp||={});var $p=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let t=0;t<this.chunks.length;t++)e+=this.chunks[t].length;let t=new Uint8Array(e),n=0;for(let e=0;e<this.chunks.length;e++)t.set(this.chunks[e],n),n+=this.chunks[e].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw Error(`invalid state, fork stack empty`);return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(wp(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Cp(e),Wp(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){Tp(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){wp(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Cp(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Cp(e),e=(e<<1^e>>31)>>>0,Wp(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=qp.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=qp.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=qp.enc(e);return Fp(t.lo,t.hi,this.buf),this}sint64(e){let t=qp.enc(e),n=t.hi>>31;return Fp(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=qp.uEnc(e);return Fp(t.lo,t.hi,this.buf),this}},em=class{constructor(e,t){this.varint64=Pp,this.uint32=Gp,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw Error(`illegal tag: field no `+t+` wire type `+n);return[t,n]}skip(e,t){let n=this.pos;switch(e){case Qp.Varint:for(;this.buf[this.pos++]&128;);break;case Qp.Bit64:this.pos+=4;case Qp.Bit32:this.pos+=4;break;case Qp.LengthDelimited:let n=this.uint32();this.pos+=n;break;case Qp.StartGroup:for(;;){let[e,n]=this.tag();if(n===Qp.EndGroup){if(t!==void 0&&e!==t)throw Error(`invalid end group tag`);break}this.skip(n,e)}break;default:throw Error(`cant skip wire type `+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError(`premature EOF`)}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return qp.dec(...this.varint64())}uint64(){return qp.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,qp.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return qp.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return qp.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};function tm(e,t,n,r){let i;return{typeName:t,extendee:n,get field(){if(!i){let n=typeof r==`function`?r():r;n.name=t.split(`.`).pop(),n.jsonName=`[${t}]`,i=e.util.newFieldList([n]).list()[0]}return i},runtime:e}}function nm(e){let t=e.field.localName,n=Object.create(null);return n[t]=rm(e),[n,()=>n[t]]}function rm(e){let t=e.field;if(t.repeated)return[];if(t.default!==void 0)return t.default;switch(t.kind){case`enum`:return t.T.values[0].no;case`scalar`:return Xp(t.T,t.L);case`message`:let e=t.T,n=new e;return e.fieldWrapper?e.fieldWrapper.unwrapField(n):n;case`map`:throw`map fields are not allowed to be extensions`}}function im(e,t){if(!t.repeated&&(t.kind==`enum`||t.kind==`scalar`)){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter(e=>e.no===t.no)}var am=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),om=[];for(let e=0;e<am.length;e++)om[am[e].charCodeAt(0)]=e;om[45]=am.indexOf(`+`),om[95]=am.indexOf(`/`);var sm={dec(e){let t=e.length*3/4;e[e.length-2]==`=`?t-=2:e[e.length-1]==`=`&&--t;let n=new Uint8Array(t),r=0,i=0,a,o=0;for(let t=0;t<e.length;t++){if(a=om[e.charCodeAt(t)],a===void 0)switch(e[t]){case`=`:i=0;case`
|
|
33
|
+
`,document.head.appendChild(e)};function gn(e,t){if(typeof document>`u`)return null;if(e){let n=document.getElementById(e)||document.querySelector(`[data-section="${e}"]`);if(n)return n;t||=e.replace(/[-_]+/g,` `).trim()}if(!t)return null;let n=t.toLowerCase().trim(),r=n.split(/\s+/).filter(e=>e.length>2),i=Array.from(document.querySelectorAll(`h1, h2, h3, h4, h5, h6, [data-section]`)).filter(e=>!un(e));for(let e of i)if(e.textContent.replace(/\s+/g,` `).toLowerCase().trim()===n)return e;for(let e of i){let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(t.startsWith(n)||t.endsWith(n))return e}let a=[];for(let e of i){let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();t.includes(n)&&a.push({el:e,len:t.length})}if(a.length)return a.sort((e,t)=>e.len-t.len),a[0].el;for(let e of i){let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(t.length>3&&n.includes(t))return e}if(r.length>0){let e=null,t=0;for(let n of i){let i=n.textContent.replace(/\s+/g,` `).toLowerCase(),a=0;for(let e of r)i.includes(e)&&a++;let o=a/r.length;o>t&&o>=.6&&(t=o,e=n)}if(e)return e}let o=Array.from(document.querySelectorAll(`main [role='group']`)).filter(e=>!un(e)),s=[];for(let e of o){let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();t.length<15||t.length>8e3||t.includes(n)&&s.push({el:e,len:t.length})}if(s.length)return s.sort((e,t)=>e.len-t.len),s[0].el;if(r.length>0){let e=Array.from(document.querySelectorAll(`main a[href], article a[href], .views-row a[href], h2 a[href], h3 a[href], .card a[href], [class*='teaser'] a[href]`)).filter(e=>{if(un(e))return!1;try{let t=e.getAttribute(`href`)||``;if(!t||t===`#`||t.startsWith(`javascript:`))return!1}catch{return!1}let t=e.textContent.replace(/\s+/g,` `).trim();return t.length>=3&&t.length<=220}),t=null,n=0;for(let i of e){let e=i.textContent.replace(/\s+/g,` `).toLowerCase(),a=0;for(let t of r)e.includes(t)&&a++;let o=a/r.length;o>n&&o>=.5&&(n=o,t=i)}if(t)return t.closest(`article`)||t.closest(`.views-row`)||t}let c=document.querySelectorAll(`section, article, .card, [class*='feature'], [class*='service']`);for(let e of c){if(un(e))continue;let t=e.querySelector(`h1, h2, h3, h4, h5, h6`);if(t){let r=t.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(r.includes(n)||n.includes(r))return e}}let l=document.querySelectorAll(`li, strong, blockquote, dt`);for(let e of l){if(un(e))continue;let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(t.includes(n)&&t.length<500)return e.tagName===`STRONG`&&e.parentElement?.tagName===`LI`?e.parentElement:e}let u=Array.from(document.querySelectorAll(`a[href]`)).filter(e=>!un(e));u.sort((e,t)=>(e.textContent||``).trim().length-(t.textContent||``).trim().length);for(let e of u){let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(t.includes(n)&&t.length<500)return e}let d=document.querySelectorAll(`p`);for(let e of d){if(un(e))continue;let t=e.textContent.replace(/\s+/g,` `).toLowerCase().trim();if(t.includes(n)&&t.length<800)return e}return null}function _n(e,{speaking:t=!1,scroll:n=!0}={}){if(!e||typeof document>`u`)return;hn();let r=document.querySelectorAll(`.fe-highlight-section`);for(let t of r)t!==e&&(t.classList.remove(`fe-highlight-section`,`fe-highlight-speaking`),t.classList.add(`fe-highlight-exiting`),setTimeout(()=>t.classList.remove(`fe-highlight-exiting`),300));if(e.classList.remove(`fe-highlight-exiting`),e.classList.add(`fe-highlight-section`),t?e.classList.add(`fe-highlight-speaking`):e.classList.remove(`fe-highlight-speaking`),n)try{e.scrollIntoView({behavior:`smooth`,block:`center`})}catch{try{e.scrollIntoView(!0)}catch{}}}function vn(){typeof document>`u`||document.querySelectorAll(`.fe-highlight-section, .fe-highlight-exiting`).forEach(e=>e.classList.remove(`fe-highlight-section`,`fe-highlight-speaking`,`fe-highlight-exiting`))}function yn(e){if(typeof window>`u`)return e;try{let t=new URL(String(e).trim(),window.location.href);return!/^https?:$/i.test(t.protocol)||t.origin===window.location.origin?t.href:new URL(t.pathname+t.search+t.hash,window.location.origin).href}catch{return e}}async function bn(e){if(typeof window>`u`)return!1;try{let t=new URL(String(e).trim(),window.location.href);return t.origin===window.location.origin?(await fetch(t.href,{method:`HEAD`,mode:`same-origin`,cache:`no-store`})).ok:!1}catch{return!1}}async function xn(e,{siteId:t,apiBaseUrl:n}){if(!e)return!1;if(!t||!n)return console.warn(`[FlowEngage] shouldProceedWithNavigation: missing siteId or apiBaseUrl`),!1;let r=String(n).replace(/\/$/,``),i=new URLSearchParams({siteId:String(t),url:String(e).trim()});try{let t=await(await fetch(`${r}/api/widget/navigate-allowed?${i.toString()}`)).json().catch(()=>({}));return t.success?t.allowed?!0:t.hasIndex===!1?bn(e):!1:!1}catch(e){return console.warn(`[FlowEngage] navigate-allowed check failed:`,e?.message),!1}}function Sn(e){if(!(!e||typeof sessionStorage>`u`))try{sessionStorage.setItem(fn,JSON.stringify({sectionText:e,ts:Date.now()}))}catch{}}async function Cn(e,t={}){if(typeof window>`u`)return!1;let{sectionText:n}=t;try{let t=yn(e),r=new URL(t,window.location.origin);if(dn(`input:`,e,`→ normalized:`,t,`href:`,r.href),r.hash&&r.pathname===window.location.pathname){let e=r.hash.slice(1),t=document.getElementById(e);if(t)return dn(`branch: hash scroll (same path)`),t.scrollIntoView({behavior:`smooth`,block:`start`}),!0}if(r.pathname===window.location.pathname&&r.search===window.location.search&&!r.hash)return dn(`branch: already on page (no nav)`),!1;let i=r.pathname+r.search+r.hash,a=window.next?.router;if(a?.push)return dn(`branch: Next.js Pages router.push`,i),new Promise(e=>{let t=()=>{a.events?.off(`routeChangeComplete`,t),e(!0)};a.events?.on(`routeChangeComplete`,t),a.push(i),setTimeout(t,5e3)});let o=window.__NEXT_ROUTER__;return o?.push?(dn(`branch: __NEXT_ROUTER__.push`,i),o.push(i),!0):(n?(Sn(n),dn(`branch: location.assign (full navigation, section stored):`,n)):dn(`branch: location.assign (full navigation)`,r.href),window.location.assign(r.href),!0)}catch(t){console.warn(`[FlowEngage] shadowNavigate error:`,t),n&&Sn(n);try{window.location.href=yn(e)}catch{window.location.href=e}return!0}}var wn=s((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),N=s(((e,t)=>{t.exports=wn()}))(),Tn=e=>!e||typeof e!=`string`?e:e.replace(/<human_assistance_request>[\s\S]*?<\/human_assistance_request>/gi,``).replace(/<human_assistance_request>/gi,``).replace(/<\/human_assistance_request>/gi,``).replace(/<navigate[^>]*\/>/gi,``).replace(/<navigate[^>]*>[\s\S]*?<\/navigate>/gi,``).replace(/<[a-z]+(?:_[a-z]+)+[^>]*>[\s\S]*?<\/[a-z]+(?:_[a-z]+)+>/gi,``).replace(/<[a-z]+(?:_[a-z]+)+[^>]*\/>/gi,``).trim(),En=(e=[])=>e.map(e=>({...e,message:Tn(e.message),isPending:!1,id:e.messageId||`${e.sender}-${e.timestamp||Date.now()}-${Math.random()}`})),Dn=(e,t)=>e?typeof e==`string`?e:e.message||e.error||e.reason||t:t,On=(e={})=>{if(!e?.candidate)return null;if(typeof e.candidate==`object`)return e.candidate;let t=e.sdpMid!==void 0&&e.sdpMid!==null&&e.sdpMid!==``,n=e.sdpMLineIndex!==void 0&&e.sdpMLineIndex!==null;return!t&&!n?null:{candidate:e.candidate,...t?{sdpMid:e.sdpMid}:{},...n?{sdpMLineIndex:e.sdpMLineIndex}:{}}},kn=e=>{if(!e)return null;let t=typeof e==`object`?e:{candidate:e};return{hasCandidate:!!t.candidate,sdpMid:t.sdpMid??null,sdpMLineIndex:t.sdpMLineIndex??null,candidatePreview:typeof t.candidate==`string`?t.candidate.slice(0,80):null}},An=(e=[],t=`Agent`)=>{for(let t of e)if(typeof t==`string`&&t.trim())return t.trim();return t},jn=(e=[],t,n=6)=>!t?.message||e.slice(-n).some(e=>e.sender===`system`&&e.message===t.message)?e:[...e,t];function Mn({siteId:e,config:t,children:n,language:r=`en`}){let i=(0,b.useMemo)(()=>e?{...t||{},siteId:e}:t||null,[e,t]),[a,o]=(0,b.useState)(`booting`),[s,c]=(0,b.useState)(null),[l,u]=(0,b.useState)(null),[d,f]=(0,b.useState)(``),[p,m]=(0,b.useState)([]),[h,g]=(0,b.useState)(fe().isOpen),[_,v]=(0,b.useState)(fe().activeScreen),[y,x]=(0,b.useState)(fe().isHumanHandled),[S,C]=(0,b.useState)(fe().agentName),[te,ne]=(0,b.useState)(fe().agentHeadshot),[oe,se]=(0,b.useState)(()=>me(i?.siteId)),[de,E]=(0,b.useState)(!1),[D,ye]=(0,b.useState)(!1),[be,xe]=(0,b.useState)(`idle`),[Se,Ce]=(0,b.useState)(!1),[we,Te]=(0,b.useState)(!1),[Ee,De]=(0,b.useState)(``),[Oe,ke]=(0,b.useState)(!1),[Ae,je]=(0,b.useState)(!1),[O,Me]=(0,b.useState)(null),[Ne,Pe]=(0,b.useState)(null),[Fe,Ie]=(0,b.useState)(`idle`),[Le,Re]=(0,b.useState)(null),[ze,Be]=(0,b.useState)(!1),[Ve,He]=(0,b.useState)(``),Ue=(0,b.useRef)(null),k=(0,b.useRef)(null),A=(0,b.useRef)(``),We=(0,b.useRef)(null),j=(0,b.useRef)(null),Ge=(0,b.useRef)(null),Ke=(0,b.useRef)(null),qe=(0,b.useRef)(null),Je=(0,b.useRef)([]),Ye=(0,b.useRef)(null),Xe=(0,b.useRef)(null),Ze=(0,b.useRef)(!1),Qe=(0,b.useRef)(!1),$e=(0,b.useRef)(``),et=(0,b.useRef)(S),tt=(0,b.useRef)([]),nt=(0,b.useRef)(!1),rt=(0,b.useRef)({notifyRouteChange:()=>{},cleanup:()=>{}}),it=(0,b.useCallback)((e={})=>{let t=!!e.is_human_handled;return x(t),t?(v(`agent`),e.agent_info?.name&&C(e.agent_info.name),e.agent_info?.headshot&&ne(e.agent_info.headshot),t):(v(`ai`),t)},[]),at=(0,b.useMemo)(()=>{let e=l?.widgetSettings?.call?.maxDurationSeconds??i?.widgetSettings?.call?.maxDurationSeconds??i?.callMaxDurationSeconds,t=Number(e);return Number.isFinite(t)&&t>0?t:ie},[i,l]);(0,b.useEffect)(()=>{We.current=O},[O]),(0,b.useEffect)(()=>{et.current=S},[S]);let ot=()=>{He(``)},st=e=>{let t=typeof e==`string`?e.trim().toLowerCase():``;return se(t),he(t,i?.siteId),t};(0,b.useEffect)(()=>{let e=i?.siteId;e&&se(me(e))},[i?.siteId]);let ct=(e=`unspecified`)=>{console.log(`[FlowEngageCall] cleanup:start`,{reason:e,chatId:A.current,activeCallId:Ye.current,acceptingCallId:Xe.current,hasPeerConnection:!!j.current,hasLocalStream:!!Ge.current,hasRemoteAudio:!!Ke.current,queuedIceCount:Je.current.length}),j.current&&=(j.current.close(),null),Ge.current&&=(Ge.current.getTracks().forEach(e=>e.stop()),null),Ke.current&&=(Ke.current.srcObject=null,Ke.current.remove(),null),qe.current=null,Je.current=[],Ye.current=null,Xe.current=null,Ze.current=!1,Be(!1),Me(null),Pe(null),Ie(`idle`),Re(null),console.log(`[FlowEngageCall] cleanup:complete`,{reason:e,chatId:A.current})},lt=(e=new Date().toISOString())=>{let t=Ue.current,n=Ye.current||qe.current?.callId;if(!t?.connected||!n||Ze.current){console.log(`[FlowEngageProvider] skipping call:connected emit`,{callId:n,chatId:A.current,socketConnected:!!t?.connected,alreadyReported:Ze.current});return}console.log(`[FlowEngageProvider] emitting call:connected`,{callId:n,chatId:A.current,connectedAt:e}),Ze.current=!0,t.emit(`call:connected`,{callId:n,chatId:A.current,connectedAt:e})},ut=(e={})=>{if(!e.callId)return;let t=Xe.current===e.callId,n=Ye.current===e.callId,r=We.current?.callId===e.callId;if(!(!t&&!n&&!r)){if(console.log(`[FlowEngageProvider] syncing accepted call state`,{callId:e.callId,chatId:e.chatId||A.current,isAcceptingHere:t,isAlreadyActive:n,isIncomingHere:r}),Me(null),t||n){Ye.current=e.callId,Pe(e.callId),Ie(e=>e===`connected`?e:`connecting`),g(!0);return}Ie(`idle`)}},dt=(e={})=>{if(!e.callId)return;let t=Xe.current===e.callId,n=Ye.current===e.callId,r=We.current?.callId===e.callId;if(!(!t&&!n&&!r)){if(console.log(`[FlowEngageProvider] syncing ended incoming call state`,{callId:e.callId,chatId:e.chatId||A.current,isAcceptingHere:t,isAlreadyActive:n,isIncomingHere:r,reason:e.reason||e.status||null}),n){ct();return}Xe.current=null,qe.current=null,Je.current=[],Me(null),Ie(`idle`)}},ft=async(e={})=>{let t=j.current,n=Ue.current,r=e.sdpOffer||e.offer?.sdp;if(!t||!n?.connected||!r||!e.callId){console.log(`[FlowEngageProvider] deferring remote offer until peer/socket ready`,{callId:e.callId,chatId:A.current,hasPeerConnection:!!t,socketConnected:!!n?.connected,hasOffer:!!r}),qe.current=e;return}if(console.log(`[FlowEngageProvider] applying remote offer`,{callId:e.callId,chatId:A.current,offerLength:r.length,signalingState:t.signalingState,iceConnectionState:t.iceConnectionState,connectionState:t.connectionState}),await t.setRemoteDescription(new RTCSessionDescription({type:`offer`,sdp:r})),Je.current.length>0){console.log(`[FlowEngageProvider] flushing queued agent ICE candidates after remote offer`,{callId:e.callId,chatId:A.current,queuedCount:Je.current.length});for(let e of Je.current)await t.addIceCandidate(new RTCIceCandidate(e));Je.current=[]}let i=await t.createAnswer();await t.setLocalDescription(i),console.log(`[FlowEngageCall] local-answer:created`,{callId:e.callId,chatId:A.current,answerLength:i.sdp?.length||0,signalingState:t.signalingState,iceConnectionState:t.iceConnectionState,connectionState:t.connectionState}),console.log(`[FlowEngageCall] local-answer:emitting`,{callId:e.callId,chatId:A.current}),n.emit(`call:answer`,{callId:e.callId,sdpAnswer:i.sdp,chatId:A.current})};(0,b.useEffect)(()=>{pe({isOpen:h,activeScreen:_,isHumanHandled:y,agentName:S,agentHeadshot:te})},[h,_,y,S,te]),(0,b.useEffect)(()=>{let e=!0;return(async()=>{try{console.log(`[FlowEngageProvider] boot start`,{resolvedConfig:i,language:r});let t=ee(i);console.log(`[FlowEngageProvider] config validated`,t);let n=await _e(t);if(!e)return;let a=t.siteId,s=w(a),c=``;try{if(c=(await ge({apiBaseUrl:t.apiBaseUrl,userId:n.userId,siteId:a,priorChatId:s||ce()}))?.data?.chatId,!c)throw Error(`resolve-session returned no chatId`);le(),T(a,c)}catch(e){console.warn(`[FlowEngageProvider] resolve-session failed, reusing persisted or ephemeral chat id`,e?.message||e),c=s||ue(),T(a,c)}A.current=c;let l=ve({apiBaseUrl:t.apiBaseUrl,userId:n.userId,siteId:t.siteId});k.current=l,u({...n,apiBaseUrl:t.apiBaseUrl}),f(c);let d=n?.widgetSettings?.branding?.fallbackAgentName||`Agent`;console.log(`[FlowEngageProvider] bootstrap resolved`,{bootstrapData:n,resolvedChatId:c});let p=an({apiBaseUrl:t.apiBaseUrl,userId:n.userId,chatId:c,siteId:t.siteId});Ue.current=p,p.on(`connect`,()=>{console.log(`[FlowEngageProvider] socket connected`),xe(`connected`)}),p.on(`disconnect`,()=>{console.log(`[FlowEngageProvider] socket disconnected`),xe(`disconnected`)}),p.on(`aiTyping`,()=>{console.log(`[FlowEngageProvider] received aiTyping`,{chatId:A.current}),ye(!0)}),p.on(`ai:typing`,()=>{console.log(`[FlowEngageProvider] received ai:typing`,{chatId:A.current}),ye(!0)}),p.on(`messageReceived`,e=>{let t=e.message||e,n={...t,message:Tn(t.message)};ye(!1),E(!1),m(e=>[...e.filter(e=>!e.isPending),{...n,isPending:!1,id:n.messageId||`${n.sender}-${Date.now()}-${Math.random()}`}])}),p.on(`conversationStarted`,e=>{console.log(`[FlowEngageProvider] conversationStarted`,e),e?.message&&m(t=>[...t,{id:`system-start-${Date.now()}`,sender:`system`,message:e.message,timestamp:new Date().toISOString(),isPending:!1}])}),p.on(`message:new`,e=>{let t=e.message||e,n={...t,message:Tn(t.message)};ye(!1),(n.sender===`agent`||n.agent_name||n.sender===`ai`||n.sender===`bot`)&&E(!1),m(e=>n.sender===`bot`||n.sender===`ai`?[...e,{...n,isPending:!1,id:n.messageId||`${n.sender}-${Date.now()}-${Math.random()}`}]:e.some(e=>e.id===n.messageId||e.sender===n.sender&&e.message===n.message&&e.isPending)?e.map(e=>e.sender===n.sender&&e.message===n.message&&e.isPending?{...n,isPending:!1,id:n.messageId||e.id}:e):[...e,{...n,isPending:!1,id:n.messageId||`${n.sender}-${Date.now()}-${Math.random()}`}]),(n.sender===`agent`||n.agent_name)&&(x(!0),v(`agent`),C(An([n.agent_name,n.agentName,n.metadata?.agentName],d)),n.sender_headshot&&ne(n.sender_headshot),g(!0))});let h=(e={})=>{let t=An([e.agent?.name,e.agentName,e.agent_name,et.current],d);x(!0),v(`agent`),C(t),ne(e.agent?.headshot||null),g(!0),m(e=>jn(e,{id:`agent-joined-${Date.now()}`,sender:`system`,message:`${t} has joined the chat.`,timestamp:new Date().toISOString(),isPending:!1}))},y=(e={})=>{let t=An([e.agent?.name,e.agentName,e.agent_name,et.current],d);x(!1),v(`ai`),m(e=>jn(e,{id:`agent-left-${Date.now()}`,sender:`system`,message:`${t} has left the chat.`,timestamp:new Date().toISOString(),isPending:!1}))};p.on(`agent:joined`,h),p.on(`agentJoined`,h),p.on(`agent:left`,y),p.on(`agentLeft`,y),p.on(`conversationEnded`,e=>{je(!0);let t=e?.message||`This conversation has ended. Thank you for reaching out!`;m(e=>[...e,{id:`conversation-ended-${Date.now()}`,sender:`system`,message:t,timestamp:new Date().toISOString(),isPending:!1}])}),p.on(`chat:history_update`,e=>{m(En(e.chat_history||[]))}),p.on(`typing:start`,e=>{console.log(`[FlowEngageProvider] received typing:start`,{chatId:e?.chatId||A.current,sender:e?.sender}),e.sender===`agent`&&E(!0)}),p.on(`typing:stop`,e=>{console.log(`[FlowEngageProvider] received typing:stop`,{chatId:e?.chatId||A.current,sender:e?.sender}),e.sender===`agent`&&E(!1)}),p.on(`call:incoming`,(e={})=>{let t=An([e.agentName,e.ownerName,e.agent?.name,et.current],`Agent`);console.log(`[FlowEngageProvider] received call:incoming`,{callId:e.callId,chatId:A.current,agentName:t}),ot(),Ze.current=!1,Me({callId:e.callId,from:e.from||`owner`,agentId:e.agentId||null,agentName:t}),C(e=>An([t,e],`Agent`)),Ie(`incoming`),Re(null),g(!0)}),p.on(`call:offer`,async(e={})=>{console.log(`[FlowEngageProvider] received call:offer`,{callId:e.callId,chatId:e.chatId||A.current,offerLength:(e.sdpOffer||e.offer?.sdp||``).length}),qe.current=e;try{await ft(e)}catch(e){console.error(`[FlowEngageProvider] failed to apply remote offer`,e)}}),p.on(`call:ice-candidate-from-agent`,async(e={})=>{if(!e.candidate){console.log(`[FlowEngageProvider] skipping agent ICE candidate`,{callId:e.callId,chatId:e.chatId||A.current,hasPeerConnection:!!j.current,hasCandidate:!!e.candidate});return}try{let t=On(e);if(!t){console.warn(`[FlowEngageProvider] ignoring invalid ICE candidate payload`,e);return}if(console.log(`[FlowEngageProvider] adding agent ICE candidate`,{callId:e.callId,chatId:e.chatId||A.current,candidate:kn(t),hasRemoteDescription:!!j.current?.remoteDescription}),!j.current||!j.current.remoteDescription){console.log(`[FlowEngageProvider] queueing agent ICE candidate until peer/remote description is ready`,{callId:e.callId,chatId:e.chatId||A.current,queueSize:Je.current.length+1}),Je.current.push(t);return}await j.current.addIceCandidate(new RTCIceCandidate(t))}catch(e){console.error(`[FlowEngageProvider] failed to add ICE candidate`,e)}}),p.on(`call:ended`,()=>{ot(),console.log(`[FlowEngageCall] socket:event call:ended`,{chatId:A.current,activeCallId:Ye.current}),ct(`socket:call_ended`)}),p.on(`call:accepted`,(e={})=>{console.log(`[FlowEngageProvider] received call:accepted`,{callId:e.callId,chatId:e.chatId||A.current}),ut(e)}),p.on(`call:accepted_by_other`,(e={})=>{console.log(`[FlowEngageProvider] received call:accepted_by_other`,{callId:e.callId,chatId:e.chatId||A.current}),ut(e)}),p.on(`call:rejected`,(e={})=>{console.log(`[FlowEngageProvider] received call:rejected`,{callId:e.callId,chatId:e.chatId||A.current,reason:e.reason}),dt(e)}),p.on(`call:missed`,(e={})=>{console.log(`[FlowEngageProvider] received call:missed`,{callId:e.callId,chatId:e.chatId||A.current,reason:e.reason}),dt(e)}),p.on(`call:failed`,(e={})=>{console.log(`[FlowEngageProvider] received call:failed`,{callId:e.callId,chatId:e.chatId||A.current,reason:e.reason}),dt(e)}),p.on(`call:connected`,(e={})=>{if(!e.callId)return;let t=Xe.current===e.callId,n=Ye.current===e.callId,r=qe.current?.callId===e.callId,i=We.current?.callId===e.callId;if(console.log(`[FlowEngageProvider] received call:connected`,{callId:e.callId,chatId:e.chatId||A.current,connectedAt:e.connectedAt,status:e.status,isAcceptingHere:t,isAlreadyActive:n,isPendingOfferHere:r,isIncomingHere:i}),!t&&!n&&!r){i&&(Me(null),Ie(`idle`));return}Ze.current=!0,Xe.current=null,Ye.current=e.callId,Pe(e.callId),Me(null),Ie(`connected`),Re(e.connectedAt||new Date().toISOString()),g(!0)}),p.on(`call:unavailable`,(e={})=>{console.warn(`[FlowEngageCall] socket:event call:unavailable`,{chatId:e.chatId||A.current,callId:e.callId,reason:e.reason||e.message||null,raw:e}),ct(`socket:call_unavailable`),He(Dn(e,`This visitor is not available for a call right now.`)),g(!0)}),p.on(`call:error`,(e={})=>{console.error(`[FlowEngageCall] socket:event call:error`,{chatId:e.chatId||A.current,callId:e.callId,reason:e.reason||e.message||null,raw:e}),ct(`socket:call_error`),He(Dn(e,`We couldn't connect the call right now.`)),g(!0)}),p.on(`visitor:navigate`,async({url:e,section:n,highlight:r}={})=>{if(e){if(console.log(`[FlowEngageProvider] visitor:navigate`,{url:e,section:n,highlight:r}),!await xn(e,{siteId:t.siteId,apiBaseUrl:t.apiBaseUrl})){console.warn(`[FlowEngageProvider] visitor:navigate blocked (not indexed)`,e);return}Cn(e).then(e=>{let t=n||r;t&&setTimeout(()=>{let e=gn(null,t);e&&_n(e)},e?300:150)})}}),p.on(`visitor:highlight`,({sectionId:e,sectionText:t}={})=>{if(!e&&!t)return;console.log(`[FlowEngageProvider] visitor:highlight`,{sectionId:e,sectionText:t});let n=gn(e||null,t||null);n&&_n(n)}),p.on(`visitor:clear_highlight`,()=>{vn()}),rt.current=on({socket:p,chatId:c}),console.log(`[FlowEngageProvider] tracking started`,{chatId:c});let b=await l.loadHistory(c,r);if(console.log(`[FlowEngageProvider] history loaded`,b),!e)return;m(En(b.chat_history||[])),x(!!b.is_human_handled),v(b.is_human_handled?`agent`:_);let S=b?.visitor_email||b?.visitorEmail;if(S&&String(S).trim()&&st(String(S).trim()),await new Promise(e=>setTimeout(e,500)),!e)return;o(`ready`),console.log(`[FlowEngageProvider] status ready`)}catch(t){if(!e)return;console.error(`[FlowEngageProvider] boot failed`,t),c(t),o(`error`)}})(),()=>{e=!1,rt.current?.cleanup?.(),ct(),Ue.current?.disconnect()}},[i,r]),(0,b.useEffect)(()=>()=>{if(Oe&&!nt.current&&tt.current.length>0){let e=A.current,t=tt.current,n=k.current;n&&e&&t.length>0&&(console.log(`[FlowEngageProvider] safety-net: syncing voice transcript on unmount`),n.beaconSyncVoice(e,t)||n.syncVoice(e,t).catch(()=>{}),nt.current=!0)}},[Oe,l]),(0,b.useEffect)(()=>{if(!k.current||!d||a!==`ready`)return;let e=window.setInterval(async()=>{try{let e=await k.current.checkHumanHandled(d);x(!!e.is_human_handled),e.is_human_handled&&(v(`agent`),e.agent_info?.name&&C(An([e.agent_info.name],`Agent`)),e.agent_info?.headshot&&ne(e.agent_info.headshot)),it(e)}catch{}},1e4);return()=>window.clearInterval(e)},[d,a,it]);let pt=async()=>{if(!(!O?.callId||!k.current||!Ue.current||!d)){ot(),Xe.current=O.callId,console.log(`[FlowEngageProvider] acceptCall started`,{callId:O?.callId,chatId:d,socketConnected:!!Ue.current?.connected,hasPendingOffer:!!qe.current});try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});console.log(`[FlowEngageProvider] microphone stream acquired`,{callId:O.callId,chatId:d,trackCount:e.getTracks().length}),Ge.current=e;let t=[{urls:`stun:stun.l.google.com:19302`}];try{let e=await k.current.getIceServersConfig();e?.data?.iceServers?.length&&(t=e.data.iceServers)}catch(e){console.warn(`[FlowEngageProvider] ice-config fetch failed, using STUN default`,e)}let n=new RTCPeerConnection({iceServers:t});j.current=n,console.log(`[FlowEngageCall] peer-connection:created`,{callId:O.callId,chatId:d,iceServers:1}),n.onconnectionstatechange=()=>{let e=n.connectionState;if(console.log(`[FlowEngageProvider] peer connection state changed`,{callId:O.callId,chatId:d,connectionState:e,iceConnectionState:n.iceConnectionState,signalingState:n.signalingState}),e===`connected`){let e=new Date().toISOString();Ie(`connected`),Re(t=>t||e),lt(e);return}if(e===`connecting`){Ie(e=>e===`connected`?e:`connecting`);return}(e===`failed`||e===`disconnected`||e===`closed`)&&console.warn(`[FlowEngageCall] peer-connection:terminal-state`,{callId:O.callId,chatId:d,connectionState:e,iceConnectionState:n.iceConnectionState,signalingState:n.signalingState})},n.oniceconnectionstatechange=()=>{let e=n.iceConnectionState;if(console.log(`[FlowEngageProvider] ICE connection state changed`,{callId:O.callId,chatId:d,iceConnectionState:e,connectionState:n.connectionState,signalingState:n.signalingState}),e===`connected`||e===`completed`){let e=new Date().toISOString();Ie(`connected`),Re(t=>t||e),lt(e);return}if(e===`checking`||e===`new`){Ie(e=>e===`connected`?e:`connecting`);return}(e===`failed`||e===`disconnected`||e===`closed`)&&console.warn(`[FlowEngageCall] ice-connection:terminal-state`,{callId:O.callId,chatId:d,iceConnectionState:e,connectionState:n.connectionState,signalingState:n.signalingState})},n.onsignalingstatechange=()=>{console.log(`[FlowEngageCall] signaling-state:changed`,{callId:O.callId,chatId:d,signalingState:n.signalingState,connectionState:n.connectionState,iceConnectionState:n.iceConnectionState})},n.onicegatheringstatechange=()=>{console.log(`[FlowEngageCall] ice-gathering-state:changed`,{callId:O.callId,chatId:d,iceGatheringState:n.iceGatheringState})},e.getTracks().forEach(t=>{console.log(`[FlowEngageCall] local-track:added`,{callId:O.callId,chatId:d,kind:t.kind,enabled:t.enabled,readyState:t.readyState,muted:t.muted,label:t.label}),n.addTrack(t,e)}),n.onicecandidate=e=>{if(!e.candidate||!Ue.current?.connected){console.log(`[FlowEngageProvider] local ICE candidate skipped`,{callId:O.callId,chatId:d,hasCandidate:!!e.candidate,socketConnected:!!Ue.current?.connected});return}let t=e.candidate;console.log(`[FlowEngageProvider] emitting local ICE candidate`,{callId:O.callId,chatId:d,candidate:kn(t)}),Ue.current.emit(`call:ice-candidate`,{callId:O.callId,candidate:t.candidate,sdpMid:t.sdpMid,sdpMLineIndex:t.sdpMLineIndex,chatId:d,from:`customer`})},n.ontrack=e=>{console.log(`[FlowEngageProvider] remote audio track received`,{callId:O.callId,chatId:d,streamCount:e.streams?.length||0});let[t]=e.streams||[],[n]=t?.getAudioTracks?.()||[];if(console.log(`[FlowEngageCall] remote-track:details`,{callId:O.callId,chatId:d,trackKind:e.track?.kind||null,trackEnabled:e.track?.enabled??null,trackMuted:e.track?.muted??null,trackReadyState:e.track?.readyState??null,streamId:t?.id||null,audioTrackCount:t?.getAudioTracks?.().length||0,firstAudioTrackState:n?{enabled:n.enabled,muted:n.muted,readyState:n.readyState,label:n.label}:null}),!Ke.current){let e=document.createElement(`audio`);e.id=`flowengage-remote-audio`,e.autoplay=!0,e.playsInline=!0,e.onplay=()=>{console.log(`[FlowEngageCall] remote-audio:onplay`,{callId:O.callId,chatId:d})},e.onpause=()=>{console.warn(`[FlowEngageCall] remote-audio:onpause`,{callId:O.callId,chatId:d,currentTime:e.currentTime})},e.onended=()=>{console.warn(`[FlowEngageCall] remote-audio:onended`,{callId:O.callId,chatId:d,currentTime:e.currentTime})},e.onerror=t=>{console.error(`[FlowEngageCall] remote-audio:onerror`,{callId:O.callId,chatId:d,error:e.error?{code:e.error.code,message:e.error.message}:null,raw:t})},Ke.current=e,document.body.appendChild(e)}Ke.current.srcObject=e.streams[0];let r=O?.callId,i=r&&(Xe.current===r||Ye.current===r);if(!Ze.current&&i){let e=new Date().toISOString();Ie(`connected`),Re(t=>t||e),Ye.current=r,Pe(r),lt(e)}Ke.current.srcObject=t||null;let a=Ke.current.play?.();a?.catch&&a.catch(e=>{console.error(`[FlowEngageCall] remote-audio:play-failed`,{callId:O.callId,chatId:d,message:e?.message,name:e?.name,raw:e})})};let r=qe.current;r&&(console.log(`[FlowEngageProvider] found pending remote offer during accept`,{callId:r.callId||O.callId,chatId:d}),await ft({...r,callId:r.callId||O.callId})),await k.current.acceptCall(O.callId,d),console.log(`[FlowEngageProvider] acceptCall API succeeded`,{callId:O.callId,chatId:d}),Ye.current=O.callId,Pe(O.callId),Ie(e=>e===`connected`||Ze.current?`connected`:`connecting`),Me(null),g(!0)}catch(e){if(console.error(`[FlowEngageProvider] acceptCall failed`,e),Xe.current=null,ct(`accept_call_failed`),e?.status===404||e?.status===409||e?.status===422){He(Dn(e,`This visitor call is no longer available.`));return}if(e?.name===`NotAllowedError`||e?.name===`PermissionDeniedError`){try{await k.current.rejectCall(O.callId,d)}catch(e){console.error(`[FlowEngageProvider] failed to reject call after microphone denial`,e)}He(`Microphone access was denied. Please allow microphone access to accept the call.`);return}He(`We couldn't connect the call right now. Please try again.`)}}},mt=async()=>{if(!O?.callId||!k.current||!d){ct(`reject_call_without_server_context`);return}ot();try{await k.current.rejectCall(O.callId,d)}catch(e){console.error(`[FlowEngageProvider] rejectCall failed`,e),He(Dn(e,`We couldn't decline the call cleanly.`))}finally{ct(`reject_call_finally`)}},ht=(0,b.useRef)(mt);ht.current=mt,(0,b.useEffect)(()=>{if(!O?.callId||Ne)return;let e=O.callId,t=window.setTimeout(()=>{We.current?.callId===e&&ht.current()},ae);return()=>window.clearTimeout(t)},[O?.callId,Ne]);let gt=async()=>{if(!Ne||!k.current||!d){ct(`end_call_without_server_context`);return}ot();try{await k.current.endWebRTCCall(Ne,d)}catch(e){console.error(`[FlowEngageProvider] endWebRTCCall failed`,e),He(Dn(e,`The call ended locally, but the server could not be updated.`))}finally{ct(`end_call_finally`)}},_t=()=>{let e=Ge.current?.getAudioTracks?.()||[],t=j.current?.getSenders?.().map(e=>e.track).filter(e=>e?.kind===`audio`)||[],n=[...e,...t].filter(Boolean);if(n.length===0){console.warn(`[FlowEngageProvider] no local audio tracks available for mute`);return}let r=!ze;n.forEach(e=>{e.enabled=!r}),console.log(`[FlowEngageProvider] toggled local mute`,{nextMuted:r,trackCount:n.length}),Be(r)},vt=async(e={})=>{let t=e.notifyChatInitiated===!0;if(g(!0),!(!t||!k.current||!d||typeof window>`u`)){try{await k.current.trackVisitor({chatId:d,currentPagePath:window.location.pathname||`/`})}catch{}try{await k.current.updateChatStatus(d,`open`)}catch{}}},yt=async e=>{let t=st(e);if(!t||!k.current||!A.current)return t;try{await k.current.trackVisitor({chatId:A.current,currentPagePath:typeof window<`u`&&window.location.pathname||`/`,email:t})}catch(e){console.error(`[FlowEngageProvider] failed to persist visitor email`,e)}return t},bt=()=>{if(!d||!Ue.current?.connected||Qe.current){console.log(`[FlowEngageProvider] skipped typing:start emit`,{chatId:d,socketConnected:!!Ue.current?.connected,alreadyTyping:Qe.current});return}Qe.current=!0,console.log(`[FlowEngageProvider] emitting typing:start`,{chatId:d,sender:`user`}),Ue.current.emit(`typing:start`,{chatId:d,sender:`user`})},xt=()=>{if(!d||!Ue.current?.connected||!Qe.current){console.log(`[FlowEngageProvider] skipped typing:stop emit`,{chatId:d,socketConnected:!!Ue.current?.connected,wasTyping:Qe.current});return}Qe.current=!1,console.log(`[FlowEngageProvider] emitting typing:stop`,{chatId:d,sender:`user`}),Ue.current.emit(`typing:stop`,{chatId:d,sender:`user`})},St=(e=``)=>{let t=typeof e==`string`?e:``;if(!d||!Ue.current?.connected){console.log(`[FlowEngageProvider] skipped typing:update emit`,{chatId:d,socketConnected:!!Ue.current?.connected,textLength:t.length});return}$e.current!==t&&($e.current=t,console.log(`[FlowEngageProvider] emitting typing:update`,{chatId:d,sender:`user`,textLength:t.length}),Ue.current.emit(`typing:update`,{chatId:d,sender:`user`,text:t}))},Ct=async(e,t=``,n=null,i={})=>{if(!(typeof e==`string`&&e.trim())||!k.current||!d||a!==`ready`||Ae)return;xt();let o=`pending-user-${Date.now()}`,s={id:o,sender:`user`,message:e,timestamp:new Date().toISOString(),isPending:!0,type:i?.type||`text`,metadata:i?.metadata||void 0,...n||{}};m(e=>[...e,s]);let l=y;if(l)try{l=it(await k.current.checkHumanHandled(d))}catch{}if(l&&Ue.current?.connected){Ue.current.emit(`customer:message`,{chatId:d,content:e,sender:`user`,email:oe||void 0,type:i?.type||`text`,metadata:i?.metadata||{},...n||{}});return}Ce(!0);try{let a=await k.current.sendAiMessage(d,e,r,t,{...n||{},...oe?{email:oe}:{}},i);m(En(a.chat_history||[])),x(!!a.is_human_handled),v(a.is_human_handled?`agent`:`ai`),ye(!1),await k.current.updateChatStatus(d,`messageSent`)}catch(e){m(e=>e.filter(e=>e.id!==o)),ye(!1),e.status===429?(Te(!0),De(e.message),window.setTimeout(()=>{Te(!1),De(``)},re)):c(e)}finally{Ce(!1)}},wt=async e=>{if(!k.current||!e)throw Error(`Upload is unavailable right now.`);return k.current.uploadChatFile(e)},Tt=async e=>{if(!(!k.current||!d)){try{let t=e?`voice`:`text`;await k.current.setChatMode(d,t)}catch(e){console.error(`[FlowEngageProvider] setVoiceMode failed`,e)}ke(e),e&&(nt.current=!1)}},Et=async e=>{if(nt.current)return;if(nt.current=!0,!k.current||!d||!e?.length){ke(!1);return}let t=()=>{let t=En(e);m(e=>{if(!e.length)return t;let n=e[e.length-1],r=t[0];return n&&r&&n.sender===r.sender&&n.message===r.message?e:[...e,...t]})};try{let n=await k.current.syncVoice(d,e);if(n?.chat_history?.length)m(En(n.chat_history));else if(n?.success)try{let e=await k.current.loadHistory(d,r);e?.chat_history?.length?m(En(e.chat_history)):t()}catch{t()}else t()}catch{t()}finally{ke(!1)}},Dt=async()=>{if(!(!k.current||!d)){Oe&&!nt.current&&tt.current.length>0&&await Et(tt.current);try{await k.current.endConversation(d)}catch{try{await k.current.updateChatStatus(d,`ended`)}catch{}}je(!0),m(e=>[...e,{id:`conversation-ended-${Date.now()}`,sender:`system`,message:`This conversation has ended. Thank you for reaching out!`,timestamp:new Date().toISOString(),isPending:!1}])}};(0,b.useEffect)(()=>{if(Fe!==`connected`||!Ne||!d||!Le||!at)return;let e=new Date(Le).getTime(),t=Number.isFinite(e)?Date.now()-e:0,n=Math.max(0,at*1e3-t),r=window.setTimeout(()=>{He(`The call ended because it reached the time limit.`),gt()},n);return()=>window.clearTimeout(r)},[Ne,Le,Fe,d,gt,at]),(0,b.useEffect)(()=>{let e=()=>{let e=A.current,t=k.current;if(!t||!e)return;if(Ye.current){t.beaconEndWebRTCCall(Ye.current,e);return}let n=Xe.current||We.current?.callId;n&&t.beaconCustomerUnavailable(n,e)};return window.addEventListener(`pagehide`,e),window.addEventListener(`beforeunload`,e),()=>{window.removeEventListener(`pagehide`,e),window.removeEventListener(`beforeunload`,e)}},[]);let Ot=(0,b.useMemo)(()=>({status:a,error:s,runtimeConfig:l,resolvedConfig:i,chatId:d,chatHistory:p,isOpen:h,activeScreen:_,isHumanHandled:y,agentName:S,agentHeadshot:te,visitorEmail:oe,isAgentTyping:de,isAiTyping:D,connectionStatus:be,isLoading:Se,isVoiceMode:Oe,isRateLimited:we,rateLimitMessage:Ee,isConversationEnded:Ae,incomingCall:O,activeCallId:Ne,callConnectionState:Fe,callConnectedAt:Le,isCallMuted:ze,webRTCError:Ve,language:r,historyRef:tt,hasSyncedRef:nt,dismissCallError:ot,captureVisitorEmail:yt,startTyping:bt,stopTyping:xt,updateTypingDraft:St,notifyRouteChange:()=>rt.current?.notifyRouteChange?.(),openWidget:vt,closeWidget:()=>g(!1),toggleWidget:()=>{if(h){g(!1);return}vt({notifyChatInitiated:!0})},sendMessage:Ct,uploadChatFile:wt,setVoiceMode:Tt,onMessageSync:Et,endConversation:Dt,acceptCall:pt,rejectCall:mt,endWebRTCCall:gt,toggleCallMute:_t}),[a,s,l,i,d,p,h,_,y,S,te,oe,de,D,be,Se,Oe,we,Ee,Ae,O,Ne,Fe,Le,ze,Ve,r,yt,bt,xt,St,pt,mt,gt,_t,vt,Ct,wt,Tt,Et,Dt,ot]);return(0,N.jsx)(sn.Provider,{value:Ot,children:n})}var Nn=(0,b.createContext)({});function Pn(e){let t=(0,b.useRef)(null);return t.current===null&&(t.current=e()),t.current}var Fn=typeof window<`u`?b.useLayoutEffect:b.useEffect,In=(0,b.createContext)(null);function Ln(e,t){e.indexOf(t)===-1&&e.push(t)}function Rn(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var zn=(e,t,n)=>n>t?t:n<e?e:n,Bn={},Vn=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function Hn(e){return typeof e==`object`&&!!e}var Un=e=>/^0[^.\s]+$/u.test(e);function Wn(e){let t;return()=>(t===void 0&&(t=e()),t)}var Gn=e=>e,Kn=(e,t)=>n=>t(e(n)),qn=(...e)=>e.reduce(Kn),Jn=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},Yn=class{constructor(){this.subscriptions=[]}add(e){return Ln(this.subscriptions,e),()=>Rn(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;i<r;i++){let r=this.subscriptions[i];r&&r(e,t,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}},Xn=e=>e*1e3,Zn=e=>e/1e3;function Qn(e,t){return t?1e3/t*e:0}var $n=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,er=1e-7,tr=12;function nr(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=$n(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>er&&++s<tr);return o}function rr(e,t,n,r){if(e===t&&n===r)return Gn;let i=t=>nr(t,0,1,e,n);return e=>e===0||e===1?e:$n(i(e),t,r)}var ir=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,ar=e=>t=>1-e(1-t),or=rr(.33,1.53,.69,.99),sr=ar(or),cr=ir(sr),lr=e=>e>=1?1:(e*=2)<1?.5*sr(e):.5*(2-2**(-10*(e-1))),ur=e=>1-Math.sin(Math.acos(e)),dr=ar(ur),fr=ir(ur),pr=rr(.42,0,1,1),mr=rr(0,0,.58,1),hr=rr(.42,0,.58,1),gr=e=>Array.isArray(e)&&typeof e[0]!=`number`,_r=e=>Array.isArray(e)&&typeof e[0]==`number`,vr={linear:Gn,easeIn:pr,easeInOut:hr,easeOut:mr,circIn:ur,circInOut:fr,circOut:dr,backIn:sr,backInOut:cr,backOut:or,anticipate:lr},yr=e=>typeof e==`string`,br=e=>{if(_r(e)){e.length;let[t,n,r,i]=e;return rr(t,n,r,i)}else if(yr(e))return vr[e],`${e}`,vr[e];return e},xr=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`],Sr={value:null,addProjectionMetrics:null};function Cr(e,t){let n=new Set,r=new Set,i=!1,a=!1,o=new WeakSet,s={delta:0,timestamp:0,isProcessing:!1},c=0;function l(t){o.has(t)&&(u.schedule(t),e()),c++,t(s)}let u={schedule:(e,t=!1,a=!1)=>{let s=a&&i?n:r;return t&&o.add(e),s.add(e),e},cancel:e=>{r.delete(e),o.delete(e)},process:e=>{if(s=e,i){a=!0;return}i=!0;let o=n;n=r,r=o,n.forEach(l),t&&Sr.value&&Sr.value.frameloop[t].push(c),c=0,n.clear(),i=!1,a&&(a=!1,u.process(e))}};return u}var wr=40;function Tr(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=xr.reduce((e,n)=>(e[n]=Cr(a,t?n:void 0),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,h=()=>{let a=Bn.useManualTiming,o=a?i.timestamp:performance.now();n=!1,a||(i.delta=r?1e3/60:Math.max(Math.min(o-i.timestamp,wr),1)),i.timestamp=o,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(h))},g=()=>{n=!0,r=!0,i.isProcessing||e(h)};return{schedule:xr.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||g(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t<xr.length;t++)o[xr[t]].cancel(e)},state:i,steps:o}}var{schedule:Er,cancel:Dr,state:Or,steps:kr}=Tr(typeof requestAnimationFrame<`u`?requestAnimationFrame:Gn,!0),Ar;function jr(){Ar=void 0}var Mr={now:()=>(Ar===void 0&&Mr.set(Or.isProcessing||Bn.useManualTiming?Or.timestamp:performance.now()),Ar),set:e=>{Ar=e,queueMicrotask(jr)}},Nr={layout:0,mainThread:0,waapi:0},Pr=e=>t=>typeof t==`string`&&t.startsWith(e),Fr=Pr(`--`),Ir=Pr(`var(--`),Lr=e=>Ir(e)?Rr.test(e.split(`/*`)[0].trim()):!1,Rr=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function zr(e){return typeof e==`string`?e.split(`/*`)[0].includes(`var(--`):!1}var Br={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},Vr={...Br,transform:e=>zn(0,1,e)},Hr={...Br,default:1},Ur=e=>Math.round(e*1e5)/1e5,Wr=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function Gr(e){return e==null}var Kr=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,qr=(e,t)=>n=>!!(typeof n==`string`&&Kr.test(n)&&n.startsWith(e)||t&&!Gr(n)&&Object.prototype.hasOwnProperty.call(n,t)),Jr=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(Wr);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},Yr=e=>zn(0,255,e),Xr={...Br,transform:e=>Math.round(Yr(e))},Zr={test:qr(`rgb`,`red`),parse:Jr(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+Xr.transform(e)+`, `+Xr.transform(t)+`, `+Xr.transform(n)+`, `+Ur(Vr.transform(r))+`)`};function Qr(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var $r={test:qr(`#`),parse:Qr,transform:Zr.transform},ei=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),ti=ei(`deg`),ni=ei(`%`),P=ei(`px`),ri=ei(`vh`),ii=ei(`vw`),ai={...ni,parse:e=>ni.parse(e)/100,transform:e=>ni.transform(e*100)},oi={test:qr(`hsl`,`hue`),parse:Jr(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+ni.transform(Ur(t))+`, `+ni.transform(Ur(n))+`, `+Ur(Vr.transform(r))+`)`},si={test:e=>Zr.test(e)||$r.test(e)||oi.test(e),parse:e=>Zr.test(e)?Zr.parse(e):oi.test(e)?oi.parse(e):$r.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?Zr.transform(e):oi.transform(e),getAnimatableNone:e=>{let t=si.parse(e);return t.alpha=0,si.transform(t)}},ci=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function li(e){return isNaN(e)&&typeof e==`string`&&(e.match(Wr)?.length||0)+(e.match(ci)?.length||0)>0}var ui=`number`,di=`color`,fi=`var`,pi=`var(`,mi="${}",hi=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function gi(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(hi,e=>(si.test(e)?(r.color.push(a),i.push(di),n.push(si.parse(e))):e.startsWith(pi)?(r.var.push(a),i.push(fi),n.push(e)):(r.number.push(a),i.push(ui),n.push(parseFloat(e))),++a,mi)).split(mi),indexes:r,types:i}}function _i(e){return gi(e).values}function vi({split:e,types:t}){let n=e.length;return r=>{let i=``;for(let a=0;a<n;a++)if(i+=e[a],r[a]!==void 0){let e=t[a];e===ui?i+=Ur(r[a]):e===di?i+=si.transform(r[a]):i+=r[a]}return i}}function yi(e){return vi(gi(e))}var bi=e=>typeof e==`number`?0:si.test(e)?si.getAnimatableNone(e):e,xi=(e,t)=>typeof e==`number`?t?.trim().endsWith(`/`)?e:0:bi(e);function Si(e){let t=gi(e);return vi(t)(t.values.map((e,n)=>xi(e,t.split[n])))}var Ci={test:li,parse:_i,createTransformer:yi,getAnimatableNone:Si};function wi(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function Ti({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=wi(s,r,e+1/3),a=wi(s,r,e),o=wi(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function Ei(e,t){return n=>n>0?t:e}var F=(e,t,n)=>e+(t-e)*n,Di=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},Oi=[$r,Zr,oi],ki=e=>Oi.find(t=>t.test(e));function Ai(e){let t=ki(e);if(`${e}`,!t)return!1;let n=t.parse(e);return t===oi&&(n=Ti(n)),n}var ji=(e,t)=>{let n=Ai(e),r=Ai(t);if(!n||!r)return Ei(e,t);let i={...n};return e=>(i.red=Di(n.red,r.red,e),i.green=Di(n.green,r.green,e),i.blue=Di(n.blue,r.blue,e),i.alpha=F(n.alpha,r.alpha,e),Zr.transform(i))},Mi=new Set([`none`,`hidden`]);function Ni(e,t){return Mi.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function Pi(e,t){return n=>F(e,t,n)}function Fi(e){return typeof e==`number`?Pi:typeof e==`string`?Lr(e)?Ei:si.test(e)?ji:zi:Array.isArray(e)?Ii:typeof e==`object`?si.test(e)?ji:Li:Ei}function Ii(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>Fi(e)(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}}function Li(e,t){let n={...e,...t},r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=Fi(e[i])(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}}function Ri(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){let a=t.types[i],o=e.indexes[a][r[a]];n[i]=e.values[o]??0,r[a]++}return n}var zi=(e,t)=>{let n=Ci.createTransformer(t),r=gi(e),i=gi(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?Mi.has(e)&&!i.values.length||Mi.has(t)&&!r.values.length?Ni(e,t):qn(Ii(Ri(r,i),i.values),n):(`${e}${t}`,Ei(e,t))};function Bi(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?F(e,t,n):Fi(e)(e,t)}var Vi=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>Er.update(t,e),stop:()=>Dr(t),now:()=>Or.isProcessing?Or.timestamp:Mr.now()}},Hi=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t<i;t++)r+=Math.round(e(t/(i-1))*1e4)/1e4+`, `;return`linear(${r.substring(0,r.length-2)})`},Ui=2e4;function Wi(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}function Gi(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(Wi(r),Ui);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:Zn(i)}}var Ki={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function qi(e,t){return e*Math.sqrt(1-t*t)}var Ji=12;function Yi(e,t,n){let r=n;for(let n=1;n<Ji;n++)r-=e(r)/t(r);return r}var Xi=.001;function Zi({duration:e=Ki.duration,bounce:t=Ki.bounce,velocity:n=Ki.velocity,mass:r=Ki.mass}){let i,a;Ki.maxDuration;let o=1-t;o=zn(Ki.minDamping,Ki.maxDamping,o),e=zn(Ki.minDuration,Ki.maxDuration,Zn(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=qi(t,o),c=Math.exp(-i);return Xi-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=qi(t**2,o);return(-i(t)+Xi>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-Xi+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=Yi(i,a,s);if(e=Xn(e),isNaN(c))return{stiffness:Ki.stiffness,damping:Ki.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Qi=[`duration`,`bounce`],$i=[`stiffness`,`damping`,`mass`];function ea(e,t){return t.some(t=>e[t]!==void 0)}function ta(e){let t={velocity:Ki.velocity,stiffness:Ki.stiffness,damping:Ki.damping,mass:Ki.mass,isResolvedFromDuration:!1,...e};if(!ea(e,$i)&&ea(e,Qi))if(t.velocity=0,e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*zn(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:Ki.mass,stiffness:i,damping:a}}else{let n=Zi({...e,velocity:0});t={...t,...n,mass:Ki.mass},t.isResolvedFromDuration=!0}return t}function na(e=Ki.visualDuration,t=Ki.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=ta({...n,velocity:-Zn(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=Zn(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?Ki.restSpeed.granular:Ki.restSpeed.default,i||=v?Ki.restDelta.granular:Ki.restDelta.default;let y,b,x,ee,S,C;if(h<1)x=qi(_,h),ee=(m+h*_*g)/x,y=e=>o-Math.exp(-h*_*e)*(ee*Math.sin(x*e)+g*Math.cos(x*e)),S=h*_*ee+g*x,C=h*_*g-ee*x,b=e=>Math.exp(-h*_*e)*(S*Math.sin(x*e)+C*Math.cos(x*e));else if(h===1){y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);let e=m+_*g;b=t=>Math.exp(-_*t)*(_*e*t-m)}else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e};let t=(m+h*_*g)/e,n=h*_*t-g*e,r=h*_*g-t*e;b=t=>{let i=Math.exp(-h*_*t),a=Math.min(e*t,300);return i*(n*Math.sinh(a)+r*Math.cosh(a))}}let te={calculatedDuration:p&&d||null,velocity:e=>Xn(b(e)),next:e=>{if(!p&&h<1){let t=Math.exp(-h*_*e),n=Math.sin(x*e),a=Math.cos(x*e),c=o-t*(ee*n+g*a),l=Xn(t*(S*n+C*a));return s.done=Math.abs(l)<=r&&Math.abs(o-c)<=i,s.value=s.done?o:c,s}let t=y(e);if(p)s.done=e>=d;else{let n=Xn(b(e));s.done=Math.abs(n)<=r&&Math.abs(o-t)<=i}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(Wi(te),Ui),t=Hi(t=>te.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return te}na.applyToOptions=e=>{let t=Gi(e,100,na);return e.ease=t.ease,e.duration=Xn(t.duration),e.type=`keyframes`,e};var ra=5;function ia(e,t,n){let r=Math.max(t-ra,0);return Qn(n-e(r),t-r)}function aa({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&e<s||c!==void 0&&e>c,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)<Math.abs(c-e)?s:c,h=n*t,g=d+h,_=o===void 0?g:o(g);_!==g&&(h=_-d);let v=e=>-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,ee,S=e=>{p(f.value)&&(x=e,ee=na({keyframes:[f.value,m(f.value)],velocity:ia(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return S(0),{calculatedDuration:null,next:e=>{let t=!1;return!ee&&x===void 0&&(t=!0,b(e),S(e)),x!==void 0&&e>=x?ee.next(e-x):(!t&&b(e),f)}}}function oa(e,t,n){let r=[],i=n||Bn.mix||Bi,a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=qn(Array.isArray(t)?t[n]||Gn:t,a)),r.push(a)}return r}function sa(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;if(t.length,a===1)return()=>t[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=oa(t,r,i),c=s.length,l=n=>{if(o&&n<e[0])return t[0];let r=0;if(c>1)for(;r<e.length-2&&!(n<e[r+1]);r++);let i=Jn(e[r],e[r+1],n);return s[r](i)};return n?t=>l(zn(e[0],e[a-1],t)):l}function ca(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=Jn(0,t,r);e.push(F(n,1,i))}}function la(e){let t=[0];return ca(t,e.length-1),t}function ua(e,t){return e.map(e=>e*t)}function da(e,t){return e.map(()=>t||hr).splice(0,e.length-1)}function fa({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=gr(r)?r.map(br):br(r),a={done:!1,value:t[0]},o=sa(ua(n&&n.length===t.length?n:la(t),e),t,{ease:Array.isArray(i)?i:da(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var pa=e=>e!==null;function ma(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(pa),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var ha={decay:aa,inertia:aa,tween:fa,keyframes:fa,spring:na};function ga(e){typeof e.type==`string`&&(e.type=ha[e.type])}var _a=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},va=e=>e/100,ya=class extends _a{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==Mr.now()&&this.tick(Mr.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},Nr.mainThread++,this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;ga(e);let{type:t=fa,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||fa;s!==fa&&typeof o[0]!=`number`&&(this.mixKeyframes=qn(va,Bi(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=Wi(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:m,finalKeyframe:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),_=this.playbackSpeed>=0?g<0:g>r;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let v=this.currentTime,y=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(y=a)),v=zn(0,1,n)*o}let b;_?(this.delayState.value=l[0],b=this.delayState):b=y.next(v),i&&!_&&(b.value=i(b.value));let{done:x}=b;!_&&s!==null&&(x=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let ee=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return ee&&p!==aa&&(b.value=ma(l,this.options,h,this.speed)),m&&m(b.value),ee&&this.finish(),b}then(e,t){return this.finished.then(e,t)}get duration(){return Zn(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Zn(e)}get time(){return Zn(this.currentTime)}set time(e){e=Xn(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state=`paused`,this.holdTime=e,this.tick(e))}getGeneratorVelocity(){let e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);let t=this.generator.next(e).value;return ia(e=>this.generator.next(e).value,e,t)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;t&&this.driver&&this.updateTime(Mr.now()),this.playbackSpeed=e,t&&this.driver&&(this.time=Zn(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=Vi,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,this.state===`finished`&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state=`running`,this.driver.start()}pause(){this.state=`paused`,this.updateTime(Mr.now()),this.holdTime=this.currentTime}complete(){this.state!==`running`&&this.play(),this.state=`finished`,this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state=`finished`,this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state=`idle`,this.stopDriver(),this.startTime=this.holdTime=null,Nr.mainThread--}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function ba(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}var xa=e=>e*180/Math.PI,Sa=e=>wa(xa(Math.atan2(e[1],e[0]))),Ca={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:Sa,rotateZ:Sa,skewX:e=>xa(Math.atan(e[1])),skewY:e=>xa(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},wa=e=>(e%=360,e<0&&(e+=360),e),Ta=Sa,Ea=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),Da=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),Oa={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:Ea,scaleY:Da,scale:e=>(Ea(e)+Da(e))/2,rotateX:e=>wa(xa(Math.atan2(e[6],e[5]))),rotateY:e=>wa(xa(Math.atan2(-e[2],e[0]))),rotateZ:Ta,rotate:Ta,skewX:e=>xa(Math.atan(e[4])),skewY:e=>xa(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function ka(e){return e.includes(`scale`)?1:0}function Aa(e,t){if(!e||e===`none`)return ka(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=Oa,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=Ca,i=t}if(!i)return ka(t);let a=r[t],o=i[1].split(`,`).map(Ma);return typeof a==`function`?a(o):o[a]}var ja=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return Aa(n,t)};function Ma(e){return parseFloat(e.trim())}var Na=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],Pa=new Set(Na),Fa=e=>e===Br||e===P,Ia=new Set([`x`,`y`,`z`]),La=Na.filter(e=>!Ia.has(e));function Ra(e){let t=[];return La.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(n.startsWith(`scale`)?1:0))}),t}var za={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>Aa(t,`x`),y:(e,{transform:t})=>Aa(t,`y`)};za.translateX=za.x,za.translateY=za.y;var Ba=new Set,Va=!1,Ha=!1,Ua=!1;function Wa(){if(Ha){let e=Array.from(Ba).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=Ra(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{e.getValue(t)?.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}Ha=!1,Va=!1,Ba.forEach(e=>e.complete(Ua)),Ba.clear()}function Ga(){Ba.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(Ha=!0)})}function Ka(){Ua=!0,Ga(),Wa(),Ua=!1}var qa=class{constructor(e,t,n,r,i,a=!1){this.state=`pending`,this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.state=`scheduled`,this.isAsync?(Ba.add(this),Va||(Va=!0,Er.read(Ga),Er.resolveKeyframes(Wa))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}ba(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),Ba.delete(this)}cancel(){this.state===`scheduled`&&(Ba.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},Ja=e=>e.startsWith(`--`);function Ya(e,t,n){Ja(t)?e.style.setProperty(t,n):e.style[t]=n}var Xa={};function Za(e,t){let n=Wn(e);return()=>Xa[t]??n()}var Qa=Za(()=>window.ScrollTimeline!==void 0,`scrollTimeline`),$a=Za(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),eo=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,to={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:eo([0,.65,.55,1]),circOut:eo([.55,0,1,.45]),backIn:eo([.31,.01,.66,-.59]),backOut:eo([.33,1.53,.69,.99])};function no(e,t){if(e)return typeof e==`function`?$a()?Hi(e,t):`ease-out`:_r(e)?eo(e):Array.isArray(e)?e.map(e=>no(e,t)||to.easeOut):to[e]}function ro(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=no(s,i);Array.isArray(d)&&(u.easing=d),Sr.value&&Nr.waapi++;let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};l&&(f.pseudoElement=l);let p=e.animate(u,f);return Sr.value&&p.finished.finally(()=>{Nr.waapi--}),p}function io(e){return typeof e==`function`&&`applyToOptions`in e}function ao({type:e,...t}){return io(e)&&$a()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var oo=class extends _a{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,e.type;let c=ao(e);this.animation=ro(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=ma(r,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(e),Ya(t,n,e),this.animation.cancel()}s?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state===`finished`&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return Zn(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Zn(e)}get time(){return Zn(Number(this.animation.currentTime)||0)}set time(e){let t=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Xn(e),t&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:n,observe:r}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Qa()?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),n&&(this.animation.rangeEnd=n),Gn):r(this)}},so={anticipate:lr,backInOut:cr,circInOut:fr};function co(e){return e in so}function lo(e){typeof e.ease==`string`&&co(e.ease)&&(e.ease=so[e.ease])}var uo=10,fo=class extends oo{constructor(e){lo(e),ga(e),super(e),e.startTime!==void 0&&e.autoplay!==!1&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new ya({...a,autoplay:!1}),s=Math.max(uo,Mr.now()-this.startTime),c=zn(0,uo,s-uo),l=o.sample(s).value,{name:u}=this.options;i&&u&&Ya(i,u,l),t.setWithVelocity(o.sample(Math.max(0,s-c)).value,l,c),o.stop()}},po=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&(Ci.test(e)||e===`0`)&&!e.startsWith(`url(`));function mo(e){let t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function ho(e,t,n,r){let i=e[0];if(i===null)return!1;if(t===`display`||t===`visibility`)return!0;let a=e[e.length-1],o=po(i,t),s=po(a,t);return`${t}${i}${a}${o?a:i}`,!o||!s?!1:mo(e)||(n===`spring`||io(n))&&r}function go(e){e.duration=0,e.type=`keyframes`}var _o=new Set([`opacity`,`clipPath`,`filter`,`transform`]),I=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function vo(e){for(let t=0;t<e.length;t++)if(typeof e[t]==`string`&&I.test(e[t]))return!0;return!1}var yo=new Set([`color`,`backgroundColor`,`outlineColor`,`fill`,`stroke`,`borderColor`,`borderTopColor`,`borderRightColor`,`borderBottomColor`,`borderLeftColor`]),bo=Wn(()=>Object.hasOwnProperty.call(Element.prototype,`animate`));function xo(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o,keyframes:s}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:c,transformTemplate:l}=t.owner.getProps();return bo()&&n&&(_o.has(n)||yo.has(n)&&vo(s))&&(n!==`transform`||!l)&&!c&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var So=40,Co=class extends _a{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=Mr.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u};this.keyframeResolver=new(l?.KeyframeResolver||qa)(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=Mr.now();let u=!0;ho(e,i,a,o)||(u=!1,(Bn.instantAnimations||!s)&&l?.(ma(e,n,t)),e[0]=e[e.length-1],go(n),n.repeat=0);let d={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>So?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},f=u&&!c&&xo(d),p=d.motionValue?.owner?.current,m;if(f)try{m=new fo({...d,element:p})}catch{m=new ya(d)}else m=new ya(d);m.finished.then(()=>{this.notifyFinished()}).catch(Gn),this.pendingTimeline&&=(this.stopTimeline=m.attachTimeline(this.pendingTimeline),void 0),this._animation=m}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Ka()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}};function wo(e,t,n,r=0,i=1){let a=Array.from(e).sort((e,t)=>e.sortNodePosition(t)).indexOf(t),o=e.size,s=(o-1)*r;return typeof n==`function`?n(a,o):i===1?a*r:s-a*r}var To=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function Eo(e){let t=To.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}function Do(e,t,n=1){`${e}`;let[r,i]=Eo(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return Vn(e)?parseFloat(e):e}return Lr(i)?Do(i,t,n+1):i}var Oo={type:`spring`,stiffness:500,damping:25,restSpeed:10},ko=e=>({type:`spring`,stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),Ao={type:`keyframes`,duration:.8},jo={type:`keyframes`,ease:[.25,.1,.35,1],duration:.3},Mo=(e,{keyframes:t})=>t.length>2?Ao:Pa.has(e)?e.startsWith(`scale`)?ko(t[1]):Oo:jo;function No(e,t){if(e?.inherit&&t){let{inherit:n,...r}=e;return{...t,...r}}return e}function Po(e,t){let n=e?.[t]??e?.default??e;return n===e?n:No(n,e)}var Fo=new Set([`when`,`delay`,`delayChildren`,`staggerChildren`,`staggerDirection`,`repeat`,`repeatType`,`repeatDelay`,`from`,`elapsed`]);function Io(e){for(let t in e)if(!Fo.has(t))return!0;return!1}var Lo=(e,t,n,r={},i,a)=>o=>{let s=Po(r,e)||{},c=s.delay||r.delay||0,{elapsed:l=0}=r;l-=Xn(c);let u={keyframes:Array.isArray(n)?n:[null,n],ease:`easeOut`,velocity:t.getVelocity(),...s,delay:-l,onUpdate:e=>{t.set(e),s.onUpdate&&s.onUpdate(e)},onComplete:()=>{o(),s.onComplete&&s.onComplete()},name:e,motionValue:t,element:a?void 0:i};Io(s)||Object.assign(u,Mo(e,u)),u.duration&&=Xn(u.duration),u.repeatDelay&&=Xn(u.repeatDelay),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(go(u),u.delay===0&&(d=!0)),(Bn.instantAnimations||Bn.skipAnimations||i?.shouldSkipAnimations)&&(d=!0,go(u),u.delay=0),u.allowFlatten=!s.type&&!s.ease,d&&!a&&t.get()!==void 0){let e=ma(u.keyframes,s);if(e!==void 0){Er.update(()=>{u.onUpdate(e),u.onComplete()});return}}return s.isSync?new ya(u):new Co(u)};function Ro(e){let t=[{},{}];return e?.values.forEach((e,n)=>{t[0][n]=e.get(),t[1][n]=e.getVelocity()}),t}function zo(e,t,n,r){if(typeof t==`function`){let[i,a]=Ro(r);t=t(n===void 0?e.custom:n,i,a)}if(typeof t==`string`&&(t=e.variants&&e.variants[t]),typeof t==`function`){let[i,a]=Ro(r);t=t(n===void 0?e.custom:n,i,a)}return t}function Bo(e,t,n){let r=e.getProps();return zo(r,t,n===void 0?r.custom:n,e)}var Vo=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...Na]),Ho=30,Uo=e=>!isNaN(parseFloat(e)),Wo={current:void 0},Go=class{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=Mr.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=Mr.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=Uo(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new Yn);let n=this.events[e].add(t);return e===`change`?()=>{n(),Er.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return Wo.current&&Wo.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=Mr.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>Ho)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,Ho);return Qn(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}};function Ko(e,t){return new Go(e,t)}var qo=e=>Array.isArray(e);function Jo(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,Ko(n))}function Yo(e){return qo(e)?e[e.length-1]||0:e}function Xo(e,t){let{transitionEnd:n={},transition:r={},...i}=Bo(e,t)||{};i={...i,...n};for(let t in i)Jo(e,t,Yo(i[t]))}var Zo=e=>!!(e&&e.getVelocity);function Qo(e){return!!(Zo(e)&&e.add)}function $o(e,t){let n=e.getValue(`willChange`);if(Qo(n))return n.add(t);if(!n&&Bn.WillChange){let n=new Bn.WillChange(`auto`);e.addValue(`willChange`,n),n.add(t)}}function es(e){return e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}var ts=`data-`+es(`framerAppearId`);function ns(e){return e.props[ts]}function rs({protectedKeys:e,needsAnimating:t},n){let r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function is(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:a,transitionEnd:o,...s}=t,c=e.getDefaultTransition();a=a?No(a,c):c;let l=a?.reduceMotion;r&&(a=r);let u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(let t in s){let r=e.getValue(t,e.latestValues[t]??null),i=s[t];if(i===void 0||d&&rs(d,t))continue;let o={delay:n,...Po(a||{},t)},c=r.get();if(c!==void 0&&!r.isAnimating()&&!Array.isArray(i)&&i===c&&!o.velocity){Er.update(()=>r.set(i));continue}let f=!1;if(window.MotionHandoffAnimation){let n=ns(e);if(n){let e=window.MotionHandoffAnimation(n,t,Er);e!==null&&(o.startTime=e,f=!0)}}$o(e,t);let p=l??e.shouldReduceMotion;r.start(Lo(t,r,i,p&&Vo.has(t)?{type:!1}:o,e,f));let m=r.animation;m&&u.push(m)}if(o){let t=()=>Er.update(()=>{o&&Xo(e,o)});u.length?Promise.all(u).then(t):t()}return u}function as(e,t,n={}){let r=Bo(e,t,n.type===`exit`?e.presenceContext?.custom:void 0),{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);let a=r?()=>Promise.all(is(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(r=0)=>{let{delayChildren:a=0,staggerChildren:o,staggerDirection:s}=i;return os(e,t,r,a,o,s,n)}:()=>Promise.resolve(),{when:s}=i;if(s){let[e,t]=s===`beforeChildren`?[a,o]:[o,a];return e().then(()=>t())}else return Promise.all([a(),o(n.delay)])}function os(e,t,n=0,r=0,i=0,a=1,o){let s=[];for(let c of e.variantChildren)c.notify(`AnimationStart`,t),s.push(as(c,t,{...o,delay:n+(typeof r==`function`?0:r)+wo(e.variantChildren,c,r,i,a)}).then(()=>c.notify(`AnimationComplete`,t)));return Promise.all(s)}function ss(e,t,n={}){e.notify(`AnimationStart`,t);let r;if(Array.isArray(t)){let i=t.map(t=>as(e,t,n));r=Promise.all(i)}else if(typeof t==`string`)r=as(e,t,n);else{let i=typeof t==`function`?Bo(e,t,n.custom):t;r=Promise.all(is(e,i,n))}return r.then(()=>{e.notify(`AnimationComplete`,t)})}var cs={test:e=>e===`auto`,parse:e=>e},ls=e=>t=>t.test(e),us=[Br,P,ni,ti,ii,ri,cs],ds=e=>us.find(ls(e));function fs(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||Un(e)}var ps=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function ms(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Wr)||[];if(!r)return e;let i=n.replace(r,``),a=ps.has(t)?1:0;return r!==n&&(a*=100),t+`(`+a+i+`)`}var hs=/\b([a-z-]*)\(.*?\)/gu,gs={...Ci,getAnimatableNone:e=>{let t=e.match(hs);return t?t.map(ms).join(` `):e}},_s={...Ci,getAnimatableNone:e=>{let t=Ci.parse(e);return Ci.createTransformer(e)(t.map(e=>typeof e==`number`?0:typeof e==`object`?{...e,alpha:1}:e))}},vs={...Br,transform:Math.round},ys={borderWidth:P,borderTopWidth:P,borderRightWidth:P,borderBottomWidth:P,borderLeftWidth:P,borderRadius:P,borderTopLeftRadius:P,borderTopRightRadius:P,borderBottomRightRadius:P,borderBottomLeftRadius:P,width:P,maxWidth:P,height:P,maxHeight:P,top:P,right:P,bottom:P,left:P,inset:P,insetBlock:P,insetBlockStart:P,insetBlockEnd:P,insetInline:P,insetInlineStart:P,insetInlineEnd:P,padding:P,paddingTop:P,paddingRight:P,paddingBottom:P,paddingLeft:P,paddingBlock:P,paddingBlockStart:P,paddingBlockEnd:P,paddingInline:P,paddingInlineStart:P,paddingInlineEnd:P,margin:P,marginTop:P,marginRight:P,marginBottom:P,marginLeft:P,marginBlock:P,marginBlockStart:P,marginBlockEnd:P,marginInline:P,marginInlineStart:P,marginInlineEnd:P,fontSize:P,backgroundPositionX:P,backgroundPositionY:P,rotate:ti,rotateX:ti,rotateY:ti,rotateZ:ti,scale:Hr,scaleX:Hr,scaleY:Hr,scaleZ:Hr,skew:ti,skewX:ti,skewY:ti,distance:P,translateX:P,translateY:P,translateZ:P,x:P,y:P,z:P,perspective:P,transformPerspective:P,opacity:Vr,originX:ai,originY:ai,originZ:P,zIndex:vs,fillOpacity:Vr,strokeOpacity:Vr,numOctaves:vs},bs={...ys,color:si,backgroundColor:si,outlineColor:si,fill:si,stroke:si,borderColor:si,borderTopColor:si,borderRightColor:si,borderBottomColor:si,borderLeftColor:si,filter:gs,WebkitFilter:gs,mask:_s,WebkitMask:_s},xs=e=>bs[e],Ss=new Set([gs,_s]);function Cs(e,t){let n=xs(e);return Ss.has(n)||(n=Ci),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var ws=new Set([`auto`,`none`,`0`]);function Ts(e,t,n){let r=0,i;for(;r<e.length&&!i;){let t=e[r];typeof t==`string`&&!ws.has(t)&&gi(t).values.length&&(i=e[r]),r++}if(i&&n)for(let r of t)e[r]=Cs(n,i)}var Es=class extends qa{constructor(e,t,n,r,i){super(e,t,n,r,i,!0)}readKeyframes(){let{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let n=0;n<e.length;n++){let r=e[n];if(typeof r==`string`&&(r=r.trim(),Lr(r))){let i=Do(r,t.current);i!==void 0&&(e[n]=i),n===e.length-1&&(this.finalKeyframe=r)}}if(this.resolveNoneKeyframes(),!Vo.has(n)||e.length!==2)return;let[r,i]=e,a=ds(r),o=ds(i);if(zr(r)!==zr(i)&&za[n]){this.needsMeasurement=!0;return}if(a!==o)if(Fa(a)&&Fa(o))for(let t=0;t<e.length;t++){let n=e[t];typeof n==`string`&&(e[t]=parseFloat(n))}else za[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,n=[];for(let t=0;t<e.length;t++)(e[t]===null||fs(e[t]))&&n.push(t);n.length&&Ts(e,n,t)}measureInitialState(){let{element:e,unresolvedKeyframes:t,name:n}=this;if(!e||!e.current)return;n===`height`&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=za[n](e.measureViewportBox(),window.getComputedStyle(e.current)),t[0]=this.measuredOrigin;let r=t[t.length-1];r!==void 0&&e.getValue(n,r).jump(r,!1)}measureEndState(){let{element:e,name:t,unresolvedKeyframes:n}=this;if(!e||!e.current)return;let r=e.getValue(t);r&&r.jump(this.measuredOrigin,!1);let i=n.length-1,a=n[i];n[i]=za[t](e.measureViewportBox(),window.getComputedStyle(e.current)),a!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=a),this.removedTransforms?.length&&this.removedTransforms.forEach(([t,n])=>{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}};function Ds(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e).filter(e=>e!=null)}var Os=(e,t)=>t&&typeof e==`number`?t.transform(e):e;function ks(e){return Hn(e)&&`offsetHeight`in e&&!(`ownerSVGElement`in e)}var{schedule:As,cancel:js}=Tr(queueMicrotask,!1),Ms={x:!1,y:!1};function Ns(){return Ms.x||Ms.y}function Ps(e){return e===`x`||e===`y`?Ms[e]?null:(Ms[e]=!0,()=>{Ms[e]=!1}):Ms.x||Ms.y?null:(Ms.x=Ms.y=!0,()=>{Ms.x=Ms.y=!1})}function Fs(e,t){let n=Ds(e),r=new AbortController;return[n,{passive:!0,...t,signal:r.signal},()=>r.abort()]}function Is(e){return!(e.pointerType===`touch`||Ns())}function Ls(e,t,n={}){let[r,i,a]=Fs(e,n);return r.forEach(e=>{let n=!1,r=!1,a,o=()=>{e.removeEventListener(`pointerleave`,u)},s=e=>{a&&=(a(e),void 0),o()},c=e=>{n=!1,window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),r&&(r=!1,s(e))},l=()=>{n=!0,window.addEventListener(`pointerup`,c,i),window.addEventListener(`pointercancel`,c,i)},u=e=>{if(e.pointerType!==`touch`){if(n){r=!0;return}s(e)}};e.addEventListener(`pointerenter`,n=>{if(!Is(n))return;r=!1;let o=t(e,n);typeof o==`function`&&(a=o,e.addEventListener(`pointerleave`,u,i))},i),e.addEventListener(`pointerdown`,l,i)}),a}var Rs=(e,t)=>t?e===t?!0:Rs(e,t.parentElement):!1,zs=e=>e.pointerType===`mouse`?typeof e.button!=`number`||e.button<=0:e.isPrimary!==!1,Bs=new Set([`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`,`A`]);function Vs(e){return Bs.has(e.tagName)||e.isContentEditable===!0}var Hs=new Set([`INPUT`,`SELECT`,`TEXTAREA`]);function Us(e){return Hs.has(e.tagName)||e.isContentEditable===!0}var Ws=new WeakSet;function Gs(e){return t=>{t.key===`Enter`&&e(t)}}function Ks(e,t){e.dispatchEvent(new PointerEvent(`pointer`+t,{isPrimary:!0,bubbles:!0}))}var qs=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=Gs(()=>{if(Ws.has(n))return;Ks(n,`down`);let e=Gs(()=>{Ks(n,`up`)});n.addEventListener(`keyup`,e,t),n.addEventListener(`blur`,()=>Ks(n,`cancel`),t)});n.addEventListener(`keydown`,r,t),n.addEventListener(`blur`,()=>n.removeEventListener(`keydown`,r),t)};function Js(e){return zs(e)&&!Ns()}var Ys=new WeakSet;function Xs(e,t,n={}){let[r,i,a]=Fs(e,n),o=e=>{let r=e.currentTarget;if(!Js(e)||Ys.has(e))return;Ws.add(r),n.stopPropagation&&Ys.add(e);let a=t(r,e),o=(e,t)=>{window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),Ws.has(r)&&Ws.delete(r),Js(e)&&typeof a==`function`&&a(e,{success:t})},s=e=>{o(e,r===window||r===document||n.useGlobalTarget||Rs(r,e.target))},c=e=>{o(e,!1)};window.addEventListener(`pointerup`,s,i),window.addEventListener(`pointercancel`,c,i)};return r.forEach(e=>{(n.useGlobalTarget?window:e).addEventListener(`pointerdown`,o,i),ks(e)&&(e.addEventListener(`focus`,e=>qs(e,i)),!Vs(e)&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=0))}),a}function Zs(e){return Hn(e)&&`ownerSVGElement`in e}var Qs=new WeakMap,$s,ec=(e,t,n)=>(r,i)=>i&&i[0]?i[0][e+`Size`]:Zs(r)&&`getBBox`in r?r.getBBox()[t]:r[n],tc=ec(`inline`,`width`,`offsetWidth`),nc=ec(`block`,`height`,`offsetHeight`);function rc({target:e,borderBoxSize:t}){Qs.get(e)?.forEach(n=>{n(e,{get width(){return tc(e,t)},get height(){return nc(e,t)}})})}function ic(e){e.forEach(rc)}function ac(){typeof ResizeObserver>`u`||($s=new ResizeObserver(ic))}function oc(e,t){$s||ac();let n=Ds(e);return n.forEach(e=>{let n=Qs.get(e);n||(n=new Set,Qs.set(e,n)),n.add(t),$s?.observe(e)}),()=>{n.forEach(e=>{let n=Qs.get(e);n?.delete(t),n?.size||$s?.unobserve(e)})}}var sc=new Set,cc;function lc(){cc=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};sc.forEach(t=>t(e))},window.addEventListener(`resize`,cc)}function uc(e){return sc.add(e),cc||lc(),()=>{sc.delete(e),!sc.size&&typeof cc==`function`&&(window.removeEventListener(`resize`,cc),cc=void 0)}}function dc(e,t){return typeof e==`function`?uc(e):oc(e,t)}function fc(e){return Zs(e)&&e.tagName===`svg`}var pc=[...us,si,Ci],mc=e=>pc.find(ls(e)),hc=()=>({translate:0,scale:1,origin:0,originPoint:0}),gc=()=>({x:hc(),y:hc()}),_c=()=>({min:0,max:0}),vc=()=>({x:_c(),y:_c()}),yc=new WeakMap;function bc(e){return typeof e==`object`&&!!e&&typeof e.start==`function`}function xc(e){return typeof e==`string`||Array.isArray(e)}var Sc=[`animate`,`whileInView`,`whileFocus`,`whileHover`,`whileTap`,`whileDrag`,`exit`],Cc=[`initial`,...Sc];function wc(e){return bc(e.animate)||Cc.some(t=>xc(e[t]))}function Tc(e){return!!(wc(e)||e.variants)}function Ec(e,t,n){for(let r in t){let i=t[r],a=n[r];if(Zo(i))e.addValue(r,i);else if(Zo(a))e.addValue(r,Ko(i,{owner:e}));else if(a!==i)if(e.hasValue(r)){let t=e.getValue(r);t.liveStyle===!0?t.jump(i):t.hasAnimated||t.set(i)}else{let t=e.getStaticValue(r);e.addValue(r,Ko(t===void 0?i:t,{owner:e}))}}for(let r in n)t[r]===void 0&&e.removeValue(r);return t}var Dc={current:null},Oc={current:!1},kc=typeof window<`u`;function Ac(){if(Oc.current=!0,kc)if(window.matchMedia){let e=window.matchMedia(`(prefers-reduced-motion)`),t=()=>Dc.current=e.matches;e.addEventListener(`change`,t),t()}else Dc.current=!1}var jc=[`AnimationStart`,`AnimationComplete`,`Update`,`BeforeLayoutMeasure`,`LayoutMeasure`,`LayoutAnimationStart`,`LayoutAnimationComplete`],Mc={};function Nc(e){Mc=e}function Pc(){return Mc}var Fc=class{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,skipAnimations:i,blockInitialAnimation:a,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=qa,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify(`Update`,this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let e=Mr.now();this.renderScheduledAt<e&&(this.renderScheduledAt=e,Er.render(this.render,!1,!0))};let{latestValues:c,renderState:l}=o;this.latestValues=c,this.baseTarget={...c},this.initialValues=t.initial?{...c}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.skipAnimationsConfig=i,this.options=s,this.blockInitialAnimation=!!a,this.isControllingVariants=wc(t),this.isVariantNode=Tc(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);let{willChange:u,...d}=this.scrapeMotionValuesFromProps(t,{},this);for(let e in d){let t=d[e];c[e]!==void 0&&Zo(t)&&t.set(c[e])}}mount(e){if(this.hasBeenMounted)for(let e in this.initialValues)this.values.get(e)?.jump(this.initialValues[e]),this.latestValues[e]=this.initialValues[e];this.current=e,yc.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((e,t)=>this.bindToMotionValue(t,e)),this.reducedMotionConfig===`never`?this.shouldReduceMotion=!1:this.reducedMotionConfig===`always`?this.shouldReduceMotion=!0:(Oc.current||Ac(),this.shouldReduceMotion=Dc.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),Dr(this.notifyUpdate),Dr(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(let e in this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??=new Set,this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,t){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),t.accelerate&&_o.has(e)&&this.current instanceof HTMLElement){let{factory:n,keyframes:r,times:i,ease:a,duration:o}=t.accelerate,s=new oo({element:this.current,name:e,keyframes:r,times:i,ease:a,duration:Xn(o)}),c=n(s);this.valueSubscriptions.set(e,()=>{c(),s.cancel()});return}let n=Pa.has(e);n&&this.onBindTransform&&this.onBindTransform();let r=t.on(`change`,t=>{this.latestValues[e]=t,this.props.onUpdate&&Er.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()}),i;typeof window<`u`&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,()=>{r(),i&&i(),t.owner&&t.stop()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e=`animation`;for(e in Mc){let t=Mc[e];if(!t)continue;let{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){let t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):vc()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;t<jc.length;t++){let n=jc[t];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);let r=e[`on`+n];r&&(this.propEventSubscriptions[n]=this.on(n,r))}this.prevMotionValues=Ec(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){let t=this.getClosestVariantNode();if(t)return t.variantChildren&&t.variantChildren.add(e),()=>t.variantChildren.delete(e)}addValue(e,t){let n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return n===void 0&&t!==void 0&&(n=Ko(t===null?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){let n=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return n!=null&&(typeof n==`string`&&(Vn(n)||Un(n))?n=parseFloat(n):!mc(n)&&Ci.test(t)&&(n=Cs(e,t)),this.setBaseTarget(e,Zo(n)?n.get():n)),Zo(n)?n.get():n}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){let{initial:t}=this.props,n;if(typeof t==`string`||typeof t==`object`){let r=zo(this.props,t,this.presenceContext?.custom);r&&(n=r[e])}if(t&&n!==void 0)return n;let r=this.getBaseTargetFromProps(this.props,e);return r!==void 0&&!Zo(r)?r:this.initialValues[e]!==void 0&&n===void 0?void 0:this.baseTarget[e]}on(e,t){return this.events[e]||(this.events[e]=new Yn),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){As.render(this.render)}},Ic=class extends Fc{constructor(){super(...arguments),this.KeyframeResolver=Es}sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){let n=e.style;return n?n[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:e}=this.props;Zo(e)&&(this.childSubscription=e.on(`change`,e=>{this.current&&(this.current.textContent=`${e}`)}))}},Lc=class{constructor(e){this.isMounted=!1,this.node=e}update(){}};function Rc({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function zc({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Bc(e,t){if(!t)return e;let n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function Vc(e){return e===void 0||e===1}function Hc({scale:e,scaleX:t,scaleY:n}){return!Vc(e)||!Vc(t)||!Vc(n)}function Uc(e){return Hc(e)||Wc(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Wc(e){return Gc(e.x)||Gc(e.y)}function Gc(e){return e&&e!==`0%`}function Kc(e,t,n){return n+t*(e-n)}function qc(e,t,n,r,i){return i!==void 0&&(e=Kc(e,i,r)),Kc(e,n,r)+t}function Jc(e,t=0,n=1,r,i){e.min=qc(e.min,t,n,r,i),e.max=qc(e.max,t,n,r,i)}function Yc(e,{x:t,y:n}){Jc(e.x,t.translate,t.scale,t.originPoint),Jc(e.y,n.translate,n.scale,n.originPoint)}var Xc=.999999999999,Zc=1.0000000000001;function Qc(e,t,n,r=!1){let i=n.length;if(!i)return;t.x=t.y=1;let a,o;for(let s=0;s<i;s++){a=n[s],o=a.projectionDelta;let{visualElement:i}=a.options;i&&i.props.style&&i.props.style.display===`contents`||(r&&a.options.layoutScroll&&a.scroll&&a!==a.root&&($c(e.x,-a.scroll.offset.x),$c(e.y,-a.scroll.offset.y)),o&&(t.x*=o.x.scale,t.y*=o.y.scale,Yc(e,o)),r&&Uc(a.latestValues)&&nl(e,a.latestValues,a.layout?.layoutBox))}t.x<Zc&&t.x>Xc&&(t.x=1),t.y<Zc&&t.y>Xc&&(t.y=1)}function $c(e,t){e.min+=t,e.max+=t}function el(e,t,n,r,i=.5){Jc(e,t,n,F(e.min,e.max,i),r)}function tl(e,t){return typeof e==`string`?parseFloat(e)/100*(t.max-t.min):e}function nl(e,t,n){let r=n??e;el(e.x,tl(t.x,r.x),t.scaleX,t.scale,t.originX),el(e.y,tl(t.y,r.y),t.scaleY,t.scale,t.originY)}function rl(e,t){return Rc(Bc(e.getBoundingClientRect(),t))}function il(e,t,n){let r=rl(e,n),{scroll:i}=t;return i&&($c(r.x,i.offset.x),$c(r.y,i.offset.y)),r}var al={x:`translateX`,y:`translateY`,z:`translateZ`,transformPerspective:`perspective`},ol=Na.length;function sl(e,t,n){let r=``,i=!0;for(let a=0;a<ol;a++){let o=Na[a],s=e[o];if(s===void 0)continue;let c=!0;if(typeof s==`number`)c=s===(o.startsWith(`scale`)?1:0);else{let e=parseFloat(s);c=o.startsWith(`scale`)?e===1:e===0}if(!c||n){let e=Os(s,ys[o]);if(!c){i=!1;let t=al[o]||o;r+=`${t}(${e}) `}n&&(t[o]=e)}}return r=r.trim(),n?r=n(t,i?``:r):i&&(r=`none`),r}function cl(e,t,n){let{style:r,vars:i,transformOrigin:a}=e,o=!1,s=!1;for(let e in t){let n=t[e];if(Pa.has(e)){o=!0;continue}else if(Fr(e)){i[e]=n;continue}else{let t=Os(n,ys[e]);e.startsWith(`origin`)?(s=!0,a[e]=t):r[e]=t}}if(t.transform||(o||n?r.transform=sl(t,e.transform,n):r.transform&&=`none`),s){let{originX:e=`50%`,originY:t=`50%`,originZ:n=0}=a;r.transformOrigin=`${e} ${t} ${n}`}}function ll(e,{style:t,vars:n},r,i){let a=e.style,o;for(o in t)a[o]=t[o];for(o in i?.applyProjectionStyles(a,r),n)a.setProperty(o,n[o])}function ul(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}var dl={correct:(e,t)=>{if(!t.target)return e;if(typeof e==`string`)if(P.test(e))e=parseFloat(e);else return e;return`${ul(e,t.target.x)}% ${ul(e,t.target.y)}%`}},fl={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,i=Ci.parse(e);if(i.length>5)return r;let a=Ci.createTransformer(e),o=typeof i[0]==`number`?0:1,s=n.x.scale*t.x,c=n.y.scale*t.y;i[0+o]/=s,i[1+o]/=c;let l=F(s,c,.5);return typeof i[2+o]==`number`&&(i[2+o]/=l),typeof i[3+o]==`number`&&(i[3+o]/=l),a(i)}},pl={borderRadius:{...dl,applyTo:[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`]},borderTopLeftRadius:dl,borderTopRightRadius:dl,borderBottomLeftRadius:dl,borderBottomRightRadius:dl,boxShadow:fl};function ml(e,{layout:t,layoutId:n}){return Pa.has(e)||e.startsWith(`origin`)||(t||n!==void 0)&&(!!pl[e]||e===`opacity`)}function hl(e,t,n){let r=e.style,i=t?.style,a={};if(!r)return a;for(let t in r)(Zo(r[t])||i&&Zo(i[t])||ml(t,e)||n?.getValue(t)?.liveStyle!==void 0)&&(a[t]=r[t]);return a}function gl(e){return window.getComputedStyle(e)}var _l=class extends Ic{constructor(){super(...arguments),this.type=`html`,this.renderInstance=ll}readValueFromInstance(e,t){if(Pa.has(t))return this.projection?.isProjecting?ka(t):ja(e,t);{let n=gl(e),r=(Fr(t)?n.getPropertyValue(t):n[t])||0;return typeof r==`string`?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return rl(e,t)}build(e,t,n){cl(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return hl(e,t,n)}},vl={offset:`stroke-dashoffset`,array:`stroke-dasharray`},yl={offset:`strokeDashoffset`,array:`strokeDasharray`};function bl(e,t,n=1,r=0,i=!0){e.pathLength=1;let a=i?vl:yl;e[a.offset]=`${-r}`,e[a.array]=`${t} ${n}`}var xl=[`offsetDistance`,`offsetPath`,`offsetRotate`,`offsetAnchor`];function Sl(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:a=1,pathOffset:o=0,...s},c,l,u){if(cl(e,s,l),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};let{attrs:d,style:f}=e;d.transform&&(f.transform=d.transform,delete d.transform),(f.transform||d.transformOrigin)&&(f.transformOrigin=d.transformOrigin??`50% 50%`,delete d.transformOrigin),f.transform&&(f.transformBox=u?.transformBox??`fill-box`,delete d.transformBox);for(let e of xl)d[e]!==void 0&&(f[e]=d[e],delete d[e]);t!==void 0&&(d.x=t),n!==void 0&&(d.y=n),r!==void 0&&(d.scale=r),i!==void 0&&bl(d,i,a,o,!1)}var Cl=new Set([`baseFrequency`,`diffuseConstant`,`kernelMatrix`,`kernelUnitLength`,`keySplines`,`keyTimes`,`limitingConeAngle`,`markerHeight`,`markerWidth`,`numOctaves`,`targetX`,`targetY`,`surfaceScale`,`specularConstant`,`specularExponent`,`stdDeviation`,`tableValues`,`viewBox`,`gradientTransform`,`pathLength`,`startOffset`,`textLength`,`lengthAdjust`]),wl=e=>typeof e==`string`&&e.toLowerCase()===`svg`;function Tl(e,t,n,r){ll(e,t,void 0,r);for(let n in t.attrs)e.setAttribute(Cl.has(n)?n:es(n),t.attrs[n])}function El(e,t,n){let r=hl(e,t,n);for(let n in e)if(Zo(e[n])||Zo(t[n])){let t=Na.indexOf(n)===-1?n:`attr`+n.charAt(0).toUpperCase()+n.substring(1);r[t]=e[n]}return r}var Dl=class extends Ic{constructor(){super(...arguments),this.type=`svg`,this.isSVGTag=!1,this.measureInstanceViewportBox=vc}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(Pa.has(t)){let e=xs(t);return e&&e.default||0}return t=Cl.has(t)?t:es(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return El(e,t,n)}build(e,t,n){Sl(e,t,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(e,t,n,r){Tl(e,t,n,r)}mount(e){this.isSVGTag=wl(e.tagName),super.mount(e)}},Ol=Cc.length;function kl(e){if(!e)return;if(!e.isControllingVariants){let t=e.parent&&kl(e.parent)||{};return e.props.initial!==void 0&&(t.initial=e.props.initial),t}let t={};for(let n=0;n<Ol;n++){let r=Cc[n],i=e.props[r];(xc(i)||i===!1)&&(t[r]=i)}return t}function Al(e,t){if(!Array.isArray(t))return!1;let n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}var jl=[...Sc].reverse(),Ml=Sc.length;function Nl(e){return t=>Promise.all(t.map(({animation:t,options:n})=>ss(e,t,n)))}function Pl(e){let t=Nl(e),n=Ll(),r=!0,i=!1,a=t=>(n,r)=>{let i=Bo(e,r,t===`exit`?e.presenceContext?.custom:void 0);if(i){let{transition:e,transitionEnd:t,...r}=i;n={...n,...r,...t}}return n};function o(n){t=n(e)}function s(o){let{props:s}=e,c=kl(e.parent)||{},l=[],u=new Set,d={},f=1/0;for(let t=0;t<Ml;t++){let p=jl[t],m=n[p],h=s[p]===void 0?c[p]:s[p],g=xc(h),_=p===o?m.isActive:null;_===!1&&(f=t);let v=h===c[p]&&h!==s[p]&&g;if(v&&(r||i)&&e.manuallyAnimateOnMount&&(v=!1),m.protectedKeys={...d},!m.isActive&&_===null||!h&&!m.prevProp||bc(h)||typeof h==`boolean`)continue;if(p===`exit`&&m.isActive&&_!==!0){m.prevResolvedValues&&(d={...d,...m.prevResolvedValues});continue}let y=Fl(m.prevProp,h),b=y||p===o&&m.isActive&&!v&&g||t>f&&g,x=!1,ee=Array.isArray(h)?h:[h],S=ee.reduce(a(p),{});_===!1&&(S={});let{prevResolvedValues:C={}}=m,te={...C,...S},ne=t=>{b=!0,u.has(t)&&(x=!0,u.delete(t)),m.needsAnimating[t]=!0;let n=e.getValue(t);n&&(n.liveStyle=!1)};for(let e in te){let t=S[e],n=C[e];if(d.hasOwnProperty(e))continue;let r=!1;r=qo(t)&&qo(n)?!Al(t,n):t!==n,r?t==null?u.add(e):ne(e):t!==void 0&&u.has(e)?ne(e):m.protectedKeys[e]=!0}m.prevProp=h,m.prevResolvedValues=S,m.isActive&&(d={...d,...S}),(r||i)&&e.blockInitialAnimation&&(b=!1);let re=v&&y;b&&(!re||x)&&l.push(...ee.map(t=>{let n={type:p};if(typeof t==`string`&&(r||i)&&!re&&e.manuallyAnimateOnMount&&e.parent){let{parent:r}=e,i=Bo(r,t);if(r.enteringChildren&&i){let{delayChildren:t}=i.transition||{};n.delay=wo(r.enteringChildren,e,t)}}return{animation:t,options:n}}))}if(u.size){let t={};if(typeof s.initial!=`boolean`){let n=Bo(e,Array.isArray(s.initial)?s.initial[0]:s.initial);n&&n.transition&&(t.transition=n.transition)}u.forEach(n=>{let r=e.getBaseTarget(n),i=e.getValue(n);i&&(i.liveStyle=!0),t[n]=r??null}),l.push({animation:t})}let p=!!l.length;return r&&(s.initial===!1||s.initial===s.animate)&&!e.manuallyAnimateOnMount&&(p=!1),r=!1,i=!1,p?t(l):Promise.resolve()}function c(t,r){if(n[t].isActive===r)return Promise.resolve();e.variantChildren?.forEach(e=>e.animationState?.setActive(t,r)),n[t].isActive=r;let i=s(t);for(let e in n)n[e].protectedKeys={};return i}return{animateChanges:s,setActive:c,setAnimateFunction:o,getState:()=>n,reset:()=>{n=Ll(),i=!0}}}function Fl(e,t){return typeof t==`string`?t!==e:Array.isArray(t)?!Al(t,e):!1}function Il(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Ll(){return{animate:Il(!0),whileInView:Il(),whileHover:Il(),whileTap:Il(),whileDrag:Il(),whileFocus:Il(),exit:Il()}}function Rl(e,t){e.min=t.min,e.max=t.max}function zl(e,t){Rl(e.x,t.x),Rl(e.y,t.y)}function Bl(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var Vl=1e-4,Hl=1-Vl,Ul=1+Vl,Wl=.01,Gl=0-Wl,Kl=0+Wl;function ql(e){return e.max-e.min}function Jl(e,t,n){return Math.abs(e-t)<=n}function Yl(e,t,n,r=.5){e.origin=r,e.originPoint=F(t.min,t.max,e.origin),e.scale=ql(n)/ql(t),e.translate=F(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Hl&&e.scale<=Ul||isNaN(e.scale))&&(e.scale=1),(e.translate>=Gl&&e.translate<=Kl||isNaN(e.translate))&&(e.translate=0)}function L(e,t,n,r){Yl(e.x,t.x,n.x,r?r.originX:void 0),Yl(e.y,t.y,n.y,r?r.originY:void 0)}function R(e,t,n,r=0){e.min=(r?F(n.min,n.max,r):n.min)+t.min,e.max=e.min+ql(t)}function Xl(e,t,n,r){R(e.x,t.x,n.x,r?.x),R(e.y,t.y,n.y,r?.y)}function Zl(e,t,n,r=0){let i=r?F(n.min,n.max,r):n.min;e.min=t.min-i,e.max=e.min+ql(t)}function Ql(e,t,n,r){Zl(e.x,t.x,n.x,r?.x),Zl(e.y,t.y,n.y,r?.y)}function $l(e,t,n,r,i){return e-=t,e=Kc(e,1/n,r),i!==void 0&&(e=Kc(e,1/i,r)),e}function eu(e,t=0,n=1,r=.5,i,a=e,o=e){if(ni.test(t)&&(t=parseFloat(t),t=F(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=F(a.min,a.max,r);e===a&&(s-=t),e.min=$l(e.min,t,n,s,i),e.max=$l(e.max,t,n,s,i)}function tu(e,t,[n,r,i],a,o){eu(e,t[n],t[r],t[i],t.scale,a,o)}var nu=[`x`,`scaleX`,`originX`],ru=[`y`,`scaleY`,`originY`];function iu(e,t,n,r){tu(e.x,t,nu,n?n.x:void 0,r?r.x:void 0),tu(e.y,t,ru,n?n.y:void 0,r?r.y:void 0)}function au(e){return e.translate===0&&e.scale===1}function ou(e){return au(e.x)&&au(e.y)}function su(e,t){return e.min===t.min&&e.max===t.max}function cu(e,t){return su(e.x,t.x)&&su(e.y,t.y)}function lu(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function uu(e,t){return lu(e.x,t.x)&&lu(e.y,t.y)}function du(e){return ql(e.x)/ql(e.y)}function fu(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function pu(e){return[e(`x`),e(`y`)]}function mu(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,rotateX:i,rotateY:a,skewX:o,skewY:s}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotateX(${i}deg) `),a&&(r+=`rotateY(${a}deg) `),o&&(r+=`skewX(${o}deg) `),s&&(r+=`skewY(${s}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var hu=[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`],gu=hu.length,_u=e=>typeof e==`string`?parseFloat(e):e,vu=e=>typeof e==`number`||P.test(e);function yu(e,t,n,r,i,a){i?(e.opacity=F(0,n.opacity??1,xu(r)),e.opacityExit=F(t.opacity??1,0,Su(r))):a&&(e.opacity=F(t.opacity??1,n.opacity??1,r));for(let i=0;i<gu;i++){let a=hu[i],o=bu(t,a),s=bu(n,a);o===void 0&&s===void 0||(o||=0,s||=0,o===0||s===0||vu(o)===vu(s)?(e[a]=Math.max(F(_u(o),_u(s),r),0),(ni.test(s)||ni.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=F(t.rotate||0,n.rotate||0,r))}function bu(e,t){return e[t]===void 0?e.borderRadius:e[t]}var xu=Cu(0,.5,dr),Su=Cu(.5,.95,Gn);function Cu(e,t,n){return r=>r<e?0:r>t?1:n(Jn(e,t,r))}function wu(e,t,n){let r=Zo(e)?e:Ko(e);return r.start(Lo(``,r,t,n)),r.animation}function Tu(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}var Eu=(e,t)=>e.depth-t.depth,Du=class{constructor(){this.children=[],this.isDirty=!1}add(e){Ln(this.children,e),this.isDirty=!0}remove(e){Rn(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Eu),this.isDirty=!1,this.children.forEach(e)}};function Ou(e,t){let n=Mr.now(),r=({timestamp:i})=>{let a=i-n;a>=t&&(Dr(r),e(a-t))};return Er.setup(r,!0),()=>Dr(r)}function ku(e){return Zo(e)?e.get():e}var Au=class{constructor(){this.members=[]}add(e){Ln(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;(!r||r.isConnected===!1)&&!n.snapshot&&(Rn(this.members,n),n.unmount())}e.scheduleRender()}remove(e){if(Rn(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(e.isPresent!==!1&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:i}=e.options;(r===void 0||r!==i)&&(e.resumeFrom=n,t&&(n.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}},ju={hasAnimatedSinceResize:!0,hasEverUpdated:!1},Mu={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},Nu=[``,`X`,`Y`,`Z`],Pu=1e3,Fu=0;function Iu(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Lu(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:t}=e.options;if(!t)return;let n=ns(t);if(window.MotionHasOptimisedAnimation(n,`transform`)){let{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,`transform`,Er,!(t||r))}let{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&Lu(r)}function Ru({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(e={},n=t?.()){this.id=Fu++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,Sr.value&&(Mu.nodes=Mu.calculatedTargetDeltas=Mu.calculatedProjections=0),this.nodes.forEach(Vu),this.nodes.forEach(Xu),this.nodes.forEach(Zu),this.nodes.forEach(Hu),Sr.addProjectionMetrics&&Sr.addProjectionMetrics(Mu)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new Du)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Yn),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t){if(this.instance)return;this.isSVG=Zs(t)&&!fc(t),this.instance=t;let{layoutId:n,layout:r,visualElement:i}=this.options;if(i&&!i.current&&i.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(r||n)&&(this.isLayoutDirty=!0),e){let n,r=0,i=()=>this.root.updateBlockedByResize=!1;Er.read(()=>{r=window.innerWidth}),e(t,()=>{let e=window.innerWidth;e!==r&&(r=e,this.root.updateBlockedByResize=!0,n&&n(),n=Ou(i,250),ju.hasAnimatedSinceResize&&(ju.hasAnimatedSinceResize=!1,this.nodes.forEach(Yu)))})}n&&this.root.registerSharedNode(n,this),this.options.animate!==!1&&i&&(n||r)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let a=this.options.transition||i.getDefaultTransition()||id,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=i.getProps(),c=!this.targetLayout||!uu(this.targetLayout,r),l=!t&&n;if(this.options.layoutRoot||this.resumeFrom||l||t&&(c||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...Po(a,`layout`),onPlay:o,onComplete:s};(i.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,l)}else t||Yu(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),Dr(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Qu),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Lu(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,(typeof t.latestValues.x==`string`||typeof t.latestValues.y==`string`)&&(t.isLayoutDirty=!0),t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEach(Gu),this.nodes.forEach(Wu);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Ku);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(qu),this.nodes.forEach(Ju),this.nodes.forEach(zu),this.nodes.forEach(Bu)):this.nodes.forEach(Ku),this.clearAllSnapshots();let e=Mr.now();Or.delta=zn(0,1e3/60,e-Or.timestamp),Or.timestamp=e,Or.isProcessing=!0,kr.update.process(Or),kr.preRender.process(Or),kr.render.process(Or),Or.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,As.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Uu),this.sharedNodes.forEach($u)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Er.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Er.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!ql(this.snapshot.measuredBox.x)&&!ql(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||=vc(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=r(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!i)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!ou(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,a=r!==this.prevTransformTemplateValue;e&&this.instance&&(t||Uc(this.latestValues)||a)&&(i(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),cd(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return vc();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(ud))){let{scroll:e}=this.root;e&&($c(t.x,e.offset.x),$c(t.y,e.offset.y))}return t}removeElementScroll(e){let t=vc();if(zl(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&zl(t,e),$c(t.x,i.offset.x),$c(t.y,i.offset.y))}return t}applyTransform(e,t=!1,n){let r=n||vc();zl(r,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];!t&&n.options.layoutScroll&&n.scroll&&n!==n.root&&($c(r.x,-n.scroll.offset.x),$c(r.y,-n.scroll.offset.y)),Uc(n.latestValues)&&nl(r,n.latestValues,n.layout?.layoutBox)}return Uc(this.latestValues)&&nl(r,this.latestValues,this.layout?.layoutBox),r}removeTransform(e){let t=vc();zl(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!Uc(n.latestValues))continue;let r;n.instance&&(Hc(n.latestValues)&&n.updateSnapshot(),r=vc(),zl(r,n.measurePageBox())),iu(t,n.latestValues,n.snapshot?.layoutBox,r)}return Uc(this.latestValues)&&iu(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0?!0:e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==Or.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(!this.layout||!(r||i))return;this.resolvedRelativeTargetAt=Or.timestamp;let a=this.getClosestProjectingParent();a&&this.linkedParentVersion!==a.layoutVersion&&!a.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&a&&a.layout?this.createRelativeTarget(a,this.layout.layoutBox,a.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=vc(),this.targetWithTransforms=vc()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),Xl(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):zl(this.target,this.layout.layoutBox),Yc(this.target,this.targetDelta)):zl(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&a&&!!a.resumingFrom==!!this.resumingFrom&&!a.options.layoutScroll&&a.target&&this.animationProgress!==1?this.createRelativeTarget(a,this.target,a.target):this.relativeParent=this.relativeTarget=void 0),Sr.value&&Mu.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||Hc(this.parent.latestValues)||Wc(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,n){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=vc(),this.relativeTargetOrigin=vc(),Ql(this.relativeTargetOrigin,t,n,this.options.layoutAnchor||void 0),zl(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===Or.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;zl(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;Qc(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=vc());let{target:s}=e;if(!s){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Bl(this.prevProjectionDelta.x,this.projectionDelta.x),Bl(this.prevProjectionDelta.y,this.projectionDelta.y)),L(this.projectionDelta,this.layoutCorrected,s,this.latestValues),(this.treeScale.x!==a||this.treeScale.y!==o||!fu(this.projectionDelta.x,this.prevProjectionDelta.x)||!fu(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),Sr.value&&Mu.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=gc(),this.projectionDelta=gc(),this.projectionDeltaWithTransform=gc()}setAnimationOrigin(e,t=!1){let n=this.snapshot,r=n?n.latestValues:{},i={...this.latestValues},a=gc();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let o=vc(),s=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),c=this.getStack(),l=!c||c.members.length<=1,u=!!(s&&!l&&this.options.crossfade===!0&&!this.path.some(rd));this.animationProgress=0;let d;this.mixTargetDelta=t=>{let n=t/1e3;ed(a.x,e.x,n),ed(a.y,e.y,n),this.setTargetDelta(a),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Ql(o,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),nd(this.relativeTarget,this.relativeTargetOrigin,o,n),d&&cu(this.relativeTarget,d)&&(this.isProjectionDirty=!1),d||=vc(),zl(d,this.relativeTarget)),s&&(this.animationValues=i,yu(i,r,this.latestValues,n,u,l)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&=(Dr(this.pendingAnimation),void 0),this.pendingAnimation=Er.update(()=>{ju.hasAnimatedSinceResize=!0,Nr.layout++,this.motionValue||=Ko(0),this.motionValue.jump(0,!1),this.currentAnimation=wu(this.motionValue,[0,1e3],{...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{Nr.layout--},onComplete:()=>{Nr.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Pu),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:n,layout:r,latestValues:i}=e;if(!(!t||!n||!r)){if(this!==e&&this.layout&&r&&ld(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||vc();let t=ql(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;let r=ql(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}zl(t,n),nl(t,i),L(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new Au),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return e?e.lead===this:!0}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&Iu(`z`,e,r,this.animationValues);for(let t=0;t<Nu.length;t++)Iu(`rotate${Nu[t]}`,e,r,this.animationValues),Iu(`skew${Nu[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility=`hidden`;return}let n=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility=``,e.opacity=``,e.pointerEvents=ku(t?.pointerEvents)||``,e.transform=n?n(this.latestValues,``):`none`;return}let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){this.options.layoutId&&(e.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,e.pointerEvents=ku(t?.pointerEvents)||``),this.hasProjected&&!Uc(this.latestValues)&&(e.transform=n?n({},``):`none`,this.hasProjected=!1);return}e.visibility=``;let i=r.animationValues||r.latestValues;this.applyTransformsToTarget();let a=mu(this.projectionDeltaWithTransform,this.treeScale,i);n&&(a=n(i,a)),e.transform=a;let{x:o,y:s}=this.projectionDelta;e.transformOrigin=`${o.origin*100}% ${s.origin*100}% 0`,r.animationValues?e.opacity=r===this?i.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:i.opacityExit:e.opacity=r===this?i.opacity===void 0?``:i.opacity:i.opacityExit===void 0?0:i.opacityExit;for(let t in pl){if(i[t]===void 0)continue;let{correct:n,applyTo:o,isCSSVariable:s}=pl[t],c=a===`none`?i[t]:n(i[t],r);if(o){let t=o.length;for(let n=0;n<t;n++)e[o[n]]=c}else s?this.options.visualElement.renderState.vars[t]=c:e[t]=c}this.options.layoutId&&(e.pointerEvents=r===this?ku(t?.pointerEvents)||``:`none`)}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(Wu),this.root.sharedNodes.clear()}}}function zu(e){e.updateLayout()}function Bu(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;if(i===`size`)pu(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=ql(r);r.min=n[e].min,r.max=r.min+i});else if(i===`x`||i===`y`){let e=i===`x`?`y`:`x`;Rl(a?t.measuredBox[e]:t.layoutBox[e],n[e])}else ld(i,t.layoutBox,n)&&pu(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=ql(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=gc();L(o,n,t.layoutBox);let s=gc();a?L(s,e.applyTransform(r,!0),t.measuredBox):L(s,n,t.layoutBox);let c=!ou(o),l=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=e.options.layoutAnchor||void 0,s=vc();Ql(s,t.layoutBox,i.layoutBox,o);let c=vc();Ql(c,n,a.layoutBox,o),uu(s,c)||(l=!0),r.options.layoutRoot&&(e.relativeTarget=c,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:s,layoutDelta:o,hasLayoutChanged:c,hasRelativeLayoutChanged:l})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function Vu(e){Sr.value&&Mu.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function Hu(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Uu(e){e.clearSnapshot()}function Wu(e){e.clearMeasurements()}function Gu(e){e.isLayoutDirty=!0,e.updateLayout()}function Ku(e){e.isLayoutDirty=!1}function qu(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function Ju(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function Yu(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Xu(e){e.resolveTargetDelta()}function Zu(e){e.calcProjection()}function Qu(e){e.resetSkewAndRotation()}function $u(e){e.removeLeadSnapshot()}function ed(e,t,n){e.translate=F(t.translate,0,n),e.scale=F(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function td(e,t,n,r){e.min=F(t.min,n.min,r),e.max=F(t.max,n.max,r)}function nd(e,t,n,r){td(e.x,t.x,n.x,r),td(e.y,t.y,n.y,r)}function rd(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var id={duration:.45,ease:[.4,0,.1,1]},ad=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),od=ad(`applewebkit/`)&&!ad(`chrome/`)?Math.round:Gn;function sd(e){e.min=od(e.min),e.max=od(e.max)}function cd(e){sd(e.x),sd(e.y)}function ld(e,t,n){return e===`position`||e===`preserve-aspect`&&!Jl(du(t),du(n),.2)}function ud(e){return e!==e.root&&e.scroll?.wasRoot}var dd=Ru({attachResizeListener:(e,t)=>Tu(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),fd={current:void 0},pd=Ru({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!fd.current){let e=new dd({});e.mount(window),e.setOptions({layoutScroll:!0}),fd.current=e}return fd.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`}),md=(0,b.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function hd(e=!0){let t=(0,b.useContext)(In);if(t===null)return[!0,null];let{isPresent:n,onExitComplete:r,register:i}=t,a=(0,b.useId)();(0,b.useEffect)(()=>{if(e)return i(a)},[e]);let o=(0,b.useCallback)(()=>e&&r&&r(a),[a,r,e]);return!n&&r?[!1,o]:[!0]}var gd=(0,b.createContext)({strict:!1}),_d={animation:[`animate`,`variants`,`whileHover`,`whileTap`,`exit`,`whileInView`,`whileFocus`,`whileDrag`],exit:[`exit`],drag:[`drag`,`dragControls`],focus:[`whileFocus`],hover:[`whileHover`,`onHoverStart`,`onHoverEnd`],tap:[`whileTap`,`onTap`,`onTapStart`,`onTapCancel`],pan:[`onPan`,`onPanStart`,`onPanSessionStart`,`onPanEnd`],inView:[`whileInView`,`onViewportEnter`,`onViewportLeave`],layout:[`layout`,`layoutId`]},vd=!1;function yd(){if(vd)return;let e={};for(let t in _d)e[t]={isEnabled:e=>_d[t].some(t=>!!e[t])};Nc(e),vd=!0}function bd(){return yd(),Pc()}function xd(e){let t=bd();for(let n in e)t[n]={...t[n],...e[n]};Nc(t)}var Sd=new Set(`animate.exit.variants.initial.style.values.variants.transition.transformTemplate.custom.inherit.onBeforeLayoutMeasure.onAnimationStart.onAnimationComplete.onUpdate.onDragStart.onDrag.onDragEnd.onMeasureDragConstraints.onDirectionLock.onDragTransitionEnd._dragX._dragY.onHoverStart.onHoverEnd.onViewportEnter.onViewportLeave.globalTapTarget.propagate.ignoreStrict.viewport`.split(`.`));function Cd(e){return e.startsWith(`while`)||e.startsWith(`drag`)&&e!==`draggable`||e.startsWith(`layout`)||e.startsWith(`onTap`)||e.startsWith(`onPan`)||e.startsWith(`onLayout`)||Sd.has(e)}var wd=c({default:()=>Td}),Td,Ed=o((()=>{throw Td={},Error(`Could not resolve "@emotion/is-prop-valid" imported by "framer-motion". Is it installed?`)})),Dd=e=>!Cd(e);function Od(e){typeof e==`function`&&(Dd=t=>t.startsWith(`on`)?!Cd(t):e(t))}try{Od((Ed(),d(wd)).default)}catch{}function kd(e,t,n){let r={};for(let i in e)i===`values`&&typeof e.values==`object`||Zo(e[i])||(Dd(i)||n===!0&&Cd(i)||!t&&!Cd(i)||e.draggable&&i.startsWith(`onDrag`))&&(r[i]=e[i]);return r}var Ad=(0,b.createContext)({});function jd(e,t){if(wc(e)){let{initial:t,animate:n}=e;return{initial:t===!1||xc(t)?t:void 0,animate:xc(n)?n:void 0}}return e.inherit===!1?{}:t}function Md(e){let{initial:t,animate:n}=jd(e,(0,b.useContext)(Ad));return(0,b.useMemo)(()=>({initial:t,animate:n}),[z(t),z(n)])}function z(e){return Array.isArray(e)?e.join(` `):e}var Nd=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Pd(e,t,n){for(let r in t)!Zo(t[r])&&!ml(r,n)&&(e[r]=t[r])}function Fd({transformTemplate:e},t){return(0,b.useMemo)(()=>{let n=Nd();return cl(n,t,e),Object.assign({},n.vars,n.style)},[t])}function Id(e,t){let n=e.style||{},r={};return Pd(r,n,e),Object.assign(r,Fd(e,t)),r}function Ld(e,t){let n={},r=Id(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout=`none`,r.touchAction=e.drag===!0?`none`:`pan-${e.drag===`x`?`y`:`x`}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}var Rd=()=>({...Nd(),attrs:{}});function zd(e,t,n,r){let i=(0,b.useMemo)(()=>{let n=Rd();return Sl(n,t,wl(r),e.transformTemplate,e.style),{...n.attrs,style:{...n.style}}},[t]);if(e.style){let t={};Pd(t,e.style,e),i.style={...t,...i.style}}return i}var Bd=[`animate`,`circle`,`defs`,`desc`,`ellipse`,`g`,`image`,`line`,`filter`,`marker`,`mask`,`metadata`,`path`,`pattern`,`polygon`,`polyline`,`rect`,`stop`,`switch`,`symbol`,`svg`,`text`,`tspan`,`use`,`view`];function Vd(e){return typeof e!=`string`||e.includes(`-`)?!1:!!(Bd.indexOf(e)>-1||/[A-Z]/u.test(e))}function Hd(e,t,n,{latestValues:r},i,a=!1,o){let s=(o??Vd(e)?zd:Ld)(t,r,i,e),c=kd(t,typeof e==`string`,a),l=e===b.Fragment?{}:{...c,...s,ref:n},{children:u}=t,d=(0,b.useMemo)(()=>Zo(u)?u.get():u,[u]);return(0,b.createElement)(e,{...l,children:d})}function Ud({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:Wd(n,r,i,e),renderState:t()}}function Wd(e,t,n,r){let i={},a=r(e,{});for(let e in a)i[e]=ku(a[e]);let{initial:o,animate:s}=e,c=wc(e),l=Tc(e);t&&l&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),s===void 0&&(s=t.animate));let u=n?n.initial===!1:!1;u||=o===!1;let d=u?s:o;if(d&&typeof d!=`boolean`&&!bc(d)){let t=Array.isArray(d)?d:[d];for(let n=0;n<t.length;n++){let r=zo(e,t[n]);if(r){let{transitionEnd:e,transition:t,...n}=r;for(let e in n){let t=n[e];if(Array.isArray(t)){let e=u?t.length-1:0;t=t[e]}t!==null&&(i[e]=t)}for(let t in e)i[t]=e[t]}}}return i}var Gd=e=>(t,n)=>{let r=(0,b.useContext)(Ad),i=(0,b.useContext)(In),a=()=>Ud(e,t,r,i);return n?a():Pn(a)},Kd=Gd({scrapeMotionValuesFromProps:hl,createRenderState:Nd}),qd=Gd({scrapeMotionValuesFromProps:El,createRenderState:Rd}),Jd=Symbol.for(`motionComponentSymbol`);function Yd(e,t,n){let r=(0,b.useRef)(n);(0,b.useInsertionEffect)(()=>{r.current=n});let i=(0,b.useRef)(null);return(0,b.useCallback)(n=>{n&&e.onMount?.(n);let a=r.current;if(typeof a==`function`)if(n){let e=a(n);typeof e==`function`&&(i.current=e)}else i.current?(i.current(),i.current=null):a(n);else a&&(a.current=n);t&&(n?t.mount(n):t.unmount())},[t])}var Xd=(0,b.createContext)({});function Zd(e){return e&&typeof e==`object`&&Object.prototype.hasOwnProperty.call(e,`current`)}function Qd(e,t,n,r,i,a){let{visualElement:o}=(0,b.useContext)(Ad),s=(0,b.useContext)(gd),c=(0,b.useContext)(In),l=(0,b.useContext)(md),u=l.reducedMotion,d=l.skipAnimations,f=(0,b.useRef)(null),p=(0,b.useRef)(!1);r||=s.renderer,!f.current&&r&&(f.current=r(e,{visualState:t,parent:o,props:n,presenceContext:c,blockInitialAnimation:c?c.initial===!1:!1,reducedMotionConfig:u,skipAnimations:d,isSVG:a}),p.current&&f.current&&(f.current.manuallyAnimateOnMount=!0));let m=f.current,h=(0,b.useContext)(Xd);m&&!m.projection&&i&&(m.type===`html`||m.type===`svg`)&&$d(f.current,n,i,h);let g=(0,b.useRef)(!1);(0,b.useInsertionEffect)(()=>{m&&g.current&&m.update(n,c)});let _=n[ts],v=(0,b.useRef)(!!_&&typeof window<`u`&&!window.MotionHandoffIsComplete?.(_)&&window.MotionHasOptimisedAnimation?.(_));return Fn(()=>{p.current=!0,m&&(g.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),v.current&&m.animationState&&m.animationState.animateChanges())}),(0,b.useEffect)(()=>{m&&(!v.current&&m.animationState&&m.animationState.animateChanges(),v.current&&=(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(_)}),!1),m.enteringChildren=void 0)}),m}function $d(e,t,n,r){let{layoutId:i,layout:a,drag:o,dragConstraints:s,layoutScroll:c,layoutRoot:l,layoutAnchor:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t[`data-framer-portal-id`]?void 0:ef(e.parent)),e.projection.setOptions({layoutId:i,layout:a,alwaysMeasureLayout:!!o||s&&Zd(s),visualElement:e,animationType:typeof a==`string`?a:`both`,initialPromotionConfig:r,crossfade:d,layoutScroll:c,layoutRoot:l,layoutAnchor:u})}function ef(e){if(e)return e.options.allowProjection===!1?ef(e.parent):e.projection}function tf(e,{forwardMotionProps:t=!1,type:n}={},r,i){r&&xd(r);let a=n?n===`svg`:Vd(e),o=a?qd:Kd;function s(n,s){let c,l={...(0,b.useContext)(md),...n,layoutId:nf(n)},{isStatic:u}=l,d=Md(n),f=o(n,u);if(!u&&typeof window<`u`){rf(l,r);let t=af(l);c=t.MeasureLayout,d.visualElement=Qd(e,f,l,i,t.ProjectionNode,a)}return(0,N.jsxs)(Ad.Provider,{value:d,children:[c&&d.visualElement?(0,N.jsx)(c,{visualElement:d.visualElement,...l}):null,Hd(e,n,Yd(f,d.visualElement,s),f,u,t,a)]})}s.displayName=`motion.${typeof e==`string`?e:`create(${e.displayName??e.name??``})`}`;let c=(0,b.forwardRef)(s);return c[Jd]=e,c}function nf({layoutId:e}){let t=(0,b.useContext)(Nn).id;return t&&e!==void 0?t+`-`+e:e}function rf(e,t){(0,b.useContext)(gd).strict}function af(e){let{drag:t,layout:n}=bd();if(!t&&!n)return{};let r={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function of(e,t){if(typeof Proxy>`u`)return tf;let n=new Map,r=(n,r)=>tf(n,r,e,t);return new Proxy((e,t)=>r(e,t),{get:(i,a)=>a===`create`?r:(n.has(a)||n.set(a,tf(a,void 0,e,t)),n.get(a))})}var sf=(e,t)=>t.isSVG??Vd(e)?new Dl(t):new _l(t,{allowProjection:e!==b.Fragment}),cf=class extends Lc{constructor(e){super(e),e.animationState||=Pl(e)}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();bc(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}},lf=0,uf={animation:{Feature:cf},exit:{Feature:class extends Lc{constructor(){super(...arguments),this.id=lf++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;if(e&&n===!1){if(this.isExitComplete){let{initial:e,custom:t}=this.node.getProps();if(typeof e==`string`){let n=Bo(this.node,e,t);if(n){let{transition:e,transitionEnd:t,...r}=n;for(let e in r)this.node.getValue(e)?.jump(r[e])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive(`exit`,!1);this.isExitComplete=!1;return}let r=this.node.animationState.setActive(`exit`,!e);t&&!e&&r.then(()=>{this.isExitComplete=!0,t(this.id)})}mount(){let{register:e,onExitComplete:t}=this.node.presenceContext||{};t&&t(this.id),e&&(this.unmount=e(this.id))}unmount(){}}}};function df(e){return{point:{x:e.pageX,y:e.pageY}}}var ff=e=>t=>zs(t)&&e(t,df(t));function pf(e,t,n,r){return Tu(e,t,ff(n),r)}var mf=({current:e})=>e?e.ownerDocument.defaultView:null,hf=(e,t)=>Math.abs(e-t);function gf(e,t){let n=hf(e.x,t.x),r=hf(e.y,t.y);return Math.sqrt(n**2+r**2)}var _f=new Set([`auto`,`scroll`]),vf=class{constructor(e,t,{transformPagePoint:n,contextWindow:r=window,dragSnapToOrigin:i=!1,distanceThreshold:a=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=yf(this.lastRawMoveEventInfo,this.transformPagePoint));let e=xf(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=gf(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=Or;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=yf(t,this.transformPagePoint),Er.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=xf(e.type===`pointercancel`?this.lastMoveEventInfo:yf(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!zs(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=n,this.distanceThreshold=a,this.contextWindow=r||window;let s=yf(df(e),this.transformPagePoint),{point:c}=s,{timestamp:l}=Or;this.history=[{...c,timestamp:l}];let{onSessionStart:u}=t;u&&u(e,xf(s,this.history)),this.removeListeners=qn(pf(this.contextWindow,`pointermove`,this.handlePointerMove),pf(this.contextWindow,`pointerup`,this.handlePointerUp),pf(this.contextWindow,`pointercancel`,this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(_f.has(e.overflowX)||_f.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let n=e===window,r=n?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},i={x:r.x-t.x,y:r.y-t.y};i.x===0&&i.y===0||(n?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(e,r),Er.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),Dr(this.updatePoint)}};function yf(e,t){return t?{point:t(e.point)}:e}function bf(e,t){return{x:e.x-t.x,y:e.y-t.y}}function xf({point:e},t){return{point:e,delta:bf(e,Cf(t)),offset:bf(e,Sf(t)),velocity:wf(t,.1)}}function Sf(e){return e[0]}function Cf(e){return e[e.length-1]}function wf(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=Cf(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Xn(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>Xn(t)*2&&(r=e[1]);let a=Zn(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function Tf(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?F(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?F(n,e,r.max):Math.min(e,n)),e}function Ef(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function Df(e,{top:t,left:n,bottom:r,right:i}){return{x:Ef(e.x,n,i),y:Ef(e.y,t,r)}}function Of(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function kf(e,t){return{x:Of(e.x,t.x),y:Of(e.y,t.y)}}function Af(e,t){let n=.5,r=ql(e),i=ql(t);return i>r?n=Jn(t.min,t.max-r,e.min):r>i&&(n=Jn(e.min,e.max-i,t.min)),zn(0,1,n)}function jf(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var Mf=.35;function Nf(e=Mf){return e===!1?e=0:e===!0&&(e=Mf),{x:Pf(e,`left`,`right`),y:Pf(e,`top`,`bottom`)}}function Pf(e,t,n){return{min:Ff(e,t),max:Ff(e,n)}}function Ff(e,t){return typeof e==`number`?e:e[t]||0}var If=new WeakMap,Lf=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=vc(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:n}={}){let{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;let i=e=>{t&&this.snapToCursor(df(e).point),this.stopAnimation()},a=(e,t)=>{let{drag:n,dragPropagation:r,onDragStart:i}=this.getProps();if(n&&!r&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Ps(n),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),pu(e=>{let t=this.getAxisMotionValue(e).get()||0;if(ni.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=ql(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),i&&Er.update(()=>i(e,t),!1,!0),$o(this.visualElement,`transform`);let{animationState:a}=this.visualElement;a&&a.setActive(`whileDrag`,!0)},o=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openDragLock)return;let{offset:o}=t;if(r&&this.currentDirection===null){this.currentDirection=Vf(o),this.currentDirection!==null&&i&&i(this.currentDirection);return}this.updateAxis(`x`,t.point,o),this.updateAxis(`y`,t.point,o),this.visualElement.render(),a&&Er.update(()=>a(e,t),!1,!0)},s=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:l}=this.getProps();this.panSession=new vf(e,{onSessionStart:i,onStart:a,onMove:o,onSessionEnd:s,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:l,distanceThreshold:n,contextWindow:mf(this.visualElement),element:this.visualElement.current})}stop(e,t){let n=e||this.latestPointerEvent,r=t||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!r||!n)return;let{velocity:a}=r;this.startAnimation(a);let{onDragEnd:o}=this.getProps();o&&Er.postRender(()=>o(n,r))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!Bf(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=Tf(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&Zd(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=Df(n.layoutBox,e):this.constraints=!1,this.elastic=Nf(t),r!==this.constraints&&!Zd(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&pu(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=jf(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!Zd(e))return!1;let n=e.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;let i=il(n,r.root,this.visualElement.getTransformPagePoint()),a=kf(r.layout.layoutBox,i);if(t){let e=t(zc(a));this.hasMutatedConstraints=!!e,e&&(a=Rc(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=pu(o=>{if(!Bf(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return $o(this.visualElement,e),n.start(Lo(e,n,0,t,this.visualElement,!1))}stopAnimation(){pu(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){pu(t=>{let{drag:n}=this.getProps();if(!Bf(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-F(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!Zd(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};pu(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=Af({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),pu(t=>{if(!Bf(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(F(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;If.set(this.visualElement,this);let e=this.visualElement.current,t=pf(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&Us(i);n&&r&&!a&&this.start(t)}),n,r=()=>{let{dragConstraints:t}=this.getProps();Zd(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),n||=zf(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:i}=this.visualElement,a=i.addEventListener(`measure`,r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),Er.read(r);let o=Tu(window,`resize`,()=>this.scalePositionWithinConstraints()),s=i.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(pu(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{o(),t(),a(),s&&s(),n&&n()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=Mf,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function Rf(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function zf(e,t,n){let r=dc(e,Rf(n)),i=dc(t,Rf(n));return()=>{r(),i()}}function Bf(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Vf(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var Hf=class extends Lc{constructor(e){super(e),this.removeGroupControls=Gn,this.removeListeners=Gn,this.controls=new Lf(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Gn}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},Uf=e=>(t,n)=>{e&&Er.update(()=>e(t,n),!1,!0)},Wf=class extends Lc{constructor(){super(...arguments),this.removePointerDownListener=Gn}onPointerDown(e){this.session=new vf(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:mf(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:Uf(e),onStart:Uf(t),onMove:Uf(n),onEnd:(e,t)=>{delete this.session,r&&Er.postRender(()=>r(e,t))}}}mount(){this.removePointerDownListener=pf(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},Gf=!1,Kf=class extends b.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),Gf&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),ju.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,{projection:a}=n;return a?(a.isPresent=i,e.layoutDependency!==t&&a.setOptions({...a.options,layoutDependency:t}),Gf=!0,r||e.layoutDependency!==t||t===void 0||e.isPresent!==i?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||Er.postRender(()=>{let e=a.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),As.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;Gf=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function qf(e){let[t,n]=hd(),r=(0,b.useContext)(Nn);return(0,N.jsx)(Kf,{...e,layoutGroup:r,switchLayoutGroup:(0,b.useContext)(Xd),isPresent:t,safeToRemove:n})}var Jf={pan:{Feature:Wf},drag:{Feature:Hf,ProjectionNode:pd,MeasureLayout:qf}};function Yf(e,t,n){let{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive(`whileHover`,n===`Start`);let i=r[`onHover`+n];i&&Er.postRender(()=>i(t,df(t)))}var Xf=class extends Lc{mount(){let{current:e}=this.node;e&&(this.unmount=Ls(e,(e,t)=>(Yf(this.node,t,`Start`),e=>Yf(this.node,e,`End`))))}unmount(){}},Zf=class extends Lc{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(`:focus-visible`)}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!1),this.isActive=!1)}mount(){this.unmount=qn(Tu(this.node.current,`focus`,()=>this.onFocus()),Tu(this.node.current,`blur`,()=>this.onBlur()))}unmount(){}};function Qf(e,t,n){let{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive(`whileTap`,n===`Start`);let i=r[`onTap`+(n===`End`?``:n)];i&&Er.postRender(()=>i(t,df(t)))}var $f=class extends Lc{mount(){let{current:e}=this.node;if(!e)return;let{globalTapTarget:t,propagate:n}=this.node.props;this.unmount=Xs(e,(e,t)=>(Qf(this.node,t,`Start`),(e,{success:t})=>Qf(this.node,e,t?`End`:`Cancel`)),{useGlobalTarget:t,stopPropagation:n?.tap===!1})}unmount(){}},ep=new WeakMap,tp=new WeakMap,np=e=>{let t=ep.get(e.target);t&&t(e)},rp=e=>{e.forEach(np)};function ip({root:e,...t}){let n=e||document;tp.has(n)||tp.set(n,{});let r=tp.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(rp,{root:e,...t})),r[i]}function ap(e,t,n){let r=ip(t);return ep.set(e,n),r.observe(e),()=>{ep.delete(e),r.unobserve(e)}}var op={some:0,all:1},sp=class extends Lc{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();let{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r=`some`,once:i}=e,a={root:t?t.current:void 0,rootMargin:n,threshold:typeof r==`number`?r:op[r]};this.stopObserver=ap(this.node.current,a,e=>{let{isIntersecting:t}=e;if(this.isInView===t||(this.isInView=t,i&&!t&&this.hasEnteredView))return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(`whileInView`,t);let{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),a=t?n:r;a&&a(e)})}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>`u`)return;let{props:e,prevProps:t}=this.node;[`amount`,`margin`,`root`].some(cp(e,t))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}};function cp({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}var lp={inView:{Feature:sp},tap:{Feature:$f},focus:{Feature:Zf},hover:{Feature:Xf}},up={layout:{ProjectionNode:pd,MeasureLayout:qf}},dp=of({...uf,...lp,...Jf,...up},sf);function fp(e,t){return t.forEach(function(t){t&&typeof t!=`string`&&!Array.isArray(t)&&Object.keys(t).forEach(function(n){if(n!==`default`&&!(n in e)){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}})}),Object.freeze(e)}var pp=Object.defineProperty,mp=(e,t,n)=>t in e?pp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hp=(e,t,n)=>mp(e,typeof t==`symbol`?t:t+``,n),gp=class{constructor(){hp(this,`_locking`),hp(this,`_locks`),this._locking=Promise.resolve(),this._locks=0}isLocked(){return this._locks>0}lock(){this._locks+=1;let e,t=new Promise(t=>e=()=>{--this._locks,t()}),n=this._locking.then(()=>e);return this._locking=this._locking.then(()=>t),n}};function _p(e,t){if(!e)throw Error(t)}var vp=34028234663852886e22,yp=-34028234663852886e22,bp=4294967295,xp=2147483647,Sp=-2147483648;function Cp(e){if(typeof e!=`number`)throw Error(`invalid int 32: `+typeof e);if(!Number.isInteger(e)||e>xp||e<Sp)throw Error(`invalid int 32: `+e)}function wp(e){if(typeof e!=`number`)throw Error(`invalid uint 32: `+typeof e);if(!Number.isInteger(e)||e>bp||e<0)throw Error(`invalid uint 32: `+e)}function Tp(e){if(typeof e!=`number`)throw Error(`invalid float 32: `+typeof e);if(Number.isFinite(e)&&(e>vp||e<yp))throw Error(`invalid float 32: `+e)}var Ep=Symbol(`@bufbuild/protobuf/enum-type`);function Dp(e){let t=e[Ep];return _p(t,`missing enum type on enum object`),t}function Op(e,t,n,r){e[Ep]=kp(t,n.map(t=>({no:t.no,name:t.name,localName:e[t.no]})))}function kp(e,t,n){let r=Object.create(null),i=Object.create(null),a=[];for(let e of t){let t=jp(e);a.push(t),r[e.name]=t,i[e.no]=t}return{typeName:e,values:a,findName(e){return r[e]},findNumber(e){return i[e]}}}function Ap(e,t,n){let r={};for(let e of t){let t=jp(e);r[t.localName]=t.no,r[t.no]=t.localName}return Op(r,e,t),r}function jp(e){return`localName`in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var Mp=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){let n=this.getType().runtime.bin,r=n.makeReadOptions(t);return n.readMessage(this,r.readerFactory(e),e.byteLength,r),this}fromJson(e,t){let n=this.getType(),r=n.runtime.json,i=r.makeReadOptions(t);return r.readMessage(n,e,i,this),this}fromJsonString(e,t){let n;try{n=JSON.parse(e)}catch(e){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${e instanceof Error?e.message:String(e)}`)}return this.fromJson(n,t)}toBinary(e){let t=this.getType().runtime.bin,n=t.makeWriteOptions(e),r=n.writerFactory();return t.writeMessage(this,r,n),r.finish()}toJson(e){let t=this.getType().runtime.json,n=t.makeWriteOptions(e);return t.writeMessage(this,n)}toJsonString(e){let t=this.toJson(e);return JSON.stringify(t,null,e?.prettySpaces??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Np(e,t,n,r){let i=r?.localName??t.substring(t.lastIndexOf(`.`)+1),a={[i]:function(t){e.util.initFields(this),e.util.initPartial(t,this)}}[i];return Object.setPrototypeOf(a.prototype,new Mp),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(e,t){return new a().fromBinary(e,t)},fromJson(e,t){return new a().fromJson(e,t)},fromJsonString(e,t){return new a().fromJsonString(e,t)},equals(t,n){return e.util.equals(a,t,n)}}),a}function Pp(){let e=0,t=0;for(let n=0;n<28;n+=7){let r=this.buf[this.pos++];if(e|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))return this.assertBounds(),[e,t];for(let n=3;n<=31;n+=7){let r=this.buf[this.pos++];if(t|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}throw Error(`invalid varint`)}function Fp(e,t,n){for(let r=0;r<28;r+=7){let i=e>>>r,a=!(!(i>>>7)&&t==0),o=(a?i|128:i)&255;if(n.push(o),!a)return}let r=e>>>28&15|(t&7)<<4,i=!!(t>>3);if(n.push((i?r|128:r)&255),i){for(let e=3;e<31;e+=7){let r=t>>>e,i=!!(r>>>7),a=(i?r|128:r)&255;if(n.push(a),!i)return}n.push(t>>>31&1)}}var Ip=4294967296;function Lp(e){let t=e[0]===`-`;t&&(e=e.slice(1));let n=1e6,r=0,i=0;function a(t,a){let o=Number(e.slice(t,a));i*=n,r=r*n+o,r>=Ip&&(i+=r/Ip|0,r%=Ip)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?Hp(r,i):Vp(r,i)}function Rp(e,t){let n=Vp(e,t),r=n.hi&2147483648;r&&(n=Hp(n.lo,n.hi));let i=zp(n.lo,n.hi);return r?`-`+i:i}function zp(e,t){if({lo:e,hi:t}=Bp(e,t),t<=2097151)return String(Ip*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,i=t>>16&65535,a=n+r*6777216+i*6710656,o=r+i*8147497,s=i*2,c=1e7;return a>=c&&(o+=Math.floor(a/c),a%=c),o>=c&&(s+=Math.floor(o/c),o%=c),s.toString()+Up(o)+Up(a)}function Bp(e,t){return{lo:e>>>0,hi:t>>>0}}function Vp(e,t){return{lo:e|0,hi:t|0}}function Hp(e,t){return t=~t,e?e=~e+1:t+=1,Vp(e,t)}var Up=e=>{let t=String(e);return`0000000`.slice(t.length)+t};function Wp(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function Gp(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw Error(`invalid varint`);return this.assertBounds(),t>>>0}function Kp(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt==`function`&&typeof e.getBigInt64==`function`&&typeof e.getBigUint64==`function`&&typeof e.setBigInt64==`function`&&typeof e.setBigUint64==`function`&&(typeof process!=`object`||typeof process.env!=`object`||process.env.BUF_BIGINT_DISABLE!==`1`)){let t=BigInt(`-9223372036854775808`),n=BigInt(`9223372036854775807`),r=BigInt(`0`),i=BigInt(`18446744073709551615`);return{zero:BigInt(0),supported:!0,parse(e){let r=typeof e==`bigint`?e:BigInt(e);if(r>n||r<t)throw Error(`int64 invalid: ${e}`);return r},uParse(e){let t=typeof e==`bigint`?e:BigInt(e);if(t>i||t<r)throw Error(`uint64 invalid: ${e}`);return t},enc(t){return e.setBigInt64(0,this.parse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(t){return e.setBigInt64(0,this.uParse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigInt64(0,!0)},uDec(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigUint64(0,!0)}}}let t=e=>_p(/^-?[0-9]+$/.test(e),`int64 invalid: ${e}`),n=e=>_p(/^[0-9]+$/.test(e),`uint64 invalid: ${e}`);return{zero:`0`,supported:!1,parse(e){return typeof e!=`string`&&(e=e.toString()),t(e),e},uParse(e){return typeof e!=`string`&&(e=e.toString()),n(e),e},enc(e){return typeof e!=`string`&&(e=e.toString()),t(e),Lp(e)},uEnc(e){return typeof e!=`string`&&(e=e.toString()),n(e),Lp(e)},dec(e,t){return Rp(e,t)},uDec(e,t){return zp(e,t)}}}var qp=Kp(),B;(function(e){e[e.DOUBLE=1]=`DOUBLE`,e[e.FLOAT=2]=`FLOAT`,e[e.INT64=3]=`INT64`,e[e.UINT64=4]=`UINT64`,e[e.INT32=5]=`INT32`,e[e.FIXED64=6]=`FIXED64`,e[e.FIXED32=7]=`FIXED32`,e[e.BOOL=8]=`BOOL`,e[e.STRING=9]=`STRING`,e[e.BYTES=12]=`BYTES`,e[e.UINT32=13]=`UINT32`,e[e.SFIXED32=15]=`SFIXED32`,e[e.SFIXED64=16]=`SFIXED64`,e[e.SINT32=17]=`SINT32`,e[e.SINT64=18]=`SINT64`})(B||={});var Jp;(function(e){e[e.BIGINT=0]=`BIGINT`,e[e.STRING=1]=`STRING`})(Jp||={});function Yp(e,t,n){if(t===n)return!0;if(e==B.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==n[e])return!1;return!0}switch(e){case B.UINT64:case B.FIXED64:case B.INT64:case B.SFIXED64:case B.SINT64:return t==n}return!1}function Xp(e,t){switch(e){case B.BOOL:return!1;case B.UINT64:case B.FIXED64:case B.INT64:case B.SFIXED64:case B.SINT64:return t==0?qp.zero:`0`;case B.DOUBLE:case B.FLOAT:return 0;case B.BYTES:return new Uint8Array;case B.STRING:return``;default:return 0}}function Zp(e,t){switch(e){case B.BOOL:return t===!1;case B.STRING:return t===``;case B.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}var Qp;(function(e){e[e.Varint=0]=`Varint`,e[e.Bit64=1]=`Bit64`,e[e.LengthDelimited=2]=`LengthDelimited`,e[e.StartGroup=3]=`StartGroup`,e[e.EndGroup=4]=`EndGroup`,e[e.Bit32=5]=`Bit32`})(Qp||={});var $p=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let t=0;t<this.chunks.length;t++)e+=this.chunks[t].length;let t=new Uint8Array(e),n=0;for(let e=0;e<this.chunks.length;e++)t.set(this.chunks[e],n),n+=this.chunks[e].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw Error(`invalid state, fork stack empty`);return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(wp(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Cp(e),Wp(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){Tp(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){wp(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Cp(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Cp(e),e=(e<<1^e>>31)>>>0,Wp(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=qp.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=qp.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=qp.enc(e);return Fp(t.lo,t.hi,this.buf),this}sint64(e){let t=qp.enc(e),n=t.hi>>31;return Fp(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=qp.uEnc(e);return Fp(t.lo,t.hi,this.buf),this}},em=class{constructor(e,t){this.varint64=Pp,this.uint32=Gp,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw Error(`illegal tag: field no `+t+` wire type `+n);return[t,n]}skip(e,t){let n=this.pos;switch(e){case Qp.Varint:for(;this.buf[this.pos++]&128;);break;case Qp.Bit64:this.pos+=4;case Qp.Bit32:this.pos+=4;break;case Qp.LengthDelimited:let n=this.uint32();this.pos+=n;break;case Qp.StartGroup:for(;;){let[e,n]=this.tag();if(n===Qp.EndGroup){if(t!==void 0&&e!==t)throw Error(`invalid end group tag`);break}this.skip(n,e)}break;default:throw Error(`cant skip wire type `+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError(`premature EOF`)}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return qp.dec(...this.varint64())}uint64(){return qp.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,qp.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return qp.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return qp.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};function tm(e,t,n,r){let i;return{typeName:t,extendee:n,get field(){if(!i){let n=typeof r==`function`?r():r;n.name=t.split(`.`).pop(),n.jsonName=`[${t}]`,i=e.util.newFieldList([n]).list()[0]}return i},runtime:e}}function nm(e){let t=e.field.localName,n=Object.create(null);return n[t]=rm(e),[n,()=>n[t]]}function rm(e){let t=e.field;if(t.repeated)return[];if(t.default!==void 0)return t.default;switch(t.kind){case`enum`:return t.T.values[0].no;case`scalar`:return Xp(t.T,t.L);case`message`:let e=t.T,n=new e;return e.fieldWrapper?e.fieldWrapper.unwrapField(n):n;case`map`:throw`map fields are not allowed to be extensions`}}function im(e,t){if(!t.repeated&&(t.kind==`enum`||t.kind==`scalar`)){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter(e=>e.no===t.no)}var am=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),om=[];for(let e=0;e<am.length;e++)om[am[e].charCodeAt(0)]=e;om[45]=am.indexOf(`+`),om[95]=am.indexOf(`/`);var sm={dec(e){let t=e.length*3/4;e[e.length-2]==`=`?t-=2:e[e.length-1]==`=`&&--t;let n=new Uint8Array(t),r=0,i=0,a,o=0;for(let t=0;t<e.length;t++){if(a=om[e.charCodeAt(t)],a===void 0)switch(e[t]){case`=`:i=0;case`
|
|
34
34
|
`:case`\r`:case` `:case` `:continue;default:throw Error(`invalid base64 string.`)}switch(i){case 0:o=a,i=1;break;case 1:n[r++]=o<<2|(a&48)>>4,o=a,i=2;break;case 2:n[r++]=(o&15)<<4|(a&60)>>2,o=a,i=3;break;case 3:n[r++]=(o&3)<<6|a,i=0;break}}if(i==1)throw Error(`invalid base64 string.`);return n.subarray(0,r)},enc(e){let t=``,n=0,r,i=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=am[r>>2],i=(r&3)<<4,n=1;break;case 1:t+=am[i|r>>4],i=(r&15)<<2,n=2;break;case 2:t+=am[i|r>>6],t+=am[r&63],n=0;break}return n&&(t+=am[i],t+=`=`,n==1&&(t+=`=`)),t}};function cm(e,t,n){dm(t,e);let r=t.runtime.bin.makeReadOptions(n),i=im(e.getType().runtime.bin.listUnknownFields(e),t.field),[a,o]=nm(t);for(let e of i)t.runtime.bin.readField(a,r.readerFactory(e.data),t.field,e.wireType,r);return o()}function lm(e,t,n,r){dm(t,e);let i=t.runtime.bin.makeReadOptions(r),a=t.runtime.bin.makeWriteOptions(r);if(um(e,t)){let n=e.getType().runtime.bin.listUnknownFields(e).filter(e=>e.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let t of n)e.getType().runtime.bin.onUnknownField(e,t.no,t.wireType,t.data)}let o=a.writerFactory(),s=t.field;!s.opt&&!s.repeated&&(s.kind==`enum`||s.kind==`scalar`)&&(s=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(s,n,o,a);let c=i.readerFactory(o.finish());for(;c.pos<c.len;){let[t,n]=c.tag(),r=c.skip(n,t);e.getType().runtime.bin.onUnknownField(e,t,n,r)}}function um(e,t){let n=e.getType();return t.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(e).find(e=>e.no==t.field.no)}function dm(e,t){_p(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function fm(e,t){let n=e.localName;if(e.repeated)return t[n].length>0;if(e.oneof)return t[e.oneof.localName].case===n;switch(e.kind){case`enum`:case`scalar`:return e.opt||e.req?t[n]!==void 0:e.kind==`enum`?t[n]!==e.T.values[0].no:!Zp(e.T,t[n]);case`message`:return t[n]!==void 0;case`map`:return Object.keys(t[n]).length>0}}function pm(e,t){let n=e.localName,r=!e.opt&&!e.req;if(e.repeated)t[n]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case`map`:t[n]={};break;case`enum`:t[n]=r?e.T.values[0].no:void 0;break;case`scalar`:t[n]=r?Xp(e.T,e.L):void 0;break;case`message`:t[n]=void 0;break}}function mm(e,t){if(typeof e!=`object`||!e||!Object.getOwnPropertyNames(Mp.prototype).every(t=>t in e&&typeof e[t]==`function`))return!1;let n=e.getType();return n===null||typeof n!=`function`||!(`typeName`in n)||typeof n.typeName!=`string`?!1:t===void 0?!0:n.typeName==t.typeName}function hm(e,t){return mm(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}B.DOUBLE,B.FLOAT,B.INT64,B.UINT64,B.INT32,B.UINT32,B.BOOL,B.STRING,B.BYTES;var gm={ignoreUnknownFields:!1},_m={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function vm(e){return e?Object.assign(Object.assign({},gm),e):gm}function ym(e){return e?Object.assign(Object.assign({},_m),e):_m}var bm=Symbol(),xm=Symbol();function Sm(){return{makeReadOptions:vm,makeWriteOptions:ym,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!=`object`)throw Error(`cannot decode message ${e.typeName} from JSON: ${Cm(t)}`);r??=new e;let i=new Map,a=n.typeRegistry;for(let[o,s]of Object.entries(t)){let t=e.fields.findJsonName(o);if(t){if(t.oneof){if(s===null&&t.kind==`scalar`)continue;let n=i.get(t.oneof);if(n!==void 0)throw Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${t.oneof.name}" present: "${n}", "${o}"`);i.set(t.oneof,o)}wm(r,s,t,n,e)}else{let t=!1;if(a?.findExtension&&o.startsWith(`[`)&&o.endsWith(`]`)){let i=a.findExtension(o.substring(1,o.length-1));if(i&&i.extendee.typeName==e.typeName){t=!0;let[e,a]=nm(i);wm(e,s,i.field,n,i),lm(r,i,a(),n)}}if(!t&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${e.typeName} from JSON: key "${o}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},i;try{for(i of n.fields.byNumber()){if(!fm(i,e)){if(i.req)throw`required field not set`;if(!t.emitDefaultValues||!Om(i))continue}let n=i.oneof?e[i.oneof.localName].value:e[i.localName],a=km(i,n,t);a!==void 0&&(r[t.useProtoFieldName?i.name:i.jsonName]=a)}let a=t.typeRegistry;if(a?.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(e)){let o=a.findExtensionFor(n.typeName,i.no);if(o&&um(e,o)){let n=cm(e,o,t),i=km(o.field,n,t);i!==void 0&&(r[o.field.jsonName]=i)}}}catch(e){let t=i?`cannot encode field ${n.typeName}.${i.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,r=e instanceof Error?e.message:String(e);throw Error(t+(r.length>0?`: ${r}`:``))}return r},readScalar(e,t,n){return Em(e,t,n??Jp.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||Zp(e,t)))return jm(e,t)},debug:Cm}}function Cm(e){if(e===null)return`null`;switch(typeof e){case`object`:return Array.isArray(e)?`array`:`object`;case`string`:return e.length>100?`string`:`"${e.split(`"`).join(`\\"`)}"`;default:return String(e)}}function wm(e,t,n,r,i){let a=n.localName;if(n.repeated){if(_p(n.kind!=`map`),t===null)return;if(!Array.isArray(t))throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${Cm(t)}`);let o=e[a];for(let e of t){if(e===null)throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${Cm(e)}`);switch(n.kind){case`message`:o.push(n.T.fromJson(e,r));break;case`enum`:let t=Dm(n.T,e,r.ignoreUnknownFields,!0);t!==xm&&o.push(t);break;case`scalar`:try{o.push(Em(n.T,e,n.L,!0))}catch(t){let r=`cannot decode field ${i.typeName}.${n.name} from JSON: ${Cm(e)}`;throw t instanceof Error&&t.message.length>0&&(r+=`: ${t.message}`),Error(r)}break}}}else if(n.kind==`map`){if(t===null)return;if(typeof t!=`object`||Array.isArray(t))throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${Cm(t)}`);let o=e[a];for(let[e,a]of Object.entries(t)){if(a===null)throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: map value null`);let s;try{s=Tm(n.K,e)}catch(e){let r=`cannot decode map key for field ${i.typeName}.${n.name} from JSON: ${Cm(t)}`;throw e instanceof Error&&e.message.length>0&&(r+=`: ${e.message}`),Error(r)}switch(n.V.kind){case`message`:o[s]=n.V.T.fromJson(a,r);break;case`enum`:let e=Dm(n.V.T,a,r.ignoreUnknownFields,!0);e!==xm&&(o[s]=e);break;case`scalar`:try{o[s]=Em(n.V.T,a,Jp.BIGINT,!0)}catch(e){let r=`cannot decode map value for field ${i.typeName}.${n.name} from JSON: ${Cm(t)}`;throw e instanceof Error&&e.message.length>0&&(r+=`: ${e.message}`),Error(r)}break}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:a},a=`value`),n.kind){case`message`:let o=n.T;if(t===null&&o.typeName!=`google.protobuf.Value`)return;let s=e[a];mm(s)?s.fromJson(t,r):(e[a]=s=o.fromJson(t,r),o.fieldWrapper&&!n.oneof&&(e[a]=o.fieldWrapper.unwrapField(s)));break;case`enum`:let c=Dm(n.T,t,r.ignoreUnknownFields,!1);switch(c){case bm:pm(n,e);break;case xm:break;default:e[a]=c;break}break;case`scalar`:try{let r=Em(n.T,t,n.L,!1);switch(r){case bm:pm(n,e);break;default:e[a]=r;break}}catch(e){let r=`cannot decode field ${i.typeName}.${n.name} from JSON: ${Cm(t)}`;throw e instanceof Error&&e.message.length>0&&(r+=`: ${e.message}`),Error(r)}break}}function Tm(e,t){if(e===B.BOOL)switch(t){case`true`:t=!0;break;case`false`:t=!1;break}return Em(e,t,Jp.BIGINT,!0).toString()}function Em(e,t,n,r){if(t===null)return r?Xp(e,n):bm;switch(e){case B.DOUBLE:case B.FLOAT:if(t===`NaN`)return NaN;if(t===`Infinity`)return 1/0;if(t===`-Infinity`)return-1/0;if(t===``||typeof t==`string`&&t.trim().length!==t.length||typeof t!=`string`&&typeof t!=`number`)break;let r=Number(t);if(Number.isNaN(r)||!Number.isFinite(r))break;return e==B.FLOAT&&Tp(r),r;case B.INT32:case B.FIXED32:case B.SFIXED32:case B.SINT32:case B.UINT32:let i;if(typeof t==`number`?i=t:typeof t==`string`&&t.length>0&&t.trim().length===t.length&&(i=Number(t)),i===void 0)break;return e==B.UINT32||e==B.FIXED32?wp(i):Cp(i),i;case B.INT64:case B.SFIXED64:case B.SINT64:if(typeof t!=`number`&&typeof t!=`string`)break;let a=qp.parse(t);return n?a.toString():a;case B.FIXED64:case B.UINT64:if(typeof t!=`number`&&typeof t!=`string`)break;let o=qp.uParse(t);return n?o.toString():o;case B.BOOL:if(typeof t!=`boolean`)break;return t;case B.STRING:if(typeof t!=`string`)break;return t;case B.BYTES:if(t===``)return new Uint8Array;if(typeof t!=`string`)break;return sm.dec(t)}throw Error()}function Dm(e,t,n,r){if(t===null)return e.typeName==`google.protobuf.NullValue`?0:r?e.values[0].no:bm;switch(typeof t){case`number`:if(Number.isInteger(t))return t;break;case`string`:let r=e.findName(t);if(r!==void 0)return r.no;if(n)return xm;break}throw Error(`cannot decode enum ${e.typeName} from JSON: ${Cm(t)}`)}function Om(e){return e.repeated||e.kind==`map`?!0:!(e.oneof||e.kind==`message`||e.opt||e.req)}function km(e,t,n){if(e.kind==`map`){_p(typeof t==`object`&&!!t);let r={},i=Object.entries(t);switch(e.V.kind){case`scalar`:for(let[t,n]of i)r[t.toString()]=jm(e.V.T,n);break;case`message`:for(let[e,t]of i)r[e.toString()]=t.toJson(n);break;case`enum`:let t=e.V.T;for(let[e,a]of i)r[e.toString()]=Am(t,a,n.enumAsInteger);break}return n.emitDefaultValues||i.length>0?r:void 0}if(e.repeated){_p(Array.isArray(t));let r=[];switch(e.kind){case`scalar`:for(let n=0;n<t.length;n++)r.push(jm(e.T,t[n]));break;case`enum`:for(let i=0;i<t.length;i++)r.push(Am(e.T,t[i],n.enumAsInteger));break;case`message`:for(let e=0;e<t.length;e++)r.push(t[e].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(e.kind){case`scalar`:return jm(e.T,t);case`enum`:return Am(e.T,t,n.enumAsInteger);case`message`:return hm(e.T,t).toJson(n)}}function Am(e,t,n){return _p(typeof t==`number`),e.typeName==`google.protobuf.NullValue`?null:n?t:e.findNumber(t)?.name??t}function jm(e,t){switch(e){case B.INT32:case B.SFIXED32:case B.SINT32:case B.FIXED32:case B.UINT32:return _p(typeof t==`number`),t;case B.FLOAT:case B.DOUBLE:return _p(typeof t==`number`),Number.isNaN(t)?`NaN`:t===1/0?`Infinity`:t===-1/0?`-Infinity`:t;case B.STRING:return _p(typeof t==`string`),t;case B.BOOL:return _p(typeof t==`boolean`),t;case B.UINT64:case B.FIXED64:case B.INT64:case B.SFIXED64:case B.SINT64:return _p(typeof t==`bigint`||typeof t==`string`||typeof t==`number`),t.toString();case B.BYTES:return _p(t instanceof Uint8Array),sm.enc(t)}}var Mm=Symbol(`@bufbuild/protobuf/unknown-fields`),Nm={readUnknownFields:!0,readerFactory:e=>new em(e)},Pm={writeUnknownFields:!0,writerFactory:()=>new $p};function Fm(e){return e?Object.assign(Object.assign({},Nm),e):Nm}function Im(e){return e?Object.assign(Object.assign({},Pm),e):Pm}function Lm(){return{makeReadOptions:Fm,makeWriteOptions:Im,listUnknownFields(e){return e[Mm]??[]},discardUnknownFields(e){delete e[Mm]},writeUnknownFields(e,t){let n=e[Mm];if(n)for(let e of n)t.tag(e.no,e.wireType).raw(e.data)},onUnknownField(e,t,n,r){let i=e;Array.isArray(i[Mm])||(i[Mm]=[]),i[Mm].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,i){let a=e.getType(),o=i?t.len:t.pos+n,s,c;for(;t.pos<o&&([s,c]=t.tag(),!(i===!0&&c==Qp.EndGroup));){let n=a.fields.find(s);if(!n){let n=t.skip(c,s);r.readUnknownFields&&this.onUnknownField(e,s,c,n);continue}Rm(e,t,n,c,r)}if(i&&(c!=Qp.EndGroup||s!==n))throw Error(`invalid end group tag`)},readField:Rm,writeMessage(e,t,n){let r=e.getType();for(let i of r.fields.byNumber()){if(!fm(i,e)){if(i.req)throw Error(`cannot encode field ${r.typeName}.${i.name} to binary: required field not set`);continue}Um(i,i.oneof?e[i.oneof.localName].value:e[i.localName],t,n)}return n.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,n,r){t!==void 0&&Um(e,t,n,r)}}}function Rm(e,t,n,r,i){let{repeated:a,localName:o}=n;switch(n.oneof&&(e=e[n.oneof.localName],e.case!=o&&delete e.value,e.case=o,o=`value`),n.kind){case`scalar`:case`enum`:let s=n.kind==`enum`?B.INT32:n.T,c=Hm;if(n.kind==`scalar`&&n.L>0&&(c=Vm),a){let n=e[o];if(r==Qp.LengthDelimited&&s!=B.STRING&&s!=B.BYTES){let e=t.uint32()+t.pos;for(;t.pos<e;)n.push(c(t,s))}else n.push(c(t,s))}else e[o]=c(t,s);break;case`message`:let l=n.T;a?e[o].push(zm(t,new l,i,n)):mm(e[o])?zm(t,e[o],i,n):(e[o]=zm(t,new l,i,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(e[o]=l.fieldWrapper.unwrapField(e[o])));break;case`map`:let[u,d]=Bm(n,t,i);e[o][u]=d;break}}function zm(e,t,n,r){let i=t.getType().runtime.bin,a=r?.delimited;return i.readMessage(t,e,a?r.no:e.uint32(),n,a),t}function Bm(e,t,n){let r=t.uint32(),i=t.pos+r,a,o;for(;t.pos<i;){let[r]=t.tag();switch(r){case 1:a=Hm(t,e.K);break;case 2:switch(e.V.kind){case`scalar`:o=Hm(t,e.V.T);break;case`enum`:o=t.int32();break;case`message`:o=zm(t,new e.V.T,n,void 0);break}break}}if(a===void 0&&(a=Xp(e.K,Jp.BIGINT)),typeof a!=`string`&&typeof a!=`number`&&(a=a.toString()),o===void 0)switch(e.V.kind){case`scalar`:o=Xp(e.V.T,Jp.BIGINT);break;case`enum`:o=e.V.T.values[0].no;break;case`message`:o=new e.V.T;break}return[a,o]}function Vm(e,t){let n=Hm(e,t);return typeof n==`bigint`?n.toString():n}function Hm(e,t){switch(t){case B.STRING:return e.string();case B.BOOL:return e.bool();case B.DOUBLE:return e.double();case B.FLOAT:return e.float();case B.INT32:return e.int32();case B.INT64:return e.int64();case B.UINT64:return e.uint64();case B.FIXED64:return e.fixed64();case B.BYTES:return e.bytes();case B.FIXED32:return e.fixed32();case B.SFIXED32:return e.sfixed32();case B.SFIXED64:return e.sfixed64();case B.SINT64:return e.sint64();case B.UINT32:return e.uint32();case B.SINT32:return e.sint32()}}function Um(e,t,n,r){_p(t!==void 0);let i=e.repeated;switch(e.kind){case`scalar`:case`enum`:let a=e.kind==`enum`?B.INT32:e.T;if(i)if(_p(Array.isArray(t)),e.packed)qm(n,a,e.no,t);else for(let r of t)Km(n,a,e.no,r);else Km(n,a,e.no,t);break;case`message`:if(i){_p(Array.isArray(t));for(let i of t)Gm(n,r,e,i)}else Gm(n,r,e,t);break;case`map`:_p(typeof t==`object`&&!!t);for(let[i,a]of Object.entries(t))Wm(n,r,e,i,a);break}}function Wm(e,t,n,r,i){e.tag(n.no,Qp.LengthDelimited),e.fork();let a=r;switch(n.K){case B.INT32:case B.FIXED32:case B.UINT32:case B.SFIXED32:case B.SINT32:a=Number.parseInt(r);break;case B.BOOL:_p(r==`true`||r==`false`),a=r==`true`;break}switch(Km(e,n.K,1,a),n.V.kind){case`scalar`:Km(e,n.V.T,2,i);break;case`enum`:Km(e,B.INT32,2,i);break;case`message`:_p(i!==void 0),e.tag(2,Qp.LengthDelimited).bytes(i.toBinary(t));break}e.join()}function Gm(e,t,n,r){let i=hm(n.T,r);n.delimited?e.tag(n.no,Qp.StartGroup).raw(i.toBinary(t)).tag(n.no,Qp.EndGroup):e.tag(n.no,Qp.LengthDelimited).bytes(i.toBinary(t))}function Km(e,t,n,r){_p(r!==void 0);let[i,a]=Jm(t);e.tag(n,i)[a](r)}function qm(e,t,n,r){if(!r.length)return;e.tag(n,Qp.LengthDelimited).fork();let[,i]=Jm(t);for(let t=0;t<r.length;t++)e[i](r[t]);e.join()}function Jm(e){let t=Qp.Varint;switch(e){case B.BYTES:case B.STRING:t=Qp.LengthDelimited;break;case B.DOUBLE:case B.FIXED64:case B.SFIXED64:t=Qp.Bit64;break;case B.FIXED32:case B.SFIXED32:case B.FLOAT:t=Qp.Bit32;break}let n=B[e].toLowerCase();return[t,n]}function Ym(){return{setEnumType:Op,initPartial(e,t){if(e===void 0)return;let n=t.getType();for(let r of n.fields.byMember()){let n=r.localName,i=t,a=e;if(a[n]!=null)switch(r.kind){case`oneof`:let e=a[n].case;if(e===void 0)continue;let t=r.findField(e),o=a[n].value;t&&t.kind==`message`&&!mm(o,t.T)?o=new t.T(o):t&&t.kind===`scalar`&&t.T===B.BYTES&&(o=Zm(o)),i[n]={case:e,value:o};break;case`scalar`:case`enum`:let s=a[n];r.T===B.BYTES&&(s=r.repeated?s.map(Zm):Zm(s)),i[n]=s;break;case`map`:switch(r.V.kind){case`scalar`:case`enum`:if(r.V.T===B.BYTES)for(let[e,t]of Object.entries(a[n]))i[n][e]=Zm(t);else Object.assign(i[n],a[n]);break;case`message`:let e=r.V.T;for(let t of Object.keys(a[n])){let r=a[n][t];e.fieldWrapper||(r=new e(r)),i[n][t]=r}break}break;case`message`:let c=r.T;if(r.repeated)i[n]=a[n].map(e=>mm(e,c)?e:new c(e));else{let e=a[n];c.fieldWrapper?c.typeName===`google.protobuf.BytesValue`?i[n]=Zm(e):i[n]=e:i[n]=mm(e,c)?e:new c(e)}break}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(e=>{let r=t[e.localName],i=n[e.localName];if(e.repeated){if(r.length!==i.length)return!1;switch(e.kind){case`message`:return r.every((t,n)=>e.T.equals(t,i[n]));case`scalar`:return r.every((t,n)=>Yp(e.T,t,i[n]));case`enum`:return r.every((e,t)=>Yp(B.INT32,e,i[t]))}throw Error(`repeated cannot contain ${e.kind}`)}switch(e.kind){case`message`:let t=r,n=i;return e.T.fieldWrapper&&(t!==void 0&&!mm(t)&&(t=e.T.fieldWrapper.wrapField(t)),n!==void 0&&!mm(n)&&(n=e.T.fieldWrapper.wrapField(n))),e.T.equals(t,n);case`enum`:return Yp(B.INT32,r,i);case`scalar`:return Yp(e.T,r,i);case`oneof`:if(r.case!==i.case)return!1;let a=e.findField(r.case);if(a===void 0)return!0;switch(a.kind){case`message`:return a.T.equals(r.value,i.value);case`enum`:return Yp(B.INT32,r.value,i.value);case`scalar`:return Yp(a.T,r.value,i.value)}throw Error(`oneof cannot contain ${a.kind}`);case`map`:let o=Object.keys(r).concat(Object.keys(i));switch(e.V.kind){case`message`:let t=e.V.T;return o.every(e=>t.equals(r[e],i[e]));case`enum`:return o.every(e=>Yp(B.INT32,r[e],i[e]));case`scalar`:let n=e.V.T;return o.every(e=>Yp(n,r[e],i[e]))}break}})},clone(e){let t=e.getType(),n=new t,r=n;for(let n of t.fields.byMember()){let t=e[n.localName],i;if(n.repeated)i=t.map(Xm);else if(n.kind==`map`){i=r[n.localName];for(let[e,n]of Object.entries(t))i[e]=Xm(n)}else i=n.kind==`oneof`?n.findField(t.case)?{case:t.case,value:Xm(t.value)}:{case:void 0}:Xm(t);r[n.localName]=i}for(let n of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,n.no,n.wireType,n.data);return n}}}function Xm(e){if(e===void 0)return e;if(mm(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Zm(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function Qm(e,t,n){return{syntax:e,json:Sm(),bin:Lm(),util:Object.assign(Object.assign({},Ym()),{newFieldList:t,initFields:n}),makeMessageType(e,t,n){return Np(this,e,t,n)},makeEnum:Ap,makeEnumType:kp,getEnumType:Dp,makeExtension(e,t,n){return tm(this,e,t,n)}}}var $m=class{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){let e={};for(let t of this.list())e[t.jsonName]=e[t.name]=t;this.jsonNames=e}return this.jsonNames[e]}find(e){if(!this.numbers){let e={};for(let t of this.list())e[t.no]=t;this.numbers=e}return this.numbers[e]}list(){return this.all||=this._normalizer(this._fields),this.all}byNumber(){return this.numbersAsc||=this.list().concat().sort((e,t)=>e.no-t.no),this.numbersAsc}byMember(){if(!this.members){this.members=[];let e=this.members,t;for(let n of this.list())n.oneof?n.oneof!==t&&(t=n.oneof,e.push(t)):e.push(n)}return this.members}};function eh(e,t){let n=rh(e);return t?n:ch(sh(n))}function th(e){return eh(e,!1)}var nh=rh;function rh(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let i=e.charAt(r);switch(i){case`_`:t=!0;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n.push(i),t=!1;break;default:t&&(t=!1,i=i.toUpperCase()),n.push(i);break}}return n.join(``)}var ih=new Set([`constructor`,`toString`,`toJSON`,`valueOf`]),ah=new Set([`getType`,`clone`,`equals`,`fromBinary`,`fromJson`,`fromJsonString`,`toBinary`,`toJson`,`toJsonString`,`toObject`]),oh=e=>`${e}\$`,sh=e=>ah.has(e)?oh(e):e,ch=e=>ih.has(e)?oh(e):e,lh=class{constructor(e){this.kind=`oneof`,this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=th(e)}addField(e){_p(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let e=0;e<this.fields.length;e++)this._lookup[this.fields[e].localName]=this.fields[e]}return this._lookup[e]}};function uh(e,t){let n=[],r;for(let t of typeof e==`function`?e():e){let e=t;if(e.localName=eh(t.name,t.oneof!==void 0),e.jsonName=t.jsonName??nh(t.name),e.repeated=t.repeated??!1,t.kind==`scalar`&&(e.L=t.L??Jp.BIGINT),e.delimited=t.delimited??!1,e.req=t.req??!1,e.opt=t.opt??!1,t.packed===void 0&&(e.packed=t.kind==`enum`||t.kind==`scalar`&&t.T!=B.BYTES&&t.T!=B.STRING),t.oneof!==void 0){let n=typeof t.oneof==`string`?t.oneof:t.oneof.name;(!r||r.name!=n)&&(r=new lh(n)),e.oneof=r,r.addField(e)}n.push(e)}return n}var V=Qm(`proto3`,e=>new $m(e,e=>uh(e)),e=>{for(let t of e.getType().fields.byMember()){if(t.opt)continue;let n=t.localName,r=e;if(t.repeated){r[n]=[];continue}switch(t.kind){case`oneof`:r[n]={case:void 0};break;case`enum`:r[n]=0;break;case`map`:r[n]={};break;case`scalar`:r[n]=Xp(t.T,t.L);break}}}),dh=class e extends Mp{constructor(e){super(),this.seconds=qp.zero,this.nanos=0,V.util.initPartial(e,this)}fromJson(e,t){if(typeof e!=`string`)throw Error(`cannot decode google.protobuf.Timestamp from JSON: ${V.json.debug(e)}`);let n=e.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!n)throw Error(`cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string`);let r=Date.parse(n[1]+`-`+n[2]+`-`+n[3]+`T`+n[4]+`:`+n[5]+`:`+n[6]+(n[8]?n[8]:`Z`));if(Number.isNaN(r))throw Error(`cannot decode google.protobuf.Timestamp from JSON: invalid RFC 3339 string`);if(r<Date.parse(`0001-01-01T00:00:00Z`)||r>Date.parse(`9999-12-31T23:59:59Z`))throw Error(`cannot decode message google.protobuf.Timestamp from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);return this.seconds=qp.parse(r/1e3),this.nanos=0,n[7]&&(this.nanos=parseInt(`1`+n[7]+`0`.repeat(9-n[7].length))-1e9),this}toJson(e){let t=Number(this.seconds)*1e3;if(t<Date.parse(`0001-01-01T00:00:00Z`)||t>Date.parse(`9999-12-31T23:59:59Z`))throw Error(`cannot encode google.protobuf.Timestamp to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);if(this.nanos<0)throw Error(`cannot encode google.protobuf.Timestamp to JSON: nanos must not be negative`);let n=`Z`;if(this.nanos>0){let e=(this.nanos+1e9).toString().substring(1);n=e.substring(3)===`000000`?`.`+e.substring(0,3)+`Z`:e.substring(6)===`000`?`.`+e.substring(0,6)+`Z`:`.`+e+`Z`}return new Date(t).toISOString().replace(`.000Z`,n)}toDate(){return new Date(Number(this.seconds)*1e3+Math.ceil(this.nanos/1e6))}static now(){return e.fromDate(new Date)}static fromDate(t){let n=t.getTime();return new e({seconds:qp.parse(Math.floor(n/1e3)),nanos:n%1e3*1e6})}static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return V.util.equals(e,t,n)}};dh.runtime=V,dh.typeName=`google.protobuf.Timestamp`,dh.fields=V.util.newFieldList(()=>[{no:1,name:`seconds`,kind:`scalar`,T:3},{no:2,name:`nanos`,kind:`scalar`,T:5}]);var fh=V.makeMessageType(`livekit.MetricsBatch`,()=>[{no:1,name:`timestamp_ms`,kind:`scalar`,T:3},{no:2,name:`normalized_timestamp`,kind:`message`,T:dh},{no:3,name:`str_data`,kind:`scalar`,T:9,repeated:!0},{no:4,name:`time_series`,kind:`message`,T:ph,repeated:!0},{no:5,name:`events`,kind:`message`,T:hh,repeated:!0}]),ph=V.makeMessageType(`livekit.TimeSeriesMetric`,()=>[{no:1,name:`label`,kind:`scalar`,T:13},{no:2,name:`participant_identity`,kind:`scalar`,T:13},{no:3,name:`track_sid`,kind:`scalar`,T:13},{no:4,name:`samples`,kind:`message`,T:mh,repeated:!0},{no:5,name:`rid`,kind:`scalar`,T:13}]),mh=V.makeMessageType(`livekit.MetricSample`,()=>[{no:1,name:`timestamp_ms`,kind:`scalar`,T:3},{no:2,name:`normalized_timestamp`,kind:`message`,T:dh},{no:3,name:`value`,kind:`scalar`,T:2}]),hh=V.makeMessageType(`livekit.EventMetric`,()=>[{no:1,name:`label`,kind:`scalar`,T:13},{no:2,name:`participant_identity`,kind:`scalar`,T:13},{no:3,name:`track_sid`,kind:`scalar`,T:13},{no:4,name:`start_timestamp_ms`,kind:`scalar`,T:3},{no:5,name:`end_timestamp_ms`,kind:`scalar`,T:3,opt:!0},{no:6,name:`normalized_start_timestamp`,kind:`message`,T:dh},{no:7,name:`normalized_end_timestamp`,kind:`message`,T:dh,opt:!0},{no:8,name:`metadata`,kind:`scalar`,T:9},{no:9,name:`rid`,kind:`scalar`,T:13}]),gh=V.makeEnum(`livekit.BackupCodecPolicy`,[{no:0,name:`PREFER_REGRESSION`},{no:1,name:`SIMULCAST`},{no:2,name:`REGRESSION`}]),_h=V.makeEnum(`livekit.TrackType`,[{no:0,name:`AUDIO`},{no:1,name:`VIDEO`},{no:2,name:`DATA`}]),vh=V.makeEnum(`livekit.TrackSource`,[{no:0,name:`UNKNOWN`},{no:1,name:`CAMERA`},{no:2,name:`MICROPHONE`},{no:3,name:`SCREEN_SHARE`},{no:4,name:`SCREEN_SHARE_AUDIO`}]),yh=V.makeEnum(`livekit.VideoQuality`,[{no:0,name:`LOW`},{no:1,name:`MEDIUM`},{no:2,name:`HIGH`},{no:3,name:`OFF`}]),bh=V.makeEnum(`livekit.ConnectionQuality`,[{no:0,name:`POOR`},{no:1,name:`GOOD`},{no:2,name:`EXCELLENT`},{no:3,name:`LOST`}]),xh=V.makeEnum(`livekit.ClientConfigSetting`,[{no:0,name:`UNSET`},{no:1,name:`DISABLED`},{no:2,name:`ENABLED`}]),Sh=V.makeEnum(`livekit.DisconnectReason`,[{no:0,name:`UNKNOWN_REASON`},{no:1,name:`CLIENT_INITIATED`},{no:2,name:`DUPLICATE_IDENTITY`},{no:3,name:`SERVER_SHUTDOWN`},{no:4,name:`PARTICIPANT_REMOVED`},{no:5,name:`ROOM_DELETED`},{no:6,name:`STATE_MISMATCH`},{no:7,name:`JOIN_FAILURE`},{no:8,name:`MIGRATION`},{no:9,name:`SIGNAL_CLOSE`},{no:10,name:`ROOM_CLOSED`},{no:11,name:`USER_UNAVAILABLE`},{no:12,name:`USER_REJECTED`},{no:13,name:`SIP_TRUNK_FAILURE`},{no:14,name:`CONNECTION_TIMEOUT`},{no:15,name:`MEDIA_FAILURE`}]),Ch=V.makeEnum(`livekit.ReconnectReason`,[{no:0,name:`RR_UNKNOWN`},{no:1,name:`RR_SIGNAL_DISCONNECTED`},{no:2,name:`RR_PUBLISHER_FAILED`},{no:3,name:`RR_SUBSCRIBER_FAILED`},{no:4,name:`RR_SWITCH_CANDIDATE`}]),wh=V.makeEnum(`livekit.SubscriptionError`,[{no:0,name:`SE_UNKNOWN`},{no:1,name:`SE_CODEC_UNSUPPORTED`},{no:2,name:`SE_TRACK_NOTFOUND`}]),Th=V.makeEnum(`livekit.AudioTrackFeature`,[{no:0,name:`TF_STEREO`},{no:1,name:`TF_NO_DTX`},{no:2,name:`TF_AUTO_GAIN_CONTROL`},{no:3,name:`TF_ECHO_CANCELLATION`},{no:4,name:`TF_NOISE_SUPPRESSION`},{no:5,name:`TF_ENHANCED_NOISE_CANCELLATION`},{no:6,name:`TF_PRECONNECT_BUFFER`}]),Eh=V.makeMessageType(`livekit.Room`,()=>[{no:1,name:`sid`,kind:`scalar`,T:9},{no:2,name:`name`,kind:`scalar`,T:9},{no:3,name:`empty_timeout`,kind:`scalar`,T:13},{no:14,name:`departure_timeout`,kind:`scalar`,T:13},{no:4,name:`max_participants`,kind:`scalar`,T:13},{no:5,name:`creation_time`,kind:`scalar`,T:3},{no:15,name:`creation_time_ms`,kind:`scalar`,T:3},{no:6,name:`turn_password`,kind:`scalar`,T:9},{no:7,name:`enabled_codecs`,kind:`message`,T:Dh,repeated:!0},{no:8,name:`metadata`,kind:`scalar`,T:9},{no:9,name:`num_participants`,kind:`scalar`,T:13},{no:11,name:`num_publishers`,kind:`scalar`,T:13},{no:10,name:`active_recording`,kind:`scalar`,T:8},{no:13,name:`version`,kind:`message`,T:lg}]),Dh=V.makeMessageType(`livekit.Codec`,()=>[{no:1,name:`mime`,kind:`scalar`,T:9},{no:2,name:`fmtp_line`,kind:`scalar`,T:9}]),Oh=V.makeMessageType(`livekit.ParticipantPermission`,()=>[{no:1,name:`can_subscribe`,kind:`scalar`,T:8},{no:2,name:`can_publish`,kind:`scalar`,T:8},{no:3,name:`can_publish_data`,kind:`scalar`,T:8},{no:9,name:`can_publish_sources`,kind:`enum`,T:V.getEnumType(vh),repeated:!0},{no:7,name:`hidden`,kind:`scalar`,T:8},{no:8,name:`recorder`,kind:`scalar`,T:8},{no:10,name:`can_update_metadata`,kind:`scalar`,T:8},{no:11,name:`agent`,kind:`scalar`,T:8},{no:12,name:`can_subscribe_metrics`,kind:`scalar`,T:8}]),kh=V.makeMessageType(`livekit.ParticipantInfo`,()=>[{no:1,name:`sid`,kind:`scalar`,T:9},{no:2,name:`identity`,kind:`scalar`,T:9},{no:3,name:`state`,kind:`enum`,T:V.getEnumType(Ah)},{no:4,name:`tracks`,kind:`message`,T:Fh,repeated:!0},{no:5,name:`metadata`,kind:`scalar`,T:9},{no:6,name:`joined_at`,kind:`scalar`,T:3},{no:17,name:`joined_at_ms`,kind:`scalar`,T:3},{no:9,name:`name`,kind:`scalar`,T:9},{no:10,name:`version`,kind:`scalar`,T:13},{no:11,name:`permission`,kind:`message`,T:Oh},{no:12,name:`region`,kind:`scalar`,T:9},{no:13,name:`is_publisher`,kind:`scalar`,T:8},{no:14,name:`kind`,kind:`enum`,T:V.getEnumType(jh)},{no:15,name:`attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}},{no:16,name:`disconnect_reason`,kind:`enum`,T:V.getEnumType(Sh)},{no:18,name:`kind_details`,kind:`enum`,T:V.getEnumType(Mh),repeated:!0},{no:19,name:`data_tracks`,kind:`message`,T:Ih,repeated:!0}]),Ah=V.makeEnum(`livekit.ParticipantInfo.State`,[{no:0,name:`JOINING`},{no:1,name:`JOINED`},{no:2,name:`ACTIVE`},{no:3,name:`DISCONNECTED`}]),jh=V.makeEnum(`livekit.ParticipantInfo.Kind`,[{no:0,name:`STANDARD`},{no:1,name:`INGRESS`},{no:2,name:`EGRESS`},{no:3,name:`SIP`},{no:4,name:`AGENT`},{no:7,name:`CONNECTOR`},{no:8,name:`BRIDGE`}]),Mh=V.makeEnum(`livekit.ParticipantInfo.KindDetail`,[{no:0,name:`CLOUD_AGENT`},{no:1,name:`FORWARDED`},{no:2,name:`CONNECTOR_WHATSAPP`},{no:3,name:`CONNECTOR_TWILIO`},{no:4,name:`BRIDGE_RTSP`}]),Nh=V.makeEnum(`livekit.Encryption.Type`,[{no:0,name:`NONE`},{no:1,name:`GCM`},{no:2,name:`CUSTOM`}]),Ph=V.makeMessageType(`livekit.SimulcastCodecInfo`,()=>[{no:1,name:`mime_type`,kind:`scalar`,T:9},{no:2,name:`mid`,kind:`scalar`,T:9},{no:3,name:`cid`,kind:`scalar`,T:9},{no:4,name:`layers`,kind:`message`,T:Rh,repeated:!0},{no:5,name:`video_layer_mode`,kind:`enum`,T:V.getEnumType(zh)},{no:6,name:`sdp_cid`,kind:`scalar`,T:9}]),Fh=V.makeMessageType(`livekit.TrackInfo`,()=>[{no:1,name:`sid`,kind:`scalar`,T:9},{no:2,name:`type`,kind:`enum`,T:V.getEnumType(_h)},{no:3,name:`name`,kind:`scalar`,T:9},{no:4,name:`muted`,kind:`scalar`,T:8},{no:5,name:`width`,kind:`scalar`,T:13},{no:6,name:`height`,kind:`scalar`,T:13},{no:7,name:`simulcast`,kind:`scalar`,T:8},{no:8,name:`disable_dtx`,kind:`scalar`,T:8},{no:9,name:`source`,kind:`enum`,T:V.getEnumType(vh)},{no:10,name:`layers`,kind:`message`,T:Rh,repeated:!0},{no:11,name:`mime_type`,kind:`scalar`,T:9},{no:12,name:`mid`,kind:`scalar`,T:9},{no:13,name:`codecs`,kind:`message`,T:Ph,repeated:!0},{no:14,name:`stereo`,kind:`scalar`,T:8},{no:15,name:`disable_red`,kind:`scalar`,T:8},{no:16,name:`encryption`,kind:`enum`,T:V.getEnumType(Nh)},{no:17,name:`stream`,kind:`scalar`,T:9},{no:18,name:`version`,kind:`message`,T:lg},{no:19,name:`audio_features`,kind:`enum`,T:V.getEnumType(Th),repeated:!0},{no:20,name:`backup_codec_policy`,kind:`enum`,T:V.getEnumType(gh)}]),Ih=V.makeMessageType(`livekit.DataTrackInfo`,()=>[{no:1,name:`pub_handle`,kind:`scalar`,T:13},{no:2,name:`sid`,kind:`scalar`,T:9},{no:3,name:`name`,kind:`scalar`,T:9},{no:4,name:`encryption`,kind:`enum`,T:V.getEnumType(Nh)}]),Lh=V.makeMessageType(`livekit.DataTrackSubscriptionOptions`,()=>[{no:1,name:`target_fps`,kind:`scalar`,T:13,opt:!0}]),Rh=V.makeMessageType(`livekit.VideoLayer`,()=>[{no:1,name:`quality`,kind:`enum`,T:V.getEnumType(yh)},{no:2,name:`width`,kind:`scalar`,T:13},{no:3,name:`height`,kind:`scalar`,T:13},{no:4,name:`bitrate`,kind:`scalar`,T:13},{no:5,name:`ssrc`,kind:`scalar`,T:13},{no:6,name:`spatial_layer`,kind:`scalar`,T:5},{no:7,name:`rid`,kind:`scalar`,T:9},{no:8,name:`repair_ssrc`,kind:`scalar`,T:13}]),zh=V.makeEnum(`livekit.VideoLayer.Mode`,[{no:0,name:`MODE_UNUSED`},{no:1,name:`ONE_SPATIAL_LAYER_PER_STREAM`},{no:2,name:`MULTIPLE_SPATIAL_LAYERS_PER_STREAM`},{no:3,name:`ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR`}]),Bh=V.makeMessageType(`livekit.DataPacket`,()=>[{no:1,name:`kind`,kind:`enum`,T:V.getEnumType(Vh)},{no:4,name:`participant_identity`,kind:`scalar`,T:9},{no:5,name:`destination_identities`,kind:`scalar`,T:9,repeated:!0},{no:2,name:`user`,kind:`message`,T:Kh,oneof:`value`},{no:3,name:`speaker`,kind:`message`,T:Wh,oneof:`value`},{no:6,name:`sip_dtmf`,kind:`message`,T:qh,oneof:`value`},{no:7,name:`transcription`,kind:`message`,T:Jh,oneof:`value`},{no:8,name:`metrics`,kind:`message`,T:fh,oneof:`value`},{no:9,name:`chat_message`,kind:`message`,T:Xh,oneof:`value`},{no:10,name:`rpc_request`,kind:`message`,T:Zh,oneof:`value`},{no:11,name:`rpc_ack`,kind:`message`,T:Qh,oneof:`value`},{no:12,name:`rpc_response`,kind:`message`,T:$h,oneof:`value`},{no:13,name:`stream_header`,kind:`message`,T:pg,oneof:`value`},{no:14,name:`stream_chunk`,kind:`message`,T:mg,oneof:`value`},{no:15,name:`stream_trailer`,kind:`message`,T:hg,oneof:`value`},{no:18,name:`encrypted_packet`,kind:`message`,T:Hh,oneof:`value`},{no:16,name:`sequence`,kind:`scalar`,T:13},{no:17,name:`participant_sid`,kind:`scalar`,T:9}]),Vh=V.makeEnum(`livekit.DataPacket.Kind`,[{no:0,name:`RELIABLE`},{no:1,name:`LOSSY`}]),Hh=V.makeMessageType(`livekit.EncryptedPacket`,()=>[{no:1,name:`encryption_type`,kind:`enum`,T:V.getEnumType(Nh)},{no:2,name:`iv`,kind:`scalar`,T:12},{no:3,name:`key_index`,kind:`scalar`,T:13},{no:4,name:`encrypted_value`,kind:`scalar`,T:12}]),Uh=V.makeMessageType(`livekit.EncryptedPacketPayload`,()=>[{no:1,name:`user`,kind:`message`,T:Kh,oneof:`value`},{no:3,name:`chat_message`,kind:`message`,T:Xh,oneof:`value`},{no:4,name:`rpc_request`,kind:`message`,T:Zh,oneof:`value`},{no:5,name:`rpc_ack`,kind:`message`,T:Qh,oneof:`value`},{no:6,name:`rpc_response`,kind:`message`,T:$h,oneof:`value`},{no:7,name:`stream_header`,kind:`message`,T:pg,oneof:`value`},{no:8,name:`stream_chunk`,kind:`message`,T:mg,oneof:`value`},{no:9,name:`stream_trailer`,kind:`message`,T:hg,oneof:`value`}]),Wh=V.makeMessageType(`livekit.ActiveSpeakerUpdate`,()=>[{no:1,name:`speakers`,kind:`message`,T:Gh,repeated:!0}]),Gh=V.makeMessageType(`livekit.SpeakerInfo`,()=>[{no:1,name:`sid`,kind:`scalar`,T:9},{no:2,name:`level`,kind:`scalar`,T:2},{no:3,name:`active`,kind:`scalar`,T:8}]),Kh=V.makeMessageType(`livekit.UserPacket`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:5,name:`participant_identity`,kind:`scalar`,T:9},{no:2,name:`payload`,kind:`scalar`,T:12},{no:3,name:`destination_sids`,kind:`scalar`,T:9,repeated:!0},{no:6,name:`destination_identities`,kind:`scalar`,T:9,repeated:!0},{no:4,name:`topic`,kind:`scalar`,T:9,opt:!0},{no:8,name:`id`,kind:`scalar`,T:9,opt:!0},{no:9,name:`start_time`,kind:`scalar`,T:4,opt:!0},{no:10,name:`end_time`,kind:`scalar`,T:4,opt:!0},{no:11,name:`nonce`,kind:`scalar`,T:12}]),qh=V.makeMessageType(`livekit.SipDTMF`,()=>[{no:3,name:`code`,kind:`scalar`,T:13},{no:4,name:`digit`,kind:`scalar`,T:9}]),Jh=V.makeMessageType(`livekit.Transcription`,()=>[{no:2,name:`transcribed_participant_identity`,kind:`scalar`,T:9},{no:3,name:`track_id`,kind:`scalar`,T:9},{no:4,name:`segments`,kind:`message`,T:Yh,repeated:!0}]),Yh=V.makeMessageType(`livekit.TranscriptionSegment`,()=>[{no:1,name:`id`,kind:`scalar`,T:9},{no:2,name:`text`,kind:`scalar`,T:9},{no:3,name:`start_time`,kind:`scalar`,T:4},{no:4,name:`end_time`,kind:`scalar`,T:4},{no:5,name:`final`,kind:`scalar`,T:8},{no:6,name:`language`,kind:`scalar`,T:9}]),Xh=V.makeMessageType(`livekit.ChatMessage`,()=>[{no:1,name:`id`,kind:`scalar`,T:9},{no:2,name:`timestamp`,kind:`scalar`,T:3},{no:3,name:`edit_timestamp`,kind:`scalar`,T:3,opt:!0},{no:4,name:`message`,kind:`scalar`,T:9},{no:5,name:`deleted`,kind:`scalar`,T:8},{no:6,name:`generated`,kind:`scalar`,T:8}]),Zh=V.makeMessageType(`livekit.RpcRequest`,()=>[{no:1,name:`id`,kind:`scalar`,T:9},{no:2,name:`method`,kind:`scalar`,T:9},{no:3,name:`payload`,kind:`scalar`,T:9},{no:4,name:`response_timeout_ms`,kind:`scalar`,T:13},{no:5,name:`version`,kind:`scalar`,T:13}]),Qh=V.makeMessageType(`livekit.RpcAck`,()=>[{no:1,name:`request_id`,kind:`scalar`,T:9}]),$h=V.makeMessageType(`livekit.RpcResponse`,()=>[{no:1,name:`request_id`,kind:`scalar`,T:9},{no:2,name:`payload`,kind:`scalar`,T:9,oneof:`value`},{no:3,name:`error`,kind:`message`,T:eg,oneof:`value`}]),eg=V.makeMessageType(`livekit.RpcError`,()=>[{no:1,name:`code`,kind:`scalar`,T:13},{no:2,name:`message`,kind:`scalar`,T:9},{no:3,name:`data`,kind:`scalar`,T:9}]),tg=V.makeMessageType(`livekit.ParticipantTracks`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:2,name:`track_sids`,kind:`scalar`,T:9,repeated:!0}]),ng=V.makeMessageType(`livekit.ServerInfo`,()=>[{no:1,name:`edition`,kind:`enum`,T:V.getEnumType(rg)},{no:2,name:`version`,kind:`scalar`,T:9},{no:3,name:`protocol`,kind:`scalar`,T:5},{no:4,name:`region`,kind:`scalar`,T:9},{no:5,name:`node_id`,kind:`scalar`,T:9},{no:6,name:`debug_info`,kind:`scalar`,T:9},{no:7,name:`agent_protocol`,kind:`scalar`,T:5}]),rg=V.makeEnum(`livekit.ServerInfo.Edition`,[{no:0,name:`Standard`},{no:1,name:`Cloud`}]),ig=V.makeMessageType(`livekit.ClientInfo`,()=>[{no:1,name:`sdk`,kind:`enum`,T:V.getEnumType(ag)},{no:2,name:`version`,kind:`scalar`,T:9},{no:3,name:`protocol`,kind:`scalar`,T:5},{no:4,name:`os`,kind:`scalar`,T:9},{no:5,name:`os_version`,kind:`scalar`,T:9},{no:6,name:`device_model`,kind:`scalar`,T:9},{no:7,name:`browser`,kind:`scalar`,T:9},{no:8,name:`browser_version`,kind:`scalar`,T:9},{no:9,name:`address`,kind:`scalar`,T:9},{no:10,name:`network`,kind:`scalar`,T:9},{no:11,name:`other_sdks`,kind:`scalar`,T:9}]),ag=V.makeEnum(`livekit.ClientInfo.SDK`,[{no:0,name:`UNKNOWN`},{no:1,name:`JS`},{no:2,name:`SWIFT`},{no:3,name:`ANDROID`},{no:4,name:`FLUTTER`},{no:5,name:`GO`},{no:6,name:`UNITY`},{no:7,name:`REACT_NATIVE`},{no:8,name:`RUST`},{no:9,name:`PYTHON`},{no:10,name:`CPP`},{no:11,name:`UNITY_WEB`},{no:12,name:`NODE`},{no:13,name:`UNREAL`},{no:14,name:`ESP32`}]),og=V.makeMessageType(`livekit.ClientConfiguration`,()=>[{no:1,name:`video`,kind:`message`,T:sg},{no:2,name:`screen`,kind:`message`,T:sg},{no:3,name:`resume_connection`,kind:`enum`,T:V.getEnumType(xh)},{no:4,name:`disabled_codecs`,kind:`message`,T:cg},{no:5,name:`force_relay`,kind:`enum`,T:V.getEnumType(xh)}]),sg=V.makeMessageType(`livekit.VideoConfiguration`,()=>[{no:1,name:`hardware_encoder`,kind:`enum`,T:V.getEnumType(xh)}]),cg=V.makeMessageType(`livekit.DisabledCodecs`,()=>[{no:1,name:`codecs`,kind:`message`,T:Dh,repeated:!0},{no:2,name:`publish`,kind:`message`,T:Dh,repeated:!0}]),lg=V.makeMessageType(`livekit.TimedVersion`,()=>[{no:1,name:`unix_micro`,kind:`scalar`,T:3},{no:2,name:`ticks`,kind:`scalar`,T:5}]),ug=V.makeEnum(`livekit.DataStream.OperationType`,[{no:0,name:`CREATE`},{no:1,name:`UPDATE`},{no:2,name:`DELETE`},{no:3,name:`REACTION`}]),dg=V.makeMessageType(`livekit.DataStream.TextHeader`,()=>[{no:1,name:`operation_type`,kind:`enum`,T:V.getEnumType(ug)},{no:2,name:`version`,kind:`scalar`,T:5},{no:3,name:`reply_to_stream_id`,kind:`scalar`,T:9},{no:4,name:`attached_stream_ids`,kind:`scalar`,T:9,repeated:!0},{no:5,name:`generated`,kind:`scalar`,T:8}],{localName:`DataStream_TextHeader`}),fg=V.makeMessageType(`livekit.DataStream.ByteHeader`,()=>[{no:1,name:`name`,kind:`scalar`,T:9}],{localName:`DataStream_ByteHeader`}),pg=V.makeMessageType(`livekit.DataStream.Header`,()=>[{no:1,name:`stream_id`,kind:`scalar`,T:9},{no:2,name:`timestamp`,kind:`scalar`,T:3},{no:3,name:`topic`,kind:`scalar`,T:9},{no:4,name:`mime_type`,kind:`scalar`,T:9},{no:5,name:`total_length`,kind:`scalar`,T:4,opt:!0},{no:7,name:`encryption_type`,kind:`enum`,T:V.getEnumType(Nh)},{no:8,name:`attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}},{no:9,name:`text_header`,kind:`message`,T:dg,oneof:`content_header`},{no:10,name:`byte_header`,kind:`message`,T:fg,oneof:`content_header`}],{localName:`DataStream_Header`}),mg=V.makeMessageType(`livekit.DataStream.Chunk`,()=>[{no:1,name:`stream_id`,kind:`scalar`,T:9},{no:2,name:`chunk_index`,kind:`scalar`,T:4},{no:3,name:`content`,kind:`scalar`,T:12},{no:4,name:`version`,kind:`scalar`,T:5},{no:5,name:`iv`,kind:`scalar`,T:12,opt:!0}],{localName:`DataStream_Chunk`}),hg=V.makeMessageType(`livekit.DataStream.Trailer`,()=>[{no:1,name:`stream_id`,kind:`scalar`,T:9},{no:2,name:`reason`,kind:`scalar`,T:9},{no:3,name:`attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}}],{localName:`DataStream_Trailer`}),gg=V.makeMessageType(`livekit.SubscribedAudioCodec`,()=>[{no:1,name:`codec`,kind:`scalar`,T:9},{no:2,name:`enabled`,kind:`scalar`,T:8}]),_g=V.makeEnum(`livekit.SignalTarget`,[{no:0,name:`PUBLISHER`},{no:1,name:`SUBSCRIBER`}]),vg=V.makeEnum(`livekit.StreamState`,[{no:0,name:`ACTIVE`},{no:1,name:`PAUSED`}]),yg=V.makeEnum(`livekit.CandidateProtocol`,[{no:0,name:`UDP`},{no:1,name:`TCP`},{no:2,name:`TLS`}]),bg=V.makeMessageType(`livekit.SignalRequest`,()=>[{no:1,name:`offer`,kind:`message`,T:Ig,oneof:`message`},{no:2,name:`answer`,kind:`message`,T:Ig,oneof:`message`},{no:3,name:`trickle`,kind:`message`,T:Ag,oneof:`message`},{no:4,name:`add_track`,kind:`message`,T:Cg,oneof:`message`},{no:5,name:`mute`,kind:`message`,T:jg,oneof:`message`},{no:6,name:`subscription`,kind:`message`,T:Rg,oneof:`message`},{no:7,name:`track_setting`,kind:`message`,T:Vg,oneof:`message`},{no:8,name:`leave`,kind:`message`,T:Wg,oneof:`message`},{no:10,name:`update_layers`,kind:`message`,T:Kg,oneof:`message`},{no:11,name:`subscription_permission`,kind:`message`,T:o_,oneof:`message`},{no:12,name:`sync_state`,kind:`message`,T:l_,oneof:`message`},{no:13,name:`simulate`,kind:`message`,T:f_,oneof:`message`},{no:14,name:`ping`,kind:`scalar`,T:3,oneof:`message`},{no:15,name:`update_metadata`,kind:`message`,T:qg,oneof:`message`},{no:16,name:`ping_req`,kind:`message`,T:p_,oneof:`message`},{no:17,name:`update_audio_track`,kind:`message`,T:Hg,oneof:`message`},{no:18,name:`update_video_track`,kind:`message`,T:Ug,oneof:`message`},{no:19,name:`publish_data_track_request`,kind:`message`,T:wg,oneof:`message`},{no:20,name:`unpublish_data_track_request`,kind:`message`,T:Eg,oneof:`message`},{no:21,name:`update_data_subscription`,kind:`message`,T:zg,oneof:`message`}]),xg=V.makeMessageType(`livekit.SignalResponse`,()=>[{no:1,name:`join`,kind:`message`,T:Mg,oneof:`message`},{no:2,name:`answer`,kind:`message`,T:Ig,oneof:`message`},{no:3,name:`offer`,kind:`message`,T:Ig,oneof:`message`},{no:4,name:`trickle`,kind:`message`,T:Ag,oneof:`message`},{no:5,name:`update`,kind:`message`,T:Lg,oneof:`message`},{no:6,name:`track_published`,kind:`message`,T:Pg,oneof:`message`},{no:8,name:`leave`,kind:`message`,T:Wg,oneof:`message`},{no:9,name:`mute`,kind:`message`,T:jg,oneof:`message`},{no:10,name:`speakers_changed`,kind:`message`,T:Yg,oneof:`message`},{no:11,name:`room_update`,kind:`message`,T:Xg,oneof:`message`},{no:12,name:`connection_quality`,kind:`message`,T:Qg,oneof:`message`},{no:13,name:`stream_state_update`,kind:`message`,T:e_,oneof:`message`},{no:14,name:`subscribed_quality_update`,kind:`message`,T:r_,oneof:`message`},{no:15,name:`subscription_permission_update`,kind:`message`,T:s_,oneof:`message`},{no:16,name:`refresh_token`,kind:`scalar`,T:9,oneof:`message`},{no:17,name:`track_unpublished`,kind:`message`,T:Fg,oneof:`message`},{no:18,name:`pong`,kind:`scalar`,T:3,oneof:`message`},{no:19,name:`reconnect`,kind:`message`,T:Ng,oneof:`message`},{no:20,name:`pong_resp`,kind:`message`,T:m_,oneof:`message`},{no:21,name:`subscription_response`,kind:`message`,T:__,oneof:`message`},{no:22,name:`request_response`,kind:`message`,T:v_,oneof:`message`},{no:23,name:`track_subscribed`,kind:`message`,T:b_,oneof:`message`},{no:24,name:`room_moved`,kind:`message`,T:c_,oneof:`message`},{no:25,name:`media_sections_requirement`,kind:`message`,T:T_,oneof:`message`},{no:26,name:`subscribed_audio_codec_update`,kind:`message`,T:i_,oneof:`message`},{no:27,name:`publish_data_track_response`,kind:`message`,T:Tg,oneof:`message`},{no:28,name:`unpublish_data_track_response`,kind:`message`,T:Dg,oneof:`message`},{no:29,name:`data_track_subscriber_handles`,kind:`message`,T:Og,oneof:`message`}]),Sg=V.makeMessageType(`livekit.SimulcastCodec`,()=>[{no:1,name:`codec`,kind:`scalar`,T:9},{no:2,name:`cid`,kind:`scalar`,T:9},{no:4,name:`layers`,kind:`message`,T:Rh,repeated:!0},{no:5,name:`video_layer_mode`,kind:`enum`,T:V.getEnumType(zh)}]),Cg=V.makeMessageType(`livekit.AddTrackRequest`,()=>[{no:1,name:`cid`,kind:`scalar`,T:9},{no:2,name:`name`,kind:`scalar`,T:9},{no:3,name:`type`,kind:`enum`,T:V.getEnumType(_h)},{no:4,name:`width`,kind:`scalar`,T:13},{no:5,name:`height`,kind:`scalar`,T:13},{no:6,name:`muted`,kind:`scalar`,T:8},{no:7,name:`disable_dtx`,kind:`scalar`,T:8},{no:8,name:`source`,kind:`enum`,T:V.getEnumType(vh)},{no:9,name:`layers`,kind:`message`,T:Rh,repeated:!0},{no:10,name:`simulcast_codecs`,kind:`message`,T:Sg,repeated:!0},{no:11,name:`sid`,kind:`scalar`,T:9},{no:12,name:`stereo`,kind:`scalar`,T:8},{no:13,name:`disable_red`,kind:`scalar`,T:8},{no:14,name:`encryption`,kind:`enum`,T:V.getEnumType(Nh)},{no:15,name:`stream`,kind:`scalar`,T:9},{no:16,name:`backup_codec_policy`,kind:`enum`,T:V.getEnumType(gh)},{no:17,name:`audio_features`,kind:`enum`,T:V.getEnumType(Th),repeated:!0}]),wg=V.makeMessageType(`livekit.PublishDataTrackRequest`,()=>[{no:1,name:`pub_handle`,kind:`scalar`,T:13},{no:2,name:`name`,kind:`scalar`,T:9},{no:3,name:`encryption`,kind:`enum`,T:V.getEnumType(Nh)}]),Tg=V.makeMessageType(`livekit.PublishDataTrackResponse`,()=>[{no:1,name:`info`,kind:`message`,T:Ih}]),Eg=V.makeMessageType(`livekit.UnpublishDataTrackRequest`,()=>[{no:1,name:`pub_handle`,kind:`scalar`,T:13}]),Dg=V.makeMessageType(`livekit.UnpublishDataTrackResponse`,()=>[{no:1,name:`info`,kind:`message`,T:Ih}]),Og=V.makeMessageType(`livekit.DataTrackSubscriberHandles`,()=>[{no:1,name:`sub_handles`,kind:`map`,K:13,V:{kind:`message`,T:kg}}]),kg=V.makeMessageType(`livekit.DataTrackSubscriberHandles.PublishedDataTrack`,()=>[{no:1,name:`publisher_identity`,kind:`scalar`,T:9},{no:2,name:`publisher_sid`,kind:`scalar`,T:9},{no:3,name:`track_sid`,kind:`scalar`,T:9}],{localName:`DataTrackSubscriberHandles_PublishedDataTrack`}),Ag=V.makeMessageType(`livekit.TrickleRequest`,()=>[{no:1,name:`candidateInit`,kind:`scalar`,T:9},{no:2,name:`target`,kind:`enum`,T:V.getEnumType(_g)},{no:3,name:`final`,kind:`scalar`,T:8}]),jg=V.makeMessageType(`livekit.MuteTrackRequest`,()=>[{no:1,name:`sid`,kind:`scalar`,T:9},{no:2,name:`muted`,kind:`scalar`,T:8}]),Mg=V.makeMessageType(`livekit.JoinResponse`,()=>[{no:1,name:`room`,kind:`message`,T:Eh},{no:2,name:`participant`,kind:`message`,T:kh},{no:3,name:`other_participants`,kind:`message`,T:kh,repeated:!0},{no:4,name:`server_version`,kind:`scalar`,T:9},{no:5,name:`ice_servers`,kind:`message`,T:Jg,repeated:!0},{no:6,name:`subscriber_primary`,kind:`scalar`,T:8},{no:7,name:`alternative_url`,kind:`scalar`,T:9},{no:8,name:`client_configuration`,kind:`message`,T:og},{no:9,name:`server_region`,kind:`scalar`,T:9},{no:10,name:`ping_timeout`,kind:`scalar`,T:5},{no:11,name:`ping_interval`,kind:`scalar`,T:5},{no:12,name:`server_info`,kind:`message`,T:ng},{no:13,name:`sif_trailer`,kind:`scalar`,T:12},{no:14,name:`enabled_publish_codecs`,kind:`message`,T:Dh,repeated:!0},{no:15,name:`fast_publish`,kind:`scalar`,T:8}]),Ng=V.makeMessageType(`livekit.ReconnectResponse`,()=>[{no:1,name:`ice_servers`,kind:`message`,T:Jg,repeated:!0},{no:2,name:`client_configuration`,kind:`message`,T:og},{no:3,name:`server_info`,kind:`message`,T:ng},{no:4,name:`last_message_seq`,kind:`scalar`,T:13}]),Pg=V.makeMessageType(`livekit.TrackPublishedResponse`,()=>[{no:1,name:`cid`,kind:`scalar`,T:9},{no:2,name:`track`,kind:`message`,T:Fh}]),Fg=V.makeMessageType(`livekit.TrackUnpublishedResponse`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9}]),Ig=V.makeMessageType(`livekit.SessionDescription`,()=>[{no:1,name:`type`,kind:`scalar`,T:9},{no:2,name:`sdp`,kind:`scalar`,T:9},{no:3,name:`id`,kind:`scalar`,T:13},{no:4,name:`mid_to_track_id`,kind:`map`,K:9,V:{kind:`scalar`,T:9}}]),Lg=V.makeMessageType(`livekit.ParticipantUpdate`,()=>[{no:1,name:`participants`,kind:`message`,T:kh,repeated:!0}]),Rg=V.makeMessageType(`livekit.UpdateSubscription`,()=>[{no:1,name:`track_sids`,kind:`scalar`,T:9,repeated:!0},{no:2,name:`subscribe`,kind:`scalar`,T:8},{no:3,name:`participant_tracks`,kind:`message`,T:tg,repeated:!0}]),zg=V.makeMessageType(`livekit.UpdateDataSubscription`,()=>[{no:1,name:`updates`,kind:`message`,T:Bg,repeated:!0}]),Bg=V.makeMessageType(`livekit.UpdateDataSubscription.Update`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`subscribe`,kind:`scalar`,T:8},{no:3,name:`options`,kind:`message`,T:Lh}],{localName:`UpdateDataSubscription_Update`}),Vg=V.makeMessageType(`livekit.UpdateTrackSettings`,()=>[{no:1,name:`track_sids`,kind:`scalar`,T:9,repeated:!0},{no:3,name:`disabled`,kind:`scalar`,T:8},{no:4,name:`quality`,kind:`enum`,T:V.getEnumType(yh)},{no:5,name:`width`,kind:`scalar`,T:13},{no:6,name:`height`,kind:`scalar`,T:13},{no:7,name:`fps`,kind:`scalar`,T:13},{no:8,name:`priority`,kind:`scalar`,T:13}]),Hg=V.makeMessageType(`livekit.UpdateLocalAudioTrack`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`features`,kind:`enum`,T:V.getEnumType(Th),repeated:!0}]),Ug=V.makeMessageType(`livekit.UpdateLocalVideoTrack`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`width`,kind:`scalar`,T:13},{no:3,name:`height`,kind:`scalar`,T:13}]),Wg=V.makeMessageType(`livekit.LeaveRequest`,()=>[{no:1,name:`can_reconnect`,kind:`scalar`,T:8},{no:2,name:`reason`,kind:`enum`,T:V.getEnumType(Sh)},{no:3,name:`action`,kind:`enum`,T:V.getEnumType(Gg)},{no:4,name:`regions`,kind:`message`,T:h_}]),Gg=V.makeEnum(`livekit.LeaveRequest.Action`,[{no:0,name:`DISCONNECT`},{no:1,name:`RESUME`},{no:2,name:`RECONNECT`}]),Kg=V.makeMessageType(`livekit.UpdateVideoLayers`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`layers`,kind:`message`,T:Rh,repeated:!0}]),qg=V.makeMessageType(`livekit.UpdateParticipantMetadata`,()=>[{no:1,name:`metadata`,kind:`scalar`,T:9},{no:2,name:`name`,kind:`scalar`,T:9},{no:3,name:`attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}},{no:4,name:`request_id`,kind:`scalar`,T:13}]),Jg=V.makeMessageType(`livekit.ICEServer`,()=>[{no:1,name:`urls`,kind:`scalar`,T:9,repeated:!0},{no:2,name:`username`,kind:`scalar`,T:9},{no:3,name:`credential`,kind:`scalar`,T:9}]),Yg=V.makeMessageType(`livekit.SpeakersChanged`,()=>[{no:1,name:`speakers`,kind:`message`,T:Gh,repeated:!0}]),Xg=V.makeMessageType(`livekit.RoomUpdate`,()=>[{no:1,name:`room`,kind:`message`,T:Eh}]),Zg=V.makeMessageType(`livekit.ConnectionQualityInfo`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:2,name:`quality`,kind:`enum`,T:V.getEnumType(bh)},{no:3,name:`score`,kind:`scalar`,T:2}]),Qg=V.makeMessageType(`livekit.ConnectionQualityUpdate`,()=>[{no:1,name:`updates`,kind:`message`,T:Zg,repeated:!0}]),$g=V.makeMessageType(`livekit.StreamStateInfo`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:2,name:`track_sid`,kind:`scalar`,T:9},{no:3,name:`state`,kind:`enum`,T:V.getEnumType(vg)}]),e_=V.makeMessageType(`livekit.StreamStateUpdate`,()=>[{no:1,name:`stream_states`,kind:`message`,T:$g,repeated:!0}]),t_=V.makeMessageType(`livekit.SubscribedQuality`,()=>[{no:1,name:`quality`,kind:`enum`,T:V.getEnumType(yh)},{no:2,name:`enabled`,kind:`scalar`,T:8}]),n_=V.makeMessageType(`livekit.SubscribedCodec`,()=>[{no:1,name:`codec`,kind:`scalar`,T:9},{no:2,name:`qualities`,kind:`message`,T:t_,repeated:!0}]),r_=V.makeMessageType(`livekit.SubscribedQualityUpdate`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`subscribed_qualities`,kind:`message`,T:t_,repeated:!0},{no:3,name:`subscribed_codecs`,kind:`message`,T:n_,repeated:!0}]),i_=V.makeMessageType(`livekit.SubscribedAudioCodecUpdate`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`subscribed_audio_codecs`,kind:`message`,T:gg,repeated:!0}]),a_=V.makeMessageType(`livekit.TrackPermission`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:2,name:`all_tracks`,kind:`scalar`,T:8},{no:3,name:`track_sids`,kind:`scalar`,T:9,repeated:!0},{no:4,name:`participant_identity`,kind:`scalar`,T:9}]),o_=V.makeMessageType(`livekit.SubscriptionPermission`,()=>[{no:1,name:`all_participants`,kind:`scalar`,T:8},{no:2,name:`track_permissions`,kind:`message`,T:a_,repeated:!0}]),s_=V.makeMessageType(`livekit.SubscriptionPermissionUpdate`,()=>[{no:1,name:`participant_sid`,kind:`scalar`,T:9},{no:2,name:`track_sid`,kind:`scalar`,T:9},{no:3,name:`allowed`,kind:`scalar`,T:8}]),c_=V.makeMessageType(`livekit.RoomMovedResponse`,()=>[{no:1,name:`room`,kind:`message`,T:Eh},{no:2,name:`token`,kind:`scalar`,T:9},{no:3,name:`participant`,kind:`message`,T:kh},{no:4,name:`other_participants`,kind:`message`,T:kh,repeated:!0}]),l_=V.makeMessageType(`livekit.SyncState`,()=>[{no:1,name:`answer`,kind:`message`,T:Ig},{no:2,name:`subscription`,kind:`message`,T:Rg},{no:3,name:`publish_tracks`,kind:`message`,T:Pg,repeated:!0},{no:4,name:`data_channels`,kind:`message`,T:d_,repeated:!0},{no:5,name:`offer`,kind:`message`,T:Ig},{no:6,name:`track_sids_disabled`,kind:`scalar`,T:9,repeated:!0},{no:7,name:`datachannel_receive_states`,kind:`message`,T:u_,repeated:!0},{no:8,name:`publish_data_tracks`,kind:`message`,T:Tg,repeated:!0}]),u_=V.makeMessageType(`livekit.DataChannelReceiveState`,()=>[{no:1,name:`publisher_sid`,kind:`scalar`,T:9},{no:2,name:`last_seq`,kind:`scalar`,T:13}]),d_=V.makeMessageType(`livekit.DataChannelInfo`,()=>[{no:1,name:`label`,kind:`scalar`,T:9},{no:2,name:`id`,kind:`scalar`,T:13},{no:3,name:`target`,kind:`enum`,T:V.getEnumType(_g)}]),f_=V.makeMessageType(`livekit.SimulateScenario`,()=>[{no:1,name:`speaker_update`,kind:`scalar`,T:5,oneof:`scenario`},{no:2,name:`node_failure`,kind:`scalar`,T:8,oneof:`scenario`},{no:3,name:`migration`,kind:`scalar`,T:8,oneof:`scenario`},{no:4,name:`server_leave`,kind:`scalar`,T:8,oneof:`scenario`},{no:5,name:`switch_candidate_protocol`,kind:`enum`,T:V.getEnumType(yg),oneof:`scenario`},{no:6,name:`subscriber_bandwidth`,kind:`scalar`,T:3,oneof:`scenario`},{no:7,name:`disconnect_signal_on_resume`,kind:`scalar`,T:8,oneof:`scenario`},{no:8,name:`disconnect_signal_on_resume_no_messages`,kind:`scalar`,T:8,oneof:`scenario`},{no:9,name:`leave_request_full_reconnect`,kind:`scalar`,T:8,oneof:`scenario`}]),p_=V.makeMessageType(`livekit.Ping`,()=>[{no:1,name:`timestamp`,kind:`scalar`,T:3},{no:2,name:`rtt`,kind:`scalar`,T:3}]),m_=V.makeMessageType(`livekit.Pong`,()=>[{no:1,name:`last_ping_timestamp`,kind:`scalar`,T:3},{no:2,name:`timestamp`,kind:`scalar`,T:3}]),h_=V.makeMessageType(`livekit.RegionSettings`,()=>[{no:1,name:`regions`,kind:`message`,T:g_,repeated:!0}]),g_=V.makeMessageType(`livekit.RegionInfo`,()=>[{no:1,name:`region`,kind:`scalar`,T:9},{no:2,name:`url`,kind:`scalar`,T:9},{no:3,name:`distance`,kind:`scalar`,T:3}]),__=V.makeMessageType(`livekit.SubscriptionResponse`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9},{no:2,name:`err`,kind:`enum`,T:V.getEnumType(wh)}]),v_=V.makeMessageType(`livekit.RequestResponse`,()=>[{no:1,name:`request_id`,kind:`scalar`,T:13},{no:2,name:`reason`,kind:`enum`,T:V.getEnumType(y_)},{no:3,name:`message`,kind:`scalar`,T:9},{no:4,name:`trickle`,kind:`message`,T:Ag,oneof:`request`},{no:5,name:`add_track`,kind:`message`,T:Cg,oneof:`request`},{no:6,name:`mute`,kind:`message`,T:jg,oneof:`request`},{no:7,name:`update_metadata`,kind:`message`,T:qg,oneof:`request`},{no:8,name:`update_audio_track`,kind:`message`,T:Hg,oneof:`request`},{no:9,name:`update_video_track`,kind:`message`,T:Ug,oneof:`request`},{no:10,name:`publish_data_track`,kind:`message`,T:wg,oneof:`request`},{no:11,name:`unpublish_data_track`,kind:`message`,T:Eg,oneof:`request`}]),y_=V.makeEnum(`livekit.RequestResponse.Reason`,[{no:0,name:`OK`},{no:1,name:`NOT_FOUND`},{no:2,name:`NOT_ALLOWED`},{no:3,name:`LIMIT_EXCEEDED`},{no:4,name:`QUEUED`},{no:5,name:`UNSUPPORTED_TYPE`},{no:6,name:`UNCLASSIFIED_ERROR`},{no:7,name:`INVALID_HANDLE`},{no:8,name:`INVALID_NAME`},{no:9,name:`DUPLICATE_HANDLE`},{no:10,name:`DUPLICATE_NAME`}]),b_=V.makeMessageType(`livekit.TrackSubscribed`,()=>[{no:1,name:`track_sid`,kind:`scalar`,T:9}]),x_=V.makeMessageType(`livekit.ConnectionSettings`,()=>[{no:1,name:`auto_subscribe`,kind:`scalar`,T:8},{no:2,name:`adaptive_stream`,kind:`scalar`,T:8},{no:3,name:`subscriber_allow_pause`,kind:`scalar`,T:8,opt:!0},{no:4,name:`disable_ice_lite`,kind:`scalar`,T:8},{no:5,name:`auto_subscribe_data_track`,kind:`scalar`,T:8,opt:!0}]),S_=V.makeMessageType(`livekit.JoinRequest`,()=>[{no:1,name:`client_info`,kind:`message`,T:ig},{no:2,name:`connection_settings`,kind:`message`,T:x_},{no:3,name:`metadata`,kind:`scalar`,T:9},{no:4,name:`participant_attributes`,kind:`map`,K:9,V:{kind:`scalar`,T:9}},{no:5,name:`add_track_requests`,kind:`message`,T:Cg,repeated:!0},{no:6,name:`publisher_offer`,kind:`message`,T:Ig},{no:7,name:`reconnect`,kind:`scalar`,T:8},{no:8,name:`reconnect_reason`,kind:`enum`,T:V.getEnumType(Ch)},{no:9,name:`participant_sid`,kind:`scalar`,T:9},{no:10,name:`sync_state`,kind:`message`,T:l_}]),C_=V.makeMessageType(`livekit.WrappedJoinRequest`,()=>[{no:1,name:`compression`,kind:`enum`,T:V.getEnumType(w_)},{no:2,name:`join_request`,kind:`scalar`,T:12}]),w_=V.makeEnum(`livekit.WrappedJoinRequest.Compression`,[{no:0,name:`NONE`},{no:1,name:`GZIP`}]),T_=V.makeMessageType(`livekit.MediaSectionsRequirement`,()=>[{no:1,name:`num_audios`,kind:`scalar`,T:13},{no:2,name:`num_videos`,kind:`scalar`,T:13}]);function E_(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var D_={exports:{}},O_=D_.exports,k_;function A_(){return k_?D_.exports:(k_=1,(function(e){(function(t,n){e.exports?e.exports=n():t.log=n()})(O_,function(){var e=function(){},t=`undefined`,n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=[`trace`,`debug`,`info`,`warn`,`error`],i={},a=null;function o(e,t){var n=e[t];if(typeof n.bind==`function`)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch{return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function c(r){return r===`debug`&&(r=`log`),typeof console===t?!1:r===`trace`&&n?s:console[r]===void 0?console.log===void 0?e:o(console,`log`):o(console,r)}function l(){for(var n=this.getLevel(),i=0;i<r.length;i++){var a=r[i];this[a]=i<n?e:this.methodFactory(a,n,this.name)}if(this.log=this.debug,typeof console===t&&n<this.levels.SILENT)return`No console available for logging`}function u(e){return function(){typeof console!==t&&(l.call(this),this[e].apply(this,arguments))}}function d(e,t,n){return c(e)||u.apply(this,arguments)}function f(e,n){var o=this,s,c,u,f=`loglevel`;typeof e==`string`?f+=`:`+e:typeof e==`symbol`&&(f=void 0);function p(e){var n=(r[e]||`silent`).toUpperCase();if(!(typeof window===t||!f)){try{window.localStorage[f]=n;return}catch{}try{window.document.cookie=encodeURIComponent(f)+`=`+n+`;`}catch{}}}function m(){var e;if(!(typeof window===t||!f)){try{e=window.localStorage[f]}catch{}if(typeof e===t)try{var n=window.document.cookie,r=encodeURIComponent(f),i=n.indexOf(r+`=`);i!==-1&&(e=/^([^;]+)/.exec(n.slice(i+r.length+1))[1])}catch{}return o.levels[e]===void 0&&(e=void 0),e}}function h(){if(!(typeof window===t||!f)){try{window.localStorage.removeItem(f)}catch{}try{window.document.cookie=encodeURIComponent(f)+`=; expires=Thu, 01 Jan 1970 00:00:00 UTC`}catch{}}}function g(e){var t=e;if(typeof t==`string`&&o.levels[t.toUpperCase()]!==void 0&&(t=o.levels[t.toUpperCase()]),typeof t==`number`&&t>=0&&t<=o.levels.SILENT)return t;throw TypeError(`log.setLevel() called with invalid level: `+e)}o.name=e,o.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},o.methodFactory=n||d,o.getLevel=function(){return u??c??s},o.setLevel=function(e,t){return u=g(e),t!==!1&&p(u),l.call(o)},o.setDefaultLevel=function(e){c=g(e),m()||o.setLevel(e,!1)},o.resetLevel=function(){u=null,h(),l.call(o)},o.enableAll=function(e){o.setLevel(o.levels.TRACE,e)},o.disableAll=function(e){o.setLevel(o.levels.SILENT,e)},o.rebuild=function(){if(a!==o&&(s=g(a.getLevel())),l.call(o),a===o)for(var e in i)i[e].rebuild()},s=g(a?a.getLevel():`WARN`);var _=m();_!=null&&(u=g(_)),l.call(o)}a=new f,a.getLogger=function(e){if(typeof e!=`symbol`&&typeof e!=`string`||e===``)throw TypeError(`You must supply a name when creating a logger.`);var t=i[e];return t||=i[e]=new f(e,a.methodFactory),t};var p=typeof window===t?void 0:window.log;return a.noConflict=function(){return typeof window!==t&&window.log===a&&(window.log=p),a},a.getLoggers=function(){return i},a.default=a,a})})(D_),D_.exports)}var j_=A_(),M_;(function(e){e[e.trace=0]=`trace`,e[e.debug=1]=`debug`,e[e.info=2]=`info`,e[e.warn=3]=`warn`,e[e.error=4]=`error`,e[e.silent=5]=`silent`})(M_||={});var N_;(function(e){e.Default=`livekit`,e.Room=`livekit-room`,e.TokenSource=`livekit-token-source`,e.Participant=`livekit-participant`,e.Track=`livekit-track`,e.Publication=`livekit-track-publication`,e.Engine=`livekit-engine`,e.Signal=`livekit-signal`,e.PCManager=`livekit-pc-manager`,e.PCTransport=`livekit-pc-transport`,e.E2EE=`lk-e2ee`,e.DataTracks=`livekit-data-tracks`})(N_||={});var H=j_.getLogger(`livekit`);Object.values(N_).map(e=>j_.getLogger(e)),H.setDefaultLevel(M_.info);function P_(e){let t=j_.getLogger(e);return t.setDefaultLevel(H.getLevel()),t}var F_=j_.getLogger(`lk-e2ee`),I_=7e3,L_=[0,300,4*300,9*300,16*300,I_,I_,I_,I_,I_],R_=class{constructor(e){this._retryDelays=e===void 0?L_:[...e]}nextRetryDelayInMs(e){if(e.retryCount>=this._retryDelays.length)return null;let t=this._retryDelays[e.retryCount];return e.retryCount<=1?t:t+Math.random()*1e3}};function z_(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function U(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function B_(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function V_(e){return this instanceof V_?(this.v=e,this):new V_(e)}function H_(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof V_?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}}function U_(e){var t,n;return t={},r(`next`),r(`throw`,function(e){throw e}),r(`return`),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:V_(e[r](t)),done:!1}:i?i(t):t}:i}}function W_(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof B_==`function`?B_(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}var G_={exports:{}},K_;function q_(){if(K_)return G_.exports;K_=1;var e=typeof Reflect==`object`?Reflect:null,t=e&&typeof e.apply==`function`?e.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},n=e&&typeof e.ownKeys==`function`?e.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};function r(e){console&&console.warn&&console.warn(e)}var i=Number.isNaN||function(e){return e!==e};function a(){a.init.call(this)}G_.exports=a,G_.exports.once=_,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var o=10;function s(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}Object.defineProperty(a,`defaultMaxListeners`,{enumerable:!0,get:function(){return o},set:function(e){if(typeof e!=`number`||e<0||i(e))throw RangeError(`The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received `+e+`.`);o=e}}),a.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if(typeof e!=`number`||e<0||i(e))throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e+`.`);return this._maxListeners=e,this};function c(e){return e._maxListeners===void 0?a.defaultMaxListeners:e._maxListeners}a.prototype.getMaxListeners=function(){return c(this)},a.prototype.emit=function(e){for(var n=[],r=1;r<arguments.length;r++)n.push(arguments[r]);var i=e===`error`,a=this._events;if(a!==void 0)i&&=a.error===void 0;else if(!i)return!1;if(i){var o;if(n.length>0&&(o=n[0]),o instanceof Error)throw o;var s=Error(`Unhandled error.`+(o?` (`+o.message+`)`:``));throw s.context=o,s}var c=a[e];if(c===void 0)return!1;if(typeof c==`function`)t(c,this,n);else for(var l=c.length,u=m(c,l),r=0;r<l;++r)t(u[r],this,n);return!0};function l(e,t,n,i){var a,o,l;if(s(n),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit(`newListener`,t,n.listener?n.listener:n),o=e._events),l=o[t]),l===void 0)l=o[t]=n,++e._eventsCount;else if(typeof l==`function`?l=o[t]=i?[n,l]:[l,n]:i?l.unshift(n):l.push(n),a=c(e),a>0&&l.length>a&&!l.warned){l.warned=!0;var u=Error(`Possible EventEmitter memory leak detected. `+l.length+` `+String(t)+` listeners added. Use emitter.setMaxListeners() to increase limit`);u.name=`MaxListenersExceededWarning`,u.emitter=e,u.type=t,u.count=l.length,r(u)}return e}a.prototype.addListener=function(e,t){return l(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return l(this,e,t,!0)};function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=u.bind(r);return i.listener=n,r.wrapFn=i,i}a.prototype.once=function(e,t){return s(t),this.on(e,d(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return s(t),this.prependListener(e,d(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,r,i,a,o;if(s(t),r=this._events,r===void 0||(n=r[e],n===void 0))return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(`removeListener`,e,n.listener||t));else if(typeof n!=`function`){for(i=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(i<0)return this;i===0?n.shift():h(n,i),n.length===1&&(r[e]=n[0]),r.removeListener!==void 0&&this.emit(`removeListener`,e,o||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n=this._events,r;if(n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var i=Object.keys(n),a;for(r=0;r<i.length;++r)a=i[r],a!==`removeListener`&&this.removeAllListeners(a);return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],typeof t==`function`)this.removeListener(e,t);else if(t!==void 0)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this};function f(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i==`function`?n?[i.listener||i]:[i]:n?g(i):m(i,i.length)}a.prototype.listeners=function(e){return f(this,e,!0)},a.prototype.rawListeners=function(e){return f(this,e,!1)},a.listenerCount=function(e,t){return typeof e.listenerCount==`function`?e.listenerCount(t):p.call(e,t)},a.prototype.listenerCount=p;function p(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n==`function`)return 1;if(n!==void 0)return n.length}return 0}a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]};function m(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e[r];return n}function h(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function g(e){for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function _(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,a),r(n)}function a(){typeof e.removeListener==`function`&&e.removeListener(`error`,i),n([].slice.call(arguments))}y(e,t,a,{once:!0}),t!==`error`&&v(e,i,{once:!0})})}function v(e,t,n){typeof e.on==`function`&&y(e,`error`,t,n)}function y(e,t,n,r){if(typeof e.on==`function`)r.once?e.once(t,n):e.on(t,n);else if(typeof e.addEventListener==`function`)e.addEventListener(t,function i(a){r.once&&e.removeEventListener(t,i),n(a)});else throw TypeError(`The "emitter" argument must be of type EventEmitter. Received type `+typeof e)}return G_.exports}var J_=q_(),Y_=!0,X_=!0;function Z_(e,t,n){let r=e.match(t);return r&&r.length>=n&&parseFloat(r[n],10)}function Q_(e,t,n){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(e,r){if(e!==t)return i.apply(this,arguments);let a=e=>{let t=n(e);t&&(r.handleEvent?r.handleEvent(t):r(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(r,a),i.apply(this,[e,a])};let a=r.removeEventListener;r.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t]||!this._eventMap[t].has(n))return a.apply(this,arguments);let r=this._eventMap[t].get(n);return this._eventMap[t].delete(n),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,a.apply(this,[e,r])},Object.defineProperty(r,`on`+t,{get(){return this[`_on`+t]},set(e){this[`_on`+t]&&(this.removeEventListener(t,this[`_on`+t]),delete this[`_on`+t]),e&&this.addEventListener(t,this[`_on`+t]=e)},enumerable:!0,configurable:!0})}function $_(e){return typeof e==`boolean`?(Y_=e,e?`adapter.js logging disabled`:`adapter.js logging enabled`):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function ev(e){return typeof e==`boolean`?(X_=!e,`adapter.js deprecation warnings `+(e?`disabled`:`enabled`)):Error(`Argument type: `+typeof e+`. Please use a boolean.`)}function tv(){if(typeof window==`object`){if(Y_)return;typeof console<`u`&&typeof console.log==`function`&&console.log.apply(console,arguments)}}function nv(e,t){X_&&console.warn(e+` is deprecated, please use `+t+` instead.`)}function rv(e){let t={browser:null,version:null};if(e===void 0||!e.navigator||!e.navigator.userAgent)return t.browser=`Not a browser.`,t;let{navigator:n}=e;if(n.userAgentData&&n.userAgentData.brands){let e=n.userAgentData.brands.find(e=>e.brand===`Chromium`);if(e)return{browser:`chrome`,version:parseInt(e.version,10)}}if(n.mozGetUserMedia)t.browser=`firefox`,t.version=parseInt(Z_(n.userAgent,/Firefox\/(\d+)\./,1));else if(n.webkitGetUserMedia||e.isSecureContext===!1&&e.webkitRTCPeerConnection)t.browser=`chrome`,t.version=parseInt(Z_(n.userAgent,/Chrom(e|ium)\/(\d+)\./,2));else if(e.RTCPeerConnection&&n.userAgent.match(/AppleWebKit\/(\d+)\./))t.browser=`safari`,t.version=parseInt(Z_(n.userAgent,/AppleWebKit\/(\d+)\./,1)),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&`currentDirection`in e.RTCRtpTransceiver.prototype,t._safariVersion=Z_(n.userAgent,/Version\/(\d+(\.?\d+))/,1);else return t.browser=`Not a supported browser.`,t;return t}function iv(e){return Object.prototype.toString.call(e)===`[object Object]`}function av(e){return iv(e)?Object.keys(e).reduce(function(t,n){let r=iv(e[n]),i=r?av(e[n]):e[n],a=r&&!Object.keys(i).length;return i===void 0||a?t:Object.assign(t,{[n]:i})},{}):e}function ov(e,t,n){!t||n.has(t.id)||(n.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith(`Id`)?ov(e,e.get(t[r]),n):r.endsWith(`Ids`)&&t[r].forEach(t=>{ov(e,e.get(t),n)})}))}function sv(e,t,n){let r=n?`outbound-rtp`:`inbound-rtp`,i=new Map;if(t===null)return i;let a=[];return e.forEach(e=>{e.type===`track`&&e.trackIdentifier===t.id&&a.push(e)}),a.forEach(t=>{e.forEach(n=>{n.type===r&&n.trackId===t.id&&ov(e,n,i)})}),i}var cv=tv;function lv(e,t){let n=e&&e.navigator;if(!n.mediaDevices)return;let r=function(e){if(typeof e!=`object`||e.mandatory||e.optional)return e;let t={};return Object.keys(e).forEach(n=>{if(n===`require`||n===`advanced`||n===`mediaSource`)return;let r=typeof e[n]==`object`?e[n]:{ideal:e[n]};r.exact!==void 0&&typeof r.exact==`number`&&(r.min=r.max=r.exact);let i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):t===`deviceId`?`sourceId`:t};if(r.ideal!==void 0){t.optional=t.optional||[];let e={};typeof r.ideal==`number`?(e[i(`min`,n)]=r.ideal,t.optional.push(e),e={},e[i(`max`,n)]=r.ideal,t.optional.push(e)):(e[i(``,n)]=r.ideal,t.optional.push(e))}r.exact!==void 0&&typeof r.exact!=`number`?(t.mandatory=t.mandatory||{},t.mandatory[i(``,n)]=r.exact):[`min`,`max`].forEach(e=>{r[e]!==void 0&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,n)]=r[e])})}),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if(e=JSON.parse(JSON.stringify(e)),e&&typeof e.audio==`object`){let t=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])};e=JSON.parse(JSON.stringify(e)),t(e.audio,`autoGainControl`,`googAutoGainControl`),t(e.audio,`noiseSuppression`,`googNoiseSuppression`),e.audio=r(e.audio)}if(e&&typeof e.video==`object`){let a=e.video.facingMode;a&&=typeof a==`object`?a:{ideal:a};let o=t.version<66;if(a&&(a.exact===`user`||a.exact===`environment`||a.ideal===`user`||a.ideal===`environment`)&&!(n.mediaDevices.getSupportedConstraints&&n.mediaDevices.getSupportedConstraints().facingMode&&!o)){delete e.video.facingMode;let t;if(a.exact===`environment`||a.ideal===`environment`?t=[`back`,`rear`]:(a.exact===`user`||a.ideal===`user`)&&(t=[`front`]),t)return n.mediaDevices.enumerateDevices().then(n=>{n=n.filter(e=>e.kind===`videoinput`);let o=n.find(e=>t.some(t=>e.label.toLowerCase().includes(t)));return!o&&n.length&&t.includes(`back`)&&(o=n[n.length-1]),o&&(e.video.deviceId=a.exact?{exact:o.deviceId}:{ideal:o.deviceId}),e.video=r(e.video),cv(`chrome: `+JSON.stringify(e)),i(e)})}e.video=r(e.video)}return cv(`chrome: `+JSON.stringify(e)),i(e)},a=function(e){return t.version>=64?e:{name:{PermissionDeniedError:`NotAllowedError`,PermissionDismissedError:`NotAllowedError`,InvalidStateError:`NotAllowedError`,DevicesNotFoundError:`NotFoundError`,ConstraintNotSatisfiedError:`OverconstrainedError`,TrackStartError:`NotReadableError`,MediaDeviceFailedDueToShutdown:`NotAllowedError`,MediaDeviceKillSwitchOn:`NotAllowedError`,TabCaptureError:`AbortError`,ScreenCaptureError:`AbortError`,DeviceCaptureError:`AbortError`}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&`: `)+this.message}}};if(n.getUserMedia=function(e,t,r){i(e,e=>{n.webkitGetUserMedia(e,t,e=>{r&&r(a(e))})})}.bind(n),n.mediaDevices.getUserMedia){let e=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(t){return i(t,t=>e(t).then(e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach(e=>{e.stop()}),new DOMException(``,`NotFoundError`);return e},e=>Promise.reject(a(e))))}}}function uv(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function dv(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`ontrack`in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,`ontrack`,{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener(`track`,this._ontrack),this.addEventListener(`track`,this._ontrack=e)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener(`addtrack`,n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.track.id):{track:n.track};let i=new Event(`track`);i.track=n.track,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)}),t.stream.getTracks().forEach(n=>{let r;r=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(e=>e.track&&e.track.id===n.id):{track:n};let i=new Event(`track`);i.track=n,i.receiver=r,i.transceiver={receiver:r},i.streams=[t.stream],this.dispatchEvent(i)})},this.addEventListener(`addstream`,this._ontrackpoly)),t.apply(this,arguments)}}else Q_(e,`track`,e=>(e.transceiver||Object.defineProperty(e,`transceiver`,{value:{receiver:e.receiver}}),e))}function fv(e){if(typeof e==`object`&&e.RTCPeerConnection&&!(`getSenders`in e.RTCPeerConnection.prototype)&&`createDTMFSender`in e.RTCPeerConnection.prototype){let t=function(e,t){return{track:t,get dtmf(){return this._dtmf===void 0&&(t.kind===`audio`?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let n=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,r){let i=n.apply(this,arguments);return i||(i=t(this,e),this._senders.push(i)),i};let r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){r.apply(this,arguments);let t=this._senders.indexOf(e);t!==-1&&this._senders.splice(t,1)}}let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach(e=>{this._senders.push(t(this,e))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],r.apply(this,[e]),e.getTracks().forEach(e=>{let t=this._senders.find(t=>t.track===e);t&&this._senders.splice(this._senders.indexOf(t),1)})}}else if(typeof e==`object`&&e.RTCPeerConnection&&`getSenders`in e.RTCPeerConnection.prototype&&`createDTMFSender`in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!(`dtmf`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e},Object.defineProperty(e.RTCRtpSender.prototype,`dtmf`,{get(){return this._dtmf===void 0&&(this.track.kind===`audio`?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function pv(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!(`getStats`in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>sv(t,e.track,!0))}}if(!(`getStats`in e.RTCRtpReceiver.prototype)){let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),Q_(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){let e=this;return this._pc.getStats().then(t=>sv(t,e.track,!1))}}if(!(`getStats`in e.RTCRtpSender.prototype&&`getStats`in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let e=arguments[0],t,n,r;return this.getSenders().forEach(n=>{n.track===e&&(t?r=!0:t=n)}),this.getReceivers().forEach(t=>(t.track===e&&(n?r=!0:n=t),t.track===e)),r||t&&n?Promise.reject(new DOMException(`There are more than one sender or receiver for the track.`,`InvalidAccessError`)):t?t.getStats():n?n.getStats():Promise.reject(new DOMException(`There is no sender or receiver for the track.`,`InvalidAccessError`))}return t.apply(this,arguments)}}function mv(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(e=>this._shimmedLocalStreams[e][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){if(!n)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let r=t.apply(this,arguments);return this._shimmedLocalStreams[n.id]?this._shimmedLocalStreams[n.id].indexOf(r)===-1&&this._shimmedLocalStreams[n.id].push(r):this._shimmedLocalStreams[n.id]=[n,r],r};let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)});let t=this.getSenders();n.apply(this,arguments);let r=this.getSenders().filter(e=>t.indexOf(e)===-1);this._shimmedLocalStreams[e.id]=[e].concat(r)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],r.apply(this,arguments)};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach(t=>{let n=this._shimmedLocalStreams[t].indexOf(e);n!==-1&&this._shimmedLocalStreams[t].splice(n,1),this._shimmedLocalStreams[t].length===1&&delete this._shimmedLocalStreams[t]}),i.apply(this,arguments)}}function hv(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return mv(e);let n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let e=n.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map(e=>this._reverseStreams[e.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach(e=>{if(this.getSenders().find(t=>t.track===e))throw new DOMException(`Track already exists.`,`InvalidAccessError`)}),!this._reverseStreams[t.id]){let n=new e.MediaStream(t.getTracks());this._streams[t.id]=n,this._reverseStreams[n.id]=t,t=n}r.apply(this,[t])};let i=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,n){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);let r=[].slice.call(arguments,1);if(r.length!==1||!r[0].getTracks().find(e=>e===t))throw new DOMException(`The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.`,`NotSupportedError`);if(this.getSenders().find(e=>e.track===t))throw new DOMException(`Track already exists.`,`InvalidAccessError`);this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let i=this._streams[n.id];if(i)i.addTrack(t),Promise.resolve().then(()=>{this.dispatchEvent(new Event(`negotiationneeded`))});else{let r=new e.MediaStream([t]);this._streams[n.id]=r,this._reverseStreams[r.id]=n,this.addStream(r)}return this.getSenders().find(e=>e.track===t)};function a(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(i.id,`g`),r.id)}),new RTCSessionDescription({type:t.type,sdp:n})}function o(e,t){let n=t.sdp;return Object.keys(e._reverseStreams||[]).forEach(t=>{let r=e._reverseStreams[t],i=e._streams[r.id];n=n.replace(new RegExp(r.id,`g`),i.id)}),new RTCSessionDescription({type:t.type,sdp:n})}[`createOffer`,`createAnswer`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){let e=arguments;return arguments.length&&typeof arguments[0]==`function`?n.apply(this,[t=>{let n=a(this,t);e[0].apply(null,[n])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):n.apply(this,arguments).then(e=>a(this,e))}};e.RTCPeerConnection.prototype[t]=r[t]});let s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return!arguments.length||!arguments[0].type||(arguments[0]=o(this,arguments[0])),s.apply(this,arguments)};let c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,`localDescription`);Object.defineProperty(e.RTCPeerConnection.prototype,`localDescription`,{get(){let e=c.get.apply(this);return e.type===``?e:a(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if(this.signalingState===`closed`)throw new DOMException(`The RTCPeerConnection's signalingState is 'closed'.`,`InvalidStateError`);if(!e._pc)throw new DOMException(`Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.`,`TypeError`);if(e._pc!==this)throw new DOMException(`Sender was not created by this connection.`,`InvalidAccessError`);this._streams=this._streams||{};let t;Object.keys(this._streams).forEach(n=>{this._streams[n].getTracks().find(t=>e.track===t)&&(t=this._streams[n])}),t&&(t.getTracks().length===1?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event(`negotiationneeded`)))}}function gv(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]})}function _v(e,t){Q_(e,`negotiationneeded`,e=>{let n=e.target;if(!((t.version<72||n.getConfiguration&&n.getConfiguration().sdpSemantics===`plan-b`)&&n.signalingState!==`stable`))return e})}var vv=Object.freeze({__proto__:null,fixNegotiationNeeded:_v,shimAddTrackRemoveTrack:hv,shimAddTrackRemoveTrackWithNative:mv,shimGetSendersWithDtmf:fv,shimGetUserMedia:lv,shimMediaStream:uv,shimOnTrack:dv,shimPeerConnection:gv,shimSenderReceiverGetStats:pv});function yv(e,t){let n=e&&e.navigator,r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(e,t,r){nv(`navigator.getUserMedia`,`navigator.mediaDevices.getUserMedia`),n.mediaDevices.getUserMedia(e).then(t,r)},!(t.version>55&&`autoGainControl`in n.mediaDevices.getSupportedConstraints())){let e=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])},t=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(n){return typeof n==`object`&&typeof n.audio==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n.audio,`autoGainControl`,`mozAutoGainControl`),e(n.audio,`noiseSuppression`,`mozNoiseSuppression`)),t(n)},r&&r.prototype.getSettings){let t=r.prototype.getSettings;r.prototype.getSettings=function(){let n=t.apply(this,arguments);return e(n,`mozAutoGainControl`,`autoGainControl`),e(n,`mozNoiseSuppression`,`noiseSuppression`),n}}if(r&&r.prototype.applyConstraints){let t=r.prototype.applyConstraints;r.prototype.applyConstraints=function(n){return this.kind===`audio`&&typeof n==`object`&&(n=JSON.parse(JSON.stringify(n)),e(n,`autoGainControl`,`mozAutoGainControl`),e(n,`noiseSuppression`,`mozNoiseSuppression`)),t.apply(this,[n])}}}}function bv(e,t){e.navigator.mediaDevices&&`getDisplayMedia`in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!(n&&n.video)){let e=new DOMException(`getDisplayMedia without video constraints is undefined`);return e.name=`NotFoundError`,e.code=8,Promise.reject(e)}return n.video===!0?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)})}function xv(e){typeof e==`object`&&e.RTCTrackEvent&&`receiver`in e.RTCTrackEvent.prototype&&!(`transceiver`in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,`transceiver`,{get(){return{receiver:this.receiver}}})}function Sv(e,t){if(typeof e!=`object`||!(e.RTCPeerConnection||e.mozRTCPeerConnection))return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&[`setLocalDescription`,`setRemoteDescription`,`addIceCandidate`].forEach(function(t){let n=e.RTCPeerConnection.prototype[t],r={[t](){return arguments[0]=new(t===`addIceCandidate`?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),n.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=r[t]});let n={inboundrtp:`inbound-rtp`,outboundrtp:`outbound-rtp`,candidatepair:`candidate-pair`,localcandidate:`local-candidate`,remotecandidate:`remote-candidate`},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[e,i,a]=arguments;return r.apply(this,[e||null]).then(e=>{if(t.version<53&&!i)try{e.forEach(e=>{e.type=n[e.type]||e.type})}catch(t){if(t.name!==`TypeError`)throw t;e.forEach((t,r)=>{e.set(r,Object.assign({},t,{type:n[t.type]||t.type}))})}return e}).then(i,a)}}function Cv(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let e=n.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function wv(e){if(!(typeof e==`object`&&e.RTCPeerConnection&&e.RTCRtpSender)||e.RTCRtpSender&&`getStats`in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let e=t.apply(this,[]);return e.forEach(e=>e._pc=this),e}),Q_(e,`track`,e=>(e.receiver._pc=e.srcElement,e)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function Tv(e){!e.RTCPeerConnection||`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){nv(`removeStream`,`removeTrack`),this.getSenders().forEach(t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)})})}function Ev(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function Dv(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;e===void 0&&(e=[]),e=[...e];let n=e.length>0;n&&e.forEach(e=>{if(`rid`in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw TypeError(`Invalid RID value provided.`);if(`scaleResolutionDownBy`in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw RangeError(`scale_resolution_down_by must be >= 1.0`);if(`maxFramerate`in e&&!(parseFloat(e.maxFramerate)>=0))throw RangeError(`max_framerate must be >= 0.0`)});let r=t.apply(this,arguments);if(n){let{sender:t}=r,n=t.getParameters();(!(`encodings`in n)||n.encodings.length===1&&Object.keys(n.encodings[0]).length===0)&&(n.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(n).then(()=>{delete t.sendEncodings}).catch(()=>{delete t.sendEncodings})))}return r})}function Ov(e){if(!(typeof e==`object`&&e.RTCRtpSender))return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let e=t.apply(this,arguments);return`encodings`in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function kv(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}function Av(e){if(!(typeof e==`object`&&e.RTCPeerConnection))return;let t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then(()=>t.apply(this,arguments)).finally(()=>{this.setParametersPromises=[]}):t.apply(this,arguments)}}var jv=Object.freeze({__proto__:null,shimAddTransceiver:Dv,shimCreateAnswer:Av,shimCreateOffer:kv,shimGetDisplayMedia:bv,shimGetParameters:Ov,shimGetUserMedia:yv,shimOnTrack:xv,shimPeerConnection:Sv,shimRTCDataChannel:Ev,shimReceiverGetStats:wv,shimRemoveStream:Tv,shimSenderGetStats:Cv});function Mv(e){if(!(typeof e!=`object`||!e.RTCPeerConnection)){if(`getLocalStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||=[],this._localStreams}),!(`addStream`in e.RTCPeerConnection.prototype)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||=[],this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach(n=>t.call(this,n,e)),e.getVideoTracks().forEach(n=>t.call(this,n,e))},e.RTCPeerConnection.prototype.addTrack=function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r&&r.forEach(e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]}),t.apply(this,arguments)}}`removeStream`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||=[];let t=this._localStreams.indexOf(e);if(t===-1)return;this._localStreams.splice(t,1);let n=e.getTracks();this.getSenders().forEach(e=>{n.includes(e.track)&&this.removeTrack(e)})})}}function Nv(e){if(!(typeof e!=`object`||!e.RTCPeerConnection)&&(`getRemoteStreams`in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!(`onaddstream`in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,`onaddstream`,{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener(`addstream`,this._onaddstream),this.removeEventListener(`track`,this._onaddstreampoly)),this.addEventListener(`addstream`,this._onaddstream=e),this.addEventListener(`track`,this._onaddstreampoly=e=>{e.streams.forEach(e=>{if(this._remoteStreams||=[],this._remoteStreams.includes(e))return;this._remoteStreams.push(e);let t=new Event(`addstream`);t.stream=e,this.dispatchEvent(t)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let e=this;return this._onaddstreampoly||this.addEventListener(`track`,this._onaddstreampoly=function(t){t.streams.forEach(t=>{if(e._remoteStreams||=[],e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);let n=new Event(`addstream`);n.stream=t,e.dispatchEvent(n)})}),t.apply(e,arguments)}}}function Pv(e){if(typeof e!=`object`||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,a=t.setRemoteDescription,o=t.addIceCandidate;t.createOffer=function(e,t){let r=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[r]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){let n=arguments.length>=2?arguments[2]:arguments[0],i=r.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i};let s=function(e,t,n){let r=i.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r};t.setLocalDescription=s,s=function(e,t,n){let r=a.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.setRemoteDescription=s,s=function(e,t,n){let r=o.apply(this,[e]);return n?(r.then(t,n),Promise.resolve()):r},t.addIceCandidate=s}function Fv(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let e=t.mediaDevices,n=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>n(Iv(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,n,r){t.mediaDevices.getUserMedia(e).then(n,r)}.bind(t))}function Iv(e){return e&&e.video!==void 0?Object.assign({},e,{video:av(e.video)}):e}function Lv(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,n){if(e&&e.iceServers){let t=[];for(let n=0;n<e.iceServers.length;n++){let r=e.iceServers[n];r.urls===void 0&&r.url?(nv(`RTCIceServer.url`,`RTCIceServer.urls`),r=JSON.parse(JSON.stringify(r)),r.urls=r.url,delete r.url,t.push(r)):t.push(e.iceServers[n])}e.iceServers=t}return new t(e,n)},e.RTCPeerConnection.prototype=t.prototype,`generateCertificate`in t&&Object.defineProperty(e.RTCPeerConnection,`generateCertificate`,{get(){return t.generateCertificate}})}function Rv(e){typeof e==`object`&&e.RTCTrackEvent&&`receiver`in e.RTCTrackEvent.prototype&&!(`transceiver`in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,`transceiver`,{get(){return{receiver:this.receiver}}})}function zv(e){let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){e.offerToReceiveAudio!==void 0&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);let t=this.getTransceivers().find(e=>e.receiver.track.kind===`audio`);e.offerToReceiveAudio===!1&&t?t.direction===`sendrecv`?t.setDirection?t.setDirection(`sendonly`):t.direction=`sendonly`:t.direction===`recvonly`&&(t.setDirection?t.setDirection(`inactive`):t.direction=`inactive`):e.offerToReceiveAudio===!0&&!t&&this.addTransceiver(`audio`,{direction:`recvonly`}),e.offerToReceiveVideo!==void 0&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);let n=this.getTransceivers().find(e=>e.receiver.track.kind===`video`);e.offerToReceiveVideo===!1&&n?n.direction===`sendrecv`?n.setDirection?n.setDirection(`sendonly`):n.direction=`sendonly`:n.direction===`recvonly`&&(n.setDirection?n.setDirection(`inactive`):n.direction=`inactive`):e.offerToReceiveVideo===!0&&!n&&this.addTransceiver(`video`,{direction:`recvonly`})}return t.apply(this,arguments)}}function Bv(e){typeof e!=`object`||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var Vv=Object.freeze({__proto__:null,shimAudioContext:Bv,shimCallbacksAPI:Pv,shimConstraints:Iv,shimCreateOfferLegacy:zv,shimGetUserMedia:Fv,shimLocalStreamsAPI:Mv,shimRTCIceServerUrls:Lv,shimRemoteStreamsAPI:Nv,shimTrackEventTransceiver:Rv}),Hv={exports:{}},Uv;function Wv(){return Uv?Hv.exports:(Uv=1,(function(e){let t={};t.generateIdentifier=function(){return Math.random().toString(36).substring(2,12)},t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split(`
|
|
35
35
|
`).map(e=>e.trim())},t.splitSections=function(e){return e.split(`
|
|
36
36
|
m=`).map((e,t)=>(t>0?`m=`+e:e).trim()+`\r
|