livedesk 0.1.112 → 0.1.113
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.
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))l(c);new MutationObserver(c=>{for(const d of c)if(d.type==="childList")for(const h of d.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&l(h)}).observe(document,{childList:!0,subtree:!0});function r(c){const d={};return c.integrity&&(d.integrity=c.integrity),c.referrerPolicy&&(d.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?d.credentials="include":c.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function l(c){if(c.ep)return;c.ep=!0;const d=r(c);fetch(c.href,d)}})();var ah={exports:{}},Sl={};var pp;function G0(){if(pp)return Sl;pp=1;var i=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(l,c,d){var h=null;if(d!==void 0&&(h=""+d),c.key!==void 0&&(h=""+c.key),"key"in c){d={};for(var m in c)m!=="key"&&(d[m]=c[m])}else d=c;return c=d.ref,{$$typeof:i,type:l,key:h,ref:c!==void 0?c:null,props:d}}return Sl.Fragment=n,Sl.jsx=r,Sl.jsxs=r,Sl}var yp;function V0(){return yp||(yp=1,ah.exports=G0()),ah.exports}var p=V0(),ih={exports:{}},Te={};var vp;function K0(){if(vp)return Te;vp=1;var i=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),h=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),T=Symbol.iterator;function x(A){return A===null||typeof A!="object"?null:(A=T&&A[T]||A["@@iterator"],typeof A=="function"?A:null)}var R={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},z=Object.assign,G={};function V(A,D,J){this.props=A,this.context=D,this.refs=G,this.updater=J||R}V.prototype.isReactComponent={},V.prototype.setState=function(A,D){if(typeof A!="object"&&typeof A!="function"&&A!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,A,D,"setState")},V.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function I(){}I.prototype=V.prototype;function F(A,D,J){this.props=A,this.context=D,this.refs=G,this.updater=J||R}var ee=F.prototype=new I;ee.constructor=F,z(ee,V.prototype),ee.isPureReactComponent=!0;var we=Array.isArray;function le(){}var Z={H:null,A:null,T:null,S:null},je=Object.prototype.hasOwnProperty;function Ee(A,D,J){var ae=J.ref;return{$$typeof:i,type:A,key:D,ref:ae!==void 0?ae:null,props:J}}function ve(A,D){return Ee(A.type,D,A.props)}function be(A){return typeof A=="object"&&A!==null&&A.$$typeof===i}function ue(A){var D={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(J){return D[J]})}var ge=/\/+/g;function X(A,D){return typeof A=="object"&&A!==null&&A.key!=null?ue(""+A.key):D.toString(36)}function Le(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then(le,le):(A.status="pending",A.then(function(D){A.status==="pending"&&(A.status="fulfilled",A.value=D)},function(D){A.status==="pending"&&(A.status="rejected",A.reason=D)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function _(A,D,J,ae,ye){var Se=typeof A;(Se==="undefined"||Se==="boolean")&&(A=null);var De=!1;if(A===null)De=!0;else switch(Se){case"bigint":case"string":case"number":De=!0;break;case"object":switch(A.$$typeof){case i:case n:De=!0;break;case w:return De=A._init,_(De(A._payload),D,J,ae,ye)}}if(De)return ye=ye(A),De=ae===""?"."+X(A,0):ae,we(ye)?(J="",De!=null&&(J=De.replace(ge,"$&/")+"/"),_(ye,D,J,"",function(In){return In})):ye!=null&&(be(ye)&&(ye=ve(ye,J+(ye.key==null||A&&A.key===ye.key?"":(""+ye.key).replace(ge,"$&/")+"/")+De)),D.push(ye)),1;De=0;var tt=ae===""?".":ae+":";if(we(A))for(var nt=0;nt<A.length;nt++)ae=A[nt],Se=tt+X(ae,nt),De+=_(ae,D,J,Se,ye);else if(nt=x(A),typeof nt=="function")for(A=nt.call(A),nt=0;!(ae=A.next()).done;)ae=ae.value,Se=tt+X(ae,nt++),De+=_(ae,D,J,Se,ye);else if(Se==="object"){if(typeof A.then=="function")return _(Le(A),D,J,ae,ye);throw D=String(A),Error("Objects are not valid as a React child (found: "+(D==="[object Object]"?"object with keys {"+Object.keys(A).join(", ")+"}":D)+"). If you meant to render a collection of children, use an array instead.")}return De}function H(A,D,J){if(A==null)return A;var ae=[],ye=0;return _(A,ae,"","",function(Se){return D.call(J,Se,ye++)}),ae}function Q(A){if(A._status===-1){var D=A._result;D=D(),D.then(function(J){(A._status===0||A._status===-1)&&(A._status=1,A._result=J)},function(J){(A._status===0||A._status===-1)&&(A._status=2,A._result=J)}),A._status===-1&&(A._status=0,A._result=D)}if(A._status===1)return A._result.default;throw A._result}var te=typeof reportError=="function"?reportError:function(A){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var D=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof A=="object"&&A!==null&&typeof A.message=="string"?String(A.message):String(A),error:A});if(!window.dispatchEvent(D))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",A);return}console.error(A)},pe={map:H,forEach:function(A,D,J){H(A,function(){D.apply(this,arguments)},J)},count:function(A){var D=0;return H(A,function(){D++}),D},toArray:function(A){return H(A,function(D){return D})||[]},only:function(A){if(!be(A))throw Error("React.Children.only expected to receive a single React element child.");return A}};return Te.Activity=S,Te.Children=pe,Te.Component=V,Te.Fragment=r,Te.Profiler=c,Te.PureComponent=F,Te.StrictMode=l,Te.Suspense=f,Te.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Z,Te.__COMPILER_RUNTIME={__proto__:null,c:function(A){return Z.H.useMemoCache(A)}},Te.cache=function(A){return function(){return A.apply(null,arguments)}},Te.cacheSignal=function(){return null},Te.cloneElement=function(A,D,J){if(A==null)throw Error("The argument must be a React element, but you passed "+A+".");var ae=z({},A.props),ye=A.key;if(D!=null)for(Se in D.key!==void 0&&(ye=""+D.key),D)!je.call(D,Se)||Se==="key"||Se==="__self"||Se==="__source"||Se==="ref"&&D.ref===void 0||(ae[Se]=D[Se]);var Se=arguments.length-2;if(Se===1)ae.children=J;else if(1<Se){for(var De=Array(Se),tt=0;tt<Se;tt++)De[tt]=arguments[tt+2];ae.children=De}return Ee(A.type,ye,ae)},Te.createContext=function(A){return A={$$typeof:h,_currentValue:A,_currentValue2:A,_threadCount:0,Provider:null,Consumer:null},A.Provider=A,A.Consumer={$$typeof:d,_context:A},A},Te.createElement=function(A,D,J){var ae,ye={},Se=null;if(D!=null)for(ae in D.key!==void 0&&(Se=""+D.key),D)je.call(D,ae)&&ae!=="key"&&ae!=="__self"&&ae!=="__source"&&(ye[ae]=D[ae]);var De=arguments.length-2;if(De===1)ye.children=J;else if(1<De){for(var tt=Array(De),nt=0;nt<De;nt++)tt[nt]=arguments[nt+2];ye.children=tt}if(A&&A.defaultProps)for(ae in De=A.defaultProps,De)ye[ae]===void 0&&(ye[ae]=De[ae]);return Ee(A,Se,ye)},Te.createRef=function(){return{current:null}},Te.forwardRef=function(A){return{$$typeof:m,render:A}},Te.isValidElement=be,Te.lazy=function(A){return{$$typeof:w,_payload:{_status:-1,_result:A},_init:Q}},Te.memo=function(A,D){return{$$typeof:y,type:A,compare:D===void 0?null:D}},Te.startTransition=function(A){var D=Z.T,J={};Z.T=J;try{var ae=A(),ye=Z.S;ye!==null&&ye(J,ae),typeof ae=="object"&&ae!==null&&typeof ae.then=="function"&&ae.then(le,te)}catch(Se){te(Se)}finally{D!==null&&J.types!==null&&(D.types=J.types),Z.T=D}},Te.unstable_useCacheRefresh=function(){return Z.H.useCacheRefresh()},Te.use=function(A){return Z.H.use(A)},Te.useActionState=function(A,D,J){return Z.H.useActionState(A,D,J)},Te.useCallback=function(A,D){return Z.H.useCallback(A,D)},Te.useContext=function(A){return Z.H.useContext(A)},Te.useDebugValue=function(){},Te.useDeferredValue=function(A,D){return Z.H.useDeferredValue(A,D)},Te.useEffect=function(A,D){return Z.H.useEffect(A,D)},Te.useEffectEvent=function(A){return Z.H.useEffectEvent(A)},Te.useId=function(){return Z.H.useId()},Te.useImperativeHandle=function(A,D,J){return Z.H.useImperativeHandle(A,D,J)},Te.useInsertionEffect=function(A,D){return Z.H.useInsertionEffect(A,D)},Te.useLayoutEffect=function(A,D){return Z.H.useLayoutEffect(A,D)},Te.useMemo=function(A,D){return Z.H.useMemo(A,D)},Te.useOptimistic=function(A,D){return Z.H.useOptimistic(A,D)},Te.useReducer=function(A,D,J){return Z.H.useReducer(A,D,J)},Te.useRef=function(A){return Z.H.useRef(A)},Te.useState=function(A){return Z.H.useState(A)},Te.useSyncExternalStore=function(A,D,J){return Z.H.useSyncExternalStore(A,D,J)},Te.useTransition=function(){return Z.H.useTransition()},Te.version="19.2.7",Te}var bp;function Jh(){return bp||(bp=1,ih.exports=K0()),ih.exports}var O=Jh(),rh={exports:{}},wl={},sh={exports:{}},lh={};var Sp;function F0(){return Sp||(Sp=1,(function(i){function n(_,H){var Q=_.length;_.push(H);e:for(;0<Q;){var te=Q-1>>>1,pe=_[te];if(0<c(pe,H))_[te]=H,_[Q]=pe,Q=te;else break e}}function r(_){return _.length===0?null:_[0]}function l(_){if(_.length===0)return null;var H=_[0],Q=_.pop();if(Q!==H){_[0]=Q;e:for(var te=0,pe=_.length,A=pe>>>1;te<A;){var D=2*(te+1)-1,J=_[D],ae=D+1,ye=_[ae];if(0>c(J,Q))ae<pe&&0>c(ye,J)?(_[te]=ye,_[ae]=Q,te=ae):(_[te]=J,_[D]=Q,te=D);else if(ae<pe&&0>c(ye,Q))_[te]=ye,_[ae]=Q,te=ae;else break e}}return H}function c(_,H){var Q=_.sortIndex-H.sortIndex;return Q!==0?Q:_.id-H.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;i.unstable_now=function(){return d.now()}}else{var h=Date,m=h.now();i.unstable_now=function(){return h.now()-m}}var f=[],y=[],w=1,S=null,T=3,x=!1,R=!1,z=!1,G=!1,V=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;function ee(_){for(var H=r(y);H!==null;){if(H.callback===null)l(y);else if(H.startTime<=_)l(y),H.sortIndex=H.expirationTime,n(f,H);else break;H=r(y)}}function we(_){if(z=!1,ee(_),!R)if(r(f)!==null)R=!0,le||(le=!0,ue());else{var H=r(y);H!==null&&Le(we,H.startTime-_)}}var le=!1,Z=-1,je=5,Ee=-1;function ve(){return G?!0:!(i.unstable_now()-Ee<je)}function be(){if(G=!1,le){var _=i.unstable_now();Ee=_;var H=!0;try{e:{R=!1,z&&(z=!1,I(Z),Z=-1),x=!0;var Q=T;try{t:{for(ee(_),S=r(f);S!==null&&!(S.expirationTime>_&&ve());){var te=S.callback;if(typeof te=="function"){S.callback=null,T=S.priorityLevel;var pe=te(S.expirationTime<=_);if(_=i.unstable_now(),typeof pe=="function"){S.callback=pe,ee(_),H=!0;break t}S===r(f)&&l(f),ee(_)}else l(f);S=r(f)}if(S!==null)H=!0;else{var A=r(y);A!==null&&Le(we,A.startTime-_),H=!1}}break e}finally{S=null,T=Q,x=!1}H=void 0}}finally{H?ue():le=!1}}}var ue;if(typeof F=="function")ue=function(){F(be)};else if(typeof MessageChannel<"u"){var ge=new MessageChannel,X=ge.port2;ge.port1.onmessage=be,ue=function(){X.postMessage(null)}}else ue=function(){V(be,0)};function Le(_,H){Z=V(function(){_(i.unstable_now())},H)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(_){_.callback=null},i.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):je=0<_?Math.floor(1e3/_):5},i.unstable_getCurrentPriorityLevel=function(){return T},i.unstable_next=function(_){switch(T){case 1:case 2:case 3:var H=3;break;default:H=T}var Q=T;T=H;try{return _()}finally{T=Q}},i.unstable_requestPaint=function(){G=!0},i.unstable_runWithPriority=function(_,H){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var Q=T;T=_;try{return H()}finally{T=Q}},i.unstable_scheduleCallback=function(_,H,Q){var te=i.unstable_now();switch(typeof Q=="object"&&Q!==null?(Q=Q.delay,Q=typeof Q=="number"&&0<Q?te+Q:te):Q=te,_){case 1:var pe=-1;break;case 2:pe=250;break;case 5:pe=1073741823;break;case 4:pe=1e4;break;default:pe=5e3}return pe=Q+pe,_={id:w++,callback:H,priorityLevel:_,startTime:Q,expirationTime:pe,sortIndex:-1},Q>te?(_.sortIndex=Q,n(y,_),r(f)===null&&_===r(y)&&(z?(I(Z),Z=-1):z=!0,Le(we,Q-te))):(_.sortIndex=pe,n(f,_),R||x||(R=!0,le||(le=!0,ue()))),_},i.unstable_shouldYield=ve,i.unstable_wrapCallback=function(_){var H=T;return function(){var Q=T;T=H;try{return _.apply(this,arguments)}finally{T=Q}}}})(lh)),lh}var wp;function Y0(){return wp||(wp=1,sh.exports=F0()),sh.exports}var oh={exports:{}},Lt={};var _p;function W0(){if(_p)return Lt;_p=1;var i=Jh();function n(f){var y="https://react.dev/errors/"+f;if(1<arguments.length){y+="?args[]="+encodeURIComponent(arguments[1]);for(var w=2;w<arguments.length;w++)y+="&args[]="+encodeURIComponent(arguments[w])}return"Minified React error #"+f+"; visit "+y+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var l={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},c=Symbol.for("react.portal");function d(f,y,w){var S=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:c,key:S==null?null:""+S,children:f,containerInfo:y,implementation:w}}var h=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function m(f,y){if(f==="font")return"";if(typeof y=="string")return y==="use-credentials"?y:""}return Lt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,Lt.createPortal=function(f,y){var w=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!y||y.nodeType!==1&&y.nodeType!==9&&y.nodeType!==11)throw Error(n(299));return d(f,y,null,w)},Lt.flushSync=function(f){var y=h.T,w=l.p;try{if(h.T=null,l.p=2,f)return f()}finally{h.T=y,l.p=w,l.d.f()}},Lt.preconnect=function(f,y){typeof f=="string"&&(y?(y=y.crossOrigin,y=typeof y=="string"?y==="use-credentials"?y:"":void 0):y=null,l.d.C(f,y))},Lt.prefetchDNS=function(f){typeof f=="string"&&l.d.D(f)},Lt.preinit=function(f,y){if(typeof f=="string"&&y&&typeof y.as=="string"){var w=y.as,S=m(w,y.crossOrigin),T=typeof y.integrity=="string"?y.integrity:void 0,x=typeof y.fetchPriority=="string"?y.fetchPriority:void 0;w==="style"?l.d.S(f,typeof y.precedence=="string"?y.precedence:void 0,{crossOrigin:S,integrity:T,fetchPriority:x}):w==="script"&&l.d.X(f,{crossOrigin:S,integrity:T,fetchPriority:x,nonce:typeof y.nonce=="string"?y.nonce:void 0})}},Lt.preinitModule=function(f,y){if(typeof f=="string")if(typeof y=="object"&&y!==null){if(y.as==null||y.as==="script"){var w=m(y.as,y.crossOrigin);l.d.M(f,{crossOrigin:w,integrity:typeof y.integrity=="string"?y.integrity:void 0,nonce:typeof y.nonce=="string"?y.nonce:void 0})}}else y==null&&l.d.M(f)},Lt.preload=function(f,y){if(typeof f=="string"&&typeof y=="object"&&y!==null&&typeof y.as=="string"){var w=y.as,S=m(w,y.crossOrigin);l.d.L(f,w,{crossOrigin:S,integrity:typeof y.integrity=="string"?y.integrity:void 0,nonce:typeof y.nonce=="string"?y.nonce:void 0,type:typeof y.type=="string"?y.type:void 0,fetchPriority:typeof y.fetchPriority=="string"?y.fetchPriority:void 0,referrerPolicy:typeof y.referrerPolicy=="string"?y.referrerPolicy:void 0,imageSrcSet:typeof y.imageSrcSet=="string"?y.imageSrcSet:void 0,imageSizes:typeof y.imageSizes=="string"?y.imageSizes:void 0,media:typeof y.media=="string"?y.media:void 0})}},Lt.preloadModule=function(f,y){if(typeof f=="string")if(y){var w=m(y.as,y.crossOrigin);l.d.m(f,{as:typeof y.as=="string"&&y.as!=="script"?y.as:void 0,crossOrigin:w,integrity:typeof y.integrity=="string"?y.integrity:void 0})}else l.d.m(f)},Lt.requestFormReset=function(f){l.d.r(f)},Lt.unstable_batchedUpdates=function(f,y){return f(y)},Lt.useFormState=function(f,y,w){return h.H.useFormState(f,y,w)},Lt.useFormStatus=function(){return h.H.useHostTransitionStatus()},Lt.version="19.2.7",Lt}var Tp;function J0(){if(Tp)return oh.exports;Tp=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(n){console.error(n)}}return i(),oh.exports=W0(),oh.exports}var kp;function X0(){if(kp)return wl;kp=1;var i=Y0(),n=Jh(),r=J0();function l(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function d(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function h(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function m(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function f(e){if(d(e)!==e)throw Error(l(188))}function y(e){var t=e.alternate;if(!t){if(t=d(e),t===null)throw Error(l(188));return t!==e?null:e}for(var a=e,s=t;;){var o=a.return;if(o===null)break;var u=o.alternate;if(u===null){if(s=o.return,s!==null){a=s;continue}break}if(o.child===u.child){for(u=o.child;u;){if(u===a)return f(o),e;if(u===s)return f(o),t;u=u.sibling}throw Error(l(188))}if(a.return!==s.return)a=o,s=u;else{for(var g=!1,v=o.child;v;){if(v===a){g=!0,a=o,s=u;break}if(v===s){g=!0,s=o,a=u;break}v=v.sibling}if(!g){for(v=u.child;v;){if(v===a){g=!0,a=u,s=o;break}if(v===s){g=!0,s=u,a=o;break}v=v.sibling}if(!g)throw Error(l(189))}}if(a.alternate!==s)throw Error(l(190))}if(a.tag!==3)throw Error(l(188));return a.stateNode.current===a?e:t}function w(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=w(e),t!==null)return t;e=e.sibling}return null}var S=Object.assign,T=Symbol.for("react.element"),x=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),z=Symbol.for("react.fragment"),G=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),I=Symbol.for("react.consumer"),F=Symbol.for("react.context"),ee=Symbol.for("react.forward_ref"),we=Symbol.for("react.suspense"),le=Symbol.for("react.suspense_list"),Z=Symbol.for("react.memo"),je=Symbol.for("react.lazy"),Ee=Symbol.for("react.activity"),ve=Symbol.for("react.memo_cache_sentinel"),be=Symbol.iterator;function ue(e){return e===null||typeof e!="object"?null:(e=be&&e[be]||e["@@iterator"],typeof e=="function"?e:null)}var ge=Symbol.for("react.client.reference");function X(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ge?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case z:return"Fragment";case V:return"Profiler";case G:return"StrictMode";case we:return"Suspense";case le:return"SuspenseList";case Ee:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case R:return"Portal";case F:return e.displayName||"Context";case I:return(e._context.displayName||"Context")+".Consumer";case ee:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Z:return t=e.displayName||null,t!==null?t:X(e.type)||"Memo";case je:t=e._payload,e=e._init;try{return X(e(t))}catch{}}return null}var Le=Array.isArray,_=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,H=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Q={pending:!1,data:null,method:null,action:null},te=[],pe=-1;function A(e){return{current:e}}function D(e){0>pe||(e.current=te[pe],te[pe]=null,pe--)}function J(e,t){pe++,te[pe]=e.current,e.current=t}var ae=A(null),ye=A(null),Se=A(null),De=A(null);function tt(e,t){switch(J(Se,t),J(ye,e),J(ae,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Pg(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Pg(t),e=Hg(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}D(ae),J(ae,e)}function nt(){D(ae),D(ye),D(Se)}function In(e){e.memoizedState!==null&&J(De,e);var t=ae.current,a=Hg(t,e.type);t!==a&&(J(ye,e),J(ae,a))}function Cn(e){ye.current===e&&(D(ae),D(ye)),De.current===e&&(D(De),pl._currentValue=Q)}var ir,rr;function na(e){if(ir===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);ir=t&&t[1]||"",rr=-1<a.stack.indexOf(`
|
|
1
|
+
(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))l(c);new MutationObserver(c=>{for(const d of c)if(d.type==="childList")for(const h of d.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&l(h)}).observe(document,{childList:!0,subtree:!0});function r(c){const d={};return c.integrity&&(d.integrity=c.integrity),c.referrerPolicy&&(d.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?d.credentials="include":c.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function l(c){if(c.ep)return;c.ep=!0;const d=r(c);fetch(c.href,d)}})();var ah={exports:{}},bl={};var yp;function K0(){if(yp)return bl;yp=1;var i=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function r(l,c,d){var h=null;if(d!==void 0&&(h=""+d),c.key!==void 0&&(h=""+c.key),"key"in c){d={};for(var m in c)m!=="key"&&(d[m]=c[m])}else d=c;return c=d.ref,{$$typeof:i,type:l,key:h,ref:c!==void 0?c:null,props:d}}return bl.Fragment=n,bl.jsx=r,bl.jsxs=r,bl}var vp;function F0(){return vp||(vp=1,ah.exports=K0()),ah.exports}var p=F0(),ih={exports:{}},Te={};var bp;function Y0(){if(bp)return Te;bp=1;var i=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),h=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),T=Symbol.iterator;function x(A){return A===null||typeof A!="object"?null:(A=T&&A[T]||A["@@iterator"],typeof A=="function"?A:null)}var R={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},z=Object.assign,G={};function V(A,D,J){this.props=A,this.context=D,this.refs=G,this.updater=J||R}V.prototype.isReactComponent={},V.prototype.setState=function(A,D){if(typeof A!="object"&&typeof A!="function"&&A!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,A,D,"setState")},V.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function I(){}I.prototype=V.prototype;function F(A,D,J){this.props=A,this.context=D,this.refs=G,this.updater=J||R}var ee=F.prototype=new I;ee.constructor=F,z(ee,V.prototype),ee.isPureReactComponent=!0;var we=Array.isArray;function le(){}var Z={H:null,A:null,T:null,S:null},je=Object.prototype.hasOwnProperty;function Ee(A,D,J){var ae=J.ref;return{$$typeof:i,type:A,key:D,ref:ae!==void 0?ae:null,props:J}}function ve(A,D){return Ee(A.type,D,A.props)}function be(A){return typeof A=="object"&&A!==null&&A.$$typeof===i}function ue(A){var D={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(J){return D[J]})}var ge=/\/+/g;function X(A,D){return typeof A=="object"&&A!==null&&A.key!=null?ue(""+A.key):D.toString(36)}function Le(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then(le,le):(A.status="pending",A.then(function(D){A.status==="pending"&&(A.status="fulfilled",A.value=D)},function(D){A.status==="pending"&&(A.status="rejected",A.reason=D)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function _(A,D,J,ae,ye){var Se=typeof A;(Se==="undefined"||Se==="boolean")&&(A=null);var De=!1;if(A===null)De=!0;else switch(Se){case"bigint":case"string":case"number":De=!0;break;case"object":switch(A.$$typeof){case i:case n:De=!0;break;case w:return De=A._init,_(De(A._payload),D,J,ae,ye)}}if(De)return ye=ye(A),De=ae===""?"."+X(A,0):ae,we(ye)?(J="",De!=null&&(J=De.replace(ge,"$&/")+"/"),_(ye,D,J,"",function(In){return In})):ye!=null&&(be(ye)&&(ye=ve(ye,J+(ye.key==null||A&&A.key===ye.key?"":(""+ye.key).replace(ge,"$&/")+"/")+De)),D.push(ye)),1;De=0;var tt=ae===""?".":ae+":";if(we(A))for(var nt=0;nt<A.length;nt++)ae=A[nt],Se=tt+X(ae,nt),De+=_(ae,D,J,Se,ye);else if(nt=x(A),typeof nt=="function")for(A=nt.call(A),nt=0;!(ae=A.next()).done;)ae=ae.value,Se=tt+X(ae,nt++),De+=_(ae,D,J,Se,ye);else if(Se==="object"){if(typeof A.then=="function")return _(Le(A),D,J,ae,ye);throw D=String(A),Error("Objects are not valid as a React child (found: "+(D==="[object Object]"?"object with keys {"+Object.keys(A).join(", ")+"}":D)+"). If you meant to render a collection of children, use an array instead.")}return De}function H(A,D,J){if(A==null)return A;var ae=[],ye=0;return _(A,ae,"","",function(Se){return D.call(J,Se,ye++)}),ae}function Q(A){if(A._status===-1){var D=A._result;D=D(),D.then(function(J){(A._status===0||A._status===-1)&&(A._status=1,A._result=J)},function(J){(A._status===0||A._status===-1)&&(A._status=2,A._result=J)}),A._status===-1&&(A._status=0,A._result=D)}if(A._status===1)return A._result.default;throw A._result}var te=typeof reportError=="function"?reportError:function(A){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var D=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof A=="object"&&A!==null&&typeof A.message=="string"?String(A.message):String(A),error:A});if(!window.dispatchEvent(D))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",A);return}console.error(A)},pe={map:H,forEach:function(A,D,J){H(A,function(){D.apply(this,arguments)},J)},count:function(A){var D=0;return H(A,function(){D++}),D},toArray:function(A){return H(A,function(D){return D})||[]},only:function(A){if(!be(A))throw Error("React.Children.only expected to receive a single React element child.");return A}};return Te.Activity=S,Te.Children=pe,Te.Component=V,Te.Fragment=r,Te.Profiler=c,Te.PureComponent=F,Te.StrictMode=l,Te.Suspense=f,Te.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Z,Te.__COMPILER_RUNTIME={__proto__:null,c:function(A){return Z.H.useMemoCache(A)}},Te.cache=function(A){return function(){return A.apply(null,arguments)}},Te.cacheSignal=function(){return null},Te.cloneElement=function(A,D,J){if(A==null)throw Error("The argument must be a React element, but you passed "+A+".");var ae=z({},A.props),ye=A.key;if(D!=null)for(Se in D.key!==void 0&&(ye=""+D.key),D)!je.call(D,Se)||Se==="key"||Se==="__self"||Se==="__source"||Se==="ref"&&D.ref===void 0||(ae[Se]=D[Se]);var Se=arguments.length-2;if(Se===1)ae.children=J;else if(1<Se){for(var De=Array(Se),tt=0;tt<Se;tt++)De[tt]=arguments[tt+2];ae.children=De}return Ee(A.type,ye,ae)},Te.createContext=function(A){return A={$$typeof:h,_currentValue:A,_currentValue2:A,_threadCount:0,Provider:null,Consumer:null},A.Provider=A,A.Consumer={$$typeof:d,_context:A},A},Te.createElement=function(A,D,J){var ae,ye={},Se=null;if(D!=null)for(ae in D.key!==void 0&&(Se=""+D.key),D)je.call(D,ae)&&ae!=="key"&&ae!=="__self"&&ae!=="__source"&&(ye[ae]=D[ae]);var De=arguments.length-2;if(De===1)ye.children=J;else if(1<De){for(var tt=Array(De),nt=0;nt<De;nt++)tt[nt]=arguments[nt+2];ye.children=tt}if(A&&A.defaultProps)for(ae in De=A.defaultProps,De)ye[ae]===void 0&&(ye[ae]=De[ae]);return Ee(A,Se,ye)},Te.createRef=function(){return{current:null}},Te.forwardRef=function(A){return{$$typeof:m,render:A}},Te.isValidElement=be,Te.lazy=function(A){return{$$typeof:w,_payload:{_status:-1,_result:A},_init:Q}},Te.memo=function(A,D){return{$$typeof:y,type:A,compare:D===void 0?null:D}},Te.startTransition=function(A){var D=Z.T,J={};Z.T=J;try{var ae=A(),ye=Z.S;ye!==null&&ye(J,ae),typeof ae=="object"&&ae!==null&&typeof ae.then=="function"&&ae.then(le,te)}catch(Se){te(Se)}finally{D!==null&&J.types!==null&&(D.types=J.types),Z.T=D}},Te.unstable_useCacheRefresh=function(){return Z.H.useCacheRefresh()},Te.use=function(A){return Z.H.use(A)},Te.useActionState=function(A,D,J){return Z.H.useActionState(A,D,J)},Te.useCallback=function(A,D){return Z.H.useCallback(A,D)},Te.useContext=function(A){return Z.H.useContext(A)},Te.useDebugValue=function(){},Te.useDeferredValue=function(A,D){return Z.H.useDeferredValue(A,D)},Te.useEffect=function(A,D){return Z.H.useEffect(A,D)},Te.useEffectEvent=function(A){return Z.H.useEffectEvent(A)},Te.useId=function(){return Z.H.useId()},Te.useImperativeHandle=function(A,D,J){return Z.H.useImperativeHandle(A,D,J)},Te.useInsertionEffect=function(A,D){return Z.H.useInsertionEffect(A,D)},Te.useLayoutEffect=function(A,D){return Z.H.useLayoutEffect(A,D)},Te.useMemo=function(A,D){return Z.H.useMemo(A,D)},Te.useOptimistic=function(A,D){return Z.H.useOptimistic(A,D)},Te.useReducer=function(A,D,J){return Z.H.useReducer(A,D,J)},Te.useRef=function(A){return Z.H.useRef(A)},Te.useState=function(A){return Z.H.useState(A)},Te.useSyncExternalStore=function(A,D,J){return Z.H.useSyncExternalStore(A,D,J)},Te.useTransition=function(){return Z.H.useTransition()},Te.version="19.2.7",Te}var Sp;function Xh(){return Sp||(Sp=1,ih.exports=Y0()),ih.exports}var O=Xh(),rh={exports:{}},Sl={},sh={exports:{}},lh={};var wp;function W0(){return wp||(wp=1,(function(i){function n(_,H){var Q=_.length;_.push(H);e:for(;0<Q;){var te=Q-1>>>1,pe=_[te];if(0<c(pe,H))_[te]=H,_[Q]=pe,Q=te;else break e}}function r(_){return _.length===0?null:_[0]}function l(_){if(_.length===0)return null;var H=_[0],Q=_.pop();if(Q!==H){_[0]=Q;e:for(var te=0,pe=_.length,A=pe>>>1;te<A;){var D=2*(te+1)-1,J=_[D],ae=D+1,ye=_[ae];if(0>c(J,Q))ae<pe&&0>c(ye,J)?(_[te]=ye,_[ae]=Q,te=ae):(_[te]=J,_[D]=Q,te=D);else if(ae<pe&&0>c(ye,Q))_[te]=ye,_[ae]=Q,te=ae;else break e}}return H}function c(_,H){var Q=_.sortIndex-H.sortIndex;return Q!==0?Q:_.id-H.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;i.unstable_now=function(){return d.now()}}else{var h=Date,m=h.now();i.unstable_now=function(){return h.now()-m}}var f=[],y=[],w=1,S=null,T=3,x=!1,R=!1,z=!1,G=!1,V=typeof setTimeout=="function"?setTimeout:null,I=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;function ee(_){for(var H=r(y);H!==null;){if(H.callback===null)l(y);else if(H.startTime<=_)l(y),H.sortIndex=H.expirationTime,n(f,H);else break;H=r(y)}}function we(_){if(z=!1,ee(_),!R)if(r(f)!==null)R=!0,le||(le=!0,ue());else{var H=r(y);H!==null&&Le(we,H.startTime-_)}}var le=!1,Z=-1,je=5,Ee=-1;function ve(){return G?!0:!(i.unstable_now()-Ee<je)}function be(){if(G=!1,le){var _=i.unstable_now();Ee=_;var H=!0;try{e:{R=!1,z&&(z=!1,I(Z),Z=-1),x=!0;var Q=T;try{t:{for(ee(_),S=r(f);S!==null&&!(S.expirationTime>_&&ve());){var te=S.callback;if(typeof te=="function"){S.callback=null,T=S.priorityLevel;var pe=te(S.expirationTime<=_);if(_=i.unstable_now(),typeof pe=="function"){S.callback=pe,ee(_),H=!0;break t}S===r(f)&&l(f),ee(_)}else l(f);S=r(f)}if(S!==null)H=!0;else{var A=r(y);A!==null&&Le(we,A.startTime-_),H=!1}}break e}finally{S=null,T=Q,x=!1}H=void 0}}finally{H?ue():le=!1}}}var ue;if(typeof F=="function")ue=function(){F(be)};else if(typeof MessageChannel<"u"){var ge=new MessageChannel,X=ge.port2;ge.port1.onmessage=be,ue=function(){X.postMessage(null)}}else ue=function(){V(be,0)};function Le(_,H){Z=V(function(){_(i.unstable_now())},H)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(_){_.callback=null},i.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):je=0<_?Math.floor(1e3/_):5},i.unstable_getCurrentPriorityLevel=function(){return T},i.unstable_next=function(_){switch(T){case 1:case 2:case 3:var H=3;break;default:H=T}var Q=T;T=H;try{return _()}finally{T=Q}},i.unstable_requestPaint=function(){G=!0},i.unstable_runWithPriority=function(_,H){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var Q=T;T=_;try{return H()}finally{T=Q}},i.unstable_scheduleCallback=function(_,H,Q){var te=i.unstable_now();switch(typeof Q=="object"&&Q!==null?(Q=Q.delay,Q=typeof Q=="number"&&0<Q?te+Q:te):Q=te,_){case 1:var pe=-1;break;case 2:pe=250;break;case 5:pe=1073741823;break;case 4:pe=1e4;break;default:pe=5e3}return pe=Q+pe,_={id:w++,callback:H,priorityLevel:_,startTime:Q,expirationTime:pe,sortIndex:-1},Q>te?(_.sortIndex=Q,n(y,_),r(f)===null&&_===r(y)&&(z?(I(Z),Z=-1):z=!0,Le(we,Q-te))):(_.sortIndex=pe,n(f,_),R||x||(R=!0,le||(le=!0,ue()))),_},i.unstable_shouldYield=ve,i.unstable_wrapCallback=function(_){var H=T;return function(){var Q=T;T=H;try{return _.apply(this,arguments)}finally{T=Q}}}})(lh)),lh}var _p;function J0(){return _p||(_p=1,sh.exports=W0()),sh.exports}var oh={exports:{}},Lt={};var Tp;function X0(){if(Tp)return Lt;Tp=1;var i=Xh();function n(f){var y="https://react.dev/errors/"+f;if(1<arguments.length){y+="?args[]="+encodeURIComponent(arguments[1]);for(var w=2;w<arguments.length;w++)y+="&args[]="+encodeURIComponent(arguments[w])}return"Minified React error #"+f+"; visit "+y+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var l={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},c=Symbol.for("react.portal");function d(f,y,w){var S=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:c,key:S==null?null:""+S,children:f,containerInfo:y,implementation:w}}var h=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function m(f,y){if(f==="font")return"";if(typeof y=="string")return y==="use-credentials"?y:""}return Lt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,Lt.createPortal=function(f,y){var w=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!y||y.nodeType!==1&&y.nodeType!==9&&y.nodeType!==11)throw Error(n(299));return d(f,y,null,w)},Lt.flushSync=function(f){var y=h.T,w=l.p;try{if(h.T=null,l.p=2,f)return f()}finally{h.T=y,l.p=w,l.d.f()}},Lt.preconnect=function(f,y){typeof f=="string"&&(y?(y=y.crossOrigin,y=typeof y=="string"?y==="use-credentials"?y:"":void 0):y=null,l.d.C(f,y))},Lt.prefetchDNS=function(f){typeof f=="string"&&l.d.D(f)},Lt.preinit=function(f,y){if(typeof f=="string"&&y&&typeof y.as=="string"){var w=y.as,S=m(w,y.crossOrigin),T=typeof y.integrity=="string"?y.integrity:void 0,x=typeof y.fetchPriority=="string"?y.fetchPriority:void 0;w==="style"?l.d.S(f,typeof y.precedence=="string"?y.precedence:void 0,{crossOrigin:S,integrity:T,fetchPriority:x}):w==="script"&&l.d.X(f,{crossOrigin:S,integrity:T,fetchPriority:x,nonce:typeof y.nonce=="string"?y.nonce:void 0})}},Lt.preinitModule=function(f,y){if(typeof f=="string")if(typeof y=="object"&&y!==null){if(y.as==null||y.as==="script"){var w=m(y.as,y.crossOrigin);l.d.M(f,{crossOrigin:w,integrity:typeof y.integrity=="string"?y.integrity:void 0,nonce:typeof y.nonce=="string"?y.nonce:void 0})}}else y==null&&l.d.M(f)},Lt.preload=function(f,y){if(typeof f=="string"&&typeof y=="object"&&y!==null&&typeof y.as=="string"){var w=y.as,S=m(w,y.crossOrigin);l.d.L(f,w,{crossOrigin:S,integrity:typeof y.integrity=="string"?y.integrity:void 0,nonce:typeof y.nonce=="string"?y.nonce:void 0,type:typeof y.type=="string"?y.type:void 0,fetchPriority:typeof y.fetchPriority=="string"?y.fetchPriority:void 0,referrerPolicy:typeof y.referrerPolicy=="string"?y.referrerPolicy:void 0,imageSrcSet:typeof y.imageSrcSet=="string"?y.imageSrcSet:void 0,imageSizes:typeof y.imageSizes=="string"?y.imageSizes:void 0,media:typeof y.media=="string"?y.media:void 0})}},Lt.preloadModule=function(f,y){if(typeof f=="string")if(y){var w=m(y.as,y.crossOrigin);l.d.m(f,{as:typeof y.as=="string"&&y.as!=="script"?y.as:void 0,crossOrigin:w,integrity:typeof y.integrity=="string"?y.integrity:void 0})}else l.d.m(f)},Lt.requestFormReset=function(f){l.d.r(f)},Lt.unstable_batchedUpdates=function(f,y){return f(y)},Lt.useFormState=function(f,y,w){return h.H.useFormState(f,y,w)},Lt.useFormStatus=function(){return h.H.useHostTransitionStatus()},Lt.version="19.2.7",Lt}var kp;function Q0(){if(kp)return oh.exports;kp=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(n){console.error(n)}}return i(),oh.exports=X0(),oh.exports}var Ap;function Z0(){if(Ap)return Sl;Ap=1;var i=J0(),n=Xh(),r=Q0();function l(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function d(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function h(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function m(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function f(e){if(d(e)!==e)throw Error(l(188))}function y(e){var t=e.alternate;if(!t){if(t=d(e),t===null)throw Error(l(188));return t!==e?null:e}for(var a=e,s=t;;){var o=a.return;if(o===null)break;var u=o.alternate;if(u===null){if(s=o.return,s!==null){a=s;continue}break}if(o.child===u.child){for(u=o.child;u;){if(u===a)return f(o),e;if(u===s)return f(o),t;u=u.sibling}throw Error(l(188))}if(a.return!==s.return)a=o,s=u;else{for(var g=!1,v=o.child;v;){if(v===a){g=!0,a=o,s=u;break}if(v===s){g=!0,s=o,a=u;break}v=v.sibling}if(!g){for(v=u.child;v;){if(v===a){g=!0,a=u,s=o;break}if(v===s){g=!0,s=u,a=o;break}v=v.sibling}if(!g)throw Error(l(189))}}if(a.alternate!==s)throw Error(l(190))}if(a.tag!==3)throw Error(l(188));return a.stateNode.current===a?e:t}function w(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=w(e),t!==null)return t;e=e.sibling}return null}var S=Object.assign,T=Symbol.for("react.element"),x=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),z=Symbol.for("react.fragment"),G=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),I=Symbol.for("react.consumer"),F=Symbol.for("react.context"),ee=Symbol.for("react.forward_ref"),we=Symbol.for("react.suspense"),le=Symbol.for("react.suspense_list"),Z=Symbol.for("react.memo"),je=Symbol.for("react.lazy"),Ee=Symbol.for("react.activity"),ve=Symbol.for("react.memo_cache_sentinel"),be=Symbol.iterator;function ue(e){return e===null||typeof e!="object"?null:(e=be&&e[be]||e["@@iterator"],typeof e=="function"?e:null)}var ge=Symbol.for("react.client.reference");function X(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ge?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case z:return"Fragment";case V:return"Profiler";case G:return"StrictMode";case we:return"Suspense";case le:return"SuspenseList";case Ee:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case R:return"Portal";case F:return e.displayName||"Context";case I:return(e._context.displayName||"Context")+".Consumer";case ee:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Z:return t=e.displayName||null,t!==null?t:X(e.type)||"Memo";case je:t=e._payload,e=e._init;try{return X(e(t))}catch{}}return null}var Le=Array.isArray,_=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,H=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Q={pending:!1,data:null,method:null,action:null},te=[],pe=-1;function A(e){return{current:e}}function D(e){0>pe||(e.current=te[pe],te[pe]=null,pe--)}function J(e,t){pe++,te[pe]=e.current,e.current=t}var ae=A(null),ye=A(null),Se=A(null),De=A(null);function tt(e,t){switch(J(Se,t),J(ye,e),J(ae,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hg(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hg(t),e=$g(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}D(ae),J(ae,e)}function nt(){D(ae),D(ye),D(Se)}function In(e){e.memoizedState!==null&&J(De,e);var t=ae.current,a=$g(t,e.type);t!==a&&(J(ye,e),J(ae,a))}function Cn(e){ye.current===e&&(D(ae),D(ye)),De.current===e&&(D(De),gl._currentValue=Q)}var ir,rr;function na(e){if(ir===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);ir=t&&t[1]||"",rr=-1<a.stack.indexOf(`
|
|
2
2
|
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
-
`+ir+e+rr}var
|
|
3
|
+
`+ir+e+rr}var gs=!1;function La(e,t){if(!e||gs)return"";gs=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var s={DetermineComponentFrameRoot:function(){try{if(t){var q=function(){throw Error()};if(Object.defineProperty(q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(q,[])}catch(U){var L=U}Reflect.construct(e,[],q)}else{try{q.call()}catch(U){L=U}e.call(q.prototype)}}else{try{throw Error()}catch(U){L=U}(q=e())&&typeof q.catch=="function"&&q.catch(function(){})}}catch(U){if(U&&L&&typeof U.stack=="string")return[U.stack,L.stack]}return[null,null]}};s.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var o=Object.getOwnPropertyDescriptor(s.DetermineComponentFrameRoot,"name");o&&o.configurable&&Object.defineProperty(s.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var u=s.DetermineComponentFrameRoot(),g=u[0],v=u[1];if(g&&v){var k=g.split(`
|
|
4
4
|
`),N=v.split(`
|
|
5
5
|
`);for(o=s=0;s<k.length&&!k[s].includes("DetermineComponentFrameRoot");)s++;for(;o<N.length&&!N[o].includes("DetermineComponentFrameRoot");)o++;if(s===k.length||o===N.length)for(s=k.length-1,o=N.length-1;1<=s&&0<=o&&k[s]!==N[o];)o--;for(;1<=s&&0<=o;s--,o--)if(k[s]!==N[o]){if(s!==1||o!==1)do if(s--,o--,0>o||k[s]!==N[o]){var P=`
|
|
6
|
-
`+k[s].replace(" at new "," at ");return e.displayName&&P.includes("<anonymous>")&&(P=P.replace("<anonymous>",e.displayName)),P}while(1<=s&&0<=o);break}}}finally{
|
|
6
|
+
`+k[s].replace(" at new "," at ");return e.displayName&&P.includes("<anonymous>")&&(P=P.replace("<anonymous>",e.displayName)),P}while(1<=s&&0<=o);break}}}finally{gs=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?na(a):""}function Pc(e,t){switch(e.tag){case 26:case 27:case 5:return na(e.type);case 16:return na("Lazy");case 13:return e.child!==t&&t!==null?na("Suspense Fallback"):na("Suspense");case 19:return na("SuspenseList");case 0:case 15:return La(e.type,!1);case 11:return La(e.type.render,!1);case 1:return La(e.type,!0);case 31:return na("Activity");default:return""}}function re(e){try{var t="",a=null;do t+=Pc(e,a),a=e,e=e.return;while(e);return t}catch(s){return`
|
|
7
7
|
Error generating stack: `+s.message+`
|
|
8
|
-
`+s.stack}}var sr=Object.prototype.hasOwnProperty,$t=i.unstable_scheduleCallback,bi=i.unstable_cancelCallback,ys=i.unstable_shouldYield,lr=i.unstable_requestPaint,Pe=i.unstable_now,vs=i.unstable_getCurrentPriorityLevel,Si=i.unstable_ImmediatePriority,or=i.unstable_UserBlockingPriority,cr=i.unstable_NormalPriority,Hc=i.unstable_LowPriority,ur=i.unstable_IdlePriority,$c=i.log,qc=i.unstable_setDisableYieldValue,aa=null,At=null;function Qt(e){if(typeof $c=="function"&&qc(e),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(aa,e)}catch{}}var wt=Math.clz32?Math.clz32:bs,ia=Math.log,Ic=Math.LN2;function bs(e){return e>>>=0,e===0?32:31-(ia(e)/Ic|0)|0}var wi=256,_i=262144,Ma=4194304;function Gn(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ra(e,t,a){var s=e.pendingLanes;if(s===0)return 0;var o=0,u=e.suspendedLanes,g=e.pingedLanes;e=e.warmLanes;var v=s&134217727;return v!==0?(s=v&~u,s!==0?o=Gn(s):(g&=v,g!==0?o=Gn(g):a||(a=v&~e,a!==0&&(o=Gn(a))))):(v=s&~u,v!==0?o=Gn(v):g!==0?o=Gn(g):a||(a=s&~e,a!==0&&(o=Gn(a)))),o===0?0:t!==0&&t!==o&&(t&u)===0&&(u=o&-o,a=t&-t,u>=a||u===32&&(a&4194048)!==0)?t:o}function Zt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Jl(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ss(){var e=Ma;return Ma<<=1,(Ma&62914560)===0&&(Ma=4194304),e}function dr(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Da(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function rt(e,t,a,s,o,u){var g=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var v=e.entanglements,k=e.expirationTimes,N=e.hiddenUpdates;for(a=g&~a;0<a;){var P=31-wt(a),q=1<<P;v[P]=0,k[P]=-1;var L=N[P];if(L!==null)for(N[P]=null,P=0;P<L.length;P++){var U=L[P];U!==null&&(U.lane&=-536870913)}a&=~q}s!==0&&He(e,s,0),u!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=u&~(g&~t))}function He(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var s=31-wt(t);e.entangledLanes|=t,e.entanglements[s]=e.entanglements[s]|1073741824|a&261930}function Xl(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var s=31-wt(a),o=1<<s;o&t|e[s]&t&&(e[s]|=t),a&=~o}}function en(e,t){var a=t&-t;return a=(a&42)!==0?1:Ua(a),(a&(e.suspendedLanes|t))!==0?0:a}function Ua(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function hr(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function fr(){var e=H.p;return e!==0?e:(e=window.event,e===void 0?32:cp(e.type))}function za(e,t){var a=H.p;try{return H.p=e,t()}finally{H.p=a}}var zt=Math.random().toString(36).slice(2),W="__reactFiber$"+zt,Je="__reactProps$"+zt,Ba="__reactContainer$"+zt,Ti="__reactEvents$"+zt,st="__reactListeners$"+zt,Ql="__reactHandles$"+zt,ws="__reactResources$"+zt,ki="__reactMarker$"+zt;function Ze(e){delete e[W],delete e[Je],delete e[Ti],delete e[st],delete e[Ql]}function tn(e){var t=e[W];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Ba]||a[W]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=Fg(e);e!==null;){if(a=e[W])return a;e=Fg(e)}return t}e=a,a=e.parentNode}return null}function Pa(e){if(e=e[W]||e[Ba]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Ha(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(l(33))}function Bt(e){var t=e[ws];return t||(t=e[ws]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function ut(e){e[ki]=!0}var Ai=new Set,mr={};function _t(e,t){nn(e,t),nn(e+"Capture",t)}function nn(e,t){for(mr[e]=t,e=0;e<t.length;e++)Ai.add(t[e])}var Gc=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),sa={},_s={};function Zl(e){return sr.call(_s,e)?!0:sr.call(sa,e)?!1:Gc.test(e)?_s[e]=!0:(sa[e]=!0,!1)}function Ei(e,t,a){if(Zl(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var s=t.toLowerCase().slice(0,5);if(s!=="data-"&&s!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function la(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function Rn(e,t,a,s){if(s===null)e.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+s)}}function qt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ts(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function xi(e,t,a){var s=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var o=s.get,u=s.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(g){a=""+g,u.call(this,g)}}),Object.defineProperty(e,t,{enumerable:s.enumerable}),{getValue:function(){return a},setValue:function(g){a=""+g},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function mn(e){if(!e._valueTracker){var t=Ts(e)?"checked":"value";e._valueTracker=xi(e,t,""+e[t])}}function Ci(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),s="";return e&&(s=Ts(e)?e.checked?"true":"false":e.value),e=s,e!==a?(t.setValue(e),!0):!1}function Ri(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Vc=/[\n"\\]/g;function It(e){return e.replace(Vc,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function gr(e,t,a,s,o,u,g,v){e.name="",g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?e.type=g:e.removeAttribute("type"),t!=null?g==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+qt(t)):e.value!==""+qt(t)&&(e.value=""+qt(t)):g!=="submit"&&g!=="reset"||e.removeAttribute("value"),t!=null?$a(e,g,qt(t)):a!=null?$a(e,g,qt(a)):s!=null&&e.removeAttribute("value"),o==null&&u!=null&&(e.defaultChecked=!!u),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"?e.name=""+qt(v):e.removeAttribute("name")}function pr(e,t,a,s,o,u,g,v){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.type=u),t!=null||a!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){mn(e);return}a=a!=null?""+qt(a):"",t=t!=null?""+qt(t):a,v||t===e.value||(e.value=t),e.defaultValue=t}s=s??o,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=v?e.checked:!!s,e.defaultChecked=!!s,g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(e.name=g),mn(e)}function $a(e,t,a){t==="number"&&Ri(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function oa(e,t,a,s){if(e=e.options,t){t={};for(var o=0;o<a.length;o++)t["$"+a[o]]=!0;for(a=0;a<e.length;a++)o=t.hasOwnProperty("$"+e[a].value),e[a].selected!==o&&(e[a].selected=o),o&&s&&(e[a].defaultSelected=!0)}else{for(a=""+qt(a),t=null,o=0;o<e.length;o++){if(e[o].value===a){e[o].selected=!0,s&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function ks(e,t,a){if(t!=null&&(t=""+qt(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+qt(a):""}function Oi(e,t,a,s){if(t==null){if(s!=null){if(a!=null)throw Error(l(92));if(Le(s)){if(1<s.length)throw Error(l(93));s=s[0]}a=s}a==null&&(a=""),t=a}a=qt(t),e.defaultValue=a,s=e.textContent,s===a&&s!==""&&s!==null&&(e.value=s),mn(e)}function On(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var qa=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function As(e,t,a){var s=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?s?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":s?e.setProperty(t,a):typeof a!="number"||a===0||qa.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function Es(e,t,a){if(t!=null&&typeof t!="object")throw Error(l(62));if(e=e.style,a!=null){for(var s in a)!a.hasOwnProperty(s)||t!=null&&t.hasOwnProperty(s)||(s.indexOf("--")===0?e.setProperty(s,""):s==="float"?e.cssFloat="":e[s]="");for(var o in t)s=t[o],t.hasOwnProperty(o)&&a[o]!==s&&As(e,o,s)}else for(var u in t)t.hasOwnProperty(u)&&As(e,u,t[u])}function ji(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var yr=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Kc=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function jn(e){return Kc.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Nn(){}var Ln=null;function vr(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ca=null,gn=null;function xs(e){var t=Pa(e);if(t&&(e=t.stateNode)){var a=e[Je]||null;e:switch(e=t.stateNode,t.type){case"input":if(gr(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+It(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var s=a[t];if(s!==e&&s.form===e.form){var o=s[Je]||null;if(!o)throw Error(l(90));gr(s,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t<a.length;t++)s=a[t],s.form===e.form&&Ci(s)}break e;case"textarea":ks(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&oa(e,!!a.multiple,t,!1)}}}var br=!1;function Ia(e,t,a){if(br)return e(t,a);br=!0;try{var s=e(t);return s}finally{if(br=!1,(ca!==null||gn!==null)&&(Vo(),ca&&(t=ca,e=gn,gn=ca=null,xs(t),e)))for(t=0;t<e.length;t++)xs(e[t])}}function Ni(e,t){var a=e.stateNode;if(a===null)return null;var s=a[Je]||null;if(s===null)return null;a=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(l(231,t,typeof a));return a}var pn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Cs=!1;if(pn)try{var Ga={};Object.defineProperty(Ga,"passive",{get:function(){Cs=!0}}),window.addEventListener("test",Ga,Ga),window.removeEventListener("test",Ga,Ga)}catch{Cs=!1}var Vn=null,Rs=null,ua=null;function Kn(){if(ua)return ua;var e,t=Rs,a=t.length,s,o="value"in Vn?Vn.value:Vn.textContent,u=o.length;for(e=0;e<a&&t[e]===o[e];e++);var g=a-e;for(s=1;s<=g&&t[a-s]===o[u-s];s++);return ua=o.slice(e,1<s?1-s:void 0)}function Li(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Sr(){return!0}function Os(){return!1}function Et(e){function t(a,s,o,u,g){this._reactName=a,this._targetInst=o,this.type=s,this.nativeEvent=u,this.target=g,this.currentTarget=null;for(var v in e)e.hasOwnProperty(v)&&(a=e[v],this[v]=a?a(u):u[v]);return this.isDefaultPrevented=(u.defaultPrevented!=null?u.defaultPrevented:u.returnValue===!1)?Sr:Os,this.isPropagationStopped=Os,this}return S(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Sr)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Sr)},persist:function(){},isPersistent:Sr}),t}var _e={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},da=Et(_e),Va=S({},_e,{view:0,detail:0}),Fc=Et(Va),eo,Mi,Di,an=S({},Va,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ms,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Di&&(Di&&e.type==="mousemove"?(eo=e.screenX-Di.screenX,Mi=e.screenY-Di.screenY):Mi=eo=0,Di=e),eo)},movementY:function(e){return"movementY"in e?e.movementY:Mi}}),rn=Et(an),Nt=S({},an,{dataTransfer:0}),Yc=Et(Nt),Wc=S({},Va,{relatedTarget:0}),js=Et(Wc),Jc=S({},_e,{animationName:0,elapsedTime:0,pseudoElement:0}),Xc=Et(Jc),Qc=S({},_e,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Zc=Et(Qc),eu=S({},_e,{data:0}),to=Et(eu),Ns={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Ls={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},tu={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function nu(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=tu[e])?!!t[e]:!1}function Ms(){return nu}var au=S({},Va,{key:function(e){if(e.key){var t=Ns[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Li(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Ls[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ms,charCode:function(e){return e.type==="keypress"?Li(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Li(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),iu=Et(au),ru=S({},an,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),no=Et(ru),ao=S({},Va,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ms}),wr=Et(ao),su=S({},_e,{propertyName:0,elapsedTime:0,pseudoElement:0}),lu=Et(su),xt=S({},an,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),_r=Et(xt),Ds=S({},_e,{newState:0,oldState:0}),ou=Et(Ds),tf=[9,13,27,32],Us=pn&&"CompositionEvent"in window,Ui=null;pn&&"documentMode"in document&&(Ui=document.documentMode);var io=pn&&"TextEvent"in window&&!Ui,zi=pn&&(!Us||Ui&&8<Ui&&11>=Ui),Ka=" ",zs=!1;function ro(e,t){switch(e){case"keyup":return tf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function so(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fa=!1;function cu(e,t){switch(e){case"compositionend":return so(t);case"keypress":return t.which!==32?null:(zs=!0,Ka);case"textInput":return e=t.data,e===Ka&&zs?null:e;default:return null}}function uu(e,t){if(Fa)return e==="compositionend"||!Us&&ro(e,t)?(e=Kn(),ua=Rs=Vn=null,Fa=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return zi&&t.locale!=="ko"?null:t.data;default:return null}}var yn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function lo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!yn[e.type]:t==="textarea"}function oo(e,t,a,s){ca?gn?gn.push(s):gn=[s]:ca=s,t=Qo(t,"onChange"),0<t.length&&(a=new da("onChange","change",null,a,s),e.push({event:a,listeners:t}))}var b=null,M=null;function K(e){Lg(e,0)}function B(e){var t=Ha(e);if(Ci(t))return e}function Y(e,t){if(e==="change")return t}var ne=!1;if(pn){var de;if(pn){var $e="oninput"in document;if(!$e){var Me=document.createElement("div");Me.setAttribute("oninput","return;"),$e=typeof Me.oninput=="function"}de=$e}else de=!1;ne=de&&(!document.documentMode||9<document.documentMode)}function at(){b&&(b.detachEvent("onpropertychange",Tr),M=b=null)}function Tr(e){if(e.propertyName==="value"&&B(M)){var t=[];oo(t,M,e,vr(e)),Ia(K,t)}}function du(e,t,a){e==="focusin"?(at(),b=t,M=a,b.attachEvent("onpropertychange",Tr)):e==="focusout"&&at()}function Bs(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return B(M)}function co(e,t){if(e==="click")return B(t)}function Ps(e,t){if(e==="input"||e==="change")return B(t)}function _v(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var sn=typeof Object.is=="function"?Object.is:_v;function Hs(e,t){if(sn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(s=0;s<a.length;s++){var o=a[s];if(!sr.call(t,o)||!sn(e[o],t[o]))return!1}return!0}function nf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function af(e,t){var a=nf(e);e=0;for(var s;a;){if(a.nodeType===3){if(s=e+a.textContent.length,e<=t&&s>=t)return{node:a,offset:t-e};e=s}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=nf(a)}}function rf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?rf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function sf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ri(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ri(e.document)}return t}function hu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Tv=pn&&"documentMode"in document&&11>=document.documentMode,kr=null,fu=null,$s=null,mu=!1;function lf(e,t,a){var s=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;mu||kr==null||kr!==Ri(s)||(s=kr,"selectionStart"in s&&hu(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),$s&&Hs($s,s)||($s=s,s=Qo(fu,"onSelect"),0<s.length&&(t=new da("onSelect","select",null,t,a),e.push({event:t,listeners:s}),t.target=kr)))}function Bi(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Ar={animationend:Bi("Animation","AnimationEnd"),animationiteration:Bi("Animation","AnimationIteration"),animationstart:Bi("Animation","AnimationStart"),transitionrun:Bi("Transition","TransitionRun"),transitionstart:Bi("Transition","TransitionStart"),transitioncancel:Bi("Transition","TransitionCancel"),transitionend:Bi("Transition","TransitionEnd")},gu={},of={};pn&&(of=document.createElement("div").style,"AnimationEvent"in window||(delete Ar.animationend.animation,delete Ar.animationiteration.animation,delete Ar.animationstart.animation),"TransitionEvent"in window||delete Ar.transitionend.transition);function Pi(e){if(gu[e])return gu[e];if(!Ar[e])return e;var t=Ar[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in of)return gu[e]=t[a];return e}var cf=Pi("animationend"),uf=Pi("animationiteration"),df=Pi("animationstart"),kv=Pi("transitionrun"),Av=Pi("transitionstart"),Ev=Pi("transitioncancel"),hf=Pi("transitionend"),ff=new Map,pu="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");pu.push("scrollEnd");function Mn(e,t){ff.set(e,t),_t(t,[e])}var uo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},vn=[],Er=0,yu=0;function ho(){for(var e=Er,t=yu=Er=0;t<e;){var a=vn[t];vn[t++]=null;var s=vn[t];vn[t++]=null;var o=vn[t];vn[t++]=null;var u=vn[t];if(vn[t++]=null,s!==null&&o!==null){var g=s.pending;g===null?o.next=o:(o.next=g.next,g.next=o),s.pending=o}u!==0&&mf(a,o,u)}}function fo(e,t,a,s){vn[Er++]=e,vn[Er++]=t,vn[Er++]=a,vn[Er++]=s,yu|=s,e.lanes|=s,e=e.alternate,e!==null&&(e.lanes|=s)}function vu(e,t,a,s){return fo(e,t,a,s),mo(e)}function Hi(e,t){return fo(e,null,null,t),mo(e)}function mf(e,t,a){e.lanes|=a;var s=e.alternate;s!==null&&(s.lanes|=a);for(var o=!1,u=e.return;u!==null;)u.childLanes|=a,s=u.alternate,s!==null&&(s.childLanes|=a),u.tag===22&&(e=u.stateNode,e===null||e._visibility&1||(o=!0)),e=u,u=u.return;return e.tag===3?(u=e.stateNode,o&&t!==null&&(o=31-wt(a),e=u.hiddenUpdates,s=e[o],s===null?e[o]=[t]:s.push(t),t.lane=a|536870912),u):null}function mo(e){if(50<cl)throw cl=0,xd=null,Error(l(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var xr={};function xv(e,t,a,s){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ln(e,t,a,s){return new xv(e,t,a,s)}function bu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ha(e,t){var a=e.alternate;return a===null?(a=ln(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function gf(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function go(e,t,a,s,o,u){var g=0;if(s=e,typeof e=="function")bu(e)&&(g=1);else if(typeof e=="string")g=N0(e,a,ae.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Ee:return e=ln(31,a,t,o),e.elementType=Ee,e.lanes=u,e;case z:return $i(a.children,o,u,t);case G:g=8,o|=24;break;case V:return e=ln(12,a,t,o|2),e.elementType=V,e.lanes=u,e;case we:return e=ln(13,a,t,o),e.elementType=we,e.lanes=u,e;case le:return e=ln(19,a,t,o),e.elementType=le,e.lanes=u,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case F:g=10;break e;case I:g=9;break e;case ee:g=11;break e;case Z:g=14;break e;case je:g=16,s=null;break e}g=29,a=Error(l(130,e===null?"null":typeof e,"")),s=null}return t=ln(g,a,t,o),t.elementType=e,t.type=s,t.lanes=u,t}function $i(e,t,a,s){return e=ln(7,e,s,t),e.lanes=a,e}function Su(e,t,a){return e=ln(6,e,null,t),e.lanes=a,e}function pf(e){var t=ln(18,null,null,0);return t.stateNode=e,t}function wu(e,t,a){return t=ln(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var yf=new WeakMap;function bn(e,t){if(typeof e=="object"&&e!==null){var a=yf.get(e);return a!==void 0?a:(t={value:e,source:t,stack:re(t)},yf.set(e,t),t)}return{value:e,source:t,stack:re(t)}}var Cr=[],Rr=0,po=null,qs=0,Sn=[],wn=0,Ya=null,Fn=1,Yn="";function fa(e,t){Cr[Rr++]=qs,Cr[Rr++]=po,po=e,qs=t}function vf(e,t,a){Sn[wn++]=Fn,Sn[wn++]=Yn,Sn[wn++]=Ya,Ya=e;var s=Fn;e=Yn;var o=32-wt(s)-1;s&=~(1<<o),a+=1;var u=32-wt(t)+o;if(30<u){var g=o-o%5;u=(s&(1<<g)-1).toString(32),s>>=g,o-=g,Fn=1<<32-wt(t)+o|a<<o|s,Yn=u+e}else Fn=1<<u|a<<o|s,Yn=e}function _u(e){e.return!==null&&(fa(e,1),vf(e,1,0))}function Tu(e){for(;e===po;)po=Cr[--Rr],Cr[Rr]=null,qs=Cr[--Rr],Cr[Rr]=null;for(;e===Ya;)Ya=Sn[--wn],Sn[wn]=null,Yn=Sn[--wn],Sn[wn]=null,Fn=Sn[--wn],Sn[wn]=null}function bf(e,t){Sn[wn++]=Fn,Sn[wn++]=Yn,Sn[wn++]=Ya,Fn=t.id,Yn=t.overflow,Ya=e}var Ct=null,Xe=null,Ne=!1,Wa=null,_n=!1,ku=Error(l(519));function Ja(e){var t=Error(l(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Is(bn(t,e)),ku}function Sf(e){var t=e.stateNode,a=e.type,s=e.memoizedProps;switch(t[W]=e,t[Je]=s,a){case"dialog":Ce("cancel",t),Ce("close",t);break;case"iframe":case"object":case"embed":Ce("load",t);break;case"video":case"audio":for(a=0;a<dl.length;a++)Ce(dl[a],t);break;case"source":Ce("error",t);break;case"img":case"image":case"link":Ce("error",t),Ce("load",t);break;case"details":Ce("toggle",t);break;case"input":Ce("invalid",t),pr(t,s.value,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name,!0);break;case"select":Ce("invalid",t);break;case"textarea":Ce("invalid",t),Oi(t,s.value,s.defaultValue,s.children)}a=s.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||s.suppressHydrationWarning===!0||zg(t.textContent,a)?(s.popover!=null&&(Ce("beforetoggle",t),Ce("toggle",t)),s.onScroll!=null&&Ce("scroll",t),s.onScrollEnd!=null&&Ce("scrollend",t),s.onClick!=null&&(t.onclick=Nn),t=!0):t=!1,t||Ja(e,!0)}function wf(e){for(Ct=e.return;Ct;)switch(Ct.tag){case 5:case 31:case 13:_n=!1;return;case 27:case 3:_n=!0;return;default:Ct=Ct.return}}function Or(e){if(e!==Ct)return!1;if(!Ne)return wf(e),Ne=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||qd(e.type,e.memoizedProps)),a=!a),a&&Xe&&Ja(e),wf(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));Xe=Kg(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));Xe=Kg(e)}else t===27?(t=Xe,ui(e.type)?(e=Fd,Fd=null,Xe=e):Xe=t):Xe=Ct?kn(e.stateNode.nextSibling):null;return!0}function qi(){Xe=Ct=null,Ne=!1}function Au(){var e=Wa;return e!==null&&(Ft===null?Ft=e:Ft.push.apply(Ft,e),Wa=null),e}function Is(e){Wa===null?Wa=[e]:Wa.push(e)}var Eu=A(null),Ii=null,ma=null;function Xa(e,t,a){J(Eu,t._currentValue),t._currentValue=a}function ga(e){e._currentValue=Eu.current,D(Eu)}function xu(e,t,a){for(;e!==null;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,s!==null&&(s.childLanes|=t)):s!==null&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===a)break;e=e.return}}function Cu(e,t,a,s){var o=e.child;for(o!==null&&(o.return=e);o!==null;){var u=o.dependencies;if(u!==null){var g=o.child;u=u.firstContext;e:for(;u!==null;){var v=u;u=o;for(var k=0;k<t.length;k++)if(v.context===t[k]){u.lanes|=a,v=u.alternate,v!==null&&(v.lanes|=a),xu(u.return,a,e),s||(g=null);break e}u=v.next}}else if(o.tag===18){if(g=o.return,g===null)throw Error(l(341));g.lanes|=a,u=g.alternate,u!==null&&(u.lanes|=a),xu(g,a,e),g=null}else g=o.child;if(g!==null)g.return=o;else for(g=o;g!==null;){if(g===e){g=null;break}if(o=g.sibling,o!==null){o.return=g.return,g=o;break}g=g.return}o=g}}function jr(e,t,a,s){e=null;for(var o=t,u=!1;o!==null;){if(!u){if((o.flags&524288)!==0)u=!0;else if((o.flags&262144)!==0)break}if(o.tag===10){var g=o.alternate;if(g===null)throw Error(l(387));if(g=g.memoizedProps,g!==null){var v=o.type;sn(o.pendingProps.value,g.value)||(e!==null?e.push(v):e=[v])}}else if(o===De.current){if(g=o.alternate,g===null)throw Error(l(387));g.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(pl):e=[pl])}o=o.return}e!==null&&Cu(t,e,a,s),t.flags|=262144}function yo(e){for(e=e.firstContext;e!==null;){if(!sn(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Gi(e){Ii=e,ma=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Rt(e){return _f(Ii,e)}function vo(e,t){return Ii===null&&Gi(e),_f(e,t)}function _f(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},ma===null){if(e===null)throw Error(l(308));ma=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ma=ma.next=t;return a}var Cv=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,s){e.push(s)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},Rv=i.unstable_scheduleCallback,Ov=i.unstable_NormalPriority,gt={$$typeof:F,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ru(){return{controller:new Cv,data:new Map,refCount:0}}function Gs(e){e.refCount--,e.refCount===0&&Rv(Ov,function(){e.controller.abort()})}var Vs=null,Ou=0,Nr=0,Lr=null;function jv(e,t){if(Vs===null){var a=Vs=[];Ou=0,Nr=Ld(),Lr={status:"pending",value:void 0,then:function(s){a.push(s)}}}return Ou++,t.then(Tf,Tf),t}function Tf(){if(--Ou===0&&Vs!==null){Lr!==null&&(Lr.status="fulfilled");var e=Vs;Vs=null,Nr=0,Lr=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Nv(e,t){var a=[],s={status:"pending",value:null,reason:null,then:function(o){a.push(o)}};return e.then(function(){s.status="fulfilled",s.value=t;for(var o=0;o<a.length;o++)(0,a[o])(t)},function(o){for(s.status="rejected",s.reason=o,o=0;o<a.length;o++)(0,a[o])(void 0)}),s}var kf=_.S;_.S=function(e,t){lg=Pe(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&jv(e,t),kf!==null&&kf(e,t)};var Vi=A(null);function ju(){var e=Vi.current;return e!==null?e:Ye.pooledCache}function bo(e,t){t===null?J(Vi,Vi.current):J(Vi,t.pool)}function Af(){var e=ju();return e===null?null:{parent:gt._currentValue,pool:e}}var Mr=Error(l(460)),Nu=Error(l(474)),So=Error(l(542)),wo={then:function(){}};function Ef(e){return e=e.status,e==="fulfilled"||e==="rejected"}function xf(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(Nn,Nn),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Rf(e),e;default:if(typeof t.status=="string")t.then(Nn,Nn);else{if(e=Ye,e!==null&&100<e.shellSuspendCounter)throw Error(l(482));e=t,e.status="pending",e.then(function(s){if(t.status==="pending"){var o=t;o.status="fulfilled",o.value=s}},function(s){if(t.status==="pending"){var o=t;o.status="rejected",o.reason=s}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Rf(e),e}throw Fi=t,Mr}}function Ki(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(Fi=a,Mr):a}}var Fi=null;function Cf(){if(Fi===null)throw Error(l(459));var e=Fi;return Fi=null,e}function Rf(e){if(e===Mr||e===So)throw Error(l(483))}var Dr=null,Ks=0;function _o(e){var t=Ks;return Ks+=1,Dr===null&&(Dr=[]),xf(Dr,e,t)}function Fs(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function To(e,t){throw t.$$typeof===T?Error(l(525)):(e=Object.prototype.toString.call(t),Error(l(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Of(e){function t(C,E){if(e){var j=C.deletions;j===null?(C.deletions=[E],C.flags|=16):j.push(E)}}function a(C,E){if(!e)return null;for(;E!==null;)t(C,E),E=E.sibling;return null}function s(C){for(var E=new Map;C!==null;)C.key!==null?E.set(C.key,C):E.set(C.index,C),C=C.sibling;return E}function o(C,E){return C=ha(C,E),C.index=0,C.sibling=null,C}function u(C,E,j){return C.index=j,e?(j=C.alternate,j!==null?(j=j.index,j<E?(C.flags|=67108866,E):j):(C.flags|=67108866,E)):(C.flags|=1048576,E)}function g(C){return e&&C.alternate===null&&(C.flags|=67108866),C}function v(C,E,j,$){return E===null||E.tag!==6?(E=Su(j,C.mode,$),E.return=C,E):(E=o(E,j),E.return=C,E)}function k(C,E,j,$){var he=j.type;return he===z?P(C,E,j.props.children,$,j.key):E!==null&&(E.elementType===he||typeof he=="object"&&he!==null&&he.$$typeof===je&&Ki(he)===E.type)?(E=o(E,j.props),Fs(E,j),E.return=C,E):(E=go(j.type,j.key,j.props,null,C.mode,$),Fs(E,j),E.return=C,E)}function N(C,E,j,$){return E===null||E.tag!==4||E.stateNode.containerInfo!==j.containerInfo||E.stateNode.implementation!==j.implementation?(E=wu(j,C.mode,$),E.return=C,E):(E=o(E,j.children||[]),E.return=C,E)}function P(C,E,j,$,he){return E===null||E.tag!==7?(E=$i(j,C.mode,$,he),E.return=C,E):(E=o(E,j),E.return=C,E)}function q(C,E,j){if(typeof E=="string"&&E!==""||typeof E=="number"||typeof E=="bigint")return E=Su(""+E,C.mode,j),E.return=C,E;if(typeof E=="object"&&E!==null){switch(E.$$typeof){case x:return j=go(E.type,E.key,E.props,null,C.mode,j),Fs(j,E),j.return=C,j;case R:return E=wu(E,C.mode,j),E.return=C,E;case je:return E=Ki(E),q(C,E,j)}if(Le(E)||ue(E))return E=$i(E,C.mode,j,null),E.return=C,E;if(typeof E.then=="function")return q(C,_o(E),j);if(E.$$typeof===F)return q(C,vo(C,E),j);To(C,E)}return null}function L(C,E,j,$){var he=E!==null?E.key:null;if(typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint")return he!==null?null:v(C,E,""+j,$);if(typeof j=="object"&&j!==null){switch(j.$$typeof){case x:return j.key===he?k(C,E,j,$):null;case R:return j.key===he?N(C,E,j,$):null;case je:return j=Ki(j),L(C,E,j,$)}if(Le(j)||ue(j))return he!==null?null:P(C,E,j,$,null);if(typeof j.then=="function")return L(C,E,_o(j),$);if(j.$$typeof===F)return L(C,E,vo(C,j),$);To(C,j)}return null}function U(C,E,j,$,he){if(typeof $=="string"&&$!==""||typeof $=="number"||typeof $=="bigint")return C=C.get(j)||null,v(E,C,""+$,he);if(typeof $=="object"&&$!==null){switch($.$$typeof){case x:return C=C.get($.key===null?j:$.key)||null,k(E,C,$,he);case R:return C=C.get($.key===null?j:$.key)||null,N(E,C,$,he);case je:return $=Ki($),U(C,E,j,$,he)}if(Le($)||ue($))return C=C.get(j)||null,P(E,C,$,he,null);if(typeof $.then=="function")return U(C,E,j,_o($),he);if($.$$typeof===F)return U(C,E,j,vo(E,$),he);To(E,$)}return null}function se(C,E,j,$){for(var he=null,Ue=null,ce=E,Ae=E=0,Oe=null;ce!==null&&Ae<j.length;Ae++){ce.index>Ae?(Oe=ce,ce=null):Oe=ce.sibling;var ze=L(C,ce,j[Ae],$);if(ze===null){ce===null&&(ce=Oe);break}e&&ce&&ze.alternate===null&&t(C,ce),E=u(ze,E,Ae),Ue===null?he=ze:Ue.sibling=ze,Ue=ze,ce=Oe}if(Ae===j.length)return a(C,ce),Ne&&fa(C,Ae),he;if(ce===null){for(;Ae<j.length;Ae++)ce=q(C,j[Ae],$),ce!==null&&(E=u(ce,E,Ae),Ue===null?he=ce:Ue.sibling=ce,Ue=ce);return Ne&&fa(C,Ae),he}for(ce=s(ce);Ae<j.length;Ae++)Oe=U(ce,C,Ae,j[Ae],$),Oe!==null&&(e&&Oe.alternate!==null&&ce.delete(Oe.key===null?Ae:Oe.key),E=u(Oe,E,Ae),Ue===null?he=Oe:Ue.sibling=Oe,Ue=Oe);return e&&ce.forEach(function(gi){return t(C,gi)}),Ne&&fa(C,Ae),he}function me(C,E,j,$){if(j==null)throw Error(l(151));for(var he=null,Ue=null,ce=E,Ae=E=0,Oe=null,ze=j.next();ce!==null&&!ze.done;Ae++,ze=j.next()){ce.index>Ae?(Oe=ce,ce=null):Oe=ce.sibling;var gi=L(C,ce,ze.value,$);if(gi===null){ce===null&&(ce=Oe);break}e&&ce&&gi.alternate===null&&t(C,ce),E=u(gi,E,Ae),Ue===null?he=gi:Ue.sibling=gi,Ue=gi,ce=Oe}if(ze.done)return a(C,ce),Ne&&fa(C,Ae),he;if(ce===null){for(;!ze.done;Ae++,ze=j.next())ze=q(C,ze.value,$),ze!==null&&(E=u(ze,E,Ae),Ue===null?he=ze:Ue.sibling=ze,Ue=ze);return Ne&&fa(C,Ae),he}for(ce=s(ce);!ze.done;Ae++,ze=j.next())ze=U(ce,C,Ae,ze.value,$),ze!==null&&(e&&ze.alternate!==null&&ce.delete(ze.key===null?Ae:ze.key),E=u(ze,E,Ae),Ue===null?he=ze:Ue.sibling=ze,Ue=ze);return e&&ce.forEach(function(I0){return t(C,I0)}),Ne&&fa(C,Ae),he}function Fe(C,E,j,$){if(typeof j=="object"&&j!==null&&j.type===z&&j.key===null&&(j=j.props.children),typeof j=="object"&&j!==null){switch(j.$$typeof){case x:e:{for(var he=j.key;E!==null;){if(E.key===he){if(he=j.type,he===z){if(E.tag===7){a(C,E.sibling),$=o(E,j.props.children),$.return=C,C=$;break e}}else if(E.elementType===he||typeof he=="object"&&he!==null&&he.$$typeof===je&&Ki(he)===E.type){a(C,E.sibling),$=o(E,j.props),Fs($,j),$.return=C,C=$;break e}a(C,E);break}else t(C,E);E=E.sibling}j.type===z?($=$i(j.props.children,C.mode,$,j.key),$.return=C,C=$):($=go(j.type,j.key,j.props,null,C.mode,$),Fs($,j),$.return=C,C=$)}return g(C);case R:e:{for(he=j.key;E!==null;){if(E.key===he)if(E.tag===4&&E.stateNode.containerInfo===j.containerInfo&&E.stateNode.implementation===j.implementation){a(C,E.sibling),$=o(E,j.children||[]),$.return=C,C=$;break e}else{a(C,E);break}else t(C,E);E=E.sibling}$=wu(j,C.mode,$),$.return=C,C=$}return g(C);case je:return j=Ki(j),Fe(C,E,j,$)}if(Le(j))return se(C,E,j,$);if(ue(j)){if(he=ue(j),typeof he!="function")throw Error(l(150));return j=he.call(j),me(C,E,j,$)}if(typeof j.then=="function")return Fe(C,E,_o(j),$);if(j.$$typeof===F)return Fe(C,E,vo(C,j),$);To(C,j)}return typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint"?(j=""+j,E!==null&&E.tag===6?(a(C,E.sibling),$=o(E,j),$.return=C,C=$):(a(C,E),$=Su(j,C.mode,$),$.return=C,C=$),g(C)):a(C,E)}return function(C,E,j,$){try{Ks=0;var he=Fe(C,E,j,$);return Dr=null,he}catch(ce){if(ce===Mr||ce===So)throw ce;var Ue=ln(29,ce,null,C.mode);return Ue.lanes=$,Ue.return=C,Ue}}}var Yi=Of(!0),jf=Of(!1),Qa=!1;function Lu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Mu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Za(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ei(e,t,a){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Be&2)!==0){var o=s.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),s.pending=t,t=mo(e),mf(e,null,a),t}return fo(e,s,t,a),mo(e)}function Ys(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var s=t.lanes;s&=e.pendingLanes,a|=s,t.lanes=a,Xl(e,a)}}function Du(e,t){var a=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,a===s)){var o=null,u=null;if(a=a.firstBaseUpdate,a!==null){do{var g={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};u===null?o=u=g:u=u.next=g,a=a.next}while(a!==null);u===null?o=u=t:u=u.next=t}else o=u=t;a={baseState:s.baseState,firstBaseUpdate:o,lastBaseUpdate:u,shared:s.shared,callbacks:s.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Uu=!1;function Ws(){if(Uu){var e=Lr;if(e!==null)throw e}}function Js(e,t,a,s){Uu=!1;var o=e.updateQueue;Qa=!1;var u=o.firstBaseUpdate,g=o.lastBaseUpdate,v=o.shared.pending;if(v!==null){o.shared.pending=null;var k=v,N=k.next;k.next=null,g===null?u=N:g.next=N,g=k;var P=e.alternate;P!==null&&(P=P.updateQueue,v=P.lastBaseUpdate,v!==g&&(v===null?P.firstBaseUpdate=N:v.next=N,P.lastBaseUpdate=k))}if(u!==null){var q=o.baseState;g=0,P=N=k=null,v=u;do{var L=v.lane&-536870913,U=L!==v.lane;if(U?(Re&L)===L:(s&L)===L){L!==0&&L===Nr&&(Uu=!0),P!==null&&(P=P.next={lane:0,tag:v.tag,payload:v.payload,callback:null,next:null});e:{var se=e,me=v;L=t;var Fe=a;switch(me.tag){case 1:if(se=me.payload,typeof se=="function"){q=se.call(Fe,q,L);break e}q=se;break e;case 3:se.flags=se.flags&-65537|128;case 0:if(se=me.payload,L=typeof se=="function"?se.call(Fe,q,L):se,L==null)break e;q=S({},q,L);break e;case 2:Qa=!0}}L=v.callback,L!==null&&(e.flags|=64,U&&(e.flags|=8192),U=o.callbacks,U===null?o.callbacks=[L]:U.push(L))}else U={lane:L,tag:v.tag,payload:v.payload,callback:v.callback,next:null},P===null?(N=P=U,k=q):P=P.next=U,g|=L;if(v=v.next,v===null){if(v=o.shared.pending,v===null)break;U=v,v=U.next,U.next=null,o.lastBaseUpdate=U,o.shared.pending=null}}while(!0);P===null&&(k=q),o.baseState=k,o.firstBaseUpdate=N,o.lastBaseUpdate=P,u===null&&(o.shared.lanes=0),ri|=g,e.lanes=g,e.memoizedState=q}}function Nf(e,t){if(typeof e!="function")throw Error(l(191,e));e.call(t)}function Lf(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Nf(a[e],t)}var Ur=A(null),ko=A(0);function Mf(e,t){e=ka,J(ko,e),J(Ur,t),ka=e|t.baseLanes}function zu(){J(ko,ka),J(Ur,Ur.current)}function Bu(){ka=ko.current,D(Ur),D(ko)}var on=A(null),Tn=null;function ti(e){var t=e.alternate;J(dt,dt.current&1),J(on,e),Tn===null&&(t===null||Ur.current!==null||t.memoizedState!==null)&&(Tn=e)}function Pu(e){J(dt,dt.current),J(on,e),Tn===null&&(Tn=e)}function Df(e){e.tag===22?(J(dt,dt.current),J(on,e),Tn===null&&(Tn=e)):ni()}function ni(){J(dt,dt.current),J(on,on.current)}function cn(e){D(on),Tn===e&&(Tn=null),D(dt)}var dt=A(0);function Ao(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||Vd(a)||Kd(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var pa=0,ke=null,Ve=null,pt=null,Eo=!1,zr=!1,Wi=!1,xo=0,Xs=0,Br=null,Lv=0;function lt(){throw Error(l(321))}function Hu(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!sn(e[a],t[a]))return!1;return!0}function $u(e,t,a,s,o,u){return pa=u,ke=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,_.H=e===null||e.memoizedState===null?vm:nd,Wi=!1,u=a(s,o),Wi=!1,zr&&(u=zf(t,a,s,o)),Uf(e),u}function Uf(e){_.H=el;var t=Ve!==null&&Ve.next!==null;if(pa=0,pt=Ve=ke=null,Eo=!1,Xs=0,Br=null,t)throw Error(l(300));e===null||yt||(e=e.dependencies,e!==null&&yo(e)&&(yt=!0))}function zf(e,t,a,s){ke=e;var o=0;do{if(zr&&(Br=null),Xs=0,zr=!1,25<=o)throw Error(l(301));if(o+=1,pt=Ve=null,e.updateQueue!=null){var u=e.updateQueue;u.lastEffect=null,u.events=null,u.stores=null,u.memoCache!=null&&(u.memoCache.index=0)}_.H=bm,u=t(a,s)}while(zr);return u}function Mv(){var e=_.H,t=e.useState()[0];return t=typeof t.then=="function"?Qs(t):t,e=e.useState()[0],(Ve!==null?Ve.memoizedState:null)!==e&&(ke.flags|=1024),t}function qu(){var e=xo!==0;return xo=0,e}function Iu(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function Gu(e){if(Eo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Eo=!1}pa=0,pt=Ve=ke=null,zr=!1,Xs=xo=0,Br=null}function Pt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return pt===null?ke.memoizedState=pt=e:pt=pt.next=e,pt}function ht(){if(Ve===null){var e=ke.alternate;e=e!==null?e.memoizedState:null}else e=Ve.next;var t=pt===null?ke.memoizedState:pt.next;if(t!==null)pt=t,Ve=e;else{if(e===null)throw ke.alternate===null?Error(l(467)):Error(l(310));Ve=e,e={memoizedState:Ve.memoizedState,baseState:Ve.baseState,baseQueue:Ve.baseQueue,queue:Ve.queue,next:null},pt===null?ke.memoizedState=pt=e:pt=pt.next=e}return pt}function Co(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Qs(e){var t=Xs;return Xs+=1,Br===null&&(Br=[]),e=xf(Br,e,t),t=ke,(pt===null?t.memoizedState:pt.next)===null&&(t=t.alternate,_.H=t===null||t.memoizedState===null?vm:nd),e}function Ro(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Qs(e);if(e.$$typeof===F)return Rt(e)}throw Error(l(438,String(e)))}function Vu(e){var t=null,a=ke.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var s=ke.alternate;s!==null&&(s=s.updateQueue,s!==null&&(s=s.memoCache,s!=null&&(t={data:s.data.map(function(o){return o.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Co(),ke.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),s=0;s<e;s++)a[s]=ve;return t.index++,a}function ya(e,t){return typeof t=="function"?t(e):t}function Oo(e){var t=ht();return Ku(t,Ve,e)}function Ku(e,t,a){var s=e.queue;if(s===null)throw Error(l(311));s.lastRenderedReducer=a;var o=e.baseQueue,u=s.pending;if(u!==null){if(o!==null){var g=o.next;o.next=u.next,u.next=g}t.baseQueue=o=u,s.pending=null}if(u=e.baseState,o===null)e.memoizedState=u;else{t=o.next;var v=g=null,k=null,N=t,P=!1;do{var q=N.lane&-536870913;if(q!==N.lane?(Re&q)===q:(pa&q)===q){var L=N.revertLane;if(L===0)k!==null&&(k=k.next={lane:0,revertLane:0,gesture:null,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null}),q===Nr&&(P=!0);else if((pa&L)===L){N=N.next,L===Nr&&(P=!0);continue}else q={lane:0,revertLane:N.revertLane,gesture:null,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null},k===null?(v=k=q,g=u):k=k.next=q,ke.lanes|=L,ri|=L;q=N.action,Wi&&a(u,q),u=N.hasEagerState?N.eagerState:a(u,q)}else L={lane:q,revertLane:N.revertLane,gesture:N.gesture,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null},k===null?(v=k=L,g=u):k=k.next=L,ke.lanes|=q,ri|=q;N=N.next}while(N!==null&&N!==t);if(k===null?g=u:k.next=v,!sn(u,e.memoizedState)&&(yt=!0,P&&(a=Lr,a!==null)))throw a;e.memoizedState=u,e.baseState=g,e.baseQueue=k,s.lastRenderedState=u}return o===null&&(s.lanes=0),[e.memoizedState,s.dispatch]}function Fu(e){var t=ht(),a=t.queue;if(a===null)throw Error(l(311));a.lastRenderedReducer=e;var s=a.dispatch,o=a.pending,u=t.memoizedState;if(o!==null){a.pending=null;var g=o=o.next;do u=e(u,g.action),g=g.next;while(g!==o);sn(u,t.memoizedState)||(yt=!0),t.memoizedState=u,t.baseQueue===null&&(t.baseState=u),a.lastRenderedState=u}return[u,s]}function Bf(e,t,a){var s=ke,o=ht(),u=Ne;if(u){if(a===void 0)throw Error(l(407));a=a()}else a=t();var g=!sn((Ve||o).memoizedState,a);if(g&&(o.memoizedState=a,yt=!0),o=o.queue,Ju($f.bind(null,s,o,e),[e]),o.getSnapshot!==t||g||pt!==null&&pt.memoizedState.tag&1){if(s.flags|=2048,Pr(9,{destroy:void 0},Hf.bind(null,s,o,a,t),null),Ye===null)throw Error(l(349));u||(pa&127)!==0||Pf(s,t,a)}return a}function Pf(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=ke.updateQueue,t===null?(t=Co(),ke.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function Hf(e,t,a,s){t.value=a,t.getSnapshot=s,qf(t)&&If(e)}function $f(e,t,a){return a(function(){qf(t)&&If(e)})}function qf(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!sn(e,a)}catch{return!0}}function If(e){var t=Hi(e,2);t!==null&&Yt(t,e,2)}function Yu(e){var t=Pt();if(typeof e=="function"){var a=e;if(e=a(),Wi){Qt(!0);try{a()}finally{Qt(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:e},t}function Gf(e,t,a,s){return e.baseState=a,Ku(e,Ve,typeof s=="function"?s:ya)}function Dv(e,t,a,s,o){if(Lo(e))throw Error(l(485));if(e=t.action,e!==null){var u={payload:o,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(g){u.listeners.push(g)}};_.T!==null?a(!0):u.isTransition=!1,s(u),a=t.pending,a===null?(u.next=t.pending=u,Vf(t,u)):(u.next=a.next,t.pending=a.next=u)}}function Vf(e,t){var a=t.action,s=t.payload,o=e.state;if(t.isTransition){var u=_.T,g={};_.T=g;try{var v=a(o,s),k=_.S;k!==null&&k(g,v),Kf(e,t,v)}catch(N){Wu(e,t,N)}finally{u!==null&&g.types!==null&&(u.types=g.types),_.T=u}}else try{u=a(o,s),Kf(e,t,u)}catch(N){Wu(e,t,N)}}function Kf(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(s){Ff(e,t,s)},function(s){return Wu(e,t,s)}):Ff(e,t,a)}function Ff(e,t,a){t.status="fulfilled",t.value=a,Yf(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,Vf(e,a)))}function Wu(e,t,a){var s=e.pending;if(e.pending=null,s!==null){s=s.next;do t.status="rejected",t.reason=a,Yf(t),t=t.next;while(t!==s)}e.action=null}function Yf(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Wf(e,t){return t}function Jf(e,t){if(Ne){var a=Ye.formState;if(a!==null){e:{var s=ke;if(Ne){if(Xe){t:{for(var o=Xe,u=_n;o.nodeType!==8;){if(!u){o=null;break t}if(o=kn(o.nextSibling),o===null){o=null;break t}}u=o.data,o=u==="F!"||u==="F"?o:null}if(o){Xe=kn(o.nextSibling),s=o.data==="F!";break e}}Ja(s)}s=!1}s&&(t=a[0])}}return a=Pt(),a.memoizedState=a.baseState=t,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wf,lastRenderedState:t},a.queue=s,a=gm.bind(null,ke,s),s.dispatch=a,s=Yu(!1),u=td.bind(null,ke,!1,s.queue),s=Pt(),o={state:t,dispatch:null,action:e,pending:null},s.queue=o,a=Dv.bind(null,ke,o,u,a),o.dispatch=a,s.memoizedState=e,[t,a,!1]}function Xf(e){var t=ht();return Qf(t,Ve,e)}function Qf(e,t,a){if(t=Ku(e,t,Wf)[0],e=Oo(ya)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var s=Qs(t)}catch(g){throw g===Mr?So:g}else s=t;t=ht();var o=t.queue,u=o.dispatch;return a!==t.memoizedState&&(ke.flags|=2048,Pr(9,{destroy:void 0},Uv.bind(null,o,a),null)),[s,u,e]}function Uv(e,t){e.action=t}function Zf(e){var t=ht(),a=Ve;if(a!==null)return Qf(t,a,e);ht(),t=t.memoizedState,a=ht();var s=a.queue.dispatch;return a.memoizedState=e,[t,s,!1]}function Pr(e,t,a,s){return e={tag:e,create:a,deps:s,inst:t,next:null},t=ke.updateQueue,t===null&&(t=Co(),ke.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(s=a.next,a.next=e,e.next=s,t.lastEffect=e),e}function em(){return ht().memoizedState}function jo(e,t,a,s){var o=Pt();ke.flags|=e,o.memoizedState=Pr(1|t,{destroy:void 0},a,s===void 0?null:s)}function No(e,t,a,s){var o=ht();s=s===void 0?null:s;var u=o.memoizedState.inst;Ve!==null&&s!==null&&Hu(s,Ve.memoizedState.deps)?o.memoizedState=Pr(t,u,a,s):(ke.flags|=e,o.memoizedState=Pr(1|t,u,a,s))}function tm(e,t){jo(8390656,8,e,t)}function Ju(e,t){No(2048,8,e,t)}function zv(e){ke.flags|=4;var t=ke.updateQueue;if(t===null)t=Co(),ke.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function nm(e){var t=ht().memoizedState;return zv({ref:t,nextImpl:e}),function(){if((Be&2)!==0)throw Error(l(440));return t.impl.apply(void 0,arguments)}}function am(e,t){return No(4,2,e,t)}function im(e,t){return No(4,4,e,t)}function rm(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function sm(e,t,a){a=a!=null?a.concat([e]):null,No(4,4,rm.bind(null,t,e),a)}function Xu(){}function lm(e,t){var a=ht();t=t===void 0?null:t;var s=a.memoizedState;return t!==null&&Hu(t,s[1])?s[0]:(a.memoizedState=[e,t],e)}function om(e,t){var a=ht();t=t===void 0?null:t;var s=a.memoizedState;if(t!==null&&Hu(t,s[1]))return s[0];if(s=e(),Wi){Qt(!0);try{e()}finally{Qt(!1)}}return a.memoizedState=[s,t],s}function Qu(e,t,a){return a===void 0||(pa&1073741824)!==0&&(Re&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=cg(),ke.lanes|=e,ri|=e,a)}function cm(e,t,a,s){return sn(a,t)?a:Ur.current!==null?(e=Qu(e,a,s),sn(e,t)||(yt=!0),e):(pa&42)===0||(pa&1073741824)!==0&&(Re&261930)===0?(yt=!0,e.memoizedState=a):(e=cg(),ke.lanes|=e,ri|=e,t)}function um(e,t,a,s,o){var u=H.p;H.p=u!==0&&8>u?u:8;var g=_.T,v={};_.T=v,td(e,!1,t,a);try{var k=o(),N=_.S;if(N!==null&&N(v,k),k!==null&&typeof k=="object"&&typeof k.then=="function"){var P=Nv(k,s);Zs(e,t,P,hn(e))}else Zs(e,t,s,hn(e))}catch(q){Zs(e,t,{then:function(){},status:"rejected",reason:q},hn())}finally{H.p=u,g!==null&&v.types!==null&&(g.types=v.types),_.T=g}}function Bv(){}function Zu(e,t,a,s){if(e.tag!==5)throw Error(l(476));var o=dm(e).queue;um(e,o,t,Q,a===null?Bv:function(){return hm(e),a(s)})}function dm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Q,baseState:Q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:Q},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function hm(e){var t=dm(e);t.next===null&&(t=e.alternate.memoizedState),Zs(e,t.next.queue,{},hn())}function ed(){return Rt(pl)}function fm(){return ht().memoizedState}function mm(){return ht().memoizedState}function Pv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=hn();e=Za(a);var s=ei(t,e,a);s!==null&&(Yt(s,t,a),Ys(s,t,a)),t={cache:Ru()},e.payload=t;return}t=t.return}}function Hv(e,t,a){var s=hn();a={lane:s,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Lo(e)?pm(t,a):(a=vu(e,t,a,s),a!==null&&(Yt(a,e,s),ym(a,t,s)))}function gm(e,t,a){var s=hn();Zs(e,t,a,s)}function Zs(e,t,a,s){var o={lane:s,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Lo(e))pm(t,o);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var g=t.lastRenderedState,v=u(g,a);if(o.hasEagerState=!0,o.eagerState=v,sn(v,g))return fo(e,t,o,0),Ye===null&&ho(),!1}catch{}if(a=vu(e,t,o,s),a!==null)return Yt(a,e,s),ym(a,t,s),!0}return!1}function td(e,t,a,s){if(s={lane:2,revertLane:Ld(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Lo(e)){if(t)throw Error(l(479))}else t=vu(e,a,s,2),t!==null&&Yt(t,e,2)}function Lo(e){var t=e.alternate;return e===ke||t!==null&&t===ke}function pm(e,t){zr=Eo=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function ym(e,t,a){if((a&4194048)!==0){var s=t.lanes;s&=e.pendingLanes,a|=s,t.lanes=a,Xl(e,a)}}var el={readContext:Rt,use:Ro,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useInsertionEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useDeferredValue:lt,useTransition:lt,useSyncExternalStore:lt,useId:lt,useHostTransitionStatus:lt,useFormState:lt,useActionState:lt,useOptimistic:lt,useMemoCache:lt,useCacheRefresh:lt};el.useEffectEvent=lt;var vm={readContext:Rt,use:Ro,useCallback:function(e,t){return Pt().memoizedState=[e,t===void 0?null:t],e},useContext:Rt,useEffect:tm,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,jo(4194308,4,rm.bind(null,t,e),a)},useLayoutEffect:function(e,t){return jo(4194308,4,e,t)},useInsertionEffect:function(e,t){jo(4,2,e,t)},useMemo:function(e,t){var a=Pt();t=t===void 0?null:t;var s=e();if(Wi){Qt(!0);try{e()}finally{Qt(!1)}}return a.memoizedState=[s,t],s},useReducer:function(e,t,a){var s=Pt();if(a!==void 0){var o=a(t);if(Wi){Qt(!0);try{a(t)}finally{Qt(!1)}}}else o=t;return s.memoizedState=s.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},s.queue=e,e=e.dispatch=Hv.bind(null,ke,e),[s.memoizedState,e]},useRef:function(e){var t=Pt();return e={current:e},t.memoizedState=e},useState:function(e){e=Yu(e);var t=e.queue,a=gm.bind(null,ke,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Xu,useDeferredValue:function(e,t){var a=Pt();return Qu(a,e,t)},useTransition:function(){var e=Yu(!1);return e=um.bind(null,ke,e.queue,!0,!1),Pt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var s=ke,o=Pt();if(Ne){if(a===void 0)throw Error(l(407));a=a()}else{if(a=t(),Ye===null)throw Error(l(349));(Re&127)!==0||Pf(s,t,a)}o.memoizedState=a;var u={value:a,getSnapshot:t};return o.queue=u,tm($f.bind(null,s,u,e),[e]),s.flags|=2048,Pr(9,{destroy:void 0},Hf.bind(null,s,u,a,t),null),a},useId:function(){var e=Pt(),t=Ye.identifierPrefix;if(Ne){var a=Yn,s=Fn;a=(s&~(1<<32-wt(s)-1)).toString(32)+a,t="_"+t+"R_"+a,a=xo++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Lv++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:ed,useFormState:Jf,useActionState:Jf,useOptimistic:function(e){var t=Pt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=td.bind(null,ke,!0,a),a.dispatch=t,[e,t]},useMemoCache:Vu,useCacheRefresh:function(){return Pt().memoizedState=Pv.bind(null,ke)},useEffectEvent:function(e){var t=Pt(),a={impl:e};return t.memoizedState=a,function(){if((Be&2)!==0)throw Error(l(440));return a.impl.apply(void 0,arguments)}}},nd={readContext:Rt,use:Ro,useCallback:lm,useContext:Rt,useEffect:Ju,useImperativeHandle:sm,useInsertionEffect:am,useLayoutEffect:im,useMemo:om,useReducer:Oo,useRef:em,useState:function(){return Oo(ya)},useDebugValue:Xu,useDeferredValue:function(e,t){var a=ht();return cm(a,Ve.memoizedState,e,t)},useTransition:function(){var e=Oo(ya)[0],t=ht().memoizedState;return[typeof e=="boolean"?e:Qs(e),t]},useSyncExternalStore:Bf,useId:fm,useHostTransitionStatus:ed,useFormState:Xf,useActionState:Xf,useOptimistic:function(e,t){var a=ht();return Gf(a,Ve,e,t)},useMemoCache:Vu,useCacheRefresh:mm};nd.useEffectEvent=nm;var bm={readContext:Rt,use:Ro,useCallback:lm,useContext:Rt,useEffect:Ju,useImperativeHandle:sm,useInsertionEffect:am,useLayoutEffect:im,useMemo:om,useReducer:Fu,useRef:em,useState:function(){return Fu(ya)},useDebugValue:Xu,useDeferredValue:function(e,t){var a=ht();return Ve===null?Qu(a,e,t):cm(a,Ve.memoizedState,e,t)},useTransition:function(){var e=Fu(ya)[0],t=ht().memoizedState;return[typeof e=="boolean"?e:Qs(e),t]},useSyncExternalStore:Bf,useId:fm,useHostTransitionStatus:ed,useFormState:Zf,useActionState:Zf,useOptimistic:function(e,t){var a=ht();return Ve!==null?Gf(a,Ve,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:Vu,useCacheRefresh:mm};bm.useEffectEvent=nm;function ad(e,t,a,s){t=e.memoizedState,a=a(s,t),a=a==null?t:S({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var id={enqueueSetState:function(e,t,a){e=e._reactInternals;var s=hn(),o=Za(s);o.payload=t,a!=null&&(o.callback=a),t=ei(e,o,s),t!==null&&(Yt(t,e,s),Ys(t,e,s))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var s=hn(),o=Za(s);o.tag=1,o.payload=t,a!=null&&(o.callback=a),t=ei(e,o,s),t!==null&&(Yt(t,e,s),Ys(t,e,s))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=hn(),s=Za(a);s.tag=2,t!=null&&(s.callback=t),t=ei(e,s,a),t!==null&&(Yt(t,e,a),Ys(t,e,a))}};function Sm(e,t,a,s,o,u,g){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,u,g):t.prototype&&t.prototype.isPureReactComponent?!Hs(a,s)||!Hs(o,u):!0}function wm(e,t,a,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,s),t.state!==e&&id.enqueueReplaceState(t,t.state,null)}function Ji(e,t){var a=t;if("ref"in t){a={};for(var s in t)s!=="ref"&&(a[s]=t[s])}if(e=e.defaultProps){a===t&&(a=S({},a));for(var o in e)a[o]===void 0&&(a[o]=e[o])}return a}function _m(e){uo(e)}function Tm(e){console.error(e)}function km(e){uo(e)}function Mo(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(s){setTimeout(function(){throw s})}}function Am(e,t,a){try{var s=e.onCaughtError;s(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function rd(e,t,a){return a=Za(a),a.tag=3,a.payload={element:null},a.callback=function(){Mo(e,t)},a}function Em(e){return e=Za(e),e.tag=3,e}function xm(e,t,a,s){var o=a.type.getDerivedStateFromError;if(typeof o=="function"){var u=s.value;e.payload=function(){return o(u)},e.callback=function(){Am(t,a,s)}}var g=a.stateNode;g!==null&&typeof g.componentDidCatch=="function"&&(e.callback=function(){Am(t,a,s),typeof o!="function"&&(si===null?si=new Set([this]):si.add(this));var v=s.stack;this.componentDidCatch(s.value,{componentStack:v!==null?v:""})})}function $v(e,t,a,s,o){if(a.flags|=32768,s!==null&&typeof s=="object"&&typeof s.then=="function"){if(t=a.alternate,t!==null&&jr(t,a,o,!0),a=on.current,a!==null){switch(a.tag){case 31:case 13:return Tn===null?Ko():a.alternate===null&&ot===0&&(ot=3),a.flags&=-257,a.flags|=65536,a.lanes=o,s===wo?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([s]):t.add(s),Od(e,s,o)),!1;case 22:return a.flags|=65536,s===wo?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([s])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([s]):a.add(s)),Od(e,s,o)),!1}throw Error(l(435,a.tag))}return Od(e,s,o),Ko(),!1}if(Ne)return t=on.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,s!==ku&&(e=Error(l(422),{cause:s}),Is(bn(e,a)))):(s!==ku&&(t=Error(l(423),{cause:s}),Is(bn(t,a))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,s=bn(s,a),o=rd(e.stateNode,s,o),Du(e,o),ot!==4&&(ot=2)),!1;var u=Error(l(520),{cause:s});if(u=bn(u,a),ol===null?ol=[u]:ol.push(u),ot!==4&&(ot=2),t===null)return!0;s=bn(s,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=o&-o,a.lanes|=e,e=rd(a.stateNode,s,e),Du(a,e),!1;case 1:if(t=a.type,u=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||u!==null&&typeof u.componentDidCatch=="function"&&(si===null||!si.has(u))))return a.flags|=65536,o&=-o,a.lanes|=o,o=Em(o),xm(o,e,a,s),Du(a,o),!1}a=a.return}while(a!==null);return!1}var sd=Error(l(461)),yt=!1;function Ot(e,t,a,s){t.child=e===null?jf(t,null,a,s):Yi(t,e.child,a,s)}function Cm(e,t,a,s,o){a=a.render;var u=t.ref;if("ref"in s){var g={};for(var v in s)v!=="ref"&&(g[v]=s[v])}else g=s;return Gi(t),s=$u(e,t,a,g,u,o),v=qu(),e!==null&&!yt?(Iu(e,t,o),va(e,t,o)):(Ne&&v&&_u(t),t.flags|=1,Ot(e,t,s,o),t.child)}function Rm(e,t,a,s,o){if(e===null){var u=a.type;return typeof u=="function"&&!bu(u)&&u.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=u,Om(e,t,u,s,o)):(e=go(a.type,null,s,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(u=e.child,!md(e,o)){var g=u.memoizedProps;if(a=a.compare,a=a!==null?a:Hs,a(g,s)&&e.ref===t.ref)return va(e,t,o)}return t.flags|=1,e=ha(u,s),e.ref=t.ref,e.return=t,t.child=e}function Om(e,t,a,s,o){if(e!==null){var u=e.memoizedProps;if(Hs(u,s)&&e.ref===t.ref)if(yt=!1,t.pendingProps=s=u,md(e,o))(e.flags&131072)!==0&&(yt=!0);else return t.lanes=e.lanes,va(e,t,o)}return ld(e,t,a,s,o)}function jm(e,t,a,s){var o=s.children,u=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),s.mode==="hidden"){if((t.flags&128)!==0){if(u=u!==null?u.baseLanes|a:a,e!==null){for(s=t.child=e.child,o=0;s!==null;)o=o|s.lanes|s.childLanes,s=s.sibling;s=o&~u}else s=0,t.child=null;return Nm(e,t,u,a,s)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&bo(t,u!==null?u.cachePool:null),u!==null?Mf(t,u):zu(),Df(t);else return s=t.lanes=536870912,Nm(e,t,u!==null?u.baseLanes|a:a,a,s)}else u!==null?(bo(t,u.cachePool),Mf(t,u),ni(),t.memoizedState=null):(e!==null&&bo(t,null),zu(),ni());return Ot(e,t,o,a),t.child}function tl(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Nm(e,t,a,s,o){var u=ju();return u=u===null?null:{parent:gt._currentValue,pool:u},t.memoizedState={baseLanes:a,cachePool:u},e!==null&&bo(t,null),zu(),Df(t),e!==null&&jr(e,t,s,!0),t.childLanes=o,null}function Do(e,t){return t=zo({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Lm(e,t,a){return Yi(t,e.child,null,a),e=Do(t,t.pendingProps),e.flags|=2,cn(t),t.memoizedState=null,e}function qv(e,t,a){var s=t.pendingProps,o=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Ne){if(s.mode==="hidden")return e=Do(t,s),t.lanes=536870912,tl(null,e);if(Pu(t),(e=Xe)?(e=Vg(e,_n),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ya!==null?{id:Fn,overflow:Yn}:null,retryLane:536870912,hydrationErrors:null},a=pf(e),a.return=t,t.child=a,Ct=t,Xe=null)):e=null,e===null)throw Ja(t);return t.lanes=536870912,null}return Do(t,s)}var u=e.memoizedState;if(u!==null){var g=u.dehydrated;if(Pu(t),o)if(t.flags&256)t.flags&=-257,t=Lm(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(l(558));else if(yt||jr(e,t,a,!1),o=(a&e.childLanes)!==0,yt||o){if(s=Ye,s!==null&&(g=en(s,a),g!==0&&g!==u.retryLane))throw u.retryLane=g,Hi(e,g),Yt(s,e,g),sd;Ko(),t=Lm(e,t,a)}else e=u.treeContext,Xe=kn(g.nextSibling),Ct=t,Ne=!0,Wa=null,_n=!1,e!==null&&bf(t,e),t=Do(t,s),t.flags|=4096;return t}return e=ha(e.child,{mode:s.mode,children:s.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Uo(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(l(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function ld(e,t,a,s,o){return Gi(t),a=$u(e,t,a,s,void 0,o),s=qu(),e!==null&&!yt?(Iu(e,t,o),va(e,t,o)):(Ne&&s&&_u(t),t.flags|=1,Ot(e,t,a,o),t.child)}function Mm(e,t,a,s,o,u){return Gi(t),t.updateQueue=null,a=zf(t,s,a,o),Uf(e),s=qu(),e!==null&&!yt?(Iu(e,t,u),va(e,t,u)):(Ne&&s&&_u(t),t.flags|=1,Ot(e,t,a,u),t.child)}function Dm(e,t,a,s,o){if(Gi(t),t.stateNode===null){var u=xr,g=a.contextType;typeof g=="object"&&g!==null&&(u=Rt(g)),u=new a(s,u),t.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,u.updater=id,t.stateNode=u,u._reactInternals=t,u=t.stateNode,u.props=s,u.state=t.memoizedState,u.refs={},Lu(t),g=a.contextType,u.context=typeof g=="object"&&g!==null?Rt(g):xr,u.state=t.memoizedState,g=a.getDerivedStateFromProps,typeof g=="function"&&(ad(t,a,g,s),u.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof u.getSnapshotBeforeUpdate=="function"||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(g=u.state,typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount(),g!==u.state&&id.enqueueReplaceState(u,u.state,null),Js(t,s,u,o),Ws(),u.state=t.memoizedState),typeof u.componentDidMount=="function"&&(t.flags|=4194308),s=!0}else if(e===null){u=t.stateNode;var v=t.memoizedProps,k=Ji(a,v);u.props=k;var N=u.context,P=a.contextType;g=xr,typeof P=="object"&&P!==null&&(g=Rt(P));var q=a.getDerivedStateFromProps;P=typeof q=="function"||typeof u.getSnapshotBeforeUpdate=="function",v=t.pendingProps!==v,P||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(v||N!==g)&&wm(t,u,s,g),Qa=!1;var L=t.memoizedState;u.state=L,Js(t,s,u,o),Ws(),N=t.memoizedState,v||L!==N||Qa?(typeof q=="function"&&(ad(t,a,q,s),N=t.memoizedState),(k=Qa||Sm(t,a,k,s,L,N,g))?(P||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount()),typeof u.componentDidMount=="function"&&(t.flags|=4194308)):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=N),u.props=s,u.state=N,u.context=g,s=k):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{u=t.stateNode,Mu(e,t),g=t.memoizedProps,P=Ji(a,g),u.props=P,q=t.pendingProps,L=u.context,N=a.contextType,k=xr,typeof N=="object"&&N!==null&&(k=Rt(N)),v=a.getDerivedStateFromProps,(N=typeof v=="function"||typeof u.getSnapshotBeforeUpdate=="function")||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(g!==q||L!==k)&&wm(t,u,s,k),Qa=!1,L=t.memoizedState,u.state=L,Js(t,s,u,o),Ws();var U=t.memoizedState;g!==q||L!==U||Qa||e!==null&&e.dependencies!==null&&yo(e.dependencies)?(typeof v=="function"&&(ad(t,a,v,s),U=t.memoizedState),(P=Qa||Sm(t,a,P,s,L,U,k)||e!==null&&e.dependencies!==null&&yo(e.dependencies))?(N||typeof u.UNSAFE_componentWillUpdate!="function"&&typeof u.componentWillUpdate!="function"||(typeof u.componentWillUpdate=="function"&&u.componentWillUpdate(s,U,k),typeof u.UNSAFE_componentWillUpdate=="function"&&u.UNSAFE_componentWillUpdate(s,U,k)),typeof u.componentDidUpdate=="function"&&(t.flags|=4),typeof u.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof u.componentDidUpdate!="function"||g===e.memoizedProps&&L===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||g===e.memoizedProps&&L===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=U),u.props=s,u.state=U,u.context=k,s=P):(typeof u.componentDidUpdate!="function"||g===e.memoizedProps&&L===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||g===e.memoizedProps&&L===e.memoizedState||(t.flags|=1024),s=!1)}return u=s,Uo(e,t),s=(t.flags&128)!==0,u||s?(u=t.stateNode,a=s&&typeof a.getDerivedStateFromError!="function"?null:u.render(),t.flags|=1,e!==null&&s?(t.child=Yi(t,e.child,null,o),t.child=Yi(t,null,a,o)):Ot(e,t,a,o),t.memoizedState=u.state,e=t.child):e=va(e,t,o),e}function Um(e,t,a,s){return qi(),t.flags|=256,Ot(e,t,a,s),t.child}var od={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function cd(e){return{baseLanes:e,cachePool:Af()}}function ud(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=dn),e}function zm(e,t,a){var s=t.pendingProps,o=!1,u=(t.flags&128)!==0,g;if((g=u)||(g=e!==null&&e.memoizedState===null?!1:(dt.current&2)!==0),g&&(o=!0,t.flags&=-129),g=(t.flags&32)!==0,t.flags&=-33,e===null){if(Ne){if(o?ti(t):ni(),(e=Xe)?(e=Vg(e,_n),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ya!==null?{id:Fn,overflow:Yn}:null,retryLane:536870912,hydrationErrors:null},a=pf(e),a.return=t,t.child=a,Ct=t,Xe=null)):e=null,e===null)throw Ja(t);return Kd(e)?t.lanes=32:t.lanes=536870912,null}var v=s.children;return s=s.fallback,o?(ni(),o=t.mode,v=zo({mode:"hidden",children:v},o),s=$i(s,o,a,null),v.return=t,s.return=t,v.sibling=s,t.child=v,s=t.child,s.memoizedState=cd(a),s.childLanes=ud(e,g,a),t.memoizedState=od,tl(null,s)):(ti(t),dd(t,v))}var k=e.memoizedState;if(k!==null&&(v=k.dehydrated,v!==null)){if(u)t.flags&256?(ti(t),t.flags&=-257,t=hd(e,t,a)):t.memoizedState!==null?(ni(),t.child=e.child,t.flags|=128,t=null):(ni(),v=s.fallback,o=t.mode,s=zo({mode:"visible",children:s.children},o),v=$i(v,o,a,null),v.flags|=2,s.return=t,v.return=t,s.sibling=v,t.child=s,Yi(t,e.child,null,a),s=t.child,s.memoizedState=cd(a),s.childLanes=ud(e,g,a),t.memoizedState=od,t=tl(null,s));else if(ti(t),Kd(v)){if(g=v.nextSibling&&v.nextSibling.dataset,g)var N=g.dgst;g=N,s=Error(l(419)),s.stack="",s.digest=g,Is({value:s,source:null,stack:null}),t=hd(e,t,a)}else if(yt||jr(e,t,a,!1),g=(a&e.childLanes)!==0,yt||g){if(g=Ye,g!==null&&(s=en(g,a),s!==0&&s!==k.retryLane))throw k.retryLane=s,Hi(e,s),Yt(g,e,s),sd;Vd(v)||Ko(),t=hd(e,t,a)}else Vd(v)?(t.flags|=192,t.child=e.child,t=null):(e=k.treeContext,Xe=kn(v.nextSibling),Ct=t,Ne=!0,Wa=null,_n=!1,e!==null&&bf(t,e),t=dd(t,s.children),t.flags|=4096);return t}return o?(ni(),v=s.fallback,o=t.mode,k=e.child,N=k.sibling,s=ha(k,{mode:"hidden",children:s.children}),s.subtreeFlags=k.subtreeFlags&65011712,N!==null?v=ha(N,v):(v=$i(v,o,a,null),v.flags|=2),v.return=t,s.return=t,s.sibling=v,t.child=s,tl(null,s),s=t.child,v=e.child.memoizedState,v===null?v=cd(a):(o=v.cachePool,o!==null?(k=gt._currentValue,o=o.parent!==k?{parent:k,pool:k}:o):o=Af(),v={baseLanes:v.baseLanes|a,cachePool:o}),s.memoizedState=v,s.childLanes=ud(e,g,a),t.memoizedState=od,tl(e.child,s)):(ti(t),a=e.child,e=a.sibling,a=ha(a,{mode:"visible",children:s.children}),a.return=t,a.sibling=null,e!==null&&(g=t.deletions,g===null?(t.deletions=[e],t.flags|=16):g.push(e)),t.child=a,t.memoizedState=null,a)}function dd(e,t){return t=zo({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function zo(e,t){return e=ln(22,e,null,t),e.lanes=0,e}function hd(e,t,a){return Yi(t,e.child,null,a),e=dd(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Bm(e,t,a){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),xu(e.return,t,a)}function fd(e,t,a,s,o,u){var g=e.memoizedState;g===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:a,tailMode:o,treeForkCount:u}:(g.isBackwards=t,g.rendering=null,g.renderingStartTime=0,g.last=s,g.tail=a,g.tailMode=o,g.treeForkCount=u)}function Pm(e,t,a){var s=t.pendingProps,o=s.revealOrder,u=s.tail;s=s.children;var g=dt.current,v=(g&2)!==0;if(v?(g=g&1|2,t.flags|=128):g&=1,J(dt,g),Ot(e,t,s,a),s=Ne?qs:0,!v&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Bm(e,a,t);else if(e.tag===19)Bm(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(o){case"forwards":for(a=t.child,o=null;a!==null;)e=a.alternate,e!==null&&Ao(e)===null&&(o=a),a=a.sibling;a=o,a===null?(o=t.child,t.child=null):(o=a.sibling,a.sibling=null),fd(t,!1,o,a,u,s);break;case"backwards":case"unstable_legacy-backwards":for(a=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Ao(e)===null){t.child=o;break}e=o.sibling,o.sibling=a,a=o,o=e}fd(t,!0,a,null,u,s);break;case"together":fd(t,!1,null,null,void 0,s);break;default:t.memoizedState=null}return t.child}function va(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),ri|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(jr(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(l(153));if(t.child!==null){for(e=t.child,a=ha(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=ha(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function md(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&yo(e)))}function Iv(e,t,a){switch(t.tag){case 3:tt(t,t.stateNode.containerInfo),Xa(t,gt,e.memoizedState.cache),qi();break;case 27:case 5:In(t);break;case 4:tt(t,t.stateNode.containerInfo);break;case 10:Xa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Pu(t),null;break;case 13:var s=t.memoizedState;if(s!==null)return s.dehydrated!==null?(ti(t),t.flags|=128,null):(a&t.child.childLanes)!==0?zm(e,t,a):(ti(t),e=va(e,t,a),e!==null?e.sibling:null);ti(t);break;case 19:var o=(e.flags&128)!==0;if(s=(a&t.childLanes)!==0,s||(jr(e,t,a,!1),s=(a&t.childLanes)!==0),o){if(s)return Pm(e,t,a);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),J(dt,dt.current),s)break;return null;case 22:return t.lanes=0,jm(e,t,a,t.pendingProps);case 24:Xa(t,gt,e.memoizedState.cache)}return va(e,t,a)}function Hm(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)yt=!0;else{if(!md(e,a)&&(t.flags&128)===0)return yt=!1,Iv(e,t,a);yt=(e.flags&131072)!==0}else yt=!1,Ne&&(t.flags&1048576)!==0&&vf(t,qs,t.index);switch(t.lanes=0,t.tag){case 16:e:{var s=t.pendingProps;if(e=Ki(t.elementType),t.type=e,typeof e=="function")bu(e)?(s=Ji(e,s),t.tag=1,t=Dm(null,t,e,s,a)):(t.tag=0,t=ld(null,t,e,s,a));else{if(e!=null){var o=e.$$typeof;if(o===ee){t.tag=11,t=Cm(null,t,e,s,a);break e}else if(o===Z){t.tag=14,t=Rm(null,t,e,s,a);break e}}throw t=X(e)||e,Error(l(306,t,""))}}return t;case 0:return ld(e,t,t.type,t.pendingProps,a);case 1:return s=t.type,o=Ji(s,t.pendingProps),Dm(e,t,s,o,a);case 3:e:{if(tt(t,t.stateNode.containerInfo),e===null)throw Error(l(387));s=t.pendingProps;var u=t.memoizedState;o=u.element,Mu(e,t),Js(t,s,null,a);var g=t.memoizedState;if(s=g.cache,Xa(t,gt,s),s!==u.cache&&Cu(t,[gt],a,!0),Ws(),s=g.element,u.isDehydrated)if(u={element:s,isDehydrated:!1,cache:g.cache},t.updateQueue.baseState=u,t.memoizedState=u,t.flags&256){t=Um(e,t,s,a);break e}else if(s!==o){o=bn(Error(l(424)),t),Is(o),t=Um(e,t,s,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Xe=kn(e.firstChild),Ct=t,Ne=!0,Wa=null,_n=!0,a=jf(t,null,s,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(qi(),s===o){t=va(e,t,a);break e}Ot(e,t,s,a)}t=t.child}return t;case 26:return Uo(e,t),e===null?(a=Xg(t.type,null,t.pendingProps,null))?t.memoizedState=a:Ne||(a=t.type,e=t.pendingProps,s=Zo(Se.current).createElement(a),s[W]=t,s[Je]=e,jt(s,a,e),ut(s),t.stateNode=s):t.memoizedState=Xg(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return In(t),e===null&&Ne&&(s=t.stateNode=Yg(t.type,t.pendingProps,Se.current),Ct=t,_n=!0,o=Xe,ui(t.type)?(Fd=o,Xe=kn(s.firstChild)):Xe=o),Ot(e,t,t.pendingProps.children,a),Uo(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ne&&((o=s=Xe)&&(s=b0(s,t.type,t.pendingProps,_n),s!==null?(t.stateNode=s,Ct=t,Xe=kn(s.firstChild),_n=!1,o=!0):o=!1),o||Ja(t)),In(t),o=t.type,u=t.pendingProps,g=e!==null?e.memoizedProps:null,s=u.children,qd(o,u)?s=null:g!==null&&qd(o,g)&&(t.flags|=32),t.memoizedState!==null&&(o=$u(e,t,Mv,null,null,a),pl._currentValue=o),Uo(e,t),Ot(e,t,s,a),t.child;case 6:return e===null&&Ne&&((e=a=Xe)&&(a=S0(a,t.pendingProps,_n),a!==null?(t.stateNode=a,Ct=t,Xe=null,e=!0):e=!1),e||Ja(t)),null;case 13:return zm(e,t,a);case 4:return tt(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=Yi(t,null,s,a):Ot(e,t,s,a),t.child;case 11:return Cm(e,t,t.type,t.pendingProps,a);case 7:return Ot(e,t,t.pendingProps,a),t.child;case 8:return Ot(e,t,t.pendingProps.children,a),t.child;case 12:return Ot(e,t,t.pendingProps.children,a),t.child;case 10:return s=t.pendingProps,Xa(t,t.type,s.value),Ot(e,t,s.children,a),t.child;case 9:return o=t.type._context,s=t.pendingProps.children,Gi(t),o=Rt(o),s=s(o),t.flags|=1,Ot(e,t,s,a),t.child;case 14:return Rm(e,t,t.type,t.pendingProps,a);case 15:return Om(e,t,t.type,t.pendingProps,a);case 19:return Pm(e,t,a);case 31:return qv(e,t,a);case 22:return jm(e,t,a,t.pendingProps);case 24:return Gi(t),s=Rt(gt),e===null?(o=ju(),o===null&&(o=Ye,u=Ru(),o.pooledCache=u,u.refCount++,u!==null&&(o.pooledCacheLanes|=a),o=u),t.memoizedState={parent:s,cache:o},Lu(t),Xa(t,gt,o)):((e.lanes&a)!==0&&(Mu(e,t),Js(t,null,null,a),Ws()),o=e.memoizedState,u=t.memoizedState,o.parent!==s?(o={parent:s,cache:s},t.memoizedState=o,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=o),Xa(t,gt,s)):(s=u.cache,Xa(t,gt,s),s!==o.cache&&Cu(t,[gt],a,!0))),Ot(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(l(156,t.tag))}function ba(e){e.flags|=4}function gd(e,t,a,s,o){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(o&335544128)===o)if(e.stateNode.complete)e.flags|=8192;else if(fg())e.flags|=8192;else throw Fi=wo,Nu}else e.flags&=-16777217}function $m(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!np(t))if(fg())e.flags|=8192;else throw Fi=wo,Nu}function Bo(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ss():536870912,e.lanes|=t,Ir|=t)}function nl(e,t){if(!Ne)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var s=null;a!==null;)a.alternate!==null&&(s=a),a=a.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function Qe(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,s=0;if(t)for(var o=e.child;o!==null;)a|=o.lanes|o.childLanes,s|=o.subtreeFlags&65011712,s|=o.flags&65011712,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)a|=o.lanes|o.childLanes,s|=o.subtreeFlags,s|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=s,e.childLanes=a,t}function Gv(e,t,a){var s=t.pendingProps;switch(Tu(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Qe(t),null;case 1:return Qe(t),null;case 3:return a=t.stateNode,s=null,e!==null&&(s=e.memoizedState.cache),t.memoizedState.cache!==s&&(t.flags|=2048),ga(gt),nt(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Or(t)?ba(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Au())),Qe(t),null;case 26:var o=t.type,u=t.memoizedState;return e===null?(ba(t),u!==null?(Qe(t),$m(t,u)):(Qe(t),gd(t,o,null,s,a))):u?u!==e.memoizedState?(ba(t),Qe(t),$m(t,u)):(Qe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==s&&ba(t),Qe(t),gd(t,o,e,s,a)),null;case 27:if(Cn(t),a=Se.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==s&&ba(t);else{if(!s){if(t.stateNode===null)throw Error(l(166));return Qe(t),null}e=ae.current,Or(t)?Sf(t):(e=Yg(o,s,a),t.stateNode=e,ba(t))}return Qe(t),null;case 5:if(Cn(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==s&&ba(t);else{if(!s){if(t.stateNode===null)throw Error(l(166));return Qe(t),null}if(u=ae.current,Or(t))Sf(t);else{var g=Zo(Se.current);switch(u){case 1:u=g.createElementNS("http://www.w3.org/2000/svg",o);break;case 2:u=g.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;default:switch(o){case"svg":u=g.createElementNS("http://www.w3.org/2000/svg",o);break;case"math":u=g.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;case"script":u=g.createElement("div"),u.innerHTML="<script><\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof s.is=="string"?g.createElement("select",{is:s.is}):g.createElement("select"),s.multiple?u.multiple=!0:s.size&&(u.size=s.size);break;default:u=typeof s.is=="string"?g.createElement(o,{is:s.is}):g.createElement(o)}}u[W]=t,u[Je]=s;e:for(g=t.child;g!==null;){if(g.tag===5||g.tag===6)u.appendChild(g.stateNode);else if(g.tag!==4&&g.tag!==27&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===t)break e;for(;g.sibling===null;){if(g.return===null||g.return===t)break e;g=g.return}g.sibling.return=g.return,g=g.sibling}t.stateNode=u;e:switch(jt(u,o,s),o){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&ba(t)}}return Qe(t),gd(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==s&&ba(t);else{if(typeof s!="string"&&t.stateNode===null)throw Error(l(166));if(e=Se.current,Or(t)){if(e=t.stateNode,a=t.memoizedProps,s=null,o=Ct,o!==null)switch(o.tag){case 27:case 5:s=o.memoizedProps}e[W]=t,e=!!(e.nodeValue===a||s!==null&&s.suppressHydrationWarning===!0||zg(e.nodeValue,a)),e||Ja(t,!0)}else e=Zo(e).createTextNode(s),e[W]=t,t.stateNode=e}return Qe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(s=Or(t),a!==null){if(e===null){if(!s)throw Error(l(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(557));e[W]=t}else qi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Qe(t),e=!1}else a=Au(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(cn(t),t):(cn(t),null);if((t.flags&128)!==0)throw Error(l(558))}return Qe(t),null;case 13:if(s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Or(t),s!==null&&s.dehydrated!==null){if(e===null){if(!o)throw Error(l(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(l(317));o[W]=t}else qi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Qe(t),o=!1}else o=Au(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(cn(t),t):(cn(t),null)}return cn(t),(t.flags&128)!==0?(t.lanes=a,t):(a=s!==null,e=e!==null&&e.memoizedState!==null,a&&(s=t.child,o=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(o=s.alternate.memoizedState.cachePool.pool),u=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(u=s.memoizedState.cachePool.pool),u!==o&&(s.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Bo(t,t.updateQueue),Qe(t),null);case 4:return nt(),e===null&&zd(t.stateNode.containerInfo),Qe(t),null;case 10:return ga(t.type),Qe(t),null;case 19:if(D(dt),s=t.memoizedState,s===null)return Qe(t),null;if(o=(t.flags&128)!==0,u=s.rendering,u===null)if(o)nl(s,!1);else{if(ot!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=Ao(e),u!==null){for(t.flags|=128,nl(s,!1),e=u.updateQueue,t.updateQueue=e,Bo(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)gf(a,e),a=a.sibling;return J(dt,dt.current&1|2),Ne&&fa(t,s.treeForkCount),t.child}e=e.sibling}s.tail!==null&&Pe()>Io&&(t.flags|=128,o=!0,nl(s,!1),t.lanes=4194304)}else{if(!o)if(e=Ao(u),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,Bo(t,e),nl(s,!0),s.tail===null&&s.tailMode==="hidden"&&!u.alternate&&!Ne)return Qe(t),null}else 2*Pe()-s.renderingStartTime>Io&&a!==536870912&&(t.flags|=128,o=!0,nl(s,!1),t.lanes=4194304);s.isBackwards?(u.sibling=t.child,t.child=u):(e=s.last,e!==null?e.sibling=u:t.child=u,s.last=u)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Pe(),e.sibling=null,a=dt.current,J(dt,o?a&1|2:a&1),Ne&&fa(t,s.treeForkCount),e):(Qe(t),null);case 22:case 23:return cn(t),Bu(),s=t.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(t.flags|=8192):s&&(t.flags|=8192),s?(a&536870912)!==0&&(t.flags&128)===0&&(Qe(t),t.subtreeFlags&6&&(t.flags|=8192)):Qe(t),a=t.updateQueue,a!==null&&Bo(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),s=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),s!==a&&(t.flags|=2048),e!==null&&D(Vi),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ga(gt),Qe(t),null;case 25:return null;case 30:return null}throw Error(l(156,t.tag))}function Vv(e,t){switch(Tu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ga(gt),nt(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Cn(t),null;case 31:if(t.memoizedState!==null){if(cn(t),t.alternate===null)throw Error(l(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(cn(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(l(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return D(dt),null;case 4:return nt(),null;case 10:return ga(t.type),null;case 22:case 23:return cn(t),Bu(),e!==null&&D(Vi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ga(gt),null;case 25:return null;default:return null}}function qm(e,t){switch(Tu(t),t.tag){case 3:ga(gt),nt();break;case 26:case 27:case 5:Cn(t);break;case 4:nt();break;case 31:t.memoizedState!==null&&cn(t);break;case 13:cn(t);break;case 19:D(dt);break;case 10:ga(t.type);break;case 22:case 23:cn(t),Bu(),e!==null&&D(Vi);break;case 24:ga(gt)}}function al(e,t){try{var a=t.updateQueue,s=a!==null?a.lastEffect:null;if(s!==null){var o=s.next;a=o;do{if((a.tag&e)===e){s=void 0;var u=a.create,g=a.inst;s=u(),g.destroy=s}a=a.next}while(a!==o)}}catch(v){Ie(t,t.return,v)}}function ai(e,t,a){try{var s=t.updateQueue,o=s!==null?s.lastEffect:null;if(o!==null){var u=o.next;s=u;do{if((s.tag&e)===e){var g=s.inst,v=g.destroy;if(v!==void 0){g.destroy=void 0,o=t;var k=a,N=v;try{N()}catch(P){Ie(o,k,P)}}}s=s.next}while(s!==u)}}catch(P){Ie(t,t.return,P)}}function Im(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Lf(t,a)}catch(s){Ie(e,e.return,s)}}}function Gm(e,t,a){a.props=Ji(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(s){Ie(e,t,s)}}function il(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof a=="function"?e.refCleanup=a(s):a.current=s}}catch(o){Ie(e,t,o)}}function Wn(e,t){var a=e.ref,s=e.refCleanup;if(a!==null)if(typeof s=="function")try{s()}catch(o){Ie(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(o){Ie(e,t,o)}else a.current=null}function Vm(e){var t=e.type,a=e.memoizedProps,s=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&s.focus();break e;case"img":a.src?s.src=a.src:a.srcSet&&(s.srcset=a.srcSet)}}catch(o){Ie(e,e.return,o)}}function pd(e,t,a){try{var s=e.stateNode;f0(s,e.type,a,t),s[Je]=t}catch(o){Ie(e,e.return,o)}}function Km(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ui(e.type)||e.tag===4}function yd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Km(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ui(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function vd(e,t,a){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Nn));else if(s!==4&&(s===27&&ui(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(vd(e,t,a),e=e.sibling;e!==null;)vd(e,t,a),e=e.sibling}function Po(e,t,a){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(s!==4&&(s===27&&ui(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Po(e,t,a),e=e.sibling;e!==null;)Po(e,t,a),e=e.sibling}function Fm(e){var t=e.stateNode,a=e.memoizedProps;try{for(var s=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);jt(t,s,a),t[W]=e,t[Je]=a}catch(u){Ie(e,e.return,u)}}var Sa=!1,vt=!1,bd=!1,Ym=typeof WeakSet=="function"?WeakSet:Set,Tt=null;function Kv(e,t){if(e=e.containerInfo,Hd=sc,e=sf(e),hu(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var s=a.getSelection&&a.getSelection();if(s&&s.rangeCount!==0){a=s.anchorNode;var o=s.anchorOffset,u=s.focusNode;s=s.focusOffset;try{a.nodeType,u.nodeType}catch{a=null;break e}var g=0,v=-1,k=-1,N=0,P=0,q=e,L=null;t:for(;;){for(var U;q!==a||o!==0&&q.nodeType!==3||(v=g+o),q!==u||s!==0&&q.nodeType!==3||(k=g+s),q.nodeType===3&&(g+=q.nodeValue.length),(U=q.firstChild)!==null;)L=q,q=U;for(;;){if(q===e)break t;if(L===a&&++N===o&&(v=g),L===u&&++P===s&&(k=g),(U=q.nextSibling)!==null)break;q=L,L=q.parentNode}q=U}a=v===-1||k===-1?null:{start:v,end:k}}else a=null}a=a||{start:0,end:0}}else a=null;for($d={focusedElem:e,selectionRange:a},sc=!1,Tt=t;Tt!==null;)if(t=Tt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Tt=e;else for(;Tt!==null;){switch(t=Tt,u=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)o=e[a],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&u!==null){e=void 0,a=t,o=u.memoizedProps,u=u.memoizedState,s=a.stateNode;try{var se=Ji(a.type,o);e=s.getSnapshotBeforeUpdate(se,u),s.__reactInternalSnapshotBeforeUpdate=e}catch(me){Ie(a,a.return,me)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)Gd(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Gd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(l(163))}if(e=t.sibling,e!==null){e.return=t.return,Tt=e;break}Tt=t.return}}function Wm(e,t,a){var s=a.flags;switch(a.tag){case 0:case 11:case 15:_a(e,a),s&4&&al(5,a);break;case 1:if(_a(e,a),s&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(g){Ie(a,a.return,g)}else{var o=Ji(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(g){Ie(a,a.return,g)}}s&64&&Im(a),s&512&&il(a,a.return);break;case 3:if(_a(e,a),s&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{Lf(e,t)}catch(g){Ie(a,a.return,g)}}break;case 27:t===null&&s&4&&Fm(a);case 26:case 5:_a(e,a),t===null&&s&4&&Vm(a),s&512&&il(a,a.return);break;case 12:_a(e,a);break;case 31:_a(e,a),s&4&&Qm(e,a);break;case 13:_a(e,a),s&4&&Zm(e,a),s&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=t0.bind(null,a),w0(e,a))));break;case 22:if(s=a.memoizedState!==null||Sa,!s){t=t!==null&&t.memoizedState!==null||vt,o=Sa;var u=vt;Sa=s,(vt=t)&&!u?Ta(e,a,(a.subtreeFlags&8772)!==0):_a(e,a),Sa=o,vt=u}break;case 30:break;default:_a(e,a)}}function Jm(e){var t=e.alternate;t!==null&&(e.alternate=null,Jm(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Ze(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var et=null,Gt=!1;function wa(e,t,a){for(a=a.child;a!==null;)Xm(e,t,a),a=a.sibling}function Xm(e,t,a){if(At&&typeof At.onCommitFiberUnmount=="function")try{At.onCommitFiberUnmount(aa,a)}catch{}switch(a.tag){case 26:vt||Wn(a,t),wa(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:vt||Wn(a,t);var s=et,o=Gt;ui(a.type)&&(et=a.stateNode,Gt=!1),wa(e,t,a),fl(a.stateNode),et=s,Gt=o;break;case 5:vt||Wn(a,t);case 6:if(s=et,o=Gt,et=null,wa(e,t,a),et=s,Gt=o,et!==null)if(Gt)try{(et.nodeType===9?et.body:et.nodeName==="HTML"?et.ownerDocument.body:et).removeChild(a.stateNode)}catch(u){Ie(a,t,u)}else try{et.removeChild(a.stateNode)}catch(u){Ie(a,t,u)}break;case 18:et!==null&&(Gt?(e=et,Ig(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),Xr(e)):Ig(et,a.stateNode));break;case 4:s=et,o=Gt,et=a.stateNode.containerInfo,Gt=!0,wa(e,t,a),et=s,Gt=o;break;case 0:case 11:case 14:case 15:ai(2,a,t),vt||ai(4,a,t),wa(e,t,a);break;case 1:vt||(Wn(a,t),s=a.stateNode,typeof s.componentWillUnmount=="function"&&Gm(a,t,s)),wa(e,t,a);break;case 21:wa(e,t,a);break;case 22:vt=(s=vt)||a.memoizedState!==null,wa(e,t,a),vt=s;break;default:wa(e,t,a)}}function Qm(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Xr(e)}catch(a){Ie(t,t.return,a)}}}function Zm(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Xr(e)}catch(a){Ie(t,t.return,a)}}function Fv(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Ym),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Ym),t;default:throw Error(l(435,e.tag))}}function Ho(e,t){var a=Fv(e);t.forEach(function(s){if(!a.has(s)){a.add(s);var o=n0.bind(null,e,s);s.then(o,o)}})}function Vt(e,t){var a=t.deletions;if(a!==null)for(var s=0;s<a.length;s++){var o=a[s],u=e,g=t,v=g;e:for(;v!==null;){switch(v.tag){case 27:if(ui(v.type)){et=v.stateNode,Gt=!1;break e}break;case 5:et=v.stateNode,Gt=!1;break e;case 3:case 4:et=v.stateNode.containerInfo,Gt=!0;break e}v=v.return}if(et===null)throw Error(l(160));Xm(u,g,o),et=null,Gt=!1,u=o.alternate,u!==null&&(u.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)eg(t,e),t=t.sibling}var Dn=null;function eg(e,t){var a=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Vt(t,e),Kt(e),s&4&&(ai(3,e,e.return),al(3,e),ai(5,e,e.return));break;case 1:Vt(t,e),Kt(e),s&512&&(vt||a===null||Wn(a,a.return)),s&64&&Sa&&(e=e.updateQueue,e!==null&&(s=e.callbacks,s!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?s:a.concat(s))));break;case 26:var o=Dn;if(Vt(t,e),Kt(e),s&512&&(vt||a===null||Wn(a,a.return)),s&4){var u=a!==null?a.memoizedState:null;if(s=e.memoizedState,a===null)if(s===null)if(e.stateNode===null){e:{s=e.type,a=e.memoizedProps,o=o.ownerDocument||o;t:switch(s){case"title":u=o.getElementsByTagName("title")[0],(!u||u[ki]||u[W]||u.namespaceURI==="http://www.w3.org/2000/svg"||u.hasAttribute("itemprop"))&&(u=o.createElement(s),o.head.insertBefore(u,o.querySelector("head > title"))),jt(u,s,a),u[W]=e,ut(u),s=u;break e;case"link":var g=ep("link","href",o).get(s+(a.href||""));if(g){for(var v=0;v<g.length;v++)if(u=g[v],u.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&u.getAttribute("rel")===(a.rel==null?null:a.rel)&&u.getAttribute("title")===(a.title==null?null:a.title)&&u.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){g.splice(v,1);break t}}u=o.createElement(s),jt(u,s,a),o.head.appendChild(u);break;case"meta":if(g=ep("meta","content",o).get(s+(a.content||""))){for(v=0;v<g.length;v++)if(u=g[v],u.getAttribute("content")===(a.content==null?null:""+a.content)&&u.getAttribute("name")===(a.name==null?null:a.name)&&u.getAttribute("property")===(a.property==null?null:a.property)&&u.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&u.getAttribute("charset")===(a.charSet==null?null:a.charSet)){g.splice(v,1);break t}}u=o.createElement(s),jt(u,s,a),o.head.appendChild(u);break;default:throw Error(l(468,s))}u[W]=e,ut(u),s=u}e.stateNode=s}else tp(o,e.type,e.stateNode);else e.stateNode=Zg(o,s,e.memoizedProps);else u!==s?(u===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):u.count--,s===null?tp(o,e.type,e.stateNode):Zg(o,s,e.memoizedProps)):s===null&&e.stateNode!==null&&pd(e,e.memoizedProps,a.memoizedProps)}break;case 27:Vt(t,e),Kt(e),s&512&&(vt||a===null||Wn(a,a.return)),a!==null&&s&4&&pd(e,e.memoizedProps,a.memoizedProps);break;case 5:if(Vt(t,e),Kt(e),s&512&&(vt||a===null||Wn(a,a.return)),e.flags&32){o=e.stateNode;try{On(o,"")}catch(se){Ie(e,e.return,se)}}s&4&&e.stateNode!=null&&(o=e.memoizedProps,pd(e,o,a!==null?a.memoizedProps:o)),s&1024&&(bd=!0);break;case 6:if(Vt(t,e),Kt(e),s&4){if(e.stateNode===null)throw Error(l(162));s=e.memoizedProps,a=e.stateNode;try{a.nodeValue=s}catch(se){Ie(e,e.return,se)}}break;case 3:if(nc=null,o=Dn,Dn=ec(t.containerInfo),Vt(t,e),Dn=o,Kt(e),s&4&&a!==null&&a.memoizedState.isDehydrated)try{Xr(t.containerInfo)}catch(se){Ie(e,e.return,se)}bd&&(bd=!1,tg(e));break;case 4:s=Dn,Dn=ec(e.stateNode.containerInfo),Vt(t,e),Kt(e),Dn=s;break;case 12:Vt(t,e),Kt(e);break;case 31:Vt(t,e),Kt(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Ho(e,s)));break;case 13:Vt(t,e),Kt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(qo=Pe()),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Ho(e,s)));break;case 22:o=e.memoizedState!==null;var k=a!==null&&a.memoizedState!==null,N=Sa,P=vt;if(Sa=N||o,vt=P||k,Vt(t,e),vt=P,Sa=N,Kt(e),s&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(a===null||k||Sa||vt||Xi(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){k=a=t;try{if(u=k.stateNode,o)g=u.style,typeof g.setProperty=="function"?g.setProperty("display","none","important"):g.display="none";else{v=k.stateNode;var q=k.memoizedProps.style,L=q!=null&&q.hasOwnProperty("display")?q.display:null;v.style.display=L==null||typeof L=="boolean"?"":(""+L).trim()}}catch(se){Ie(k,k.return,se)}}}else if(t.tag===6){if(a===null){k=t;try{k.stateNode.nodeValue=o?"":k.memoizedProps}catch(se){Ie(k,k.return,se)}}}else if(t.tag===18){if(a===null){k=t;try{var U=k.stateNode;o?Gg(U,!0):Gg(k.stateNode,!1)}catch(se){Ie(k,k.return,se)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}s&4&&(s=e.updateQueue,s!==null&&(a=s.retryQueue,a!==null&&(s.retryQueue=null,Ho(e,a))));break;case 19:Vt(t,e),Kt(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Ho(e,s)));break;case 30:break;case 21:break;default:Vt(t,e),Kt(e)}}function Kt(e){var t=e.flags;if(t&2){try{for(var a,s=e.return;s!==null;){if(Km(s)){a=s;break}s=s.return}if(a==null)throw Error(l(160));switch(a.tag){case 27:var o=a.stateNode,u=yd(e);Po(e,u,o);break;case 5:var g=a.stateNode;a.flags&32&&(On(g,""),a.flags&=-33);var v=yd(e);Po(e,v,g);break;case 3:case 4:var k=a.stateNode.containerInfo,N=yd(e);vd(e,N,k);break;default:throw Error(l(161))}}catch(P){Ie(e,e.return,P)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function tg(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;tg(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function _a(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Wm(e,t.alternate,t),t=t.sibling}function Xi(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ai(4,t,t.return),Xi(t);break;case 1:Wn(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&Gm(t,t.return,a),Xi(t);break;case 27:fl(t.stateNode);case 26:case 5:Wn(t,t.return),Xi(t);break;case 22:t.memoizedState===null&&Xi(t);break;case 30:Xi(t);break;default:Xi(t)}e=e.sibling}}function Ta(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var s=t.alternate,o=e,u=t,g=u.flags;switch(u.tag){case 0:case 11:case 15:Ta(o,u,a),al(4,u);break;case 1:if(Ta(o,u,a),s=u,o=s.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(N){Ie(s,s.return,N)}if(s=u,o=s.updateQueue,o!==null){var v=s.stateNode;try{var k=o.shared.hiddenCallbacks;if(k!==null)for(o.shared.hiddenCallbacks=null,o=0;o<k.length;o++)Nf(k[o],v)}catch(N){Ie(s,s.return,N)}}a&&g&64&&Im(u),il(u,u.return);break;case 27:Fm(u);case 26:case 5:Ta(o,u,a),a&&s===null&&g&4&&Vm(u),il(u,u.return);break;case 12:Ta(o,u,a);break;case 31:Ta(o,u,a),a&&g&4&&Qm(o,u);break;case 13:Ta(o,u,a),a&&g&4&&Zm(o,u);break;case 22:u.memoizedState===null&&Ta(o,u,a),il(u,u.return);break;case 30:break;default:Ta(o,u,a)}t=t.sibling}}function Sd(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Gs(a))}function wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Gs(e))}function Un(e,t,a,s){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)ng(e,t,a,s),t=t.sibling}function ng(e,t,a,s){var o=t.flags;switch(t.tag){case 0:case 11:case 15:Un(e,t,a,s),o&2048&&al(9,t);break;case 1:Un(e,t,a,s);break;case 3:Un(e,t,a,s),o&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Gs(e)));break;case 12:if(o&2048){Un(e,t,a,s),e=t.stateNode;try{var u=t.memoizedProps,g=u.id,v=u.onPostCommit;typeof v=="function"&&v(g,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(k){Ie(t,t.return,k)}}else Un(e,t,a,s);break;case 31:Un(e,t,a,s);break;case 13:Un(e,t,a,s);break;case 23:break;case 22:u=t.stateNode,g=t.alternate,t.memoizedState!==null?u._visibility&2?Un(e,t,a,s):rl(e,t):u._visibility&2?Un(e,t,a,s):(u._visibility|=2,Hr(e,t,a,s,(t.subtreeFlags&10256)!==0||!1)),o&2048&&Sd(g,t);break;case 24:Un(e,t,a,s),o&2048&&wd(t.alternate,t);break;default:Un(e,t,a,s)}}function Hr(e,t,a,s,o){for(o=o&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var u=e,g=t,v=a,k=s,N=g.flags;switch(g.tag){case 0:case 11:case 15:Hr(u,g,v,k,o),al(8,g);break;case 23:break;case 22:var P=g.stateNode;g.memoizedState!==null?P._visibility&2?Hr(u,g,v,k,o):rl(u,g):(P._visibility|=2,Hr(u,g,v,k,o)),o&&N&2048&&Sd(g.alternate,g);break;case 24:Hr(u,g,v,k,o),o&&N&2048&&wd(g.alternate,g);break;default:Hr(u,g,v,k,o)}t=t.sibling}}function rl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,s=t,o=s.flags;switch(s.tag){case 22:rl(a,s),o&2048&&Sd(s.alternate,s);break;case 24:rl(a,s),o&2048&&wd(s.alternate,s);break;default:rl(a,s)}t=t.sibling}}var sl=8192;function $r(e,t,a){if(e.subtreeFlags&sl)for(e=e.child;e!==null;)ag(e,t,a),e=e.sibling}function ag(e,t,a){switch(e.tag){case 26:$r(e,t,a),e.flags&sl&&e.memoizedState!==null&&L0(a,Dn,e.memoizedState,e.memoizedProps);break;case 5:$r(e,t,a);break;case 3:case 4:var s=Dn;Dn=ec(e.stateNode.containerInfo),$r(e,t,a),Dn=s;break;case 22:e.memoizedState===null&&(s=e.alternate,s!==null&&s.memoizedState!==null?(s=sl,sl=16777216,$r(e,t,a),sl=s):$r(e,t,a));break;default:$r(e,t,a)}}function ig(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function ll(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var s=t[a];Tt=s,sg(s,e)}ig(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)rg(e),e=e.sibling}function rg(e){switch(e.tag){case 0:case 11:case 15:ll(e),e.flags&2048&&ai(9,e,e.return);break;case 3:ll(e);break;case 12:ll(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,$o(e)):ll(e);break;default:ll(e)}}function $o(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var s=t[a];Tt=s,sg(s,e)}ig(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ai(8,t,t.return),$o(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,$o(t));break;default:$o(t)}e=e.sibling}}function sg(e,t){for(;Tt!==null;){var a=Tt;switch(a.tag){case 0:case 11:case 15:ai(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var s=a.memoizedState.cachePool.pool;s!=null&&s.refCount++}break;case 24:Gs(a.memoizedState.cache)}if(s=a.child,s!==null)s.return=a,Tt=s;else e:for(a=e;Tt!==null;){s=Tt;var o=s.sibling,u=s.return;if(Jm(s),s===a){Tt=null;break e}if(o!==null){o.return=u,Tt=o;break e}Tt=u}}}var Yv={getCacheForType:function(e){var t=Rt(gt),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return Rt(gt).controller.signal}},Wv=typeof WeakMap=="function"?WeakMap:Map,Be=0,Ye=null,xe=null,Re=0,qe=0,un=null,ii=!1,qr=!1,_d=!1,ka=0,ot=0,ri=0,Qi=0,Td=0,dn=0,Ir=0,ol=null,Ft=null,kd=!1,qo=0,lg=0,Io=1/0,Go=null,si=null,St=0,li=null,Gr=null,Aa=0,Ad=0,Ed=null,og=null,cl=0,xd=null;function hn(){return(Be&2)!==0&&Re!==0?Re&-Re:_.T!==null?Ld():fr()}function cg(){if(dn===0)if((Re&536870912)===0||Ne){var e=_i;_i<<=1,(_i&3932160)===0&&(_i=262144),dn=e}else dn=536870912;return e=on.current,e!==null&&(e.flags|=32),dn}function Yt(e,t,a){(e===Ye&&(qe===2||qe===9)||e.cancelPendingCommit!==null)&&(Vr(e,0),oi(e,Re,dn,!1)),Da(e,a),((Be&2)===0||e!==Ye)&&(e===Ye&&((Be&2)===0&&(Qi|=a),ot===4&&oi(e,Re,dn,!1)),Jn(e))}function ug(e,t,a){if((Be&6)!==0)throw Error(l(327));var s=!a&&(t&127)===0&&(t&e.expiredLanes)===0||Zt(e,t),o=s?Qv(e,t):Rd(e,t,!0),u=s;do{if(o===0){qr&&!s&&oi(e,t,0,!1);break}else{if(a=e.current.alternate,u&&!Jv(a)){o=Rd(e,t,!1),u=!1;continue}if(o===2){if(u=t,e.errorRecoveryDisabledLanes&u)var g=0;else g=e.pendingLanes&-536870913,g=g!==0?g:g&536870912?536870912:0;if(g!==0){t=g;e:{var v=e;o=ol;var k=v.current.memoizedState.isDehydrated;if(k&&(Vr(v,g).flags|=256),g=Rd(v,g,!1),g!==2){if(_d&&!k){v.errorRecoveryDisabledLanes|=u,Qi|=u,o=4;break e}u=Ft,Ft=o,u!==null&&(Ft===null?Ft=u:Ft.push.apply(Ft,u))}o=g}if(u=!1,o!==2)continue}}if(o===1){Vr(e,0),oi(e,t,0,!0);break}e:{switch(s=e,u=o,u){case 0:case 1:throw Error(l(345));case 4:if((t&4194048)!==t)break;case 6:oi(s,t,dn,!ii);break e;case 2:Ft=null;break;case 3:case 5:break;default:throw Error(l(329))}if((t&62914560)===t&&(o=qo+300-Pe(),10<o)){if(oi(s,t,dn,!ii),ra(s,0,!0)!==0)break e;Aa=t,s.timeoutHandle=$g(dg.bind(null,s,a,Ft,Go,kd,t,dn,Qi,Ir,ii,u,"Throttled",-0,0),o);break e}dg(s,a,Ft,Go,kd,t,dn,Qi,Ir,ii,u,null,-0,0)}}break}while(!0);Jn(e)}function dg(e,t,a,s,o,u,g,v,k,N,P,q,L,U){if(e.timeoutHandle=-1,q=t.subtreeFlags,q&8192||(q&16785408)===16785408){q={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Nn},ag(t,u,q);var se=(u&62914560)===u?qo-Pe():(u&4194048)===u?lg-Pe():0;if(se=M0(q,se),se!==null){Aa=u,e.cancelPendingCommit=se(bg.bind(null,e,t,u,a,s,o,g,v,k,P,q,null,L,U)),oi(e,u,g,!N);return}}bg(e,t,u,a,s,o,g,v,k)}function Jv(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var s=0;s<a.length;s++){var o=a[s],u=o.getSnapshot;o=o.value;try{if(!sn(u(),o))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function oi(e,t,a,s){t&=~Td,t&=~Qi,e.suspendedLanes|=t,e.pingedLanes&=~t,s&&(e.warmLanes|=t),s=e.expirationTimes;for(var o=t;0<o;){var u=31-wt(o),g=1<<u;s[u]=-1,o&=~g}a!==0&&He(e,a,t)}function Vo(){return(Be&6)===0?(ul(0),!1):!0}function Cd(){if(xe!==null){if(qe===0)var e=xe.return;else e=xe,ma=Ii=null,Gu(e),Dr=null,Ks=0,e=xe;for(;e!==null;)qm(e.alternate,e),e=e.return;xe=null}}function Vr(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,p0(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Aa=0,Cd(),Ye=e,xe=a=ha(e.current,null),Re=t,qe=0,un=null,ii=!1,qr=Zt(e,t),_d=!1,Ir=dn=Td=Qi=ri=ot=0,Ft=ol=null,kd=!1,(t&8)!==0&&(t|=t&32);var s=e.entangledLanes;if(s!==0)for(e=e.entanglements,s&=t;0<s;){var o=31-wt(s),u=1<<o;t|=e[o],s&=~u}return ka=t,ho(),a}function hg(e,t){ke=null,_.H=el,t===Mr||t===So?(t=Cf(),qe=3):t===Nu?(t=Cf(),qe=4):qe=t===sd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,un=t,xe===null&&(ot=1,Mo(e,bn(t,e.current)))}function fg(){var e=on.current;return e===null?!0:(Re&4194048)===Re?Tn===null:(Re&62914560)===Re||(Re&536870912)!==0?e===Tn:!1}function mg(){var e=_.H;return _.H=el,e===null?el:e}function gg(){var e=_.A;return _.A=Yv,e}function Ko(){ot=4,ii||(Re&4194048)!==Re&&on.current!==null||(qr=!0),(ri&134217727)===0&&(Qi&134217727)===0||Ye===null||oi(Ye,Re,dn,!1)}function Rd(e,t,a){var s=Be;Be|=2;var o=mg(),u=gg();(Ye!==e||Re!==t)&&(Go=null,Vr(e,t)),t=!1;var g=ot;e:do try{if(qe!==0&&xe!==null){var v=xe,k=un;switch(qe){case 8:Cd(),g=6;break e;case 3:case 2:case 9:case 6:on.current===null&&(t=!0);var N=qe;if(qe=0,un=null,Kr(e,v,k,N),a&&qr){g=0;break e}break;default:N=qe,qe=0,un=null,Kr(e,v,k,N)}}Xv(),g=ot;break}catch(P){hg(e,P)}while(!0);return t&&e.shellSuspendCounter++,ma=Ii=null,Be=s,_.H=o,_.A=u,xe===null&&(Ye=null,Re=0,ho()),g}function Xv(){for(;xe!==null;)pg(xe)}function Qv(e,t){var a=Be;Be|=2;var s=mg(),o=gg();Ye!==e||Re!==t?(Go=null,Io=Pe()+500,Vr(e,t)):qr=Zt(e,t);e:do try{if(qe!==0&&xe!==null){t=xe;var u=un;t:switch(qe){case 1:qe=0,un=null,Kr(e,t,u,1);break;case 2:case 9:if(Ef(u)){qe=0,un=null,yg(t);break}t=function(){qe!==2&&qe!==9||Ye!==e||(qe=7),Jn(e)},u.then(t,t);break e;case 3:qe=7;break e;case 4:qe=5;break e;case 7:Ef(u)?(qe=0,un=null,yg(t)):(qe=0,un=null,Kr(e,t,u,7));break;case 5:var g=null;switch(xe.tag){case 26:g=xe.memoizedState;case 5:case 27:var v=xe;if(g?np(g):v.stateNode.complete){qe=0,un=null;var k=v.sibling;if(k!==null)xe=k;else{var N=v.return;N!==null?(xe=N,Fo(N)):xe=null}break t}}qe=0,un=null,Kr(e,t,u,5);break;case 6:qe=0,un=null,Kr(e,t,u,6);break;case 8:Cd(),ot=6;break e;default:throw Error(l(462))}}Zv();break}catch(P){hg(e,P)}while(!0);return ma=Ii=null,_.H=s,_.A=o,Be=a,xe!==null?0:(Ye=null,Re=0,ho(),ot)}function Zv(){for(;xe!==null&&!ys();)pg(xe)}function pg(e){var t=Hm(e.alternate,e,ka);e.memoizedProps=e.pendingProps,t===null?Fo(e):xe=t}function yg(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Mm(a,t,t.pendingProps,t.type,void 0,Re);break;case 11:t=Mm(a,t,t.pendingProps,t.type.render,t.ref,Re);break;case 5:Gu(t);default:qm(a,t),t=xe=gf(t,ka),t=Hm(a,t,ka)}e.memoizedProps=e.pendingProps,t===null?Fo(e):xe=t}function Kr(e,t,a,s){ma=Ii=null,Gu(t),Dr=null,Ks=0;var o=t.return;try{if($v(e,o,t,a,Re)){ot=1,Mo(e,bn(a,e.current)),xe=null;return}}catch(u){if(o!==null)throw xe=o,u;ot=1,Mo(e,bn(a,e.current)),xe=null;return}t.flags&32768?(Ne||s===1?e=!0:qr||(Re&536870912)!==0?e=!1:(ii=e=!0,(s===2||s===9||s===3||s===6)&&(s=on.current,s!==null&&s.tag===13&&(s.flags|=16384))),vg(t,e)):Fo(t)}function Fo(e){var t=e;do{if((t.flags&32768)!==0){vg(t,ii);return}e=t.return;var a=Gv(t.alternate,t,ka);if(a!==null){xe=a;return}if(t=t.sibling,t!==null){xe=t;return}xe=t=e}while(t!==null);ot===0&&(ot=5)}function vg(e,t){do{var a=Vv(e.alternate,e);if(a!==null){a.flags&=32767,xe=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){xe=e;return}xe=e=a}while(e!==null);ot=6,xe=null}function bg(e,t,a,s,o,u,g,v,k){e.cancelPendingCommit=null;do Yo();while(St!==0);if((Be&6)!==0)throw Error(l(327));if(t!==null){if(t===e.current)throw Error(l(177));if(u=t.lanes|t.childLanes,u|=yu,rt(e,a,u,g,v,k),e===Ye&&(xe=Ye=null,Re=0),Gr=t,li=e,Aa=a,Ad=u,Ed=o,og=s,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,a0(cr,function(){return kg(),null})):(e.callbackNode=null,e.callbackPriority=0),s=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||s){s=_.T,_.T=null,o=H.p,H.p=2,g=Be,Be|=4;try{Kv(e,t,a)}finally{Be=g,H.p=o,_.T=s}}St=1,Sg(),wg(),_g()}}function Sg(){if(St===1){St=0;var e=li,t=Gr,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=_.T,_.T=null;var s=H.p;H.p=2;var o=Be;Be|=4;try{eg(t,e);var u=$d,g=sf(e.containerInfo),v=u.focusedElem,k=u.selectionRange;if(g!==v&&v&&v.ownerDocument&&rf(v.ownerDocument.documentElement,v)){if(k!==null&&hu(v)){var N=k.start,P=k.end;if(P===void 0&&(P=N),"selectionStart"in v)v.selectionStart=N,v.selectionEnd=Math.min(P,v.value.length);else{var q=v.ownerDocument||document,L=q&&q.defaultView||window;if(L.getSelection){var U=L.getSelection(),se=v.textContent.length,me=Math.min(k.start,se),Fe=k.end===void 0?me:Math.min(k.end,se);!U.extend&&me>Fe&&(g=Fe,Fe=me,me=g);var C=af(v,me),E=af(v,Fe);if(C&&E&&(U.rangeCount!==1||U.anchorNode!==C.node||U.anchorOffset!==C.offset||U.focusNode!==E.node||U.focusOffset!==E.offset)){var j=q.createRange();j.setStart(C.node,C.offset),U.removeAllRanges(),me>Fe?(U.addRange(j),U.extend(E.node,E.offset)):(j.setEnd(E.node,E.offset),U.addRange(j))}}}}for(q=[],U=v;U=U.parentNode;)U.nodeType===1&&q.push({element:U,left:U.scrollLeft,top:U.scrollTop});for(typeof v.focus=="function"&&v.focus(),v=0;v<q.length;v++){var $=q[v];$.element.scrollLeft=$.left,$.element.scrollTop=$.top}}sc=!!Hd,$d=Hd=null}finally{Be=o,H.p=s,_.T=a}}e.current=t,St=2}}function wg(){if(St===2){St=0;var e=li,t=Gr,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=_.T,_.T=null;var s=H.p;H.p=2;var o=Be;Be|=4;try{Wm(e,t.alternate,t)}finally{Be=o,H.p=s,_.T=a}}St=3}}function _g(){if(St===4||St===3){St=0,lr();var e=li,t=Gr,a=Aa,s=og;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?St=5:(St=0,Gr=li=null,Tg(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(si=null),hr(a),t=t.stateNode,At&&typeof At.onCommitFiberRoot=="function")try{At.onCommitFiberRoot(aa,t,void 0,(t.current.flags&128)===128)}catch{}if(s!==null){t=_.T,o=H.p,H.p=2,_.T=null;try{for(var u=e.onRecoverableError,g=0;g<s.length;g++){var v=s[g];u(v.value,{componentStack:v.stack})}}finally{_.T=t,H.p=o}}(Aa&3)!==0&&Yo(),Jn(e),o=e.pendingLanes,(a&261930)!==0&&(o&42)!==0?e===xd?cl++:(cl=0,xd=e):cl=0,ul(0)}}function Tg(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Gs(t)))}function Yo(){return Sg(),wg(),_g(),kg()}function kg(){if(St!==5)return!1;var e=li,t=Ad;Ad=0;var a=hr(Aa),s=_.T,o=H.p;try{H.p=32>a?32:a,_.T=null,a=Ed,Ed=null;var u=li,g=Aa;if(St=0,Gr=li=null,Aa=0,(Be&6)!==0)throw Error(l(331));var v=Be;if(Be|=4,rg(u.current),ng(u,u.current,g,a),Be=v,ul(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(aa,u)}catch{}return!0}finally{H.p=o,_.T=s,Tg(e,t)}}function Ag(e,t,a){t=bn(a,t),t=rd(e.stateNode,t,2),e=ei(e,t,2),e!==null&&(Da(e,2),Jn(e))}function Ie(e,t,a){if(e.tag===3)Ag(e,e,a);else for(;t!==null;){if(t.tag===3){Ag(t,e,a);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(si===null||!si.has(s))){e=bn(a,e),a=Em(2),s=ei(t,a,2),s!==null&&(xm(a,s,t,e),Da(s,2),Jn(s));break}}t=t.return}}function Od(e,t,a){var s=e.pingCache;if(s===null){s=e.pingCache=new Wv;var o=new Set;s.set(t,o)}else o=s.get(t),o===void 0&&(o=new Set,s.set(t,o));o.has(a)||(_d=!0,o.add(a),e=e0.bind(null,e,t,a),t.then(e,e))}function e0(e,t,a){var s=e.pingCache;s!==null&&s.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ye===e&&(Re&a)===a&&(ot===4||ot===3&&(Re&62914560)===Re&&300>Pe()-qo?(Be&2)===0&&Vr(e,0):Td|=a,Ir===Re&&(Ir=0)),Jn(e)}function Eg(e,t){t===0&&(t=Ss()),e=Hi(e,t),e!==null&&(Da(e,t),Jn(e))}function t0(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Eg(e,a)}function n0(e,t){var a=0;switch(e.tag){case 31:case 13:var s=e.stateNode,o=e.memoizedState;o!==null&&(a=o.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(l(314))}s!==null&&s.delete(t),Eg(e,a)}function a0(e,t){return $t(e,t)}var Wo=null,Fr=null,jd=!1,Jo=!1,Nd=!1,ci=0;function Jn(e){e!==Fr&&e.next===null&&(Fr===null?Wo=Fr=e:Fr=Fr.next=e),Jo=!0,jd||(jd=!0,r0())}function ul(e,t){if(!Nd&&Jo){Nd=!0;do for(var a=!1,s=Wo;s!==null;){if(e!==0){var o=s.pendingLanes;if(o===0)var u=0;else{var g=s.suspendedLanes,v=s.pingedLanes;u=(1<<31-wt(42|e)+1)-1,u&=o&~(g&~v),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(a=!0,Og(s,u))}else u=Re,u=ra(s,s===Ye?u:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),(u&3)===0||Zt(s,u)||(a=!0,Og(s,u));s=s.next}while(a);Nd=!1}}function i0(){xg()}function xg(){Jo=jd=!1;var e=0;ci!==0&&g0()&&(e=ci);for(var t=Pe(),a=null,s=Wo;s!==null;){var o=s.next,u=Cg(s,t);u===0?(s.next=null,a===null?Wo=o:a.next=o,o===null&&(Fr=a)):(a=s,(e!==0||(u&3)!==0)&&(Jo=!0)),s=o}St!==0&&St!==5||ul(e),ci!==0&&(ci=0)}function Cg(e,t){for(var a=e.suspendedLanes,s=e.pingedLanes,o=e.expirationTimes,u=e.pendingLanes&-62914561;0<u;){var g=31-wt(u),v=1<<g,k=o[g];k===-1?((v&a)===0||(v&s)!==0)&&(o[g]=Jl(v,t)):k<=t&&(e.expiredLanes|=v),u&=~v}if(t=Ye,a=Re,a=ra(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s=e.callbackNode,a===0||e===t&&(qe===2||qe===9)||e.cancelPendingCommit!==null)return s!==null&&s!==null&&bi(s),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||Zt(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(s!==null&&bi(s),hr(a)){case 2:case 8:a=or;break;case 32:a=cr;break;case 268435456:a=ur;break;default:a=cr}return s=Rg.bind(null,e),a=$t(a,s),e.callbackPriority=t,e.callbackNode=a,t}return s!==null&&s!==null&&bi(s),e.callbackPriority=2,e.callbackNode=null,2}function Rg(e,t){if(St!==0&&St!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Yo()&&e.callbackNode!==a)return null;var s=Re;return s=ra(e,e===Ye?s:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s===0?null:(ug(e,s,t),Cg(e,Pe()),e.callbackNode!=null&&e.callbackNode===a?Rg.bind(null,e):null)}function Og(e,t){if(Yo())return null;ug(e,t,!0)}function r0(){y0(function(){(Be&6)!==0?$t(Si,i0):xg()})}function Ld(){if(ci===0){var e=Nr;e===0&&(e=wi,wi<<=1,(wi&261888)===0&&(wi=256)),ci=e}return ci}function jg(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:jn(""+e)}function Ng(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function s0(e,t,a,s,o){if(t==="submit"&&a&&a.stateNode===o){var u=jg((o[Je]||null).action),g=s.submitter;g&&(t=(t=g[Je]||null)?jg(t.formAction):g.getAttribute("formAction"),t!==null&&(u=t,g=null));var v=new da("action","action",null,s,o);e.push({event:v,listeners:[{instance:null,listener:function(){if(s.defaultPrevented){if(ci!==0){var k=g?Ng(o,g):new FormData(o);Zu(a,{pending:!0,data:k,method:o.method,action:u},null,k)}}else typeof u=="function"&&(v.preventDefault(),k=g?Ng(o,g):new FormData(o),Zu(a,{pending:!0,data:k,method:o.method,action:u},u,k))},currentTarget:o}]})}}for(var Md=0;Md<pu.length;Md++){var Dd=pu[Md],l0=Dd.toLowerCase(),o0=Dd[0].toUpperCase()+Dd.slice(1);Mn(l0,"on"+o0)}Mn(cf,"onAnimationEnd"),Mn(uf,"onAnimationIteration"),Mn(df,"onAnimationStart"),Mn("dblclick","onDoubleClick"),Mn("focusin","onFocus"),Mn("focusout","onBlur"),Mn(kv,"onTransitionRun"),Mn(Av,"onTransitionStart"),Mn(Ev,"onTransitionCancel"),Mn(hf,"onTransitionEnd"),nn("onMouseEnter",["mouseout","mouseover"]),nn("onMouseLeave",["mouseout","mouseover"]),nn("onPointerEnter",["pointerout","pointerover"]),nn("onPointerLeave",["pointerout","pointerover"]),_t("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),_t("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),_t("onBeforeInput",["compositionend","keypress","textInput","paste"]),_t("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),_t("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),_t("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var dl="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),c0=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(dl));function Lg(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var s=e[a],o=s.event;s=s.listeners;e:{var u=void 0;if(t)for(var g=s.length-1;0<=g;g--){var v=s[g],k=v.instance,N=v.currentTarget;if(v=v.listener,k!==u&&o.isPropagationStopped())break e;u=v,o.currentTarget=N;try{u(o)}catch(P){uo(P)}o.currentTarget=null,u=k}else for(g=0;g<s.length;g++){if(v=s[g],k=v.instance,N=v.currentTarget,v=v.listener,k!==u&&o.isPropagationStopped())break e;u=v,o.currentTarget=N;try{u(o)}catch(P){uo(P)}o.currentTarget=null,u=k}}}}function Ce(e,t){var a=t[Ti];a===void 0&&(a=t[Ti]=new Set);var s=e+"__bubble";a.has(s)||(Mg(t,e,2,!1),a.add(s))}function Ud(e,t,a){var s=0;t&&(s|=4),Mg(a,e,s,t)}var Xo="_reactListening"+Math.random().toString(36).slice(2);function zd(e){if(!e[Xo]){e[Xo]=!0,Ai.forEach(function(a){a!=="selectionchange"&&(c0.has(a)||Ud(a,!1,e),Ud(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Xo]||(t[Xo]=!0,Ud("selectionchange",!1,t))}}function Mg(e,t,a,s){switch(cp(t)){case 2:var o=z0;break;case 8:o=B0;break;default:o=Qd}a=o.bind(null,t,a,e),o=void 0,!Cs||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),s?o!==void 0?e.addEventListener(t,a,{capture:!0,passive:o}):e.addEventListener(t,a,!0):o!==void 0?e.addEventListener(t,a,{passive:o}):e.addEventListener(t,a,!1)}function Bd(e,t,a,s,o){var u=s;if((t&1)===0&&(t&2)===0&&s!==null)e:for(;;){if(s===null)return;var g=s.tag;if(g===3||g===4){var v=s.stateNode.containerInfo;if(v===o)break;if(g===4)for(g=s.return;g!==null;){var k=g.tag;if((k===3||k===4)&&g.stateNode.containerInfo===o)return;g=g.return}for(;v!==null;){if(g=tn(v),g===null)return;if(k=g.tag,k===5||k===6||k===26||k===27){s=u=g;continue e}v=v.parentNode}}s=s.return}Ia(function(){var N=u,P=vr(a),q=[];e:{var L=ff.get(e);if(L!==void 0){var U=da,se=e;switch(e){case"keypress":if(Li(a)===0)break e;case"keydown":case"keyup":U=iu;break;case"focusin":se="focus",U=js;break;case"focusout":se="blur",U=js;break;case"beforeblur":case"afterblur":U=js;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":U=rn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":U=Yc;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":U=wr;break;case cf:case uf:case df:U=Xc;break;case hf:U=lu;break;case"scroll":case"scrollend":U=Fc;break;case"wheel":U=_r;break;case"copy":case"cut":case"paste":U=Zc;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":U=no;break;case"toggle":case"beforetoggle":U=ou}var me=(t&4)!==0,Fe=!me&&(e==="scroll"||e==="scrollend"),C=me?L!==null?L+"Capture":null:L;me=[];for(var E=N,j;E!==null;){var $=E;if(j=$.stateNode,$=$.tag,$!==5&&$!==26&&$!==27||j===null||C===null||($=Ni(E,C),$!=null&&me.push(hl(E,$,j))),Fe)break;E=E.return}0<me.length&&(L=new U(L,se,null,a,P),q.push({event:L,listeners:me}))}}if((t&7)===0){e:{if(L=e==="mouseover"||e==="pointerover",U=e==="mouseout"||e==="pointerout",L&&a!==Ln&&(se=a.relatedTarget||a.fromElement)&&(tn(se)||se[Ba]))break e;if((U||L)&&(L=P.window===P?P:(L=P.ownerDocument)?L.defaultView||L.parentWindow:window,U?(se=a.relatedTarget||a.toElement,U=N,se=se?tn(se):null,se!==null&&(Fe=d(se),me=se.tag,se!==Fe||me!==5&&me!==27&&me!==6)&&(se=null)):(U=null,se=N),U!==se)){if(me=rn,$="onMouseLeave",C="onMouseEnter",E="mouse",(e==="pointerout"||e==="pointerover")&&(me=no,$="onPointerLeave",C="onPointerEnter",E="pointer"),Fe=U==null?L:Ha(U),j=se==null?L:Ha(se),L=new me($,E+"leave",U,a,P),L.target=Fe,L.relatedTarget=j,$=null,tn(P)===N&&(me=new me(C,E+"enter",se,a,P),me.target=j,me.relatedTarget=Fe,$=me),Fe=$,U&&se)t:{for(me=u0,C=U,E=se,j=0,$=C;$;$=me($))j++;$=0;for(var he=E;he;he=me(he))$++;for(;0<j-$;)C=me(C),j--;for(;0<$-j;)E=me(E),$--;for(;j--;){if(C===E||E!==null&&C===E.alternate){me=C;break t}C=me(C),E=me(E)}me=null}else me=null;U!==null&&Dg(q,L,U,me,!1),se!==null&&Fe!==null&&Dg(q,Fe,se,me,!0)}}e:{if(L=N?Ha(N):window,U=L.nodeName&&L.nodeName.toLowerCase(),U==="select"||U==="input"&&L.type==="file")var Ue=Y;else if(lo(L))if(ne)Ue=Ps;else{Ue=Bs;var ce=du}else U=L.nodeName,!U||U.toLowerCase()!=="input"||L.type!=="checkbox"&&L.type!=="radio"?N&&ji(N.elementType)&&(Ue=Y):Ue=co;if(Ue&&(Ue=Ue(e,N))){oo(q,Ue,a,P);break e}ce&&ce(e,L,N),e==="focusout"&&N&&L.type==="number"&&N.memoizedProps.value!=null&&$a(L,"number",L.value)}switch(ce=N?Ha(N):window,e){case"focusin":(lo(ce)||ce.contentEditable==="true")&&(kr=ce,fu=N,$s=null);break;case"focusout":$s=fu=kr=null;break;case"mousedown":mu=!0;break;case"contextmenu":case"mouseup":case"dragend":mu=!1,lf(q,a,P);break;case"selectionchange":if(Tv)break;case"keydown":case"keyup":lf(q,a,P)}var Ae;if(Us)e:{switch(e){case"compositionstart":var Oe="onCompositionStart";break e;case"compositionend":Oe="onCompositionEnd";break e;case"compositionupdate":Oe="onCompositionUpdate";break e}Oe=void 0}else Fa?ro(e,a)&&(Oe="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(Oe="onCompositionStart");Oe&&(zi&&a.locale!=="ko"&&(Fa||Oe!=="onCompositionStart"?Oe==="onCompositionEnd"&&Fa&&(Ae=Kn()):(Vn=P,Rs="value"in Vn?Vn.value:Vn.textContent,Fa=!0)),ce=Qo(N,Oe),0<ce.length&&(Oe=new to(Oe,e,null,a,P),q.push({event:Oe,listeners:ce}),Ae?Oe.data=Ae:(Ae=so(a),Ae!==null&&(Oe.data=Ae)))),(Ae=io?cu(e,a):uu(e,a))&&(Oe=Qo(N,"onBeforeInput"),0<Oe.length&&(ce=new to("onBeforeInput","beforeinput",null,a,P),q.push({event:ce,listeners:Oe}),ce.data=Ae)),s0(q,e,N,a,P)}Lg(q,t)})}function hl(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Qo(e,t){for(var a=t+"Capture",s=[];e!==null;){var o=e,u=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||u===null||(o=Ni(e,a),o!=null&&s.unshift(hl(e,o,u)),o=Ni(e,t),o!=null&&s.push(hl(e,o,u))),e.tag===3)return s;e=e.return}return[]}function u0(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Dg(e,t,a,s,o){for(var u=t._reactName,g=[];a!==null&&a!==s;){var v=a,k=v.alternate,N=v.stateNode;if(v=v.tag,k!==null&&k===s)break;v!==5&&v!==26&&v!==27||N===null||(k=N,o?(N=Ni(a,u),N!=null&&g.unshift(hl(a,N,k))):o||(N=Ni(a,u),N!=null&&g.push(hl(a,N,k)))),a=a.return}g.length!==0&&e.push({event:t,listeners:g})}var d0=/\r\n?/g,h0=/\u0000|\uFFFD/g;function Ug(e){return(typeof e=="string"?e:""+e).replace(d0,`
|
|
9
|
-
`).replace(h0,"")}function zg(e,t){return t=Ug(t),Ug(e)===t}function Ke(e,t,a,s,o,u){switch(a){case"children":typeof s=="string"?t==="body"||t==="textarea"&&s===""||On(e,s):(typeof s=="number"||typeof s=="bigint")&&t!=="body"&&On(e,""+s);break;case"className":la(e,"class",s);break;case"tabIndex":la(e,"tabindex",s);break;case"dir":case"role":case"viewBox":case"width":case"height":la(e,a,s);break;case"style":Es(e,s,u);break;case"data":if(t!=="object"){la(e,"data",s);break}case"src":case"href":if(s===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(s==null||typeof s=="function"||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(a);break}s=jn(""+s),e.setAttribute(a,s);break;case"action":case"formAction":if(typeof s=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof u=="function"&&(a==="formAction"?(t!=="input"&&Ke(e,t,"name",o.name,o,null),Ke(e,t,"formEncType",o.formEncType,o,null),Ke(e,t,"formMethod",o.formMethod,o,null),Ke(e,t,"formTarget",o.formTarget,o,null)):(Ke(e,t,"encType",o.encType,o,null),Ke(e,t,"method",o.method,o,null),Ke(e,t,"target",o.target,o,null)));if(s==null||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(a);break}s=jn(""+s),e.setAttribute(a,s);break;case"onClick":s!=null&&(e.onclick=Nn);break;case"onScroll":s!=null&&Ce("scroll",e);break;case"onScrollEnd":s!=null&&Ce("scrollend",e);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(l(61));if(a=s.__html,a!=null){if(o.children!=null)throw Error(l(60));e.innerHTML=a}}break;case"multiple":e.multiple=s&&typeof s!="function"&&typeof s!="symbol";break;case"muted":e.muted=s&&typeof s!="function"&&typeof s!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(s==null||typeof s=="function"||typeof s=="boolean"||typeof s=="symbol"){e.removeAttribute("xlink:href");break}a=jn(""+s),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(a,""+s):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":s&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":s===!0?e.setAttribute(a,""):s!==!1&&s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(a,s):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":s!=null&&typeof s!="function"&&typeof s!="symbol"&&!isNaN(s)&&1<=s?e.setAttribute(a,s):e.removeAttribute(a);break;case"rowSpan":case"start":s==null||typeof s=="function"||typeof s=="symbol"||isNaN(s)?e.removeAttribute(a):e.setAttribute(a,s);break;case"popover":Ce("beforetoggle",e),Ce("toggle",e),Ei(e,"popover",s);break;case"xlinkActuate":Rn(e,"http://www.w3.org/1999/xlink","xlink:actuate",s);break;case"xlinkArcrole":Rn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",s);break;case"xlinkRole":Rn(e,"http://www.w3.org/1999/xlink","xlink:role",s);break;case"xlinkShow":Rn(e,"http://www.w3.org/1999/xlink","xlink:show",s);break;case"xlinkTitle":Rn(e,"http://www.w3.org/1999/xlink","xlink:title",s);break;case"xlinkType":Rn(e,"http://www.w3.org/1999/xlink","xlink:type",s);break;case"xmlBase":Rn(e,"http://www.w3.org/XML/1998/namespace","xml:base",s);break;case"xmlLang":Rn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",s);break;case"xmlSpace":Rn(e,"http://www.w3.org/XML/1998/namespace","xml:space",s);break;case"is":Ei(e,"is",s);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=yr.get(a)||a,Ei(e,a,s))}}function Pd(e,t,a,s,o,u){switch(a){case"style":Es(e,s,u);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(l(61));if(a=s.__html,a!=null){if(o.children!=null)throw Error(l(60));e.innerHTML=a}}break;case"children":typeof s=="string"?On(e,s):(typeof s=="number"||typeof s=="bigint")&&On(e,""+s);break;case"onScroll":s!=null&&Ce("scroll",e);break;case"onScrollEnd":s!=null&&Ce("scrollend",e);break;case"onClick":s!=null&&(e.onclick=Nn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!mr.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(o=a.endsWith("Capture"),t=a.slice(2,o?a.length-7:void 0),u=e[Je]||null,u=u!=null?u[a]:null,typeof u=="function"&&e.removeEventListener(t,u,o),typeof s=="function")){typeof u!="function"&&u!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,s,o);break e}a in e?e[a]=s:s===!0?e.setAttribute(a,""):Ei(e,a,s)}}}function jt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ce("error",e),Ce("load",e);var s=!1,o=!1,u;for(u in a)if(a.hasOwnProperty(u)){var g=a[u];if(g!=null)switch(u){case"src":s=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(l(137,t));default:Ke(e,t,u,g,a,null)}}o&&Ke(e,t,"srcSet",a.srcSet,a,null),s&&Ke(e,t,"src",a.src,a,null);return;case"input":Ce("invalid",e);var v=u=g=o=null,k=null,N=null;for(s in a)if(a.hasOwnProperty(s)){var P=a[s];if(P!=null)switch(s){case"name":o=P;break;case"type":g=P;break;case"checked":k=P;break;case"defaultChecked":N=P;break;case"value":u=P;break;case"defaultValue":v=P;break;case"children":case"dangerouslySetInnerHTML":if(P!=null)throw Error(l(137,t));break;default:Ke(e,t,s,P,a,null)}}pr(e,u,v,k,N,g,o,!1);return;case"select":Ce("invalid",e),s=g=u=null;for(o in a)if(a.hasOwnProperty(o)&&(v=a[o],v!=null))switch(o){case"value":u=v;break;case"defaultValue":g=v;break;case"multiple":s=v;default:Ke(e,t,o,v,a,null)}t=u,a=g,e.multiple=!!s,t!=null?oa(e,!!s,t,!1):a!=null&&oa(e,!!s,a,!0);return;case"textarea":Ce("invalid",e),u=o=s=null;for(g in a)if(a.hasOwnProperty(g)&&(v=a[g],v!=null))switch(g){case"value":s=v;break;case"defaultValue":o=v;break;case"children":u=v;break;case"dangerouslySetInnerHTML":if(v!=null)throw Error(l(91));break;default:Ke(e,t,g,v,a,null)}Oi(e,s,o,u);return;case"option":for(k in a)a.hasOwnProperty(k)&&(s=a[k],s!=null)&&(k==="selected"?e.selected=s&&typeof s!="function"&&typeof s!="symbol":Ke(e,t,k,s,a,null));return;case"dialog":Ce("beforetoggle",e),Ce("toggle",e),Ce("cancel",e),Ce("close",e);break;case"iframe":case"object":Ce("load",e);break;case"video":case"audio":for(s=0;s<dl.length;s++)Ce(dl[s],e);break;case"image":Ce("error",e),Ce("load",e);break;case"details":Ce("toggle",e);break;case"embed":case"source":case"link":Ce("error",e),Ce("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(N in a)if(a.hasOwnProperty(N)&&(s=a[N],s!=null))switch(N){case"children":case"dangerouslySetInnerHTML":throw Error(l(137,t));default:Ke(e,t,N,s,a,null)}return;default:if(ji(t)){for(P in a)a.hasOwnProperty(P)&&(s=a[P],s!==void 0&&Pd(e,t,P,s,a,void 0));return}}for(v in a)a.hasOwnProperty(v)&&(s=a[v],s!=null&&Ke(e,t,v,s,a,null))}function f0(e,t,a,s){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var o=null,u=null,g=null,v=null,k=null,N=null,P=null;for(U in a){var q=a[U];if(a.hasOwnProperty(U)&&q!=null)switch(U){case"checked":break;case"value":break;case"defaultValue":k=q;default:s.hasOwnProperty(U)||Ke(e,t,U,null,s,q)}}for(var L in s){var U=s[L];if(q=a[L],s.hasOwnProperty(L)&&(U!=null||q!=null))switch(L){case"type":u=U;break;case"name":o=U;break;case"checked":N=U;break;case"defaultChecked":P=U;break;case"value":g=U;break;case"defaultValue":v=U;break;case"children":case"dangerouslySetInnerHTML":if(U!=null)throw Error(l(137,t));break;default:U!==q&&Ke(e,t,L,U,s,q)}}gr(e,g,v,k,N,P,u,o);return;case"select":U=g=v=L=null;for(u in a)if(k=a[u],a.hasOwnProperty(u)&&k!=null)switch(u){case"value":break;case"multiple":U=k;default:s.hasOwnProperty(u)||Ke(e,t,u,null,s,k)}for(o in s)if(u=s[o],k=a[o],s.hasOwnProperty(o)&&(u!=null||k!=null))switch(o){case"value":L=u;break;case"defaultValue":v=u;break;case"multiple":g=u;default:u!==k&&Ke(e,t,o,u,s,k)}t=v,a=g,s=U,L!=null?oa(e,!!a,L,!1):!!s!=!!a&&(t!=null?oa(e,!!a,t,!0):oa(e,!!a,a?[]:"",!1));return;case"textarea":U=L=null;for(v in a)if(o=a[v],a.hasOwnProperty(v)&&o!=null&&!s.hasOwnProperty(v))switch(v){case"value":break;case"children":break;default:Ke(e,t,v,null,s,o)}for(g in s)if(o=s[g],u=a[g],s.hasOwnProperty(g)&&(o!=null||u!=null))switch(g){case"value":L=o;break;case"defaultValue":U=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(l(91));break;default:o!==u&&Ke(e,t,g,o,s,u)}ks(e,L,U);return;case"option":for(var se in a)L=a[se],a.hasOwnProperty(se)&&L!=null&&!s.hasOwnProperty(se)&&(se==="selected"?e.selected=!1:Ke(e,t,se,null,s,L));for(k in s)L=s[k],U=a[k],s.hasOwnProperty(k)&&L!==U&&(L!=null||U!=null)&&(k==="selected"?e.selected=L&&typeof L!="function"&&typeof L!="symbol":Ke(e,t,k,L,s,U));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var me in a)L=a[me],a.hasOwnProperty(me)&&L!=null&&!s.hasOwnProperty(me)&&Ke(e,t,me,null,s,L);for(N in s)if(L=s[N],U=a[N],s.hasOwnProperty(N)&&L!==U&&(L!=null||U!=null))switch(N){case"children":case"dangerouslySetInnerHTML":if(L!=null)throw Error(l(137,t));break;default:Ke(e,t,N,L,s,U)}return;default:if(ji(t)){for(var Fe in a)L=a[Fe],a.hasOwnProperty(Fe)&&L!==void 0&&!s.hasOwnProperty(Fe)&&Pd(e,t,Fe,void 0,s,L);for(P in s)L=s[P],U=a[P],!s.hasOwnProperty(P)||L===U||L===void 0&&U===void 0||Pd(e,t,P,L,s,U);return}}for(var C in a)L=a[C],a.hasOwnProperty(C)&&L!=null&&!s.hasOwnProperty(C)&&Ke(e,t,C,null,s,L);for(q in s)L=s[q],U=a[q],!s.hasOwnProperty(q)||L===U||L==null&&U==null||Ke(e,t,q,L,s,U)}function Bg(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function m0(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),s=0;s<a.length;s++){var o=a[s],u=o.transferSize,g=o.initiatorType,v=o.duration;if(u&&v&&Bg(g)){for(g=0,v=o.responseEnd,s+=1;s<a.length;s++){var k=a[s],N=k.startTime;if(N>v)break;var P=k.transferSize,q=k.initiatorType;P&&Bg(q)&&(k=k.responseEnd,g+=P*(k<v?1:(v-N)/(k-N)))}if(--s,t+=8*(u+g)/(o.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Hd=null,$d=null;function Zo(e){return e.nodeType===9?e:e.ownerDocument}function Pg(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Hg(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function qd(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Id=null;function g0(){var e=window.event;return e&&e.type==="popstate"?e===Id?!1:(Id=e,!0):(Id=null,!1)}var $g=typeof setTimeout=="function"?setTimeout:void 0,p0=typeof clearTimeout=="function"?clearTimeout:void 0,qg=typeof Promise=="function"?Promise:void 0,y0=typeof queueMicrotask=="function"?queueMicrotask:typeof qg<"u"?function(e){return qg.resolve(null).then(e).catch(v0)}:$g;function v0(e){setTimeout(function(){throw e})}function ui(e){return e==="head"}function Ig(e,t){var a=t,s=0;do{var o=a.nextSibling;if(e.removeChild(a),o&&o.nodeType===8)if(a=o.data,a==="/$"||a==="/&"){if(s===0){e.removeChild(o),Xr(t);return}s--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")s++;else if(a==="html")fl(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,fl(a);for(var u=a.firstChild;u;){var g=u.nextSibling,v=u.nodeName;u[ki]||v==="SCRIPT"||v==="STYLE"||v==="LINK"&&u.rel.toLowerCase()==="stylesheet"||a.removeChild(u),u=g}}else a==="body"&&fl(e.ownerDocument.body);a=o}while(a);Xr(t)}function Gg(e,t){var a=e;e=0;do{var s=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),s&&s.nodeType===8)if(a=s.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=s}while(a)}function Gd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":Gd(a),Ze(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function b0(e,t,a,s){for(;e.nodeType===1;){var o=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!s&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(s){if(!e[ki])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(u=e.getAttribute("rel"),u==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(u!==o.rel||e.getAttribute("href")!==(o.href==null||o.href===""?null:o.href)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin)||e.getAttribute("title")!==(o.title==null?null:o.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(u=e.getAttribute("src"),(u!==(o.src==null?null:o.src)||e.getAttribute("type")!==(o.type==null?null:o.type)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin))&&u&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var u=o.name==null?null:""+o.name;if(o.type==="hidden"&&e.getAttribute("name")===u)return e}else return e;if(e=kn(e.nextSibling),e===null)break}return null}function S0(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=kn(e.nextSibling),e===null))return null;return e}function Vg(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=kn(e.nextSibling),e===null))return null;return e}function Vd(e){return e.data==="$?"||e.data==="$~"}function Kd(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function w0(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var s=function(){t(),a.removeEventListener("DOMContentLoaded",s)};a.addEventListener("DOMContentLoaded",s),e._reactRetry=s}}function kn(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Fd=null;function Kg(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return kn(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function Fg(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function Yg(e,t,a){switch(t=Zo(a),e){case"html":if(e=t.documentElement,!e)throw Error(l(452));return e;case"head":if(e=t.head,!e)throw Error(l(453));return e;case"body":if(e=t.body,!e)throw Error(l(454));return e;default:throw Error(l(451))}}function fl(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Ze(e)}var An=new Map,Wg=new Set;function ec(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Ea=H.d;H.d={f:_0,r:T0,D:k0,C:A0,L:E0,m:x0,X:R0,S:C0,M:O0};function _0(){var e=Ea.f(),t=Vo();return e||t}function T0(e){var t=Pa(e);t!==null&&t.tag===5&&t.type==="form"?hm(t):Ea.r(e)}var Yr=typeof document>"u"?null:document;function Jg(e,t,a){var s=Yr;if(s&&typeof t=="string"&&t){var o=It(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof a=="string"&&(o+='[crossorigin="'+a+'"]'),Wg.has(o)||(Wg.add(o),e={rel:e,crossOrigin:a,href:t},s.querySelector(o)===null&&(t=s.createElement("link"),jt(t,"link",e),ut(t),s.head.appendChild(t)))}}function k0(e){Ea.D(e),Jg("dns-prefetch",e,null)}function A0(e,t){Ea.C(e,t),Jg("preconnect",e,t)}function E0(e,t,a){Ea.L(e,t,a);var s=Yr;if(s&&e&&t){var o='link[rel="preload"][as="'+It(t)+'"]';t==="image"&&a&&a.imageSrcSet?(o+='[imagesrcset="'+It(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(o+='[imagesizes="'+It(a.imageSizes)+'"]')):o+='[href="'+It(e)+'"]';var u=o;switch(t){case"style":u=Wr(e);break;case"script":u=Jr(e)}An.has(u)||(e=S({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),An.set(u,e),s.querySelector(o)!==null||t==="style"&&s.querySelector(ml(u))||t==="script"&&s.querySelector(gl(u))||(t=s.createElement("link"),jt(t,"link",e),ut(t),s.head.appendChild(t)))}}function x0(e,t){Ea.m(e,t);var a=Yr;if(a&&e){var s=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+It(s)+'"][href="'+It(e)+'"]',u=o;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Jr(e)}if(!An.has(u)&&(e=S({rel:"modulepreload",href:e},t),An.set(u,e),a.querySelector(o)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(gl(u)))return}s=a.createElement("link"),jt(s,"link",e),ut(s),a.head.appendChild(s)}}}function C0(e,t,a){Ea.S(e,t,a);var s=Yr;if(s&&e){var o=Bt(s).hoistableStyles,u=Wr(e);t=t||"default";var g=o.get(u);if(!g){var v={loading:0,preload:null};if(g=s.querySelector(ml(u)))v.loading=5;else{e=S({rel:"stylesheet",href:e,"data-precedence":t},a),(a=An.get(u))&&Yd(e,a);var k=g=s.createElement("link");ut(k),jt(k,"link",e),k._p=new Promise(function(N,P){k.onload=N,k.onerror=P}),k.addEventListener("load",function(){v.loading|=1}),k.addEventListener("error",function(){v.loading|=2}),v.loading|=4,tc(g,t,s)}g={type:"stylesheet",instance:g,count:1,state:v},o.set(u,g)}}}function R0(e,t){Ea.X(e,t);var a=Yr;if(a&&e){var s=Bt(a).hoistableScripts,o=Jr(e),u=s.get(o);u||(u=a.querySelector(gl(o)),u||(e=S({src:e,async:!0},t),(t=An.get(o))&&Wd(e,t),u=a.createElement("script"),ut(u),jt(u,"link",e),a.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},s.set(o,u))}}function O0(e,t){Ea.M(e,t);var a=Yr;if(a&&e){var s=Bt(a).hoistableScripts,o=Jr(e),u=s.get(o);u||(u=a.querySelector(gl(o)),u||(e=S({src:e,async:!0,type:"module"},t),(t=An.get(o))&&Wd(e,t),u=a.createElement("script"),ut(u),jt(u,"link",e),a.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},s.set(o,u))}}function Xg(e,t,a,s){var o=(o=Se.current)?ec(o):null;if(!o)throw Error(l(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Wr(a.href),a=Bt(o).hoistableStyles,s=a.get(t),s||(s={type:"style",instance:null,count:0,state:null},a.set(t,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Wr(a.href);var u=Bt(o).hoistableStyles,g=u.get(e);if(g||(o=o.ownerDocument||o,g={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,g),(u=o.querySelector(ml(e)))&&!u._p&&(g.instance=u,g.state.loading=5),An.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},An.set(e,a),u||j0(o,e,a,g.state))),t&&s===null)throw Error(l(528,""));return g}if(t&&s!==null)throw Error(l(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Jr(a),a=Bt(o).hoistableScripts,s=a.get(t),s||(s={type:"script",instance:null,count:0,state:null},a.set(t,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,e))}}function Wr(e){return'href="'+It(e)+'"'}function ml(e){return'link[rel="stylesheet"]['+e+"]"}function Qg(e){return S({},e,{"data-precedence":e.precedence,precedence:null})}function j0(e,t,a,s){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?s.loading=1:(t=e.createElement("link"),s.preload=t,t.addEventListener("load",function(){return s.loading|=1}),t.addEventListener("error",function(){return s.loading|=2}),jt(t,"link",a),ut(t),e.head.appendChild(t))}function Jr(e){return'[src="'+It(e)+'"]'}function gl(e){return"script[async]"+e}function Zg(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var s=e.querySelector('style[data-href~="'+It(a.href)+'"]');if(s)return t.instance=s,ut(s),s;var o=S({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),ut(s),jt(s,"style",o),tc(s,a.precedence,e),t.instance=s;case"stylesheet":o=Wr(a.href);var u=e.querySelector(ml(o));if(u)return t.state.loading|=4,t.instance=u,ut(u),u;s=Qg(a),(o=An.get(o))&&Yd(s,o),u=(e.ownerDocument||e).createElement("link"),ut(u);var g=u;return g._p=new Promise(function(v,k){g.onload=v,g.onerror=k}),jt(u,"link",s),t.state.loading|=4,tc(u,a.precedence,e),t.instance=u;case"script":return u=Jr(a.src),(o=e.querySelector(gl(u)))?(t.instance=o,ut(o),o):(s=a,(o=An.get(u))&&(s=S({},a),Wd(s,o)),e=e.ownerDocument||e,o=e.createElement("script"),ut(o),jt(o,"link",s),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(l(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(s=t.instance,t.state.loading|=4,tc(s,a.precedence,e));return t.instance}function tc(e,t,a){for(var s=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=s.length?s[s.length-1]:null,u=o,g=0;g<s.length;g++){var v=s[g];if(v.dataset.precedence===t)u=v;else if(u!==o)break}u?u.parentNode.insertBefore(e,u.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Yd(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Wd(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var nc=null;function ep(e,t,a){if(nc===null){var s=new Map,o=nc=new Map;o.set(a,s)}else o=nc,s=o.get(a),s||(s=new Map,o.set(a,s));if(s.has(e))return s;for(s.set(e,null),a=a.getElementsByTagName(e),o=0;o<a.length;o++){var u=a[o];if(!(u[ki]||u[W]||e==="link"&&u.getAttribute("rel")==="stylesheet")&&u.namespaceURI!=="http://www.w3.org/2000/svg"){var g=u.getAttribute(t)||"";g=e+g;var v=s.get(g);v?v.push(u):s.set(g,[u])}}return s}function tp(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function N0(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function np(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function L0(e,t,a,s){if(a.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var o=Wr(s.href),u=t.querySelector(ml(o));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ac.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=u,ut(u);return}u=t.ownerDocument||t,s=Qg(s),(o=An.get(o))&&Yd(s,o),u=u.createElement("link"),ut(u);var g=u;g._p=new Promise(function(v,k){g.onload=v,g.onerror=k}),jt(u,"link",s),a.instance=u}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=ac.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Jd=0;function M0(e,t){return e.stylesheets&&e.count===0&&rc(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var s=setTimeout(function(){if(e.stylesheets&&rc(e,e.stylesheets),e.unsuspend){var u=e.unsuspend;e.unsuspend=null,u()}},6e4+t);0<e.imgBytes&&Jd===0&&(Jd=62500*m0());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&rc(e,e.stylesheets),e.unsuspend)){var u=e.unsuspend;e.unsuspend=null,u()}},(e.imgBytes>Jd?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(o)}}:null}function ac(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)rc(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var ic=null;function rc(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ic=new Map,t.forEach(D0,e),ic=null,ac.call(e))}function D0(e,t){if(!(t.state.loading&4)){var a=ic.get(e);if(a)var s=a.get(null);else{a=new Map,ic.set(e,a);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u<o.length;u++){var g=o[u];(g.nodeName==="LINK"||g.getAttribute("media")!=="not all")&&(a.set(g.dataset.precedence,g),s=g)}s&&a.set(null,s)}o=t.instance,g=o.getAttribute("data-precedence"),u=a.get(g)||s,u===s&&a.set(null,o),a.set(g,o),this.count++,s=ac.bind(this),o.addEventListener("load",s),o.addEventListener("error",s),u?u.parentNode.insertBefore(o,u.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(o,e.firstChild)),t.state.loading|=4}}var pl={$$typeof:F,Provider:null,Consumer:null,_currentValue:Q,_currentValue2:Q,_threadCount:0};function U0(e,t,a,s,o,u,g,v,k){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=dr(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=dr(0),this.hiddenUpdates=dr(null),this.identifierPrefix=s,this.onUncaughtError=o,this.onCaughtError=u,this.onRecoverableError=g,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=k,this.incompleteTransitions=new Map}function ap(e,t,a,s,o,u,g,v,k,N,P,q){return e=new U0(e,t,a,g,k,N,P,q,v),t=1,u===!0&&(t|=24),u=ln(3,null,null,t),e.current=u,u.stateNode=e,t=Ru(),t.refCount++,e.pooledCache=t,t.refCount++,u.memoizedState={element:s,isDehydrated:a,cache:t},Lu(u),e}function ip(e){return e?(e=xr,e):xr}function rp(e,t,a,s,o,u){o=ip(o),s.context===null?s.context=o:s.pendingContext=o,s=Za(t),s.payload={element:a},u=u===void 0?null:u,u!==null&&(s.callback=u),a=ei(e,s,t),a!==null&&(Yt(a,e,t),Ys(a,e,t))}function sp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Xd(e,t){sp(e,t),(e=e.alternate)&&sp(e,t)}function lp(e){if(e.tag===13||e.tag===31){var t=Hi(e,67108864);t!==null&&Yt(t,e,67108864),Xd(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=hn();t=Ua(t);var a=Hi(e,t);a!==null&&Yt(a,e,t),Xd(e,t)}}var sc=!0;function z0(e,t,a,s){var o=_.T;_.T=null;var u=H.p;try{H.p=2,Qd(e,t,a,s)}finally{H.p=u,_.T=o}}function B0(e,t,a,s){var o=_.T;_.T=null;var u=H.p;try{H.p=8,Qd(e,t,a,s)}finally{H.p=u,_.T=o}}function Qd(e,t,a,s){if(sc){var o=Zd(s);if(o===null)Bd(e,t,s,lc,a),up(e,s);else if(H0(o,e,t,a,s))s.stopPropagation();else if(up(e,s),t&4&&-1<P0.indexOf(e)){for(;o!==null;){var u=Pa(o);if(u!==null)switch(u.tag){case 3:if(u=u.stateNode,u.current.memoizedState.isDehydrated){var g=Gn(u.pendingLanes);if(g!==0){var v=u;for(v.pendingLanes|=2,v.entangledLanes|=2;g;){var k=1<<31-wt(g);v.entanglements[1]|=k,g&=~k}Jn(u),(Be&6)===0&&(Io=Pe()+500,ul(0))}}break;case 31:case 13:v=Hi(u,2),v!==null&&Yt(v,u,2),Vo(),Xd(u,2)}if(u=Zd(s),u===null&&Bd(e,t,s,lc,a),u===o)break;o=u}o!==null&&s.stopPropagation()}else Bd(e,t,s,null,a)}}function Zd(e){return e=vr(e),eh(e)}var lc=null;function eh(e){if(lc=null,e=tn(e),e!==null){var t=d(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=h(t),e!==null)return e;e=null}else if(a===31){if(e=m(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return lc=e,null}function cp(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(vs()){case Si:return 2;case or:return 8;case cr:case Hc:return 32;case ur:return 268435456;default:return 32}default:return 32}}var th=!1,di=null,hi=null,fi=null,yl=new Map,vl=new Map,mi=[],P0="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function up(e,t){switch(e){case"focusin":case"focusout":di=null;break;case"dragenter":case"dragleave":hi=null;break;case"mouseover":case"mouseout":fi=null;break;case"pointerover":case"pointerout":yl.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":vl.delete(t.pointerId)}}function bl(e,t,a,s,o,u){return e===null||e.nativeEvent!==u?(e={blockedOn:t,domEventName:a,eventSystemFlags:s,nativeEvent:u,targetContainers:[o]},t!==null&&(t=Pa(t),t!==null&&lp(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function H0(e,t,a,s,o){switch(t){case"focusin":return di=bl(di,e,t,a,s,o),!0;case"dragenter":return hi=bl(hi,e,t,a,s,o),!0;case"mouseover":return fi=bl(fi,e,t,a,s,o),!0;case"pointerover":var u=o.pointerId;return yl.set(u,bl(yl.get(u)||null,e,t,a,s,o)),!0;case"gotpointercapture":return u=o.pointerId,vl.set(u,bl(vl.get(u)||null,e,t,a,s,o)),!0}return!1}function dp(e){var t=tn(e.target);if(t!==null){var a=d(t);if(a!==null){if(t=a.tag,t===13){if(t=h(a),t!==null){e.blockedOn=t,za(e.priority,function(){op(a)});return}}else if(t===31){if(t=m(a),t!==null){e.blockedOn=t,za(e.priority,function(){op(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function oc(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Zd(e.nativeEvent);if(a===null){a=e.nativeEvent;var s=new a.constructor(a.type,a);Ln=s,a.target.dispatchEvent(s),Ln=null}else return t=Pa(a),t!==null&&lp(t),e.blockedOn=a,!1;t.shift()}return!0}function hp(e,t,a){oc(e)&&a.delete(t)}function $0(){th=!1,di!==null&&oc(di)&&(di=null),hi!==null&&oc(hi)&&(hi=null),fi!==null&&oc(fi)&&(fi=null),yl.forEach(hp),vl.forEach(hp)}function cc(e,t){e.blockedOn===t&&(e.blockedOn=null,th||(th=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,$0)))}var uc=null;function fp(e){uc!==e&&(uc=e,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){uc===e&&(uc=null);for(var t=0;t<e.length;t+=3){var a=e[t],s=e[t+1],o=e[t+2];if(typeof s!="function"){if(eh(s||a)===null)continue;break}var u=Pa(a);u!==null&&(e.splice(t,3),t-=3,Zu(u,{pending:!0,data:o,method:a.method,action:s},s,o))}}))}function Xr(e){function t(k){return cc(k,e)}di!==null&&cc(di,e),hi!==null&&cc(hi,e),fi!==null&&cc(fi,e),yl.forEach(t),vl.forEach(t);for(var a=0;a<mi.length;a++){var s=mi[a];s.blockedOn===e&&(s.blockedOn=null)}for(;0<mi.length&&(a=mi[0],a.blockedOn===null);)dp(a),a.blockedOn===null&&mi.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(s=0;s<a.length;s+=3){var o=a[s],u=a[s+1],g=o[Je]||null;if(typeof u=="function")g||fp(a);else if(g){var v=null;if(u&&u.hasAttribute("formAction")){if(o=u,g=u[Je]||null)v=g.formAction;else if(eh(o)!==null)continue}else v=g.action;typeof v=="function"?a[s+1]=v:(a.splice(s,3),s-=3),fp(a)}}}function mp(){function e(u){u.canIntercept&&u.info==="react-transition"&&u.intercept({handler:function(){return new Promise(function(g){return o=g})},focusReset:"manual",scroll:"manual"})}function t(){o!==null&&(o(),o=null),s||setTimeout(a,20)}function a(){if(!s&&!navigation.transition){var u=navigation.currentEntry;u&&u.url!=null&&navigation.navigate(u.url,{state:u.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var s=!1,o=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){s=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),o!==null&&(o(),o=null)}}}function nh(e){this._internalRoot=e}dc.prototype.render=nh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(l(409));var a=t.current,s=hn();rp(a,s,e,t,null,null)},dc.prototype.unmount=nh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;rp(e.current,2,null,e,null,null),Vo(),t[Ba]=null}};function dc(e){this._internalRoot=e}dc.prototype.unstable_scheduleHydration=function(e){if(e){var t=fr();e={blockedOn:null,target:e,priority:t};for(var a=0;a<mi.length&&t!==0&&t<mi[a].priority;a++);mi.splice(a,0,e),a===0&&dp(e)}};var gp=n.version;if(gp!=="19.2.7")throw Error(l(527,gp,"19.2.7"));H.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(l(188)):(e=Object.keys(e).join(","),Error(l(268,e)));return e=y(t),e=e!==null?w(e):null,e=e===null?null:e.stateNode,e};var q0={bundleType:0,version:"19.2.7",rendererPackageName:"react-dom",currentDispatcherRef:_,reconcilerVersion:"19.2.7"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var hc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!hc.isDisabled&&hc.supportsFiber)try{aa=hc.inject(q0),At=hc}catch{}}return wl.createRoot=function(e,t){if(!c(e))throw Error(l(299));var a=!1,s="",o=_m,u=Tm,g=km;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(s=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(u=t.onCaughtError),t.onRecoverableError!==void 0&&(g=t.onRecoverableError)),t=ap(e,1,!1,null,null,a,s,null,o,u,g,mp),e[Ba]=t.current,zd(e),new nh(t)},wl.hydrateRoot=function(e,t,a){if(!c(e))throw Error(l(299));var s=!1,o="",u=_m,g=Tm,v=km,k=null;return a!=null&&(a.unstable_strictMode===!0&&(s=!0),a.identifierPrefix!==void 0&&(o=a.identifierPrefix),a.onUncaughtError!==void 0&&(u=a.onUncaughtError),a.onCaughtError!==void 0&&(g=a.onCaughtError),a.onRecoverableError!==void 0&&(v=a.onRecoverableError),a.formState!==void 0&&(k=a.formState)),t=ap(e,1,!0,t,a??null,s,o,k,u,g,v,mp),t.context=ip(null),a=t.current,s=hn(),s=Ua(s),o=Za(s),o.callback=null,ei(a,o,s),a=s,t.current.lanes=a,Da(t,a),Jn(t),e[Ba]=t.current,zd(e),new dc(t)},wl.version="19.2.7",wl}var Ap;function Q0(){if(Ap)return rh.exports;Ap=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(n){console.error(n)}}return i(),rh.exports=X0(),rh.exports}var Z0=Q0();const eb=i=>i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),tb=i=>i.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,l)=>l?l.toUpperCase():r.toLowerCase()),Ep=i=>{const n=tb(i);return n.charAt(0).toUpperCase()+n.slice(1)},My=(...i)=>i.filter((n,r,l)=>!!n&&n.trim()!==""&&l.indexOf(n)===r).join(" ").trim(),nb=i=>{for(const n in i)if(n.startsWith("aria-")||n==="role"||n==="title")return!0};var ab={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const ib=O.forwardRef(({color:i="currentColor",size:n=24,strokeWidth:r=2,absoluteStrokeWidth:l,className:c="",children:d,iconNode:h,...m},f)=>O.createElement("svg",{ref:f,...ab,width:n,height:n,stroke:i,strokeWidth:l?Number(r)*24/Number(n):r,className:My("lucide",c),...!d&&!nb(m)&&{"aria-hidden":"true"},...m},[...h.map(([y,w])=>O.createElement(y,w)),...Array.isArray(d)?d:[d]]));const Ge=(i,n)=>{const r=O.forwardRef(({className:l,...c},d)=>O.createElement(ib,{ref:d,iconNode:n,className:My(`lucide-${eb(Ep(i))}`,`lucide-${i}`,l),...c}));return r.displayName=Ep(i),r};const rb=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],ch=Ge("activity",rb);const sb=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],lb=Ge("badge-check",sb);const ob=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],Oh=Ge("book-open",ob);const cb=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Dy=Ge("chevron-left",cb);const ub=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Uy=Ge("chevron-right",ub);const db=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],hb=Ge("circle-check",db);const fb=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]],_l=Ge("clipboard",fb);const mb=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],xl=Ge("credit-card",mb);const gb=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],uh=Ge("database",gb);const pb=[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],yb=Ge("earth",pb);const vb=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],dh=Ge("folder-open",vb);const bb=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],zy=Ge("layout-grid",bb);const Sb=[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]],wb=Ge("lock-keyhole",Sb);const _b=[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]],hh=Ge("log-in",_b);const Tb=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],kb=Ge("log-out",Tb);const Ab=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],cs=Ge("monitor",Ab);const Eb=[["path",{d:"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",key:"edeuup"}]],jh=Ge("mouse-pointer-2",Eb);const xb=[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]],xp=Ge("play",xb);const Cb=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],Rb=Ge("power",Cb);const Ob=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],jb=Ge("rotate-ccw",Ob);const Nb=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],fh=Ge("send",Nb);const Lb=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],mh=Ge("server",Lb);const Mb=[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],By=Ge("settings",Mb);const Db=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Cp=Ge("shield-check",Db);const Ub=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],zb=Ge("star",Ub);const Bb=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],rs=Ge("terminal",Bb);const Pb=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],Rp=Ge("volume-2",Pb);const Hb=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],Op=Ge("wifi",Hb);const $b=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],jp=Ge("x",$b);function Mc(i,n){var r={};for(var l in i)Object.prototype.hasOwnProperty.call(i,l)&&n.indexOf(l)<0&&(r[l]=i[l]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var c=0,l=Object.getOwnPropertySymbols(i);c<l.length;c++)n.indexOf(l[c])<0&&Object.prototype.propertyIsEnumerable.call(i,l[c])&&(r[l[c]]=i[l[c]]);return r}function qb(i,n,r,l){function c(d){return d instanceof r?d:new r(function(h){h(d)})}return new(r||(r=Promise))(function(d,h){function m(w){try{y(l.next(w))}catch(S){h(S)}}function f(w){try{y(l.throw(w))}catch(S){h(S)}}function y(w){w.done?d(w.value):c(w.value).then(m,f)}y((l=l.apply(i,n||[])).next())})}const Ib=i=>i?(...n)=>i(...n):(...n)=>fetch(...n);class Xh extends Error{constructor(n,r="FunctionsError",l){super(n),this.name=r,this.context=l}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class Gb extends Xh{constructor(n){super("Failed to send a request to the Edge Function","FunctionsFetchError",n)}}class Np extends Xh{constructor(n){super("Relay Error invoking the Edge Function","FunctionsRelayError",n)}}class Lp extends Xh{constructor(n){super("Edge Function returned a non-2xx status code","FunctionsHttpError",n)}}var Nh;(function(i){i.Any="any",i.ApNortheast1="ap-northeast-1",i.ApNortheast2="ap-northeast-2",i.ApSouth1="ap-south-1",i.ApSoutheast1="ap-southeast-1",i.ApSoutheast2="ap-southeast-2",i.CaCentral1="ca-central-1",i.EuCentral1="eu-central-1",i.EuWest1="eu-west-1",i.EuWest2="eu-west-2",i.EuWest3="eu-west-3",i.SaEast1="sa-east-1",i.UsEast1="us-east-1",i.UsWest1="us-west-1",i.UsWest2="us-west-2"})(Nh||(Nh={}));class Vb{constructor(n,{headers:r={},customFetch:l,region:c=Nh.Any}={}){this.url=n,this.headers=r,this.region=c,this.fetch=Ib(l)}setAuth(n){this.headers.Authorization=`Bearer ${n}`}invoke(n){return qb(this,arguments,void 0,function*(r,l={}){var c;let d,h;try{const{headers:m,method:f,body:y,signal:w,timeout:S}=l;let T={},{region:x}=l;x||(x=this.region);const R=new URL(`${this.url}/${r}`);x&&x!=="any"&&(T["x-region"]=x,R.searchParams.set("forceFunctionRegion",x));let z;const G=!!m&&Object.keys(m).some(le=>le.toLowerCase()==="content-type");y&&!G?typeof Blob<"u"&&y instanceof Blob||y instanceof ArrayBuffer?(T["Content-Type"]="application/octet-stream",z=y):typeof y=="string"?(T["Content-Type"]="text/plain",z=y):typeof FormData<"u"&&y instanceof FormData?z=y:(T["Content-Type"]="application/json",z=JSON.stringify(y)):y&&typeof y!="string"&&!(typeof Blob<"u"&&y instanceof Blob)&&!(y instanceof ArrayBuffer)&&!(typeof FormData<"u"&&y instanceof FormData)?z=JSON.stringify(y):z=y;let V=w;S&&(h=new AbortController,d=setTimeout(()=>h.abort(),S),w?(V=h.signal,w.addEventListener("abort",()=>h.abort())):V=h.signal);const I=yield this.fetch(R.toString(),{method:f||"POST",headers:Object.assign(Object.assign(Object.assign({},T),this.headers),m),body:z,signal:V}).catch(le=>{throw new Gb(le)}),F=I.headers.get("x-relay-error");if(F&&F==="true")throw new Np(I);if(!I.ok)throw new Lp(I);let ee=((c=I.headers.get("Content-Type"))!==null&&c!==void 0?c:"text/plain").split(";")[0].trim(),we;return ee==="application/json"?we=yield I.json():ee==="application/octet-stream"||ee==="application/pdf"?we=yield I.blob():ee==="text/event-stream"?we=I:ee==="multipart/form-data"?we=yield I.formData():we=yield I.text(),{data:we,error:null,response:I}}catch(m){return{data:null,error:m,response:m instanceof Lp||m instanceof Np?m.context:void 0}}finally{d&&clearTimeout(d)}})}}const Py=3,Mp=i=>Math.min(1e3*2**i,3e4),Kb=[520,503],Hy=["GET","HEAD","OPTIONS"];var Dp=class extends Error{constructor(i){super(i.message),this.name="PostgrestError",this.details=i.details,this.hint=i.hint,this.code=i.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function Up(i,n){return new Promise(r=>{if(n?.aborted){r();return}const l=setTimeout(()=>{n?.removeEventListener("abort",c),r()},i);function c(){clearTimeout(l),r()}n?.addEventListener("abort",c)})}function Fb(i,n,r,l){return!(!l||r>=Py||!Hy.includes(i)||!Kb.includes(n))}var Yb=class{constructor(i){var n,r,l,c,d;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=i.method,this.url=i.url,this.headers=new Headers(i.headers),this.schema=i.schema,this.body=i.body,this.shouldThrowOnError=(n=i.shouldThrowOnError)!==null&&n!==void 0?n:!1,this.signal=i.signal,this.isMaybeSingle=(r=i.isMaybeSingle)!==null&&r!==void 0?r:!1,this.shouldStripNulls=(l=i.shouldStripNulls)!==null&&l!==void 0?l:!1,this.urlLengthLimit=(c=i.urlLengthLimit)!==null&&c!==void 0?c:8e3,this.retryEnabled=(d=i.retry)!==null&&d!==void 0?d:!0,i.fetch?this.fetch=i.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(i,n){return this.headers=new Headers(this.headers),this.headers.set(i,n),this}retry(i){return this.retryEnabled=i,this}then(i,n){var r=this;if(this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json"),this.shouldStripNulls){const h=this.headers.get("Accept");h==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!h||h==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const l=this.fetch;let d=(async()=>{let h=0;for(;;){const y={};r.headers.forEach((S,T)=>{y[T]=S}),h>0&&(y["X-Retry-Count"]=String(h));let w;try{w=await l(r.url.toString(),{method:r.method,headers:y,body:JSON.stringify(r.body,(S,T)=>typeof T=="bigint"?T.toString():T),signal:r.signal})}catch(S){if(S?.name==="AbortError"||S?.code==="ABORT_ERR"||!Hy.includes(r.method))throw S;if(r.retryEnabled&&h<Py){const T=Mp(h);h++,await Up(T,r.signal);continue}throw S}if(Fb(r.method,w.status,h,r.retryEnabled)){var m,f;const S=(m=(f=w.headers)===null||f===void 0?void 0:f.get("Retry-After"))!==null&&m!==void 0?m:null,T=S!==null?Math.max(0,parseInt(S,10)||0)*1e3:Mp(h);await w.text(),h++,await Up(T,r.signal);continue}return await r.processResponse(w)}})();return this.shouldThrowOnError||(d=d.catch(h=>{var m;let f="",y="",w="";const S=h?.cause;if(S){var T,x,R,z;const I=(T=S?.message)!==null&&T!==void 0?T:"",F=(x=S?.code)!==null&&x!==void 0?x:"";f=`${(R=h?.name)!==null&&R!==void 0?R:"FetchError"}: ${h?.message}`,f+=`
|
|
8
|
+
`+s.stack}}var sr=Object.prototype.hasOwnProperty,Ht=i.unstable_scheduleCallback,bi=i.unstable_cancelCallback,ps=i.unstable_shouldYield,lr=i.unstable_requestPaint,Pe=i.unstable_now,ys=i.unstable_getCurrentPriorityLevel,Si=i.unstable_ImmediatePriority,or=i.unstable_UserBlockingPriority,cr=i.unstable_NormalPriority,Hc=i.unstable_LowPriority,ur=i.unstable_IdlePriority,$c=i.log,qc=i.unstable_setDisableYieldValue,aa=null,At=null;function Qt(e){if(typeof $c=="function"&&qc(e),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(aa,e)}catch{}}var wt=Math.clz32?Math.clz32:vs,ia=Math.log,Ic=Math.LN2;function vs(e){return e>>>=0,e===0?32:31-(ia(e)/Ic|0)|0}var wi=256,_i=262144,Ma=4194304;function Gn(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ra(e,t,a){var s=e.pendingLanes;if(s===0)return 0;var o=0,u=e.suspendedLanes,g=e.pingedLanes;e=e.warmLanes;var v=s&134217727;return v!==0?(s=v&~u,s!==0?o=Gn(s):(g&=v,g!==0?o=Gn(g):a||(a=v&~e,a!==0&&(o=Gn(a))))):(v=s&~u,v!==0?o=Gn(v):g!==0?o=Gn(g):a||(a=s&~e,a!==0&&(o=Gn(a)))),o===0?0:t!==0&&t!==o&&(t&u)===0&&(u=o&-o,a=t&-t,u>=a||u===32&&(a&4194048)!==0)?t:o}function Zt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Jl(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function bs(){var e=Ma;return Ma<<=1,(Ma&62914560)===0&&(Ma=4194304),e}function dr(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Da(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function rt(e,t,a,s,o,u){var g=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var v=e.entanglements,k=e.expirationTimes,N=e.hiddenUpdates;for(a=g&~a;0<a;){var P=31-wt(a),q=1<<P;v[P]=0,k[P]=-1;var L=N[P];if(L!==null)for(N[P]=null,P=0;P<L.length;P++){var U=L[P];U!==null&&(U.lane&=-536870913)}a&=~q}s!==0&&He(e,s,0),u!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=u&~(g&~t))}function He(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var s=31-wt(t);e.entangledLanes|=t,e.entanglements[s]=e.entanglements[s]|1073741824|a&261930}function Xl(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var s=31-wt(a),o=1<<s;o&t|e[s]&t&&(e[s]|=t),a&=~o}}function en(e,t){var a=t&-t;return a=(a&42)!==0?1:Ua(a),(a&(e.suspendedLanes|t))!==0?0:a}function Ua(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function hr(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function fr(){var e=H.p;return e!==0?e:(e=window.event,e===void 0?32:up(e.type))}function za(e,t){var a=H.p;try{return H.p=e,t()}finally{H.p=a}}var zt=Math.random().toString(36).slice(2),W="__reactFiber$"+zt,Je="__reactProps$"+zt,Ba="__reactContainer$"+zt,Ti="__reactEvents$"+zt,st="__reactListeners$"+zt,Ql="__reactHandles$"+zt,Ss="__reactResources$"+zt,ki="__reactMarker$"+zt;function Ze(e){delete e[W],delete e[Je],delete e[Ti],delete e[st],delete e[Ql]}function tn(e){var t=e[W];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Ba]||a[W]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=Yg(e);e!==null;){if(a=e[W])return a;e=Yg(e)}return t}e=a,a=e.parentNode}return null}function Pa(e){if(e=e[W]||e[Ba]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Ha(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(l(33))}function Bt(e){var t=e[Ss];return t||(t=e[Ss]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function ut(e){e[ki]=!0}var Ai=new Set,mr={};function _t(e,t){nn(e,t),nn(e+"Capture",t)}function nn(e,t){for(mr[e]=t,e=0;e<t.length;e++)Ai.add(t[e])}var Gc=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),sa={},ws={};function Zl(e){return sr.call(ws,e)?!0:sr.call(sa,e)?!1:Gc.test(e)?ws[e]=!0:(sa[e]=!0,!1)}function Ei(e,t,a){if(Zl(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var s=t.toLowerCase().slice(0,5);if(s!=="data-"&&s!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function la(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function Rn(e,t,a,s){if(s===null)e.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+s)}}function $t(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function _s(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function xi(e,t,a){var s=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var o=s.get,u=s.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(g){a=""+g,u.call(this,g)}}),Object.defineProperty(e,t,{enumerable:s.enumerable}),{getValue:function(){return a},setValue:function(g){a=""+g},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function mn(e){if(!e._valueTracker){var t=_s(e)?"checked":"value";e._valueTracker=xi(e,t,""+e[t])}}function Ci(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),s="";return e&&(s=_s(e)?e.checked?"true":"false":e.value),e=s,e!==a?(t.setValue(e),!0):!1}function Ri(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Vc=/[\n"\\]/g;function qt(e){return e.replace(Vc,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function gr(e,t,a,s,o,u,g,v){e.name="",g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?e.type=g:e.removeAttribute("type"),t!=null?g==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+$t(t)):e.value!==""+$t(t)&&(e.value=""+$t(t)):g!=="submit"&&g!=="reset"||e.removeAttribute("value"),t!=null?$a(e,g,$t(t)):a!=null?$a(e,g,$t(a)):s!=null&&e.removeAttribute("value"),o==null&&u!=null&&(e.defaultChecked=!!u),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"?e.name=""+$t(v):e.removeAttribute("name")}function pr(e,t,a,s,o,u,g,v){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.type=u),t!=null||a!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){mn(e);return}a=a!=null?""+$t(a):"",t=t!=null?""+$t(t):a,v||t===e.value||(e.value=t),e.defaultValue=t}s=s??o,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=v?e.checked:!!s,e.defaultChecked=!!s,g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(e.name=g),mn(e)}function $a(e,t,a){t==="number"&&Ri(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function oa(e,t,a,s){if(e=e.options,t){t={};for(var o=0;o<a.length;o++)t["$"+a[o]]=!0;for(a=0;a<e.length;a++)o=t.hasOwnProperty("$"+e[a].value),e[a].selected!==o&&(e[a].selected=o),o&&s&&(e[a].defaultSelected=!0)}else{for(a=""+$t(a),t=null,o=0;o<e.length;o++){if(e[o].value===a){e[o].selected=!0,s&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function Ts(e,t,a){if(t!=null&&(t=""+$t(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+$t(a):""}function Oi(e,t,a,s){if(t==null){if(s!=null){if(a!=null)throw Error(l(92));if(Le(s)){if(1<s.length)throw Error(l(93));s=s[0]}a=s}a==null&&(a=""),t=a}a=$t(t),e.defaultValue=a,s=e.textContent,s===a&&s!==""&&s!==null&&(e.value=s),mn(e)}function On(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var qa=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function ks(e,t,a){var s=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?s?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":s?e.setProperty(t,a):typeof a!="number"||a===0||qa.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function As(e,t,a){if(t!=null&&typeof t!="object")throw Error(l(62));if(e=e.style,a!=null){for(var s in a)!a.hasOwnProperty(s)||t!=null&&t.hasOwnProperty(s)||(s.indexOf("--")===0?e.setProperty(s,""):s==="float"?e.cssFloat="":e[s]="");for(var o in t)s=t[o],t.hasOwnProperty(o)&&a[o]!==s&&ks(e,o,s)}else for(var u in t)t.hasOwnProperty(u)&&ks(e,u,t[u])}function ji(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var yr=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Kc=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function jn(e){return Kc.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Nn(){}var Ln=null;function vr(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ca=null,gn=null;function Es(e){var t=Pa(e);if(t&&(e=t.stateNode)){var a=e[Je]||null;e:switch(e=t.stateNode,t.type){case"input":if(gr(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+qt(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var s=a[t];if(s!==e&&s.form===e.form){var o=s[Je]||null;if(!o)throw Error(l(90));gr(s,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t<a.length;t++)s=a[t],s.form===e.form&&Ci(s)}break e;case"textarea":Ts(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&oa(e,!!a.multiple,t,!1)}}}var br=!1;function Ia(e,t,a){if(br)return e(t,a);br=!0;try{var s=e(t);return s}finally{if(br=!1,(ca!==null||gn!==null)&&(Vo(),ca&&(t=ca,e=gn,gn=ca=null,Es(t),e)))for(t=0;t<e.length;t++)Es(e[t])}}function Ni(e,t){var a=e.stateNode;if(a===null)return null;var s=a[Je]||null;if(s===null)return null;a=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(l(231,t,typeof a));return a}var pn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xs=!1;if(pn)try{var Ga={};Object.defineProperty(Ga,"passive",{get:function(){xs=!0}}),window.addEventListener("test",Ga,Ga),window.removeEventListener("test",Ga,Ga)}catch{xs=!1}var Vn=null,Cs=null,ua=null;function Kn(){if(ua)return ua;var e,t=Cs,a=t.length,s,o="value"in Vn?Vn.value:Vn.textContent,u=o.length;for(e=0;e<a&&t[e]===o[e];e++);var g=a-e;for(s=1;s<=g&&t[a-s]===o[u-s];s++);return ua=o.slice(e,1<s?1-s:void 0)}function Li(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Sr(){return!0}function Rs(){return!1}function Et(e){function t(a,s,o,u,g){this._reactName=a,this._targetInst=o,this.type=s,this.nativeEvent=u,this.target=g,this.currentTarget=null;for(var v in e)e.hasOwnProperty(v)&&(a=e[v],this[v]=a?a(u):u[v]);return this.isDefaultPrevented=(u.defaultPrevented!=null?u.defaultPrevented:u.returnValue===!1)?Sr:Rs,this.isPropagationStopped=Rs,this}return S(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Sr)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Sr)},persist:function(){},isPersistent:Sr}),t}var _e={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},da=Et(_e),Va=S({},_e,{view:0,detail:0}),Fc=Et(Va),eo,Mi,Di,an=S({},Va,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ls,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Di&&(Di&&e.type==="mousemove"?(eo=e.screenX-Di.screenX,Mi=e.screenY-Di.screenY):Mi=eo=0,Di=e),eo)},movementY:function(e){return"movementY"in e?e.movementY:Mi}}),rn=Et(an),Nt=S({},an,{dataTransfer:0}),Yc=Et(Nt),Wc=S({},Va,{relatedTarget:0}),Os=Et(Wc),Jc=S({},_e,{animationName:0,elapsedTime:0,pseudoElement:0}),Xc=Et(Jc),Qc=S({},_e,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Zc=Et(Qc),eu=S({},_e,{data:0}),to=Et(eu),js={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Ns={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},tu={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function nu(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=tu[e])?!!t[e]:!1}function Ls(){return nu}var au=S({},Va,{key:function(e){if(e.key){var t=js[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Li(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Ns[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ls,charCode:function(e){return e.type==="keypress"?Li(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Li(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),iu=Et(au),ru=S({},an,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),no=Et(ru),ao=S({},Va,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ls}),wr=Et(ao),su=S({},_e,{propertyName:0,elapsedTime:0,pseudoElement:0}),lu=Et(su),xt=S({},an,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),_r=Et(xt),Ms=S({},_e,{newState:0,oldState:0}),ou=Et(Ms),nf=[9,13,27,32],Ds=pn&&"CompositionEvent"in window,Ui=null;pn&&"documentMode"in document&&(Ui=document.documentMode);var io=pn&&"TextEvent"in window&&!Ui,zi=pn&&(!Ds||Ui&&8<Ui&&11>=Ui),Ka=" ",Us=!1;function ro(e,t){switch(e){case"keyup":return nf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function so(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fa=!1;function cu(e,t){switch(e){case"compositionend":return so(t);case"keypress":return t.which!==32?null:(Us=!0,Ka);case"textInput":return e=t.data,e===Ka&&Us?null:e;default:return null}}function uu(e,t){if(Fa)return e==="compositionend"||!Ds&&ro(e,t)?(e=Kn(),ua=Cs=Vn=null,Fa=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return zi&&t.locale!=="ko"?null:t.data;default:return null}}var yn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function lo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!yn[e.type]:t==="textarea"}function oo(e,t,a,s){ca?gn?gn.push(s):gn=[s]:ca=s,t=Qo(t,"onChange"),0<t.length&&(a=new da("onChange","change",null,a,s),e.push({event:a,listeners:t}))}var b=null,M=null;function K(e){Mg(e,0)}function B(e){var t=Ha(e);if(Ci(t))return e}function Y(e,t){if(e==="change")return t}var ne=!1;if(pn){var de;if(pn){var $e="oninput"in document;if(!$e){var Me=document.createElement("div");Me.setAttribute("oninput","return;"),$e=typeof Me.oninput=="function"}de=$e}else de=!1;ne=de&&(!document.documentMode||9<document.documentMode)}function at(){b&&(b.detachEvent("onpropertychange",Tr),M=b=null)}function Tr(e){if(e.propertyName==="value"&&B(M)){var t=[];oo(t,M,e,vr(e)),Ia(K,t)}}function du(e,t,a){e==="focusin"?(at(),b=t,M=a,b.attachEvent("onpropertychange",Tr)):e==="focusout"&&at()}function zs(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return B(M)}function co(e,t){if(e==="click")return B(t)}function Bs(e,t){if(e==="input"||e==="change")return B(t)}function kv(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var sn=typeof Object.is=="function"?Object.is:kv;function Ps(e,t){if(sn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),s=Object.keys(t);if(a.length!==s.length)return!1;for(s=0;s<a.length;s++){var o=a[s];if(!sr.call(t,o)||!sn(e[o],t[o]))return!1}return!0}function af(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function rf(e,t){var a=af(e);e=0;for(var s;a;){if(a.nodeType===3){if(s=e+a.textContent.length,e<=t&&s>=t)return{node:a,offset:t-e};e=s}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=af(a)}}function sf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?sf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function lf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ri(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ri(e.document)}return t}function hu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Av=pn&&"documentMode"in document&&11>=document.documentMode,kr=null,fu=null,Hs=null,mu=!1;function of(e,t,a){var s=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;mu||kr==null||kr!==Ri(s)||(s=kr,"selectionStart"in s&&hu(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),Hs&&Ps(Hs,s)||(Hs=s,s=Qo(fu,"onSelect"),0<s.length&&(t=new da("onSelect","select",null,t,a),e.push({event:t,listeners:s}),t.target=kr)))}function Bi(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Ar={animationend:Bi("Animation","AnimationEnd"),animationiteration:Bi("Animation","AnimationIteration"),animationstart:Bi("Animation","AnimationStart"),transitionrun:Bi("Transition","TransitionRun"),transitionstart:Bi("Transition","TransitionStart"),transitioncancel:Bi("Transition","TransitionCancel"),transitionend:Bi("Transition","TransitionEnd")},gu={},cf={};pn&&(cf=document.createElement("div").style,"AnimationEvent"in window||(delete Ar.animationend.animation,delete Ar.animationiteration.animation,delete Ar.animationstart.animation),"TransitionEvent"in window||delete Ar.transitionend.transition);function Pi(e){if(gu[e])return gu[e];if(!Ar[e])return e;var t=Ar[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in cf)return gu[e]=t[a];return e}var uf=Pi("animationend"),df=Pi("animationiteration"),hf=Pi("animationstart"),Ev=Pi("transitionrun"),xv=Pi("transitionstart"),Cv=Pi("transitioncancel"),ff=Pi("transitionend"),mf=new Map,pu="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");pu.push("scrollEnd");function Mn(e,t){mf.set(e,t),_t(t,[e])}var uo=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},vn=[],Er=0,yu=0;function ho(){for(var e=Er,t=yu=Er=0;t<e;){var a=vn[t];vn[t++]=null;var s=vn[t];vn[t++]=null;var o=vn[t];vn[t++]=null;var u=vn[t];if(vn[t++]=null,s!==null&&o!==null){var g=s.pending;g===null?o.next=o:(o.next=g.next,g.next=o),s.pending=o}u!==0&&gf(a,o,u)}}function fo(e,t,a,s){vn[Er++]=e,vn[Er++]=t,vn[Er++]=a,vn[Er++]=s,yu|=s,e.lanes|=s,e=e.alternate,e!==null&&(e.lanes|=s)}function vu(e,t,a,s){return fo(e,t,a,s),mo(e)}function Hi(e,t){return fo(e,null,null,t),mo(e)}function gf(e,t,a){e.lanes|=a;var s=e.alternate;s!==null&&(s.lanes|=a);for(var o=!1,u=e.return;u!==null;)u.childLanes|=a,s=u.alternate,s!==null&&(s.childLanes|=a),u.tag===22&&(e=u.stateNode,e===null||e._visibility&1||(o=!0)),e=u,u=u.return;return e.tag===3?(u=e.stateNode,o&&t!==null&&(o=31-wt(a),e=u.hiddenUpdates,s=e[o],s===null?e[o]=[t]:s.push(t),t.lane=a|536870912),u):null}function mo(e){if(50<ol)throw ol=0,xd=null,Error(l(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var xr={};function Rv(e,t,a,s){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ln(e,t,a,s){return new Rv(e,t,a,s)}function bu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ha(e,t){var a=e.alternate;return a===null?(a=ln(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function pf(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function go(e,t,a,s,o,u){var g=0;if(s=e,typeof e=="function")bu(e)&&(g=1);else if(typeof e=="string")g=M0(e,a,ae.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Ee:return e=ln(31,a,t,o),e.elementType=Ee,e.lanes=u,e;case z:return $i(a.children,o,u,t);case G:g=8,o|=24;break;case V:return e=ln(12,a,t,o|2),e.elementType=V,e.lanes=u,e;case we:return e=ln(13,a,t,o),e.elementType=we,e.lanes=u,e;case le:return e=ln(19,a,t,o),e.elementType=le,e.lanes=u,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case F:g=10;break e;case I:g=9;break e;case ee:g=11;break e;case Z:g=14;break e;case je:g=16,s=null;break e}g=29,a=Error(l(130,e===null?"null":typeof e,"")),s=null}return t=ln(g,a,t,o),t.elementType=e,t.type=s,t.lanes=u,t}function $i(e,t,a,s){return e=ln(7,e,s,t),e.lanes=a,e}function Su(e,t,a){return e=ln(6,e,null,t),e.lanes=a,e}function yf(e){var t=ln(18,null,null,0);return t.stateNode=e,t}function wu(e,t,a){return t=ln(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var vf=new WeakMap;function bn(e,t){if(typeof e=="object"&&e!==null){var a=vf.get(e);return a!==void 0?a:(t={value:e,source:t,stack:re(t)},vf.set(e,t),t)}return{value:e,source:t,stack:re(t)}}var Cr=[],Rr=0,po=null,$s=0,Sn=[],wn=0,Ya=null,Fn=1,Yn="";function fa(e,t){Cr[Rr++]=$s,Cr[Rr++]=po,po=e,$s=t}function bf(e,t,a){Sn[wn++]=Fn,Sn[wn++]=Yn,Sn[wn++]=Ya,Ya=e;var s=Fn;e=Yn;var o=32-wt(s)-1;s&=~(1<<o),a+=1;var u=32-wt(t)+o;if(30<u){var g=o-o%5;u=(s&(1<<g)-1).toString(32),s>>=g,o-=g,Fn=1<<32-wt(t)+o|a<<o|s,Yn=u+e}else Fn=1<<u|a<<o|s,Yn=e}function _u(e){e.return!==null&&(fa(e,1),bf(e,1,0))}function Tu(e){for(;e===po;)po=Cr[--Rr],Cr[Rr]=null,$s=Cr[--Rr],Cr[Rr]=null;for(;e===Ya;)Ya=Sn[--wn],Sn[wn]=null,Yn=Sn[--wn],Sn[wn]=null,Fn=Sn[--wn],Sn[wn]=null}function Sf(e,t){Sn[wn++]=Fn,Sn[wn++]=Yn,Sn[wn++]=Ya,Fn=t.id,Yn=t.overflow,Ya=e}var Ct=null,Xe=null,Ne=!1,Wa=null,_n=!1,ku=Error(l(519));function Ja(e){var t=Error(l(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw qs(bn(t,e)),ku}function wf(e){var t=e.stateNode,a=e.type,s=e.memoizedProps;switch(t[W]=e,t[Je]=s,a){case"dialog":Ce("cancel",t),Ce("close",t);break;case"iframe":case"object":case"embed":Ce("load",t);break;case"video":case"audio":for(a=0;a<ul.length;a++)Ce(ul[a],t);break;case"source":Ce("error",t);break;case"img":case"image":case"link":Ce("error",t),Ce("load",t);break;case"details":Ce("toggle",t);break;case"input":Ce("invalid",t),pr(t,s.value,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name,!0);break;case"select":Ce("invalid",t);break;case"textarea":Ce("invalid",t),Oi(t,s.value,s.defaultValue,s.children)}a=s.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||s.suppressHydrationWarning===!0||Bg(t.textContent,a)?(s.popover!=null&&(Ce("beforetoggle",t),Ce("toggle",t)),s.onScroll!=null&&Ce("scroll",t),s.onScrollEnd!=null&&Ce("scrollend",t),s.onClick!=null&&(t.onclick=Nn),t=!0):t=!1,t||Ja(e,!0)}function _f(e){for(Ct=e.return;Ct;)switch(Ct.tag){case 5:case 31:case 13:_n=!1;return;case 27:case 3:_n=!0;return;default:Ct=Ct.return}}function Or(e){if(e!==Ct)return!1;if(!Ne)return _f(e),Ne=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||qd(e.type,e.memoizedProps)),a=!a),a&&Xe&&Ja(e),_f(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));Xe=Fg(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));Xe=Fg(e)}else t===27?(t=Xe,ui(e.type)?(e=Fd,Fd=null,Xe=e):Xe=t):Xe=Ct?kn(e.stateNode.nextSibling):null;return!0}function qi(){Xe=Ct=null,Ne=!1}function Au(){var e=Wa;return e!==null&&(Kt===null?Kt=e:Kt.push.apply(Kt,e),Wa=null),e}function qs(e){Wa===null?Wa=[e]:Wa.push(e)}var Eu=A(null),Ii=null,ma=null;function Xa(e,t,a){J(Eu,t._currentValue),t._currentValue=a}function ga(e){e._currentValue=Eu.current,D(Eu)}function xu(e,t,a){for(;e!==null;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,s!==null&&(s.childLanes|=t)):s!==null&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===a)break;e=e.return}}function Cu(e,t,a,s){var o=e.child;for(o!==null&&(o.return=e);o!==null;){var u=o.dependencies;if(u!==null){var g=o.child;u=u.firstContext;e:for(;u!==null;){var v=u;u=o;for(var k=0;k<t.length;k++)if(v.context===t[k]){u.lanes|=a,v=u.alternate,v!==null&&(v.lanes|=a),xu(u.return,a,e),s||(g=null);break e}u=v.next}}else if(o.tag===18){if(g=o.return,g===null)throw Error(l(341));g.lanes|=a,u=g.alternate,u!==null&&(u.lanes|=a),xu(g,a,e),g=null}else g=o.child;if(g!==null)g.return=o;else for(g=o;g!==null;){if(g===e){g=null;break}if(o=g.sibling,o!==null){o.return=g.return,g=o;break}g=g.return}o=g}}function jr(e,t,a,s){e=null;for(var o=t,u=!1;o!==null;){if(!u){if((o.flags&524288)!==0)u=!0;else if((o.flags&262144)!==0)break}if(o.tag===10){var g=o.alternate;if(g===null)throw Error(l(387));if(g=g.memoizedProps,g!==null){var v=o.type;sn(o.pendingProps.value,g.value)||(e!==null?e.push(v):e=[v])}}else if(o===De.current){if(g=o.alternate,g===null)throw Error(l(387));g.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(gl):e=[gl])}o=o.return}e!==null&&Cu(t,e,a,s),t.flags|=262144}function yo(e){for(e=e.firstContext;e!==null;){if(!sn(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Gi(e){Ii=e,ma=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Rt(e){return Tf(Ii,e)}function vo(e,t){return Ii===null&&Gi(e),Tf(e,t)}function Tf(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},ma===null){if(e===null)throw Error(l(308));ma=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ma=ma.next=t;return a}var Ov=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,s){e.push(s)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},jv=i.unstable_scheduleCallback,Nv=i.unstable_NormalPriority,gt={$$typeof:F,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ru(){return{controller:new Ov,data:new Map,refCount:0}}function Is(e){e.refCount--,e.refCount===0&&jv(Nv,function(){e.controller.abort()})}var Gs=null,Ou=0,Nr=0,Lr=null;function Lv(e,t){if(Gs===null){var a=Gs=[];Ou=0,Nr=Ld(),Lr={status:"pending",value:void 0,then:function(s){a.push(s)}}}return Ou++,t.then(kf,kf),t}function kf(){if(--Ou===0&&Gs!==null){Lr!==null&&(Lr.status="fulfilled");var e=Gs;Gs=null,Nr=0,Lr=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Mv(e,t){var a=[],s={status:"pending",value:null,reason:null,then:function(o){a.push(o)}};return e.then(function(){s.status="fulfilled",s.value=t;for(var o=0;o<a.length;o++)(0,a[o])(t)},function(o){for(s.status="rejected",s.reason=o,o=0;o<a.length;o++)(0,a[o])(void 0)}),s}var Af=_.S;_.S=function(e,t){og=Pe(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Lv(e,t),Af!==null&&Af(e,t)};var Vi=A(null);function ju(){var e=Vi.current;return e!==null?e:Ye.pooledCache}function bo(e,t){t===null?J(Vi,Vi.current):J(Vi,t.pool)}function Ef(){var e=ju();return e===null?null:{parent:gt._currentValue,pool:e}}var Mr=Error(l(460)),Nu=Error(l(474)),So=Error(l(542)),wo={then:function(){}};function xf(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Cf(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(Nn,Nn),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Of(e),e;default:if(typeof t.status=="string")t.then(Nn,Nn);else{if(e=Ye,e!==null&&100<e.shellSuspendCounter)throw Error(l(482));e=t,e.status="pending",e.then(function(s){if(t.status==="pending"){var o=t;o.status="fulfilled",o.value=s}},function(s){if(t.status==="pending"){var o=t;o.status="rejected",o.reason=s}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Of(e),e}throw Fi=t,Mr}}function Ki(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(Fi=a,Mr):a}}var Fi=null;function Rf(){if(Fi===null)throw Error(l(459));var e=Fi;return Fi=null,e}function Of(e){if(e===Mr||e===So)throw Error(l(483))}var Dr=null,Vs=0;function _o(e){var t=Vs;return Vs+=1,Dr===null&&(Dr=[]),Cf(Dr,e,t)}function Ks(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function To(e,t){throw t.$$typeof===T?Error(l(525)):(e=Object.prototype.toString.call(t),Error(l(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function jf(e){function t(C,E){if(e){var j=C.deletions;j===null?(C.deletions=[E],C.flags|=16):j.push(E)}}function a(C,E){if(!e)return null;for(;E!==null;)t(C,E),E=E.sibling;return null}function s(C){for(var E=new Map;C!==null;)C.key!==null?E.set(C.key,C):E.set(C.index,C),C=C.sibling;return E}function o(C,E){return C=ha(C,E),C.index=0,C.sibling=null,C}function u(C,E,j){return C.index=j,e?(j=C.alternate,j!==null?(j=j.index,j<E?(C.flags|=67108866,E):j):(C.flags|=67108866,E)):(C.flags|=1048576,E)}function g(C){return e&&C.alternate===null&&(C.flags|=67108866),C}function v(C,E,j,$){return E===null||E.tag!==6?(E=Su(j,C.mode,$),E.return=C,E):(E=o(E,j),E.return=C,E)}function k(C,E,j,$){var he=j.type;return he===z?P(C,E,j.props.children,$,j.key):E!==null&&(E.elementType===he||typeof he=="object"&&he!==null&&he.$$typeof===je&&Ki(he)===E.type)?(E=o(E,j.props),Ks(E,j),E.return=C,E):(E=go(j.type,j.key,j.props,null,C.mode,$),Ks(E,j),E.return=C,E)}function N(C,E,j,$){return E===null||E.tag!==4||E.stateNode.containerInfo!==j.containerInfo||E.stateNode.implementation!==j.implementation?(E=wu(j,C.mode,$),E.return=C,E):(E=o(E,j.children||[]),E.return=C,E)}function P(C,E,j,$,he){return E===null||E.tag!==7?(E=$i(j,C.mode,$,he),E.return=C,E):(E=o(E,j),E.return=C,E)}function q(C,E,j){if(typeof E=="string"&&E!==""||typeof E=="number"||typeof E=="bigint")return E=Su(""+E,C.mode,j),E.return=C,E;if(typeof E=="object"&&E!==null){switch(E.$$typeof){case x:return j=go(E.type,E.key,E.props,null,C.mode,j),Ks(j,E),j.return=C,j;case R:return E=wu(E,C.mode,j),E.return=C,E;case je:return E=Ki(E),q(C,E,j)}if(Le(E)||ue(E))return E=$i(E,C.mode,j,null),E.return=C,E;if(typeof E.then=="function")return q(C,_o(E),j);if(E.$$typeof===F)return q(C,vo(C,E),j);To(C,E)}return null}function L(C,E,j,$){var he=E!==null?E.key:null;if(typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint")return he!==null?null:v(C,E,""+j,$);if(typeof j=="object"&&j!==null){switch(j.$$typeof){case x:return j.key===he?k(C,E,j,$):null;case R:return j.key===he?N(C,E,j,$):null;case je:return j=Ki(j),L(C,E,j,$)}if(Le(j)||ue(j))return he!==null?null:P(C,E,j,$,null);if(typeof j.then=="function")return L(C,E,_o(j),$);if(j.$$typeof===F)return L(C,E,vo(C,j),$);To(C,j)}return null}function U(C,E,j,$,he){if(typeof $=="string"&&$!==""||typeof $=="number"||typeof $=="bigint")return C=C.get(j)||null,v(E,C,""+$,he);if(typeof $=="object"&&$!==null){switch($.$$typeof){case x:return C=C.get($.key===null?j:$.key)||null,k(E,C,$,he);case R:return C=C.get($.key===null?j:$.key)||null,N(E,C,$,he);case je:return $=Ki($),U(C,E,j,$,he)}if(Le($)||ue($))return C=C.get(j)||null,P(E,C,$,he,null);if(typeof $.then=="function")return U(C,E,j,_o($),he);if($.$$typeof===F)return U(C,E,j,vo(E,$),he);To(E,$)}return null}function se(C,E,j,$){for(var he=null,Ue=null,ce=E,Ae=E=0,Oe=null;ce!==null&&Ae<j.length;Ae++){ce.index>Ae?(Oe=ce,ce=null):Oe=ce.sibling;var ze=L(C,ce,j[Ae],$);if(ze===null){ce===null&&(ce=Oe);break}e&&ce&&ze.alternate===null&&t(C,ce),E=u(ze,E,Ae),Ue===null?he=ze:Ue.sibling=ze,Ue=ze,ce=Oe}if(Ae===j.length)return a(C,ce),Ne&&fa(C,Ae),he;if(ce===null){for(;Ae<j.length;Ae++)ce=q(C,j[Ae],$),ce!==null&&(E=u(ce,E,Ae),Ue===null?he=ce:Ue.sibling=ce,Ue=ce);return Ne&&fa(C,Ae),he}for(ce=s(ce);Ae<j.length;Ae++)Oe=U(ce,C,Ae,j[Ae],$),Oe!==null&&(e&&Oe.alternate!==null&&ce.delete(Oe.key===null?Ae:Oe.key),E=u(Oe,E,Ae),Ue===null?he=Oe:Ue.sibling=Oe,Ue=Oe);return e&&ce.forEach(function(gi){return t(C,gi)}),Ne&&fa(C,Ae),he}function me(C,E,j,$){if(j==null)throw Error(l(151));for(var he=null,Ue=null,ce=E,Ae=E=0,Oe=null,ze=j.next();ce!==null&&!ze.done;Ae++,ze=j.next()){ce.index>Ae?(Oe=ce,ce=null):Oe=ce.sibling;var gi=L(C,ce,ze.value,$);if(gi===null){ce===null&&(ce=Oe);break}e&&ce&&gi.alternate===null&&t(C,ce),E=u(gi,E,Ae),Ue===null?he=gi:Ue.sibling=gi,Ue=gi,ce=Oe}if(ze.done)return a(C,ce),Ne&&fa(C,Ae),he;if(ce===null){for(;!ze.done;Ae++,ze=j.next())ze=q(C,ze.value,$),ze!==null&&(E=u(ze,E,Ae),Ue===null?he=ze:Ue.sibling=ze,Ue=ze);return Ne&&fa(C,Ae),he}for(ce=s(ce);!ze.done;Ae++,ze=j.next())ze=U(ce,C,Ae,ze.value,$),ze!==null&&(e&&ze.alternate!==null&&ce.delete(ze.key===null?Ae:ze.key),E=u(ze,E,Ae),Ue===null?he=ze:Ue.sibling=ze,Ue=ze);return e&&ce.forEach(function(V0){return t(C,V0)}),Ne&&fa(C,Ae),he}function Fe(C,E,j,$){if(typeof j=="object"&&j!==null&&j.type===z&&j.key===null&&(j=j.props.children),typeof j=="object"&&j!==null){switch(j.$$typeof){case x:e:{for(var he=j.key;E!==null;){if(E.key===he){if(he=j.type,he===z){if(E.tag===7){a(C,E.sibling),$=o(E,j.props.children),$.return=C,C=$;break e}}else if(E.elementType===he||typeof he=="object"&&he!==null&&he.$$typeof===je&&Ki(he)===E.type){a(C,E.sibling),$=o(E,j.props),Ks($,j),$.return=C,C=$;break e}a(C,E);break}else t(C,E);E=E.sibling}j.type===z?($=$i(j.props.children,C.mode,$,j.key),$.return=C,C=$):($=go(j.type,j.key,j.props,null,C.mode,$),Ks($,j),$.return=C,C=$)}return g(C);case R:e:{for(he=j.key;E!==null;){if(E.key===he)if(E.tag===4&&E.stateNode.containerInfo===j.containerInfo&&E.stateNode.implementation===j.implementation){a(C,E.sibling),$=o(E,j.children||[]),$.return=C,C=$;break e}else{a(C,E);break}else t(C,E);E=E.sibling}$=wu(j,C.mode,$),$.return=C,C=$}return g(C);case je:return j=Ki(j),Fe(C,E,j,$)}if(Le(j))return se(C,E,j,$);if(ue(j)){if(he=ue(j),typeof he!="function")throw Error(l(150));return j=he.call(j),me(C,E,j,$)}if(typeof j.then=="function")return Fe(C,E,_o(j),$);if(j.$$typeof===F)return Fe(C,E,vo(C,j),$);To(C,j)}return typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint"?(j=""+j,E!==null&&E.tag===6?(a(C,E.sibling),$=o(E,j),$.return=C,C=$):(a(C,E),$=Su(j,C.mode,$),$.return=C,C=$),g(C)):a(C,E)}return function(C,E,j,$){try{Vs=0;var he=Fe(C,E,j,$);return Dr=null,he}catch(ce){if(ce===Mr||ce===So)throw ce;var Ue=ln(29,ce,null,C.mode);return Ue.lanes=$,Ue.return=C,Ue}}}var Yi=jf(!0),Nf=jf(!1),Qa=!1;function Lu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Mu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Za(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ei(e,t,a){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Be&2)!==0){var o=s.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),s.pending=t,t=mo(e),gf(e,null,a),t}return fo(e,s,t,a),mo(e)}function Fs(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var s=t.lanes;s&=e.pendingLanes,a|=s,t.lanes=a,Xl(e,a)}}function Du(e,t){var a=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,a===s)){var o=null,u=null;if(a=a.firstBaseUpdate,a!==null){do{var g={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};u===null?o=u=g:u=u.next=g,a=a.next}while(a!==null);u===null?o=u=t:u=u.next=t}else o=u=t;a={baseState:s.baseState,firstBaseUpdate:o,lastBaseUpdate:u,shared:s.shared,callbacks:s.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Uu=!1;function Ys(){if(Uu){var e=Lr;if(e!==null)throw e}}function Ws(e,t,a,s){Uu=!1;var o=e.updateQueue;Qa=!1;var u=o.firstBaseUpdate,g=o.lastBaseUpdate,v=o.shared.pending;if(v!==null){o.shared.pending=null;var k=v,N=k.next;k.next=null,g===null?u=N:g.next=N,g=k;var P=e.alternate;P!==null&&(P=P.updateQueue,v=P.lastBaseUpdate,v!==g&&(v===null?P.firstBaseUpdate=N:v.next=N,P.lastBaseUpdate=k))}if(u!==null){var q=o.baseState;g=0,P=N=k=null,v=u;do{var L=v.lane&-536870913,U=L!==v.lane;if(U?(Re&L)===L:(s&L)===L){L!==0&&L===Nr&&(Uu=!0),P!==null&&(P=P.next={lane:0,tag:v.tag,payload:v.payload,callback:null,next:null});e:{var se=e,me=v;L=t;var Fe=a;switch(me.tag){case 1:if(se=me.payload,typeof se=="function"){q=se.call(Fe,q,L);break e}q=se;break e;case 3:se.flags=se.flags&-65537|128;case 0:if(se=me.payload,L=typeof se=="function"?se.call(Fe,q,L):se,L==null)break e;q=S({},q,L);break e;case 2:Qa=!0}}L=v.callback,L!==null&&(e.flags|=64,U&&(e.flags|=8192),U=o.callbacks,U===null?o.callbacks=[L]:U.push(L))}else U={lane:L,tag:v.tag,payload:v.payload,callback:v.callback,next:null},P===null?(N=P=U,k=q):P=P.next=U,g|=L;if(v=v.next,v===null){if(v=o.shared.pending,v===null)break;U=v,v=U.next,U.next=null,o.lastBaseUpdate=U,o.shared.pending=null}}while(!0);P===null&&(k=q),o.baseState=k,o.firstBaseUpdate=N,o.lastBaseUpdate=P,u===null&&(o.shared.lanes=0),ri|=g,e.lanes=g,e.memoizedState=q}}function Lf(e,t){if(typeof e!="function")throw Error(l(191,e));e.call(t)}function Mf(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Lf(a[e],t)}var Ur=A(null),ko=A(0);function Df(e,t){e=ka,J(ko,e),J(Ur,t),ka=e|t.baseLanes}function zu(){J(ko,ka),J(Ur,Ur.current)}function Bu(){ka=ko.current,D(Ur),D(ko)}var on=A(null),Tn=null;function ti(e){var t=e.alternate;J(dt,dt.current&1),J(on,e),Tn===null&&(t===null||Ur.current!==null||t.memoizedState!==null)&&(Tn=e)}function Pu(e){J(dt,dt.current),J(on,e),Tn===null&&(Tn=e)}function Uf(e){e.tag===22?(J(dt,dt.current),J(on,e),Tn===null&&(Tn=e)):ni()}function ni(){J(dt,dt.current),J(on,on.current)}function cn(e){D(on),Tn===e&&(Tn=null),D(dt)}var dt=A(0);function Ao(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||Vd(a)||Kd(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var pa=0,ke=null,Ve=null,pt=null,Eo=!1,zr=!1,Wi=!1,xo=0,Js=0,Br=null,Dv=0;function lt(){throw Error(l(321))}function Hu(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!sn(e[a],t[a]))return!1;return!0}function $u(e,t,a,s,o,u){return pa=u,ke=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,_.H=e===null||e.memoizedState===null?bm:nd,Wi=!1,u=a(s,o),Wi=!1,zr&&(u=Bf(t,a,s,o)),zf(e),u}function zf(e){_.H=Zs;var t=Ve!==null&&Ve.next!==null;if(pa=0,pt=Ve=ke=null,Eo=!1,Js=0,Br=null,t)throw Error(l(300));e===null||yt||(e=e.dependencies,e!==null&&yo(e)&&(yt=!0))}function Bf(e,t,a,s){ke=e;var o=0;do{if(zr&&(Br=null),Js=0,zr=!1,25<=o)throw Error(l(301));if(o+=1,pt=Ve=null,e.updateQueue!=null){var u=e.updateQueue;u.lastEffect=null,u.events=null,u.stores=null,u.memoCache!=null&&(u.memoCache.index=0)}_.H=Sm,u=t(a,s)}while(zr);return u}function Uv(){var e=_.H,t=e.useState()[0];return t=typeof t.then=="function"?Xs(t):t,e=e.useState()[0],(Ve!==null?Ve.memoizedState:null)!==e&&(ke.flags|=1024),t}function qu(){var e=xo!==0;return xo=0,e}function Iu(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function Gu(e){if(Eo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Eo=!1}pa=0,pt=Ve=ke=null,zr=!1,Js=xo=0,Br=null}function Pt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return pt===null?ke.memoizedState=pt=e:pt=pt.next=e,pt}function ht(){if(Ve===null){var e=ke.alternate;e=e!==null?e.memoizedState:null}else e=Ve.next;var t=pt===null?ke.memoizedState:pt.next;if(t!==null)pt=t,Ve=e;else{if(e===null)throw ke.alternate===null?Error(l(467)):Error(l(310));Ve=e,e={memoizedState:Ve.memoizedState,baseState:Ve.baseState,baseQueue:Ve.baseQueue,queue:Ve.queue,next:null},pt===null?ke.memoizedState=pt=e:pt=pt.next=e}return pt}function Co(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Xs(e){var t=Js;return Js+=1,Br===null&&(Br=[]),e=Cf(Br,e,t),t=ke,(pt===null?t.memoizedState:pt.next)===null&&(t=t.alternate,_.H=t===null||t.memoizedState===null?bm:nd),e}function Ro(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Xs(e);if(e.$$typeof===F)return Rt(e)}throw Error(l(438,String(e)))}function Vu(e){var t=null,a=ke.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var s=ke.alternate;s!==null&&(s=s.updateQueue,s!==null&&(s=s.memoCache,s!=null&&(t={data:s.data.map(function(o){return o.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Co(),ke.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),s=0;s<e;s++)a[s]=ve;return t.index++,a}function ya(e,t){return typeof t=="function"?t(e):t}function Oo(e){var t=ht();return Ku(t,Ve,e)}function Ku(e,t,a){var s=e.queue;if(s===null)throw Error(l(311));s.lastRenderedReducer=a;var o=e.baseQueue,u=s.pending;if(u!==null){if(o!==null){var g=o.next;o.next=u.next,u.next=g}t.baseQueue=o=u,s.pending=null}if(u=e.baseState,o===null)e.memoizedState=u;else{t=o.next;var v=g=null,k=null,N=t,P=!1;do{var q=N.lane&-536870913;if(q!==N.lane?(Re&q)===q:(pa&q)===q){var L=N.revertLane;if(L===0)k!==null&&(k=k.next={lane:0,revertLane:0,gesture:null,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null}),q===Nr&&(P=!0);else if((pa&L)===L){N=N.next,L===Nr&&(P=!0);continue}else q={lane:0,revertLane:N.revertLane,gesture:null,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null},k===null?(v=k=q,g=u):k=k.next=q,ke.lanes|=L,ri|=L;q=N.action,Wi&&a(u,q),u=N.hasEagerState?N.eagerState:a(u,q)}else L={lane:q,revertLane:N.revertLane,gesture:N.gesture,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null},k===null?(v=k=L,g=u):k=k.next=L,ke.lanes|=q,ri|=q;N=N.next}while(N!==null&&N!==t);if(k===null?g=u:k.next=v,!sn(u,e.memoizedState)&&(yt=!0,P&&(a=Lr,a!==null)))throw a;e.memoizedState=u,e.baseState=g,e.baseQueue=k,s.lastRenderedState=u}return o===null&&(s.lanes=0),[e.memoizedState,s.dispatch]}function Fu(e){var t=ht(),a=t.queue;if(a===null)throw Error(l(311));a.lastRenderedReducer=e;var s=a.dispatch,o=a.pending,u=t.memoizedState;if(o!==null){a.pending=null;var g=o=o.next;do u=e(u,g.action),g=g.next;while(g!==o);sn(u,t.memoizedState)||(yt=!0),t.memoizedState=u,t.baseQueue===null&&(t.baseState=u),a.lastRenderedState=u}return[u,s]}function Pf(e,t,a){var s=ke,o=ht(),u=Ne;if(u){if(a===void 0)throw Error(l(407));a=a()}else a=t();var g=!sn((Ve||o).memoizedState,a);if(g&&(o.memoizedState=a,yt=!0),o=o.queue,Ju(qf.bind(null,s,o,e),[e]),o.getSnapshot!==t||g||pt!==null&&pt.memoizedState.tag&1){if(s.flags|=2048,Pr(9,{destroy:void 0},$f.bind(null,s,o,a,t),null),Ye===null)throw Error(l(349));u||(pa&127)!==0||Hf(s,t,a)}return a}function Hf(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=ke.updateQueue,t===null?(t=Co(),ke.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function $f(e,t,a,s){t.value=a,t.getSnapshot=s,If(t)&&Gf(e)}function qf(e,t,a){return a(function(){If(t)&&Gf(e)})}function If(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!sn(e,a)}catch{return!0}}function Gf(e){var t=Hi(e,2);t!==null&&Ft(t,e,2)}function Yu(e){var t=Pt();if(typeof e=="function"){var a=e;if(e=a(),Wi){Qt(!0);try{a()}finally{Qt(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:e},t}function Vf(e,t,a,s){return e.baseState=a,Ku(e,Ve,typeof s=="function"?s:ya)}function zv(e,t,a,s,o){if(Lo(e))throw Error(l(485));if(e=t.action,e!==null){var u={payload:o,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(g){u.listeners.push(g)}};_.T!==null?a(!0):u.isTransition=!1,s(u),a=t.pending,a===null?(u.next=t.pending=u,Kf(t,u)):(u.next=a.next,t.pending=a.next=u)}}function Kf(e,t){var a=t.action,s=t.payload,o=e.state;if(t.isTransition){var u=_.T,g={};_.T=g;try{var v=a(o,s),k=_.S;k!==null&&k(g,v),Ff(e,t,v)}catch(N){Wu(e,t,N)}finally{u!==null&&g.types!==null&&(u.types=g.types),_.T=u}}else try{u=a(o,s),Ff(e,t,u)}catch(N){Wu(e,t,N)}}function Ff(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(s){Yf(e,t,s)},function(s){return Wu(e,t,s)}):Yf(e,t,a)}function Yf(e,t,a){t.status="fulfilled",t.value=a,Wf(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,Kf(e,a)))}function Wu(e,t,a){var s=e.pending;if(e.pending=null,s!==null){s=s.next;do t.status="rejected",t.reason=a,Wf(t),t=t.next;while(t!==s)}e.action=null}function Wf(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Jf(e,t){return t}function Xf(e,t){if(Ne){var a=Ye.formState;if(a!==null){e:{var s=ke;if(Ne){if(Xe){t:{for(var o=Xe,u=_n;o.nodeType!==8;){if(!u){o=null;break t}if(o=kn(o.nextSibling),o===null){o=null;break t}}u=o.data,o=u==="F!"||u==="F"?o:null}if(o){Xe=kn(o.nextSibling),s=o.data==="F!";break e}}Ja(s)}s=!1}s&&(t=a[0])}}return a=Pt(),a.memoizedState=a.baseState=t,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Jf,lastRenderedState:t},a.queue=s,a=pm.bind(null,ke,s),s.dispatch=a,s=Yu(!1),u=td.bind(null,ke,!1,s.queue),s=Pt(),o={state:t,dispatch:null,action:e,pending:null},s.queue=o,a=zv.bind(null,ke,o,u,a),o.dispatch=a,s.memoizedState=e,[t,a,!1]}function Qf(e){var t=ht();return Zf(t,Ve,e)}function Zf(e,t,a){if(t=Ku(e,t,Jf)[0],e=Oo(ya)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var s=Xs(t)}catch(g){throw g===Mr?So:g}else s=t;t=ht();var o=t.queue,u=o.dispatch;return a!==t.memoizedState&&(ke.flags|=2048,Pr(9,{destroy:void 0},Bv.bind(null,o,a),null)),[s,u,e]}function Bv(e,t){e.action=t}function em(e){var t=ht(),a=Ve;if(a!==null)return Zf(t,a,e);ht(),t=t.memoizedState,a=ht();var s=a.queue.dispatch;return a.memoizedState=e,[t,s,!1]}function Pr(e,t,a,s){return e={tag:e,create:a,deps:s,inst:t,next:null},t=ke.updateQueue,t===null&&(t=Co(),ke.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(s=a.next,a.next=e,e.next=s,t.lastEffect=e),e}function tm(){return ht().memoizedState}function jo(e,t,a,s){var o=Pt();ke.flags|=e,o.memoizedState=Pr(1|t,{destroy:void 0},a,s===void 0?null:s)}function No(e,t,a,s){var o=ht();s=s===void 0?null:s;var u=o.memoizedState.inst;Ve!==null&&s!==null&&Hu(s,Ve.memoizedState.deps)?o.memoizedState=Pr(t,u,a,s):(ke.flags|=e,o.memoizedState=Pr(1|t,u,a,s))}function nm(e,t){jo(8390656,8,e,t)}function Ju(e,t){No(2048,8,e,t)}function Pv(e){ke.flags|=4;var t=ke.updateQueue;if(t===null)t=Co(),ke.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function am(e){var t=ht().memoizedState;return Pv({ref:t,nextImpl:e}),function(){if((Be&2)!==0)throw Error(l(440));return t.impl.apply(void 0,arguments)}}function im(e,t){return No(4,2,e,t)}function rm(e,t){return No(4,4,e,t)}function sm(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function lm(e,t,a){a=a!=null?a.concat([e]):null,No(4,4,sm.bind(null,t,e),a)}function Xu(){}function om(e,t){var a=ht();t=t===void 0?null:t;var s=a.memoizedState;return t!==null&&Hu(t,s[1])?s[0]:(a.memoizedState=[e,t],e)}function cm(e,t){var a=ht();t=t===void 0?null:t;var s=a.memoizedState;if(t!==null&&Hu(t,s[1]))return s[0];if(s=e(),Wi){Qt(!0);try{e()}finally{Qt(!1)}}return a.memoizedState=[s,t],s}function Qu(e,t,a){return a===void 0||(pa&1073741824)!==0&&(Re&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=ug(),ke.lanes|=e,ri|=e,a)}function um(e,t,a,s){return sn(a,t)?a:Ur.current!==null?(e=Qu(e,a,s),sn(e,t)||(yt=!0),e):(pa&42)===0||(pa&1073741824)!==0&&(Re&261930)===0?(yt=!0,e.memoizedState=a):(e=ug(),ke.lanes|=e,ri|=e,t)}function dm(e,t,a,s,o){var u=H.p;H.p=u!==0&&8>u?u:8;var g=_.T,v={};_.T=v,td(e,!1,t,a);try{var k=o(),N=_.S;if(N!==null&&N(v,k),k!==null&&typeof k=="object"&&typeof k.then=="function"){var P=Mv(k,s);Qs(e,t,P,hn(e))}else Qs(e,t,s,hn(e))}catch(q){Qs(e,t,{then:function(){},status:"rejected",reason:q},hn())}finally{H.p=u,g!==null&&v.types!==null&&(g.types=v.types),_.T=g}}function Hv(){}function Zu(e,t,a,s){if(e.tag!==5)throw Error(l(476));var o=hm(e).queue;dm(e,o,t,Q,a===null?Hv:function(){return fm(e),a(s)})}function hm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Q,baseState:Q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:Q},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function fm(e){var t=hm(e);t.next===null&&(t=e.alternate.memoizedState),Qs(e,t.next.queue,{},hn())}function ed(){return Rt(gl)}function mm(){return ht().memoizedState}function gm(){return ht().memoizedState}function $v(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=hn();e=Za(a);var s=ei(t,e,a);s!==null&&(Ft(s,t,a),Fs(s,t,a)),t={cache:Ru()},e.payload=t;return}t=t.return}}function qv(e,t,a){var s=hn();a={lane:s,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Lo(e)?ym(t,a):(a=vu(e,t,a,s),a!==null&&(Ft(a,e,s),vm(a,t,s)))}function pm(e,t,a){var s=hn();Qs(e,t,a,s)}function Qs(e,t,a,s){var o={lane:s,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Lo(e))ym(t,o);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var g=t.lastRenderedState,v=u(g,a);if(o.hasEagerState=!0,o.eagerState=v,sn(v,g))return fo(e,t,o,0),Ye===null&&ho(),!1}catch{}if(a=vu(e,t,o,s),a!==null)return Ft(a,e,s),vm(a,t,s),!0}return!1}function td(e,t,a,s){if(s={lane:2,revertLane:Ld(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Lo(e)){if(t)throw Error(l(479))}else t=vu(e,a,s,2),t!==null&&Ft(t,e,2)}function Lo(e){var t=e.alternate;return e===ke||t!==null&&t===ke}function ym(e,t){zr=Eo=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function vm(e,t,a){if((a&4194048)!==0){var s=t.lanes;s&=e.pendingLanes,a|=s,t.lanes=a,Xl(e,a)}}var Zs={readContext:Rt,use:Ro,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useInsertionEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useDeferredValue:lt,useTransition:lt,useSyncExternalStore:lt,useId:lt,useHostTransitionStatus:lt,useFormState:lt,useActionState:lt,useOptimistic:lt,useMemoCache:lt,useCacheRefresh:lt};Zs.useEffectEvent=lt;var bm={readContext:Rt,use:Ro,useCallback:function(e,t){return Pt().memoizedState=[e,t===void 0?null:t],e},useContext:Rt,useEffect:nm,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,jo(4194308,4,sm.bind(null,t,e),a)},useLayoutEffect:function(e,t){return jo(4194308,4,e,t)},useInsertionEffect:function(e,t){jo(4,2,e,t)},useMemo:function(e,t){var a=Pt();t=t===void 0?null:t;var s=e();if(Wi){Qt(!0);try{e()}finally{Qt(!1)}}return a.memoizedState=[s,t],s},useReducer:function(e,t,a){var s=Pt();if(a!==void 0){var o=a(t);if(Wi){Qt(!0);try{a(t)}finally{Qt(!1)}}}else o=t;return s.memoizedState=s.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},s.queue=e,e=e.dispatch=qv.bind(null,ke,e),[s.memoizedState,e]},useRef:function(e){var t=Pt();return e={current:e},t.memoizedState=e},useState:function(e){e=Yu(e);var t=e.queue,a=pm.bind(null,ke,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Xu,useDeferredValue:function(e,t){var a=Pt();return Qu(a,e,t)},useTransition:function(){var e=Yu(!1);return e=dm.bind(null,ke,e.queue,!0,!1),Pt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var s=ke,o=Pt();if(Ne){if(a===void 0)throw Error(l(407));a=a()}else{if(a=t(),Ye===null)throw Error(l(349));(Re&127)!==0||Hf(s,t,a)}o.memoizedState=a;var u={value:a,getSnapshot:t};return o.queue=u,nm(qf.bind(null,s,u,e),[e]),s.flags|=2048,Pr(9,{destroy:void 0},$f.bind(null,s,u,a,t),null),a},useId:function(){var e=Pt(),t=Ye.identifierPrefix;if(Ne){var a=Yn,s=Fn;a=(s&~(1<<32-wt(s)-1)).toString(32)+a,t="_"+t+"R_"+a,a=xo++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Dv++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:ed,useFormState:Xf,useActionState:Xf,useOptimistic:function(e){var t=Pt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=td.bind(null,ke,!0,a),a.dispatch=t,[e,t]},useMemoCache:Vu,useCacheRefresh:function(){return Pt().memoizedState=$v.bind(null,ke)},useEffectEvent:function(e){var t=Pt(),a={impl:e};return t.memoizedState=a,function(){if((Be&2)!==0)throw Error(l(440));return a.impl.apply(void 0,arguments)}}},nd={readContext:Rt,use:Ro,useCallback:om,useContext:Rt,useEffect:Ju,useImperativeHandle:lm,useInsertionEffect:im,useLayoutEffect:rm,useMemo:cm,useReducer:Oo,useRef:tm,useState:function(){return Oo(ya)},useDebugValue:Xu,useDeferredValue:function(e,t){var a=ht();return um(a,Ve.memoizedState,e,t)},useTransition:function(){var e=Oo(ya)[0],t=ht().memoizedState;return[typeof e=="boolean"?e:Xs(e),t]},useSyncExternalStore:Pf,useId:mm,useHostTransitionStatus:ed,useFormState:Qf,useActionState:Qf,useOptimistic:function(e,t){var a=ht();return Vf(a,Ve,e,t)},useMemoCache:Vu,useCacheRefresh:gm};nd.useEffectEvent=am;var Sm={readContext:Rt,use:Ro,useCallback:om,useContext:Rt,useEffect:Ju,useImperativeHandle:lm,useInsertionEffect:im,useLayoutEffect:rm,useMemo:cm,useReducer:Fu,useRef:tm,useState:function(){return Fu(ya)},useDebugValue:Xu,useDeferredValue:function(e,t){var a=ht();return Ve===null?Qu(a,e,t):um(a,Ve.memoizedState,e,t)},useTransition:function(){var e=Fu(ya)[0],t=ht().memoizedState;return[typeof e=="boolean"?e:Xs(e),t]},useSyncExternalStore:Pf,useId:mm,useHostTransitionStatus:ed,useFormState:em,useActionState:em,useOptimistic:function(e,t){var a=ht();return Ve!==null?Vf(a,Ve,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:Vu,useCacheRefresh:gm};Sm.useEffectEvent=am;function ad(e,t,a,s){t=e.memoizedState,a=a(s,t),a=a==null?t:S({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var id={enqueueSetState:function(e,t,a){e=e._reactInternals;var s=hn(),o=Za(s);o.payload=t,a!=null&&(o.callback=a),t=ei(e,o,s),t!==null&&(Ft(t,e,s),Fs(t,e,s))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var s=hn(),o=Za(s);o.tag=1,o.payload=t,a!=null&&(o.callback=a),t=ei(e,o,s),t!==null&&(Ft(t,e,s),Fs(t,e,s))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=hn(),s=Za(a);s.tag=2,t!=null&&(s.callback=t),t=ei(e,s,a),t!==null&&(Ft(t,e,a),Fs(t,e,a))}};function wm(e,t,a,s,o,u,g){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,u,g):t.prototype&&t.prototype.isPureReactComponent?!Ps(a,s)||!Ps(o,u):!0}function _m(e,t,a,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,s),t.state!==e&&id.enqueueReplaceState(t,t.state,null)}function Ji(e,t){var a=t;if("ref"in t){a={};for(var s in t)s!=="ref"&&(a[s]=t[s])}if(e=e.defaultProps){a===t&&(a=S({},a));for(var o in e)a[o]===void 0&&(a[o]=e[o])}return a}function Tm(e){uo(e)}function km(e){console.error(e)}function Am(e){uo(e)}function Mo(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(s){setTimeout(function(){throw s})}}function Em(e,t,a){try{var s=e.onCaughtError;s(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function rd(e,t,a){return a=Za(a),a.tag=3,a.payload={element:null},a.callback=function(){Mo(e,t)},a}function xm(e){return e=Za(e),e.tag=3,e}function Cm(e,t,a,s){var o=a.type.getDerivedStateFromError;if(typeof o=="function"){var u=s.value;e.payload=function(){return o(u)},e.callback=function(){Em(t,a,s)}}var g=a.stateNode;g!==null&&typeof g.componentDidCatch=="function"&&(e.callback=function(){Em(t,a,s),typeof o!="function"&&(si===null?si=new Set([this]):si.add(this));var v=s.stack;this.componentDidCatch(s.value,{componentStack:v!==null?v:""})})}function Iv(e,t,a,s,o){if(a.flags|=32768,s!==null&&typeof s=="object"&&typeof s.then=="function"){if(t=a.alternate,t!==null&&jr(t,a,o,!0),a=on.current,a!==null){switch(a.tag){case 31:case 13:return Tn===null?Ko():a.alternate===null&&ot===0&&(ot=3),a.flags&=-257,a.flags|=65536,a.lanes=o,s===wo?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([s]):t.add(s),Od(e,s,o)),!1;case 22:return a.flags|=65536,s===wo?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([s])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([s]):a.add(s)),Od(e,s,o)),!1}throw Error(l(435,a.tag))}return Od(e,s,o),Ko(),!1}if(Ne)return t=on.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,s!==ku&&(e=Error(l(422),{cause:s}),qs(bn(e,a)))):(s!==ku&&(t=Error(l(423),{cause:s}),qs(bn(t,a))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,s=bn(s,a),o=rd(e.stateNode,s,o),Du(e,o),ot!==4&&(ot=2)),!1;var u=Error(l(520),{cause:s});if(u=bn(u,a),ll===null?ll=[u]:ll.push(u),ot!==4&&(ot=2),t===null)return!0;s=bn(s,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=o&-o,a.lanes|=e,e=rd(a.stateNode,s,e),Du(a,e),!1;case 1:if(t=a.type,u=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||u!==null&&typeof u.componentDidCatch=="function"&&(si===null||!si.has(u))))return a.flags|=65536,o&=-o,a.lanes|=o,o=xm(o),Cm(o,e,a,s),Du(a,o),!1}a=a.return}while(a!==null);return!1}var sd=Error(l(461)),yt=!1;function Ot(e,t,a,s){t.child=e===null?Nf(t,null,a,s):Yi(t,e.child,a,s)}function Rm(e,t,a,s,o){a=a.render;var u=t.ref;if("ref"in s){var g={};for(var v in s)v!=="ref"&&(g[v]=s[v])}else g=s;return Gi(t),s=$u(e,t,a,g,u,o),v=qu(),e!==null&&!yt?(Iu(e,t,o),va(e,t,o)):(Ne&&v&&_u(t),t.flags|=1,Ot(e,t,s,o),t.child)}function Om(e,t,a,s,o){if(e===null){var u=a.type;return typeof u=="function"&&!bu(u)&&u.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=u,jm(e,t,u,s,o)):(e=go(a.type,null,s,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(u=e.child,!md(e,o)){var g=u.memoizedProps;if(a=a.compare,a=a!==null?a:Ps,a(g,s)&&e.ref===t.ref)return va(e,t,o)}return t.flags|=1,e=ha(u,s),e.ref=t.ref,e.return=t,t.child=e}function jm(e,t,a,s,o){if(e!==null){var u=e.memoizedProps;if(Ps(u,s)&&e.ref===t.ref)if(yt=!1,t.pendingProps=s=u,md(e,o))(e.flags&131072)!==0&&(yt=!0);else return t.lanes=e.lanes,va(e,t,o)}return ld(e,t,a,s,o)}function Nm(e,t,a,s){var o=s.children,u=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),s.mode==="hidden"){if((t.flags&128)!==0){if(u=u!==null?u.baseLanes|a:a,e!==null){for(s=t.child=e.child,o=0;s!==null;)o=o|s.lanes|s.childLanes,s=s.sibling;s=o&~u}else s=0,t.child=null;return Lm(e,t,u,a,s)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&bo(t,u!==null?u.cachePool:null),u!==null?Df(t,u):zu(),Uf(t);else return s=t.lanes=536870912,Lm(e,t,u!==null?u.baseLanes|a:a,a,s)}else u!==null?(bo(t,u.cachePool),Df(t,u),ni(),t.memoizedState=null):(e!==null&&bo(t,null),zu(),ni());return Ot(e,t,o,a),t.child}function el(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Lm(e,t,a,s,o){var u=ju();return u=u===null?null:{parent:gt._currentValue,pool:u},t.memoizedState={baseLanes:a,cachePool:u},e!==null&&bo(t,null),zu(),Uf(t),e!==null&&jr(e,t,s,!0),t.childLanes=o,null}function Do(e,t){return t=zo({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Mm(e,t,a){return Yi(t,e.child,null,a),e=Do(t,t.pendingProps),e.flags|=2,cn(t),t.memoizedState=null,e}function Gv(e,t,a){var s=t.pendingProps,o=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Ne){if(s.mode==="hidden")return e=Do(t,s),t.lanes=536870912,el(null,e);if(Pu(t),(e=Xe)?(e=Kg(e,_n),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ya!==null?{id:Fn,overflow:Yn}:null,retryLane:536870912,hydrationErrors:null},a=yf(e),a.return=t,t.child=a,Ct=t,Xe=null)):e=null,e===null)throw Ja(t);return t.lanes=536870912,null}return Do(t,s)}var u=e.memoizedState;if(u!==null){var g=u.dehydrated;if(Pu(t),o)if(t.flags&256)t.flags&=-257,t=Mm(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(l(558));else if(yt||jr(e,t,a,!1),o=(a&e.childLanes)!==0,yt||o){if(s=Ye,s!==null&&(g=en(s,a),g!==0&&g!==u.retryLane))throw u.retryLane=g,Hi(e,g),Ft(s,e,g),sd;Ko(),t=Mm(e,t,a)}else e=u.treeContext,Xe=kn(g.nextSibling),Ct=t,Ne=!0,Wa=null,_n=!1,e!==null&&Sf(t,e),t=Do(t,s),t.flags|=4096;return t}return e=ha(e.child,{mode:s.mode,children:s.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Uo(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(l(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function ld(e,t,a,s,o){return Gi(t),a=$u(e,t,a,s,void 0,o),s=qu(),e!==null&&!yt?(Iu(e,t,o),va(e,t,o)):(Ne&&s&&_u(t),t.flags|=1,Ot(e,t,a,o),t.child)}function Dm(e,t,a,s,o,u){return Gi(t),t.updateQueue=null,a=Bf(t,s,a,o),zf(e),s=qu(),e!==null&&!yt?(Iu(e,t,u),va(e,t,u)):(Ne&&s&&_u(t),t.flags|=1,Ot(e,t,a,u),t.child)}function Um(e,t,a,s,o){if(Gi(t),t.stateNode===null){var u=xr,g=a.contextType;typeof g=="object"&&g!==null&&(u=Rt(g)),u=new a(s,u),t.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,u.updater=id,t.stateNode=u,u._reactInternals=t,u=t.stateNode,u.props=s,u.state=t.memoizedState,u.refs={},Lu(t),g=a.contextType,u.context=typeof g=="object"&&g!==null?Rt(g):xr,u.state=t.memoizedState,g=a.getDerivedStateFromProps,typeof g=="function"&&(ad(t,a,g,s),u.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof u.getSnapshotBeforeUpdate=="function"||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(g=u.state,typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount(),g!==u.state&&id.enqueueReplaceState(u,u.state,null),Ws(t,s,u,o),Ys(),u.state=t.memoizedState),typeof u.componentDidMount=="function"&&(t.flags|=4194308),s=!0}else if(e===null){u=t.stateNode;var v=t.memoizedProps,k=Ji(a,v);u.props=k;var N=u.context,P=a.contextType;g=xr,typeof P=="object"&&P!==null&&(g=Rt(P));var q=a.getDerivedStateFromProps;P=typeof q=="function"||typeof u.getSnapshotBeforeUpdate=="function",v=t.pendingProps!==v,P||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(v||N!==g)&&_m(t,u,s,g),Qa=!1;var L=t.memoizedState;u.state=L,Ws(t,s,u,o),Ys(),N=t.memoizedState,v||L!==N||Qa?(typeof q=="function"&&(ad(t,a,q,s),N=t.memoizedState),(k=Qa||wm(t,a,k,s,L,N,g))?(P||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount()),typeof u.componentDidMount=="function"&&(t.flags|=4194308)):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=N),u.props=s,u.state=N,u.context=g,s=k):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{u=t.stateNode,Mu(e,t),g=t.memoizedProps,P=Ji(a,g),u.props=P,q=t.pendingProps,L=u.context,N=a.contextType,k=xr,typeof N=="object"&&N!==null&&(k=Rt(N)),v=a.getDerivedStateFromProps,(N=typeof v=="function"||typeof u.getSnapshotBeforeUpdate=="function")||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(g!==q||L!==k)&&_m(t,u,s,k),Qa=!1,L=t.memoizedState,u.state=L,Ws(t,s,u,o),Ys();var U=t.memoizedState;g!==q||L!==U||Qa||e!==null&&e.dependencies!==null&&yo(e.dependencies)?(typeof v=="function"&&(ad(t,a,v,s),U=t.memoizedState),(P=Qa||wm(t,a,P,s,L,U,k)||e!==null&&e.dependencies!==null&&yo(e.dependencies))?(N||typeof u.UNSAFE_componentWillUpdate!="function"&&typeof u.componentWillUpdate!="function"||(typeof u.componentWillUpdate=="function"&&u.componentWillUpdate(s,U,k),typeof u.UNSAFE_componentWillUpdate=="function"&&u.UNSAFE_componentWillUpdate(s,U,k)),typeof u.componentDidUpdate=="function"&&(t.flags|=4),typeof u.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof u.componentDidUpdate!="function"||g===e.memoizedProps&&L===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||g===e.memoizedProps&&L===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=U),u.props=s,u.state=U,u.context=k,s=P):(typeof u.componentDidUpdate!="function"||g===e.memoizedProps&&L===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||g===e.memoizedProps&&L===e.memoizedState||(t.flags|=1024),s=!1)}return u=s,Uo(e,t),s=(t.flags&128)!==0,u||s?(u=t.stateNode,a=s&&typeof a.getDerivedStateFromError!="function"?null:u.render(),t.flags|=1,e!==null&&s?(t.child=Yi(t,e.child,null,o),t.child=Yi(t,null,a,o)):Ot(e,t,a,o),t.memoizedState=u.state,e=t.child):e=va(e,t,o),e}function zm(e,t,a,s){return qi(),t.flags|=256,Ot(e,t,a,s),t.child}var od={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function cd(e){return{baseLanes:e,cachePool:Ef()}}function ud(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=dn),e}function Bm(e,t,a){var s=t.pendingProps,o=!1,u=(t.flags&128)!==0,g;if((g=u)||(g=e!==null&&e.memoizedState===null?!1:(dt.current&2)!==0),g&&(o=!0,t.flags&=-129),g=(t.flags&32)!==0,t.flags&=-33,e===null){if(Ne){if(o?ti(t):ni(),(e=Xe)?(e=Kg(e,_n),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ya!==null?{id:Fn,overflow:Yn}:null,retryLane:536870912,hydrationErrors:null},a=yf(e),a.return=t,t.child=a,Ct=t,Xe=null)):e=null,e===null)throw Ja(t);return Kd(e)?t.lanes=32:t.lanes=536870912,null}var v=s.children;return s=s.fallback,o?(ni(),o=t.mode,v=zo({mode:"hidden",children:v},o),s=$i(s,o,a,null),v.return=t,s.return=t,v.sibling=s,t.child=v,s=t.child,s.memoizedState=cd(a),s.childLanes=ud(e,g,a),t.memoizedState=od,el(null,s)):(ti(t),dd(t,v))}var k=e.memoizedState;if(k!==null&&(v=k.dehydrated,v!==null)){if(u)t.flags&256?(ti(t),t.flags&=-257,t=hd(e,t,a)):t.memoizedState!==null?(ni(),t.child=e.child,t.flags|=128,t=null):(ni(),v=s.fallback,o=t.mode,s=zo({mode:"visible",children:s.children},o),v=$i(v,o,a,null),v.flags|=2,s.return=t,v.return=t,s.sibling=v,t.child=s,Yi(t,e.child,null,a),s=t.child,s.memoizedState=cd(a),s.childLanes=ud(e,g,a),t.memoizedState=od,t=el(null,s));else if(ti(t),Kd(v)){if(g=v.nextSibling&&v.nextSibling.dataset,g)var N=g.dgst;g=N,s=Error(l(419)),s.stack="",s.digest=g,qs({value:s,source:null,stack:null}),t=hd(e,t,a)}else if(yt||jr(e,t,a,!1),g=(a&e.childLanes)!==0,yt||g){if(g=Ye,g!==null&&(s=en(g,a),s!==0&&s!==k.retryLane))throw k.retryLane=s,Hi(e,s),Ft(g,e,s),sd;Vd(v)||Ko(),t=hd(e,t,a)}else Vd(v)?(t.flags|=192,t.child=e.child,t=null):(e=k.treeContext,Xe=kn(v.nextSibling),Ct=t,Ne=!0,Wa=null,_n=!1,e!==null&&Sf(t,e),t=dd(t,s.children),t.flags|=4096);return t}return o?(ni(),v=s.fallback,o=t.mode,k=e.child,N=k.sibling,s=ha(k,{mode:"hidden",children:s.children}),s.subtreeFlags=k.subtreeFlags&65011712,N!==null?v=ha(N,v):(v=$i(v,o,a,null),v.flags|=2),v.return=t,s.return=t,s.sibling=v,t.child=s,el(null,s),s=t.child,v=e.child.memoizedState,v===null?v=cd(a):(o=v.cachePool,o!==null?(k=gt._currentValue,o=o.parent!==k?{parent:k,pool:k}:o):o=Ef(),v={baseLanes:v.baseLanes|a,cachePool:o}),s.memoizedState=v,s.childLanes=ud(e,g,a),t.memoizedState=od,el(e.child,s)):(ti(t),a=e.child,e=a.sibling,a=ha(a,{mode:"visible",children:s.children}),a.return=t,a.sibling=null,e!==null&&(g=t.deletions,g===null?(t.deletions=[e],t.flags|=16):g.push(e)),t.child=a,t.memoizedState=null,a)}function dd(e,t){return t=zo({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function zo(e,t){return e=ln(22,e,null,t),e.lanes=0,e}function hd(e,t,a){return Yi(t,e.child,null,a),e=dd(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Pm(e,t,a){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),xu(e.return,t,a)}function fd(e,t,a,s,o,u){var g=e.memoizedState;g===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:a,tailMode:o,treeForkCount:u}:(g.isBackwards=t,g.rendering=null,g.renderingStartTime=0,g.last=s,g.tail=a,g.tailMode=o,g.treeForkCount=u)}function Hm(e,t,a){var s=t.pendingProps,o=s.revealOrder,u=s.tail;s=s.children;var g=dt.current,v=(g&2)!==0;if(v?(g=g&1|2,t.flags|=128):g&=1,J(dt,g),Ot(e,t,s,a),s=Ne?$s:0,!v&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Pm(e,a,t);else if(e.tag===19)Pm(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(o){case"forwards":for(a=t.child,o=null;a!==null;)e=a.alternate,e!==null&&Ao(e)===null&&(o=a),a=a.sibling;a=o,a===null?(o=t.child,t.child=null):(o=a.sibling,a.sibling=null),fd(t,!1,o,a,u,s);break;case"backwards":case"unstable_legacy-backwards":for(a=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Ao(e)===null){t.child=o;break}e=o.sibling,o.sibling=a,a=o,o=e}fd(t,!0,a,null,u,s);break;case"together":fd(t,!1,null,null,void 0,s);break;default:t.memoizedState=null}return t.child}function va(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),ri|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(jr(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(l(153));if(t.child!==null){for(e=t.child,a=ha(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=ha(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function md(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&yo(e)))}function Vv(e,t,a){switch(t.tag){case 3:tt(t,t.stateNode.containerInfo),Xa(t,gt,e.memoizedState.cache),qi();break;case 27:case 5:In(t);break;case 4:tt(t,t.stateNode.containerInfo);break;case 10:Xa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Pu(t),null;break;case 13:var s=t.memoizedState;if(s!==null)return s.dehydrated!==null?(ti(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Bm(e,t,a):(ti(t),e=va(e,t,a),e!==null?e.sibling:null);ti(t);break;case 19:var o=(e.flags&128)!==0;if(s=(a&t.childLanes)!==0,s||(jr(e,t,a,!1),s=(a&t.childLanes)!==0),o){if(s)return Hm(e,t,a);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),J(dt,dt.current),s)break;return null;case 22:return t.lanes=0,Nm(e,t,a,t.pendingProps);case 24:Xa(t,gt,e.memoizedState.cache)}return va(e,t,a)}function $m(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)yt=!0;else{if(!md(e,a)&&(t.flags&128)===0)return yt=!1,Vv(e,t,a);yt=(e.flags&131072)!==0}else yt=!1,Ne&&(t.flags&1048576)!==0&&bf(t,$s,t.index);switch(t.lanes=0,t.tag){case 16:e:{var s=t.pendingProps;if(e=Ki(t.elementType),t.type=e,typeof e=="function")bu(e)?(s=Ji(e,s),t.tag=1,t=Um(null,t,e,s,a)):(t.tag=0,t=ld(null,t,e,s,a));else{if(e!=null){var o=e.$$typeof;if(o===ee){t.tag=11,t=Rm(null,t,e,s,a);break e}else if(o===Z){t.tag=14,t=Om(null,t,e,s,a);break e}}throw t=X(e)||e,Error(l(306,t,""))}}return t;case 0:return ld(e,t,t.type,t.pendingProps,a);case 1:return s=t.type,o=Ji(s,t.pendingProps),Um(e,t,s,o,a);case 3:e:{if(tt(t,t.stateNode.containerInfo),e===null)throw Error(l(387));s=t.pendingProps;var u=t.memoizedState;o=u.element,Mu(e,t),Ws(t,s,null,a);var g=t.memoizedState;if(s=g.cache,Xa(t,gt,s),s!==u.cache&&Cu(t,[gt],a,!0),Ys(),s=g.element,u.isDehydrated)if(u={element:s,isDehydrated:!1,cache:g.cache},t.updateQueue.baseState=u,t.memoizedState=u,t.flags&256){t=zm(e,t,s,a);break e}else if(s!==o){o=bn(Error(l(424)),t),qs(o),t=zm(e,t,s,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Xe=kn(e.firstChild),Ct=t,Ne=!0,Wa=null,_n=!0,a=Nf(t,null,s,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(qi(),s===o){t=va(e,t,a);break e}Ot(e,t,s,a)}t=t.child}return t;case 26:return Uo(e,t),e===null?(a=Qg(t.type,null,t.pendingProps,null))?t.memoizedState=a:Ne||(a=t.type,e=t.pendingProps,s=Zo(Se.current).createElement(a),s[W]=t,s[Je]=e,jt(s,a,e),ut(s),t.stateNode=s):t.memoizedState=Qg(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return In(t),e===null&&Ne&&(s=t.stateNode=Wg(t.type,t.pendingProps,Se.current),Ct=t,_n=!0,o=Xe,ui(t.type)?(Fd=o,Xe=kn(s.firstChild)):Xe=o),Ot(e,t,t.pendingProps.children,a),Uo(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ne&&((o=s=Xe)&&(s=w0(s,t.type,t.pendingProps,_n),s!==null?(t.stateNode=s,Ct=t,Xe=kn(s.firstChild),_n=!1,o=!0):o=!1),o||Ja(t)),In(t),o=t.type,u=t.pendingProps,g=e!==null?e.memoizedProps:null,s=u.children,qd(o,u)?s=null:g!==null&&qd(o,g)&&(t.flags|=32),t.memoizedState!==null&&(o=$u(e,t,Uv,null,null,a),gl._currentValue=o),Uo(e,t),Ot(e,t,s,a),t.child;case 6:return e===null&&Ne&&((e=a=Xe)&&(a=_0(a,t.pendingProps,_n),a!==null?(t.stateNode=a,Ct=t,Xe=null,e=!0):e=!1),e||Ja(t)),null;case 13:return Bm(e,t,a);case 4:return tt(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=Yi(t,null,s,a):Ot(e,t,s,a),t.child;case 11:return Rm(e,t,t.type,t.pendingProps,a);case 7:return Ot(e,t,t.pendingProps,a),t.child;case 8:return Ot(e,t,t.pendingProps.children,a),t.child;case 12:return Ot(e,t,t.pendingProps.children,a),t.child;case 10:return s=t.pendingProps,Xa(t,t.type,s.value),Ot(e,t,s.children,a),t.child;case 9:return o=t.type._context,s=t.pendingProps.children,Gi(t),o=Rt(o),s=s(o),t.flags|=1,Ot(e,t,s,a),t.child;case 14:return Om(e,t,t.type,t.pendingProps,a);case 15:return jm(e,t,t.type,t.pendingProps,a);case 19:return Hm(e,t,a);case 31:return Gv(e,t,a);case 22:return Nm(e,t,a,t.pendingProps);case 24:return Gi(t),s=Rt(gt),e===null?(o=ju(),o===null&&(o=Ye,u=Ru(),o.pooledCache=u,u.refCount++,u!==null&&(o.pooledCacheLanes|=a),o=u),t.memoizedState={parent:s,cache:o},Lu(t),Xa(t,gt,o)):((e.lanes&a)!==0&&(Mu(e,t),Ws(t,null,null,a),Ys()),o=e.memoizedState,u=t.memoizedState,o.parent!==s?(o={parent:s,cache:s},t.memoizedState=o,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=o),Xa(t,gt,s)):(s=u.cache,Xa(t,gt,s),s!==o.cache&&Cu(t,[gt],a,!0))),Ot(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(l(156,t.tag))}function ba(e){e.flags|=4}function gd(e,t,a,s,o){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(o&335544128)===o)if(e.stateNode.complete)e.flags|=8192;else if(mg())e.flags|=8192;else throw Fi=wo,Nu}else e.flags&=-16777217}function qm(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!ap(t))if(mg())e.flags|=8192;else throw Fi=wo,Nu}function Bo(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?bs():536870912,e.lanes|=t,Ir|=t)}function tl(e,t){if(!Ne)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var s=null;a!==null;)a.alternate!==null&&(s=a),a=a.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function Qe(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,s=0;if(t)for(var o=e.child;o!==null;)a|=o.lanes|o.childLanes,s|=o.subtreeFlags&65011712,s|=o.flags&65011712,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)a|=o.lanes|o.childLanes,s|=o.subtreeFlags,s|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=s,e.childLanes=a,t}function Kv(e,t,a){var s=t.pendingProps;switch(Tu(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Qe(t),null;case 1:return Qe(t),null;case 3:return a=t.stateNode,s=null,e!==null&&(s=e.memoizedState.cache),t.memoizedState.cache!==s&&(t.flags|=2048),ga(gt),nt(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Or(t)?ba(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Au())),Qe(t),null;case 26:var o=t.type,u=t.memoizedState;return e===null?(ba(t),u!==null?(Qe(t),qm(t,u)):(Qe(t),gd(t,o,null,s,a))):u?u!==e.memoizedState?(ba(t),Qe(t),qm(t,u)):(Qe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==s&&ba(t),Qe(t),gd(t,o,e,s,a)),null;case 27:if(Cn(t),a=Se.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==s&&ba(t);else{if(!s){if(t.stateNode===null)throw Error(l(166));return Qe(t),null}e=ae.current,Or(t)?wf(t):(e=Wg(o,s,a),t.stateNode=e,ba(t))}return Qe(t),null;case 5:if(Cn(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==s&&ba(t);else{if(!s){if(t.stateNode===null)throw Error(l(166));return Qe(t),null}if(u=ae.current,Or(t))wf(t);else{var g=Zo(Se.current);switch(u){case 1:u=g.createElementNS("http://www.w3.org/2000/svg",o);break;case 2:u=g.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;default:switch(o){case"svg":u=g.createElementNS("http://www.w3.org/2000/svg",o);break;case"math":u=g.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;case"script":u=g.createElement("div"),u.innerHTML="<script><\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof s.is=="string"?g.createElement("select",{is:s.is}):g.createElement("select"),s.multiple?u.multiple=!0:s.size&&(u.size=s.size);break;default:u=typeof s.is=="string"?g.createElement(o,{is:s.is}):g.createElement(o)}}u[W]=t,u[Je]=s;e:for(g=t.child;g!==null;){if(g.tag===5||g.tag===6)u.appendChild(g.stateNode);else if(g.tag!==4&&g.tag!==27&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===t)break e;for(;g.sibling===null;){if(g.return===null||g.return===t)break e;g=g.return}g.sibling.return=g.return,g=g.sibling}t.stateNode=u;e:switch(jt(u,o,s),o){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&ba(t)}}return Qe(t),gd(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==s&&ba(t);else{if(typeof s!="string"&&t.stateNode===null)throw Error(l(166));if(e=Se.current,Or(t)){if(e=t.stateNode,a=t.memoizedProps,s=null,o=Ct,o!==null)switch(o.tag){case 27:case 5:s=o.memoizedProps}e[W]=t,e=!!(e.nodeValue===a||s!==null&&s.suppressHydrationWarning===!0||Bg(e.nodeValue,a)),e||Ja(t,!0)}else e=Zo(e).createTextNode(s),e[W]=t,t.stateNode=e}return Qe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(s=Or(t),a!==null){if(e===null){if(!s)throw Error(l(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(557));e[W]=t}else qi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Qe(t),e=!1}else a=Au(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(cn(t),t):(cn(t),null);if((t.flags&128)!==0)throw Error(l(558))}return Qe(t),null;case 13:if(s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Or(t),s!==null&&s.dehydrated!==null){if(e===null){if(!o)throw Error(l(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(l(317));o[W]=t}else qi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Qe(t),o=!1}else o=Au(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(cn(t),t):(cn(t),null)}return cn(t),(t.flags&128)!==0?(t.lanes=a,t):(a=s!==null,e=e!==null&&e.memoizedState!==null,a&&(s=t.child,o=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(o=s.alternate.memoizedState.cachePool.pool),u=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(u=s.memoizedState.cachePool.pool),u!==o&&(s.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Bo(t,t.updateQueue),Qe(t),null);case 4:return nt(),e===null&&zd(t.stateNode.containerInfo),Qe(t),null;case 10:return ga(t.type),Qe(t),null;case 19:if(D(dt),s=t.memoizedState,s===null)return Qe(t),null;if(o=(t.flags&128)!==0,u=s.rendering,u===null)if(o)tl(s,!1);else{if(ot!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=Ao(e),u!==null){for(t.flags|=128,tl(s,!1),e=u.updateQueue,t.updateQueue=e,Bo(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)pf(a,e),a=a.sibling;return J(dt,dt.current&1|2),Ne&&fa(t,s.treeForkCount),t.child}e=e.sibling}s.tail!==null&&Pe()>Io&&(t.flags|=128,o=!0,tl(s,!1),t.lanes=4194304)}else{if(!o)if(e=Ao(u),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,Bo(t,e),tl(s,!0),s.tail===null&&s.tailMode==="hidden"&&!u.alternate&&!Ne)return Qe(t),null}else 2*Pe()-s.renderingStartTime>Io&&a!==536870912&&(t.flags|=128,o=!0,tl(s,!1),t.lanes=4194304);s.isBackwards?(u.sibling=t.child,t.child=u):(e=s.last,e!==null?e.sibling=u:t.child=u,s.last=u)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Pe(),e.sibling=null,a=dt.current,J(dt,o?a&1|2:a&1),Ne&&fa(t,s.treeForkCount),e):(Qe(t),null);case 22:case 23:return cn(t),Bu(),s=t.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(t.flags|=8192):s&&(t.flags|=8192),s?(a&536870912)!==0&&(t.flags&128)===0&&(Qe(t),t.subtreeFlags&6&&(t.flags|=8192)):Qe(t),a=t.updateQueue,a!==null&&Bo(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),s=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),s!==a&&(t.flags|=2048),e!==null&&D(Vi),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ga(gt),Qe(t),null;case 25:return null;case 30:return null}throw Error(l(156,t.tag))}function Fv(e,t){switch(Tu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ga(gt),nt(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Cn(t),null;case 31:if(t.memoizedState!==null){if(cn(t),t.alternate===null)throw Error(l(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(cn(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(l(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return D(dt),null;case 4:return nt(),null;case 10:return ga(t.type),null;case 22:case 23:return cn(t),Bu(),e!==null&&D(Vi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ga(gt),null;case 25:return null;default:return null}}function Im(e,t){switch(Tu(t),t.tag){case 3:ga(gt),nt();break;case 26:case 27:case 5:Cn(t);break;case 4:nt();break;case 31:t.memoizedState!==null&&cn(t);break;case 13:cn(t);break;case 19:D(dt);break;case 10:ga(t.type);break;case 22:case 23:cn(t),Bu(),e!==null&&D(Vi);break;case 24:ga(gt)}}function nl(e,t){try{var a=t.updateQueue,s=a!==null?a.lastEffect:null;if(s!==null){var o=s.next;a=o;do{if((a.tag&e)===e){s=void 0;var u=a.create,g=a.inst;s=u(),g.destroy=s}a=a.next}while(a!==o)}}catch(v){Ie(t,t.return,v)}}function ai(e,t,a){try{var s=t.updateQueue,o=s!==null?s.lastEffect:null;if(o!==null){var u=o.next;s=u;do{if((s.tag&e)===e){var g=s.inst,v=g.destroy;if(v!==void 0){g.destroy=void 0,o=t;var k=a,N=v;try{N()}catch(P){Ie(o,k,P)}}}s=s.next}while(s!==u)}}catch(P){Ie(t,t.return,P)}}function Gm(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Mf(t,a)}catch(s){Ie(e,e.return,s)}}}function Vm(e,t,a){a.props=Ji(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(s){Ie(e,t,s)}}function al(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof a=="function"?e.refCleanup=a(s):a.current=s}}catch(o){Ie(e,t,o)}}function Wn(e,t){var a=e.ref,s=e.refCleanup;if(a!==null)if(typeof s=="function")try{s()}catch(o){Ie(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(o){Ie(e,t,o)}else a.current=null}function Km(e){var t=e.type,a=e.memoizedProps,s=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&s.focus();break e;case"img":a.src?s.src=a.src:a.srcSet&&(s.srcset=a.srcSet)}}catch(o){Ie(e,e.return,o)}}function pd(e,t,a){try{var s=e.stateNode;g0(s,e.type,a,t),s[Je]=t}catch(o){Ie(e,e.return,o)}}function Fm(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ui(e.type)||e.tag===4}function yd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Fm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ui(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function vd(e,t,a){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=Nn));else if(s!==4&&(s===27&&ui(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(vd(e,t,a),e=e.sibling;e!==null;)vd(e,t,a),e=e.sibling}function Po(e,t,a){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(s!==4&&(s===27&&ui(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Po(e,t,a),e=e.sibling;e!==null;)Po(e,t,a),e=e.sibling}function Ym(e){var t=e.stateNode,a=e.memoizedProps;try{for(var s=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);jt(t,s,a),t[W]=e,t[Je]=a}catch(u){Ie(e,e.return,u)}}var Sa=!1,vt=!1,bd=!1,Wm=typeof WeakSet=="function"?WeakSet:Set,Tt=null;function Yv(e,t){if(e=e.containerInfo,Hd=sc,e=lf(e),hu(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var s=a.getSelection&&a.getSelection();if(s&&s.rangeCount!==0){a=s.anchorNode;var o=s.anchorOffset,u=s.focusNode;s=s.focusOffset;try{a.nodeType,u.nodeType}catch{a=null;break e}var g=0,v=-1,k=-1,N=0,P=0,q=e,L=null;t:for(;;){for(var U;q!==a||o!==0&&q.nodeType!==3||(v=g+o),q!==u||s!==0&&q.nodeType!==3||(k=g+s),q.nodeType===3&&(g+=q.nodeValue.length),(U=q.firstChild)!==null;)L=q,q=U;for(;;){if(q===e)break t;if(L===a&&++N===o&&(v=g),L===u&&++P===s&&(k=g),(U=q.nextSibling)!==null)break;q=L,L=q.parentNode}q=U}a=v===-1||k===-1?null:{start:v,end:k}}else a=null}a=a||{start:0,end:0}}else a=null;for($d={focusedElem:e,selectionRange:a},sc=!1,Tt=t;Tt!==null;)if(t=Tt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Tt=e;else for(;Tt!==null;){switch(t=Tt,u=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)o=e[a],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&u!==null){e=void 0,a=t,o=u.memoizedProps,u=u.memoizedState,s=a.stateNode;try{var se=Ji(a.type,o);e=s.getSnapshotBeforeUpdate(se,u),s.__reactInternalSnapshotBeforeUpdate=e}catch(me){Ie(a,a.return,me)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)Gd(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Gd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(l(163))}if(e=t.sibling,e!==null){e.return=t.return,Tt=e;break}Tt=t.return}}function Jm(e,t,a){var s=a.flags;switch(a.tag){case 0:case 11:case 15:_a(e,a),s&4&&nl(5,a);break;case 1:if(_a(e,a),s&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(g){Ie(a,a.return,g)}else{var o=Ji(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(g){Ie(a,a.return,g)}}s&64&&Gm(a),s&512&&al(a,a.return);break;case 3:if(_a(e,a),s&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{Mf(e,t)}catch(g){Ie(a,a.return,g)}}break;case 27:t===null&&s&4&&Ym(a);case 26:case 5:_a(e,a),t===null&&s&4&&Km(a),s&512&&al(a,a.return);break;case 12:_a(e,a);break;case 31:_a(e,a),s&4&&Zm(e,a);break;case 13:_a(e,a),s&4&&eg(e,a),s&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=a0.bind(null,a),T0(e,a))));break;case 22:if(s=a.memoizedState!==null||Sa,!s){t=t!==null&&t.memoizedState!==null||vt,o=Sa;var u=vt;Sa=s,(vt=t)&&!u?Ta(e,a,(a.subtreeFlags&8772)!==0):_a(e,a),Sa=o,vt=u}break;case 30:break;default:_a(e,a)}}function Xm(e){var t=e.alternate;t!==null&&(e.alternate=null,Xm(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Ze(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var et=null,It=!1;function wa(e,t,a){for(a=a.child;a!==null;)Qm(e,t,a),a=a.sibling}function Qm(e,t,a){if(At&&typeof At.onCommitFiberUnmount=="function")try{At.onCommitFiberUnmount(aa,a)}catch{}switch(a.tag){case 26:vt||Wn(a,t),wa(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:vt||Wn(a,t);var s=et,o=It;ui(a.type)&&(et=a.stateNode,It=!1),wa(e,t,a),hl(a.stateNode),et=s,It=o;break;case 5:vt||Wn(a,t);case 6:if(s=et,o=It,et=null,wa(e,t,a),et=s,It=o,et!==null)if(It)try{(et.nodeType===9?et.body:et.nodeName==="HTML"?et.ownerDocument.body:et).removeChild(a.stateNode)}catch(u){Ie(a,t,u)}else try{et.removeChild(a.stateNode)}catch(u){Ie(a,t,u)}break;case 18:et!==null&&(It?(e=et,Gg(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),Xr(e)):Gg(et,a.stateNode));break;case 4:s=et,o=It,et=a.stateNode.containerInfo,It=!0,wa(e,t,a),et=s,It=o;break;case 0:case 11:case 14:case 15:ai(2,a,t),vt||ai(4,a,t),wa(e,t,a);break;case 1:vt||(Wn(a,t),s=a.stateNode,typeof s.componentWillUnmount=="function"&&Vm(a,t,s)),wa(e,t,a);break;case 21:wa(e,t,a);break;case 22:vt=(s=vt)||a.memoizedState!==null,wa(e,t,a),vt=s;break;default:wa(e,t,a)}}function Zm(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Xr(e)}catch(a){Ie(t,t.return,a)}}}function eg(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Xr(e)}catch(a){Ie(t,t.return,a)}}function Wv(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Wm),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Wm),t;default:throw Error(l(435,e.tag))}}function Ho(e,t){var a=Wv(e);t.forEach(function(s){if(!a.has(s)){a.add(s);var o=i0.bind(null,e,s);s.then(o,o)}})}function Gt(e,t){var a=t.deletions;if(a!==null)for(var s=0;s<a.length;s++){var o=a[s],u=e,g=t,v=g;e:for(;v!==null;){switch(v.tag){case 27:if(ui(v.type)){et=v.stateNode,It=!1;break e}break;case 5:et=v.stateNode,It=!1;break e;case 3:case 4:et=v.stateNode.containerInfo,It=!0;break e}v=v.return}if(et===null)throw Error(l(160));Qm(u,g,o),et=null,It=!1,u=o.alternate,u!==null&&(u.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)tg(t,e),t=t.sibling}var Dn=null;function tg(e,t){var a=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Gt(t,e),Vt(e),s&4&&(ai(3,e,e.return),nl(3,e),ai(5,e,e.return));break;case 1:Gt(t,e),Vt(e),s&512&&(vt||a===null||Wn(a,a.return)),s&64&&Sa&&(e=e.updateQueue,e!==null&&(s=e.callbacks,s!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?s:a.concat(s))));break;case 26:var o=Dn;if(Gt(t,e),Vt(e),s&512&&(vt||a===null||Wn(a,a.return)),s&4){var u=a!==null?a.memoizedState:null;if(s=e.memoizedState,a===null)if(s===null)if(e.stateNode===null){e:{s=e.type,a=e.memoizedProps,o=o.ownerDocument||o;t:switch(s){case"title":u=o.getElementsByTagName("title")[0],(!u||u[ki]||u[W]||u.namespaceURI==="http://www.w3.org/2000/svg"||u.hasAttribute("itemprop"))&&(u=o.createElement(s),o.head.insertBefore(u,o.querySelector("head > title"))),jt(u,s,a),u[W]=e,ut(u),s=u;break e;case"link":var g=tp("link","href",o).get(s+(a.href||""));if(g){for(var v=0;v<g.length;v++)if(u=g[v],u.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&u.getAttribute("rel")===(a.rel==null?null:a.rel)&&u.getAttribute("title")===(a.title==null?null:a.title)&&u.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){g.splice(v,1);break t}}u=o.createElement(s),jt(u,s,a),o.head.appendChild(u);break;case"meta":if(g=tp("meta","content",o).get(s+(a.content||""))){for(v=0;v<g.length;v++)if(u=g[v],u.getAttribute("content")===(a.content==null?null:""+a.content)&&u.getAttribute("name")===(a.name==null?null:a.name)&&u.getAttribute("property")===(a.property==null?null:a.property)&&u.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&u.getAttribute("charset")===(a.charSet==null?null:a.charSet)){g.splice(v,1);break t}}u=o.createElement(s),jt(u,s,a),o.head.appendChild(u);break;default:throw Error(l(468,s))}u[W]=e,ut(u),s=u}e.stateNode=s}else np(o,e.type,e.stateNode);else e.stateNode=ep(o,s,e.memoizedProps);else u!==s?(u===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):u.count--,s===null?np(o,e.type,e.stateNode):ep(o,s,e.memoizedProps)):s===null&&e.stateNode!==null&&pd(e,e.memoizedProps,a.memoizedProps)}break;case 27:Gt(t,e),Vt(e),s&512&&(vt||a===null||Wn(a,a.return)),a!==null&&s&4&&pd(e,e.memoizedProps,a.memoizedProps);break;case 5:if(Gt(t,e),Vt(e),s&512&&(vt||a===null||Wn(a,a.return)),e.flags&32){o=e.stateNode;try{On(o,"")}catch(se){Ie(e,e.return,se)}}s&4&&e.stateNode!=null&&(o=e.memoizedProps,pd(e,o,a!==null?a.memoizedProps:o)),s&1024&&(bd=!0);break;case 6:if(Gt(t,e),Vt(e),s&4){if(e.stateNode===null)throw Error(l(162));s=e.memoizedProps,a=e.stateNode;try{a.nodeValue=s}catch(se){Ie(e,e.return,se)}}break;case 3:if(nc=null,o=Dn,Dn=ec(t.containerInfo),Gt(t,e),Dn=o,Vt(e),s&4&&a!==null&&a.memoizedState.isDehydrated)try{Xr(t.containerInfo)}catch(se){Ie(e,e.return,se)}bd&&(bd=!1,ng(e));break;case 4:s=Dn,Dn=ec(e.stateNode.containerInfo),Gt(t,e),Vt(e),Dn=s;break;case 12:Gt(t,e),Vt(e);break;case 31:Gt(t,e),Vt(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Ho(e,s)));break;case 13:Gt(t,e),Vt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(qo=Pe()),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Ho(e,s)));break;case 22:o=e.memoizedState!==null;var k=a!==null&&a.memoizedState!==null,N=Sa,P=vt;if(Sa=N||o,vt=P||k,Gt(t,e),vt=P,Sa=N,Vt(e),s&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(a===null||k||Sa||vt||Xi(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){k=a=t;try{if(u=k.stateNode,o)g=u.style,typeof g.setProperty=="function"?g.setProperty("display","none","important"):g.display="none";else{v=k.stateNode;var q=k.memoizedProps.style,L=q!=null&&q.hasOwnProperty("display")?q.display:null;v.style.display=L==null||typeof L=="boolean"?"":(""+L).trim()}}catch(se){Ie(k,k.return,se)}}}else if(t.tag===6){if(a===null){k=t;try{k.stateNode.nodeValue=o?"":k.memoizedProps}catch(se){Ie(k,k.return,se)}}}else if(t.tag===18){if(a===null){k=t;try{var U=k.stateNode;o?Vg(U,!0):Vg(k.stateNode,!1)}catch(se){Ie(k,k.return,se)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}s&4&&(s=e.updateQueue,s!==null&&(a=s.retryQueue,a!==null&&(s.retryQueue=null,Ho(e,a))));break;case 19:Gt(t,e),Vt(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Ho(e,s)));break;case 30:break;case 21:break;default:Gt(t,e),Vt(e)}}function Vt(e){var t=e.flags;if(t&2){try{for(var a,s=e.return;s!==null;){if(Fm(s)){a=s;break}s=s.return}if(a==null)throw Error(l(160));switch(a.tag){case 27:var o=a.stateNode,u=yd(e);Po(e,u,o);break;case 5:var g=a.stateNode;a.flags&32&&(On(g,""),a.flags&=-33);var v=yd(e);Po(e,v,g);break;case 3:case 4:var k=a.stateNode.containerInfo,N=yd(e);vd(e,N,k);break;default:throw Error(l(161))}}catch(P){Ie(e,e.return,P)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function ng(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;ng(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function _a(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Jm(e,t.alternate,t),t=t.sibling}function Xi(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ai(4,t,t.return),Xi(t);break;case 1:Wn(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&Vm(t,t.return,a),Xi(t);break;case 27:hl(t.stateNode);case 26:case 5:Wn(t,t.return),Xi(t);break;case 22:t.memoizedState===null&&Xi(t);break;case 30:Xi(t);break;default:Xi(t)}e=e.sibling}}function Ta(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var s=t.alternate,o=e,u=t,g=u.flags;switch(u.tag){case 0:case 11:case 15:Ta(o,u,a),nl(4,u);break;case 1:if(Ta(o,u,a),s=u,o=s.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(N){Ie(s,s.return,N)}if(s=u,o=s.updateQueue,o!==null){var v=s.stateNode;try{var k=o.shared.hiddenCallbacks;if(k!==null)for(o.shared.hiddenCallbacks=null,o=0;o<k.length;o++)Lf(k[o],v)}catch(N){Ie(s,s.return,N)}}a&&g&64&&Gm(u),al(u,u.return);break;case 27:Ym(u);case 26:case 5:Ta(o,u,a),a&&s===null&&g&4&&Km(u),al(u,u.return);break;case 12:Ta(o,u,a);break;case 31:Ta(o,u,a),a&&g&4&&Zm(o,u);break;case 13:Ta(o,u,a),a&&g&4&&eg(o,u);break;case 22:u.memoizedState===null&&Ta(o,u,a),al(u,u.return);break;case 30:break;default:Ta(o,u,a)}t=t.sibling}}function Sd(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Is(a))}function wd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Is(e))}function Un(e,t,a,s){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)ag(e,t,a,s),t=t.sibling}function ag(e,t,a,s){var o=t.flags;switch(t.tag){case 0:case 11:case 15:Un(e,t,a,s),o&2048&&nl(9,t);break;case 1:Un(e,t,a,s);break;case 3:Un(e,t,a,s),o&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Is(e)));break;case 12:if(o&2048){Un(e,t,a,s),e=t.stateNode;try{var u=t.memoizedProps,g=u.id,v=u.onPostCommit;typeof v=="function"&&v(g,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(k){Ie(t,t.return,k)}}else Un(e,t,a,s);break;case 31:Un(e,t,a,s);break;case 13:Un(e,t,a,s);break;case 23:break;case 22:u=t.stateNode,g=t.alternate,t.memoizedState!==null?u._visibility&2?Un(e,t,a,s):il(e,t):u._visibility&2?Un(e,t,a,s):(u._visibility|=2,Hr(e,t,a,s,(t.subtreeFlags&10256)!==0||!1)),o&2048&&Sd(g,t);break;case 24:Un(e,t,a,s),o&2048&&wd(t.alternate,t);break;default:Un(e,t,a,s)}}function Hr(e,t,a,s,o){for(o=o&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var u=e,g=t,v=a,k=s,N=g.flags;switch(g.tag){case 0:case 11:case 15:Hr(u,g,v,k,o),nl(8,g);break;case 23:break;case 22:var P=g.stateNode;g.memoizedState!==null?P._visibility&2?Hr(u,g,v,k,o):il(u,g):(P._visibility|=2,Hr(u,g,v,k,o)),o&&N&2048&&Sd(g.alternate,g);break;case 24:Hr(u,g,v,k,o),o&&N&2048&&wd(g.alternate,g);break;default:Hr(u,g,v,k,o)}t=t.sibling}}function il(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,s=t,o=s.flags;switch(s.tag){case 22:il(a,s),o&2048&&Sd(s.alternate,s);break;case 24:il(a,s),o&2048&&wd(s.alternate,s);break;default:il(a,s)}t=t.sibling}}var rl=8192;function $r(e,t,a){if(e.subtreeFlags&rl)for(e=e.child;e!==null;)ig(e,t,a),e=e.sibling}function ig(e,t,a){switch(e.tag){case 26:$r(e,t,a),e.flags&rl&&e.memoizedState!==null&&D0(a,Dn,e.memoizedState,e.memoizedProps);break;case 5:$r(e,t,a);break;case 3:case 4:var s=Dn;Dn=ec(e.stateNode.containerInfo),$r(e,t,a),Dn=s;break;case 22:e.memoizedState===null&&(s=e.alternate,s!==null&&s.memoizedState!==null?(s=rl,rl=16777216,$r(e,t,a),rl=s):$r(e,t,a));break;default:$r(e,t,a)}}function rg(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function sl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var s=t[a];Tt=s,lg(s,e)}rg(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)sg(e),e=e.sibling}function sg(e){switch(e.tag){case 0:case 11:case 15:sl(e),e.flags&2048&&ai(9,e,e.return);break;case 3:sl(e);break;case 12:sl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,$o(e)):sl(e);break;default:sl(e)}}function $o(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var s=t[a];Tt=s,lg(s,e)}rg(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ai(8,t,t.return),$o(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,$o(t));break;default:$o(t)}e=e.sibling}}function lg(e,t){for(;Tt!==null;){var a=Tt;switch(a.tag){case 0:case 11:case 15:ai(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var s=a.memoizedState.cachePool.pool;s!=null&&s.refCount++}break;case 24:Is(a.memoizedState.cache)}if(s=a.child,s!==null)s.return=a,Tt=s;else e:for(a=e;Tt!==null;){s=Tt;var o=s.sibling,u=s.return;if(Xm(s),s===a){Tt=null;break e}if(o!==null){o.return=u,Tt=o;break e}Tt=u}}}var Jv={getCacheForType:function(e){var t=Rt(gt),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return Rt(gt).controller.signal}},Xv=typeof WeakMap=="function"?WeakMap:Map,Be=0,Ye=null,xe=null,Re=0,qe=0,un=null,ii=!1,qr=!1,_d=!1,ka=0,ot=0,ri=0,Qi=0,Td=0,dn=0,Ir=0,ll=null,Kt=null,kd=!1,qo=0,og=0,Io=1/0,Go=null,si=null,St=0,li=null,Gr=null,Aa=0,Ad=0,Ed=null,cg=null,ol=0,xd=null;function hn(){return(Be&2)!==0&&Re!==0?Re&-Re:_.T!==null?Ld():fr()}function ug(){if(dn===0)if((Re&536870912)===0||Ne){var e=_i;_i<<=1,(_i&3932160)===0&&(_i=262144),dn=e}else dn=536870912;return e=on.current,e!==null&&(e.flags|=32),dn}function Ft(e,t,a){(e===Ye&&(qe===2||qe===9)||e.cancelPendingCommit!==null)&&(Vr(e,0),oi(e,Re,dn,!1)),Da(e,a),((Be&2)===0||e!==Ye)&&(e===Ye&&((Be&2)===0&&(Qi|=a),ot===4&&oi(e,Re,dn,!1)),Jn(e))}function dg(e,t,a){if((Be&6)!==0)throw Error(l(327));var s=!a&&(t&127)===0&&(t&e.expiredLanes)===0||Zt(e,t),o=s?e0(e,t):Rd(e,t,!0),u=s;do{if(o===0){qr&&!s&&oi(e,t,0,!1);break}else{if(a=e.current.alternate,u&&!Qv(a)){o=Rd(e,t,!1),u=!1;continue}if(o===2){if(u=t,e.errorRecoveryDisabledLanes&u)var g=0;else g=e.pendingLanes&-536870913,g=g!==0?g:g&536870912?536870912:0;if(g!==0){t=g;e:{var v=e;o=ll;var k=v.current.memoizedState.isDehydrated;if(k&&(Vr(v,g).flags|=256),g=Rd(v,g,!1),g!==2){if(_d&&!k){v.errorRecoveryDisabledLanes|=u,Qi|=u,o=4;break e}u=Kt,Kt=o,u!==null&&(Kt===null?Kt=u:Kt.push.apply(Kt,u))}o=g}if(u=!1,o!==2)continue}}if(o===1){Vr(e,0),oi(e,t,0,!0);break}e:{switch(s=e,u=o,u){case 0:case 1:throw Error(l(345));case 4:if((t&4194048)!==t)break;case 6:oi(s,t,dn,!ii);break e;case 2:Kt=null;break;case 3:case 5:break;default:throw Error(l(329))}if((t&62914560)===t&&(o=qo+300-Pe(),10<o)){if(oi(s,t,dn,!ii),ra(s,0,!0)!==0)break e;Aa=t,s.timeoutHandle=qg(hg.bind(null,s,a,Kt,Go,kd,t,dn,Qi,Ir,ii,u,"Throttled",-0,0),o);break e}hg(s,a,Kt,Go,kd,t,dn,Qi,Ir,ii,u,null,-0,0)}}break}while(!0);Jn(e)}function hg(e,t,a,s,o,u,g,v,k,N,P,q,L,U){if(e.timeoutHandle=-1,q=t.subtreeFlags,q&8192||(q&16785408)===16785408){q={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Nn},ig(t,u,q);var se=(u&62914560)===u?qo-Pe():(u&4194048)===u?og-Pe():0;if(se=U0(q,se),se!==null){Aa=u,e.cancelPendingCommit=se(Sg.bind(null,e,t,u,a,s,o,g,v,k,P,q,null,L,U)),oi(e,u,g,!N);return}}Sg(e,t,u,a,s,o,g,v,k)}function Qv(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var s=0;s<a.length;s++){var o=a[s],u=o.getSnapshot;o=o.value;try{if(!sn(u(),o))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function oi(e,t,a,s){t&=~Td,t&=~Qi,e.suspendedLanes|=t,e.pingedLanes&=~t,s&&(e.warmLanes|=t),s=e.expirationTimes;for(var o=t;0<o;){var u=31-wt(o),g=1<<u;s[u]=-1,o&=~g}a!==0&&He(e,a,t)}function Vo(){return(Be&6)===0?(cl(0),!1):!0}function Cd(){if(xe!==null){if(qe===0)var e=xe.return;else e=xe,ma=Ii=null,Gu(e),Dr=null,Vs=0,e=xe;for(;e!==null;)Im(e.alternate,e),e=e.return;xe=null}}function Vr(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,v0(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Aa=0,Cd(),Ye=e,xe=a=ha(e.current,null),Re=t,qe=0,un=null,ii=!1,qr=Zt(e,t),_d=!1,Ir=dn=Td=Qi=ri=ot=0,Kt=ll=null,kd=!1,(t&8)!==0&&(t|=t&32);var s=e.entangledLanes;if(s!==0)for(e=e.entanglements,s&=t;0<s;){var o=31-wt(s),u=1<<o;t|=e[o],s&=~u}return ka=t,ho(),a}function fg(e,t){ke=null,_.H=Zs,t===Mr||t===So?(t=Rf(),qe=3):t===Nu?(t=Rf(),qe=4):qe=t===sd?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,un=t,xe===null&&(ot=1,Mo(e,bn(t,e.current)))}function mg(){var e=on.current;return e===null?!0:(Re&4194048)===Re?Tn===null:(Re&62914560)===Re||(Re&536870912)!==0?e===Tn:!1}function gg(){var e=_.H;return _.H=Zs,e===null?Zs:e}function pg(){var e=_.A;return _.A=Jv,e}function Ko(){ot=4,ii||(Re&4194048)!==Re&&on.current!==null||(qr=!0),(ri&134217727)===0&&(Qi&134217727)===0||Ye===null||oi(Ye,Re,dn,!1)}function Rd(e,t,a){var s=Be;Be|=2;var o=gg(),u=pg();(Ye!==e||Re!==t)&&(Go=null,Vr(e,t)),t=!1;var g=ot;e:do try{if(qe!==0&&xe!==null){var v=xe,k=un;switch(qe){case 8:Cd(),g=6;break e;case 3:case 2:case 9:case 6:on.current===null&&(t=!0);var N=qe;if(qe=0,un=null,Kr(e,v,k,N),a&&qr){g=0;break e}break;default:N=qe,qe=0,un=null,Kr(e,v,k,N)}}Zv(),g=ot;break}catch(P){fg(e,P)}while(!0);return t&&e.shellSuspendCounter++,ma=Ii=null,Be=s,_.H=o,_.A=u,xe===null&&(Ye=null,Re=0,ho()),g}function Zv(){for(;xe!==null;)yg(xe)}function e0(e,t){var a=Be;Be|=2;var s=gg(),o=pg();Ye!==e||Re!==t?(Go=null,Io=Pe()+500,Vr(e,t)):qr=Zt(e,t);e:do try{if(qe!==0&&xe!==null){t=xe;var u=un;t:switch(qe){case 1:qe=0,un=null,Kr(e,t,u,1);break;case 2:case 9:if(xf(u)){qe=0,un=null,vg(t);break}t=function(){qe!==2&&qe!==9||Ye!==e||(qe=7),Jn(e)},u.then(t,t);break e;case 3:qe=7;break e;case 4:qe=5;break e;case 7:xf(u)?(qe=0,un=null,vg(t)):(qe=0,un=null,Kr(e,t,u,7));break;case 5:var g=null;switch(xe.tag){case 26:g=xe.memoizedState;case 5:case 27:var v=xe;if(g?ap(g):v.stateNode.complete){qe=0,un=null;var k=v.sibling;if(k!==null)xe=k;else{var N=v.return;N!==null?(xe=N,Fo(N)):xe=null}break t}}qe=0,un=null,Kr(e,t,u,5);break;case 6:qe=0,un=null,Kr(e,t,u,6);break;case 8:Cd(),ot=6;break e;default:throw Error(l(462))}}t0();break}catch(P){fg(e,P)}while(!0);return ma=Ii=null,_.H=s,_.A=o,Be=a,xe!==null?0:(Ye=null,Re=0,ho(),ot)}function t0(){for(;xe!==null&&!ps();)yg(xe)}function yg(e){var t=$m(e.alternate,e,ka);e.memoizedProps=e.pendingProps,t===null?Fo(e):xe=t}function vg(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Dm(a,t,t.pendingProps,t.type,void 0,Re);break;case 11:t=Dm(a,t,t.pendingProps,t.type.render,t.ref,Re);break;case 5:Gu(t);default:Im(a,t),t=xe=pf(t,ka),t=$m(a,t,ka)}e.memoizedProps=e.pendingProps,t===null?Fo(e):xe=t}function Kr(e,t,a,s){ma=Ii=null,Gu(t),Dr=null,Vs=0;var o=t.return;try{if(Iv(e,o,t,a,Re)){ot=1,Mo(e,bn(a,e.current)),xe=null;return}}catch(u){if(o!==null)throw xe=o,u;ot=1,Mo(e,bn(a,e.current)),xe=null;return}t.flags&32768?(Ne||s===1?e=!0:qr||(Re&536870912)!==0?e=!1:(ii=e=!0,(s===2||s===9||s===3||s===6)&&(s=on.current,s!==null&&s.tag===13&&(s.flags|=16384))),bg(t,e)):Fo(t)}function Fo(e){var t=e;do{if((t.flags&32768)!==0){bg(t,ii);return}e=t.return;var a=Kv(t.alternate,t,ka);if(a!==null){xe=a;return}if(t=t.sibling,t!==null){xe=t;return}xe=t=e}while(t!==null);ot===0&&(ot=5)}function bg(e,t){do{var a=Fv(e.alternate,e);if(a!==null){a.flags&=32767,xe=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){xe=e;return}xe=e=a}while(e!==null);ot=6,xe=null}function Sg(e,t,a,s,o,u,g,v,k){e.cancelPendingCommit=null;do Yo();while(St!==0);if((Be&6)!==0)throw Error(l(327));if(t!==null){if(t===e.current)throw Error(l(177));if(u=t.lanes|t.childLanes,u|=yu,rt(e,a,u,g,v,k),e===Ye&&(xe=Ye=null,Re=0),Gr=t,li=e,Aa=a,Ad=u,Ed=o,cg=s,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,r0(cr,function(){return Ag(),null})):(e.callbackNode=null,e.callbackPriority=0),s=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||s){s=_.T,_.T=null,o=H.p,H.p=2,g=Be,Be|=4;try{Yv(e,t,a)}finally{Be=g,H.p=o,_.T=s}}St=1,wg(),_g(),Tg()}}function wg(){if(St===1){St=0;var e=li,t=Gr,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=_.T,_.T=null;var s=H.p;H.p=2;var o=Be;Be|=4;try{tg(t,e);var u=$d,g=lf(e.containerInfo),v=u.focusedElem,k=u.selectionRange;if(g!==v&&v&&v.ownerDocument&&sf(v.ownerDocument.documentElement,v)){if(k!==null&&hu(v)){var N=k.start,P=k.end;if(P===void 0&&(P=N),"selectionStart"in v)v.selectionStart=N,v.selectionEnd=Math.min(P,v.value.length);else{var q=v.ownerDocument||document,L=q&&q.defaultView||window;if(L.getSelection){var U=L.getSelection(),se=v.textContent.length,me=Math.min(k.start,se),Fe=k.end===void 0?me:Math.min(k.end,se);!U.extend&&me>Fe&&(g=Fe,Fe=me,me=g);var C=rf(v,me),E=rf(v,Fe);if(C&&E&&(U.rangeCount!==1||U.anchorNode!==C.node||U.anchorOffset!==C.offset||U.focusNode!==E.node||U.focusOffset!==E.offset)){var j=q.createRange();j.setStart(C.node,C.offset),U.removeAllRanges(),me>Fe?(U.addRange(j),U.extend(E.node,E.offset)):(j.setEnd(E.node,E.offset),U.addRange(j))}}}}for(q=[],U=v;U=U.parentNode;)U.nodeType===1&&q.push({element:U,left:U.scrollLeft,top:U.scrollTop});for(typeof v.focus=="function"&&v.focus(),v=0;v<q.length;v++){var $=q[v];$.element.scrollLeft=$.left,$.element.scrollTop=$.top}}sc=!!Hd,$d=Hd=null}finally{Be=o,H.p=s,_.T=a}}e.current=t,St=2}}function _g(){if(St===2){St=0;var e=li,t=Gr,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=_.T,_.T=null;var s=H.p;H.p=2;var o=Be;Be|=4;try{Jm(e,t.alternate,t)}finally{Be=o,H.p=s,_.T=a}}St=3}}function Tg(){if(St===4||St===3){St=0,lr();var e=li,t=Gr,a=Aa,s=cg;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?St=5:(St=0,Gr=li=null,kg(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(si=null),hr(a),t=t.stateNode,At&&typeof At.onCommitFiberRoot=="function")try{At.onCommitFiberRoot(aa,t,void 0,(t.current.flags&128)===128)}catch{}if(s!==null){t=_.T,o=H.p,H.p=2,_.T=null;try{for(var u=e.onRecoverableError,g=0;g<s.length;g++){var v=s[g];u(v.value,{componentStack:v.stack})}}finally{_.T=t,H.p=o}}(Aa&3)!==0&&Yo(),Jn(e),o=e.pendingLanes,(a&261930)!==0&&(o&42)!==0?e===xd?ol++:(ol=0,xd=e):ol=0,cl(0)}}function kg(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Is(t)))}function Yo(){return wg(),_g(),Tg(),Ag()}function Ag(){if(St!==5)return!1;var e=li,t=Ad;Ad=0;var a=hr(Aa),s=_.T,o=H.p;try{H.p=32>a?32:a,_.T=null,a=Ed,Ed=null;var u=li,g=Aa;if(St=0,Gr=li=null,Aa=0,(Be&6)!==0)throw Error(l(331));var v=Be;if(Be|=4,sg(u.current),ag(u,u.current,g,a),Be=v,cl(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(aa,u)}catch{}return!0}finally{H.p=o,_.T=s,kg(e,t)}}function Eg(e,t,a){t=bn(a,t),t=rd(e.stateNode,t,2),e=ei(e,t,2),e!==null&&(Da(e,2),Jn(e))}function Ie(e,t,a){if(e.tag===3)Eg(e,e,a);else for(;t!==null;){if(t.tag===3){Eg(t,e,a);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(si===null||!si.has(s))){e=bn(a,e),a=xm(2),s=ei(t,a,2),s!==null&&(Cm(a,s,t,e),Da(s,2),Jn(s));break}}t=t.return}}function Od(e,t,a){var s=e.pingCache;if(s===null){s=e.pingCache=new Xv;var o=new Set;s.set(t,o)}else o=s.get(t),o===void 0&&(o=new Set,s.set(t,o));o.has(a)||(_d=!0,o.add(a),e=n0.bind(null,e,t,a),t.then(e,e))}function n0(e,t,a){var s=e.pingCache;s!==null&&s.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ye===e&&(Re&a)===a&&(ot===4||ot===3&&(Re&62914560)===Re&&300>Pe()-qo?(Be&2)===0&&Vr(e,0):Td|=a,Ir===Re&&(Ir=0)),Jn(e)}function xg(e,t){t===0&&(t=bs()),e=Hi(e,t),e!==null&&(Da(e,t),Jn(e))}function a0(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),xg(e,a)}function i0(e,t){var a=0;switch(e.tag){case 31:case 13:var s=e.stateNode,o=e.memoizedState;o!==null&&(a=o.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(l(314))}s!==null&&s.delete(t),xg(e,a)}function r0(e,t){return Ht(e,t)}var Wo=null,Fr=null,jd=!1,Jo=!1,Nd=!1,ci=0;function Jn(e){e!==Fr&&e.next===null&&(Fr===null?Wo=Fr=e:Fr=Fr.next=e),Jo=!0,jd||(jd=!0,l0())}function cl(e,t){if(!Nd&&Jo){Nd=!0;do for(var a=!1,s=Wo;s!==null;){if(e!==0){var o=s.pendingLanes;if(o===0)var u=0;else{var g=s.suspendedLanes,v=s.pingedLanes;u=(1<<31-wt(42|e)+1)-1,u&=o&~(g&~v),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(a=!0,jg(s,u))}else u=Re,u=ra(s,s===Ye?u:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),(u&3)===0||Zt(s,u)||(a=!0,jg(s,u));s=s.next}while(a);Nd=!1}}function s0(){Cg()}function Cg(){Jo=jd=!1;var e=0;ci!==0&&y0()&&(e=ci);for(var t=Pe(),a=null,s=Wo;s!==null;){var o=s.next,u=Rg(s,t);u===0?(s.next=null,a===null?Wo=o:a.next=o,o===null&&(Fr=a)):(a=s,(e!==0||(u&3)!==0)&&(Jo=!0)),s=o}St!==0&&St!==5||cl(e),ci!==0&&(ci=0)}function Rg(e,t){for(var a=e.suspendedLanes,s=e.pingedLanes,o=e.expirationTimes,u=e.pendingLanes&-62914561;0<u;){var g=31-wt(u),v=1<<g,k=o[g];k===-1?((v&a)===0||(v&s)!==0)&&(o[g]=Jl(v,t)):k<=t&&(e.expiredLanes|=v),u&=~v}if(t=Ye,a=Re,a=ra(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s=e.callbackNode,a===0||e===t&&(qe===2||qe===9)||e.cancelPendingCommit!==null)return s!==null&&s!==null&&bi(s),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||Zt(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(s!==null&&bi(s),hr(a)){case 2:case 8:a=or;break;case 32:a=cr;break;case 268435456:a=ur;break;default:a=cr}return s=Og.bind(null,e),a=Ht(a,s),e.callbackPriority=t,e.callbackNode=a,t}return s!==null&&s!==null&&bi(s),e.callbackPriority=2,e.callbackNode=null,2}function Og(e,t){if(St!==0&&St!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Yo()&&e.callbackNode!==a)return null;var s=Re;return s=ra(e,e===Ye?s:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s===0?null:(dg(e,s,t),Rg(e,Pe()),e.callbackNode!=null&&e.callbackNode===a?Og.bind(null,e):null)}function jg(e,t){if(Yo())return null;dg(e,t,!0)}function l0(){b0(function(){(Be&6)!==0?Ht(Si,s0):Cg()})}function Ld(){if(ci===0){var e=Nr;e===0&&(e=wi,wi<<=1,(wi&261888)===0&&(wi=256)),ci=e}return ci}function Ng(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:jn(""+e)}function Lg(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function o0(e,t,a,s,o){if(t==="submit"&&a&&a.stateNode===o){var u=Ng((o[Je]||null).action),g=s.submitter;g&&(t=(t=g[Je]||null)?Ng(t.formAction):g.getAttribute("formAction"),t!==null&&(u=t,g=null));var v=new da("action","action",null,s,o);e.push({event:v,listeners:[{instance:null,listener:function(){if(s.defaultPrevented){if(ci!==0){var k=g?Lg(o,g):new FormData(o);Zu(a,{pending:!0,data:k,method:o.method,action:u},null,k)}}else typeof u=="function"&&(v.preventDefault(),k=g?Lg(o,g):new FormData(o),Zu(a,{pending:!0,data:k,method:o.method,action:u},u,k))},currentTarget:o}]})}}for(var Md=0;Md<pu.length;Md++){var Dd=pu[Md],c0=Dd.toLowerCase(),u0=Dd[0].toUpperCase()+Dd.slice(1);Mn(c0,"on"+u0)}Mn(uf,"onAnimationEnd"),Mn(df,"onAnimationIteration"),Mn(hf,"onAnimationStart"),Mn("dblclick","onDoubleClick"),Mn("focusin","onFocus"),Mn("focusout","onBlur"),Mn(Ev,"onTransitionRun"),Mn(xv,"onTransitionStart"),Mn(Cv,"onTransitionCancel"),Mn(ff,"onTransitionEnd"),nn("onMouseEnter",["mouseout","mouseover"]),nn("onMouseLeave",["mouseout","mouseover"]),nn("onPointerEnter",["pointerout","pointerover"]),nn("onPointerLeave",["pointerout","pointerover"]),_t("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),_t("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),_t("onBeforeInput",["compositionend","keypress","textInput","paste"]),_t("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),_t("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),_t("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ul="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),d0=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ul));function Mg(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var s=e[a],o=s.event;s=s.listeners;e:{var u=void 0;if(t)for(var g=s.length-1;0<=g;g--){var v=s[g],k=v.instance,N=v.currentTarget;if(v=v.listener,k!==u&&o.isPropagationStopped())break e;u=v,o.currentTarget=N;try{u(o)}catch(P){uo(P)}o.currentTarget=null,u=k}else for(g=0;g<s.length;g++){if(v=s[g],k=v.instance,N=v.currentTarget,v=v.listener,k!==u&&o.isPropagationStopped())break e;u=v,o.currentTarget=N;try{u(o)}catch(P){uo(P)}o.currentTarget=null,u=k}}}}function Ce(e,t){var a=t[Ti];a===void 0&&(a=t[Ti]=new Set);var s=e+"__bubble";a.has(s)||(Dg(t,e,2,!1),a.add(s))}function Ud(e,t,a){var s=0;t&&(s|=4),Dg(a,e,s,t)}var Xo="_reactListening"+Math.random().toString(36).slice(2);function zd(e){if(!e[Xo]){e[Xo]=!0,Ai.forEach(function(a){a!=="selectionchange"&&(d0.has(a)||Ud(a,!1,e),Ud(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Xo]||(t[Xo]=!0,Ud("selectionchange",!1,t))}}function Dg(e,t,a,s){switch(up(t)){case 2:var o=P0;break;case 8:o=H0;break;default:o=Qd}a=o.bind(null,t,a,e),o=void 0,!xs||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),s?o!==void 0?e.addEventListener(t,a,{capture:!0,passive:o}):e.addEventListener(t,a,!0):o!==void 0?e.addEventListener(t,a,{passive:o}):e.addEventListener(t,a,!1)}function Bd(e,t,a,s,o){var u=s;if((t&1)===0&&(t&2)===0&&s!==null)e:for(;;){if(s===null)return;var g=s.tag;if(g===3||g===4){var v=s.stateNode.containerInfo;if(v===o)break;if(g===4)for(g=s.return;g!==null;){var k=g.tag;if((k===3||k===4)&&g.stateNode.containerInfo===o)return;g=g.return}for(;v!==null;){if(g=tn(v),g===null)return;if(k=g.tag,k===5||k===6||k===26||k===27){s=u=g;continue e}v=v.parentNode}}s=s.return}Ia(function(){var N=u,P=vr(a),q=[];e:{var L=mf.get(e);if(L!==void 0){var U=da,se=e;switch(e){case"keypress":if(Li(a)===0)break e;case"keydown":case"keyup":U=iu;break;case"focusin":se="focus",U=Os;break;case"focusout":se="blur",U=Os;break;case"beforeblur":case"afterblur":U=Os;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":U=rn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":U=Yc;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":U=wr;break;case uf:case df:case hf:U=Xc;break;case ff:U=lu;break;case"scroll":case"scrollend":U=Fc;break;case"wheel":U=_r;break;case"copy":case"cut":case"paste":U=Zc;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":U=no;break;case"toggle":case"beforetoggle":U=ou}var me=(t&4)!==0,Fe=!me&&(e==="scroll"||e==="scrollend"),C=me?L!==null?L+"Capture":null:L;me=[];for(var E=N,j;E!==null;){var $=E;if(j=$.stateNode,$=$.tag,$!==5&&$!==26&&$!==27||j===null||C===null||($=Ni(E,C),$!=null&&me.push(dl(E,$,j))),Fe)break;E=E.return}0<me.length&&(L=new U(L,se,null,a,P),q.push({event:L,listeners:me}))}}if((t&7)===0){e:{if(L=e==="mouseover"||e==="pointerover",U=e==="mouseout"||e==="pointerout",L&&a!==Ln&&(se=a.relatedTarget||a.fromElement)&&(tn(se)||se[Ba]))break e;if((U||L)&&(L=P.window===P?P:(L=P.ownerDocument)?L.defaultView||L.parentWindow:window,U?(se=a.relatedTarget||a.toElement,U=N,se=se?tn(se):null,se!==null&&(Fe=d(se),me=se.tag,se!==Fe||me!==5&&me!==27&&me!==6)&&(se=null)):(U=null,se=N),U!==se)){if(me=rn,$="onMouseLeave",C="onMouseEnter",E="mouse",(e==="pointerout"||e==="pointerover")&&(me=no,$="onPointerLeave",C="onPointerEnter",E="pointer"),Fe=U==null?L:Ha(U),j=se==null?L:Ha(se),L=new me($,E+"leave",U,a,P),L.target=Fe,L.relatedTarget=j,$=null,tn(P)===N&&(me=new me(C,E+"enter",se,a,P),me.target=j,me.relatedTarget=Fe,$=me),Fe=$,U&&se)t:{for(me=h0,C=U,E=se,j=0,$=C;$;$=me($))j++;$=0;for(var he=E;he;he=me(he))$++;for(;0<j-$;)C=me(C),j--;for(;0<$-j;)E=me(E),$--;for(;j--;){if(C===E||E!==null&&C===E.alternate){me=C;break t}C=me(C),E=me(E)}me=null}else me=null;U!==null&&Ug(q,L,U,me,!1),se!==null&&Fe!==null&&Ug(q,Fe,se,me,!0)}}e:{if(L=N?Ha(N):window,U=L.nodeName&&L.nodeName.toLowerCase(),U==="select"||U==="input"&&L.type==="file")var Ue=Y;else if(lo(L))if(ne)Ue=Bs;else{Ue=zs;var ce=du}else U=L.nodeName,!U||U.toLowerCase()!=="input"||L.type!=="checkbox"&&L.type!=="radio"?N&&ji(N.elementType)&&(Ue=Y):Ue=co;if(Ue&&(Ue=Ue(e,N))){oo(q,Ue,a,P);break e}ce&&ce(e,L,N),e==="focusout"&&N&&L.type==="number"&&N.memoizedProps.value!=null&&$a(L,"number",L.value)}switch(ce=N?Ha(N):window,e){case"focusin":(lo(ce)||ce.contentEditable==="true")&&(kr=ce,fu=N,Hs=null);break;case"focusout":Hs=fu=kr=null;break;case"mousedown":mu=!0;break;case"contextmenu":case"mouseup":case"dragend":mu=!1,of(q,a,P);break;case"selectionchange":if(Av)break;case"keydown":case"keyup":of(q,a,P)}var Ae;if(Ds)e:{switch(e){case"compositionstart":var Oe="onCompositionStart";break e;case"compositionend":Oe="onCompositionEnd";break e;case"compositionupdate":Oe="onCompositionUpdate";break e}Oe=void 0}else Fa?ro(e,a)&&(Oe="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(Oe="onCompositionStart");Oe&&(zi&&a.locale!=="ko"&&(Fa||Oe!=="onCompositionStart"?Oe==="onCompositionEnd"&&Fa&&(Ae=Kn()):(Vn=P,Cs="value"in Vn?Vn.value:Vn.textContent,Fa=!0)),ce=Qo(N,Oe),0<ce.length&&(Oe=new to(Oe,e,null,a,P),q.push({event:Oe,listeners:ce}),Ae?Oe.data=Ae:(Ae=so(a),Ae!==null&&(Oe.data=Ae)))),(Ae=io?cu(e,a):uu(e,a))&&(Oe=Qo(N,"onBeforeInput"),0<Oe.length&&(ce=new to("onBeforeInput","beforeinput",null,a,P),q.push({event:ce,listeners:Oe}),ce.data=Ae)),o0(q,e,N,a,P)}Mg(q,t)})}function dl(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Qo(e,t){for(var a=t+"Capture",s=[];e!==null;){var o=e,u=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||u===null||(o=Ni(e,a),o!=null&&s.unshift(dl(e,o,u)),o=Ni(e,t),o!=null&&s.push(dl(e,o,u))),e.tag===3)return s;e=e.return}return[]}function h0(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ug(e,t,a,s,o){for(var u=t._reactName,g=[];a!==null&&a!==s;){var v=a,k=v.alternate,N=v.stateNode;if(v=v.tag,k!==null&&k===s)break;v!==5&&v!==26&&v!==27||N===null||(k=N,o?(N=Ni(a,u),N!=null&&g.unshift(dl(a,N,k))):o||(N=Ni(a,u),N!=null&&g.push(dl(a,N,k)))),a=a.return}g.length!==0&&e.push({event:t,listeners:g})}var f0=/\r\n?/g,m0=/\u0000|\uFFFD/g;function zg(e){return(typeof e=="string"?e:""+e).replace(f0,`
|
|
9
|
+
`).replace(m0,"")}function Bg(e,t){return t=zg(t),zg(e)===t}function Ke(e,t,a,s,o,u){switch(a){case"children":typeof s=="string"?t==="body"||t==="textarea"&&s===""||On(e,s):(typeof s=="number"||typeof s=="bigint")&&t!=="body"&&On(e,""+s);break;case"className":la(e,"class",s);break;case"tabIndex":la(e,"tabindex",s);break;case"dir":case"role":case"viewBox":case"width":case"height":la(e,a,s);break;case"style":As(e,s,u);break;case"data":if(t!=="object"){la(e,"data",s);break}case"src":case"href":if(s===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(s==null||typeof s=="function"||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(a);break}s=jn(""+s),e.setAttribute(a,s);break;case"action":case"formAction":if(typeof s=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof u=="function"&&(a==="formAction"?(t!=="input"&&Ke(e,t,"name",o.name,o,null),Ke(e,t,"formEncType",o.formEncType,o,null),Ke(e,t,"formMethod",o.formMethod,o,null),Ke(e,t,"formTarget",o.formTarget,o,null)):(Ke(e,t,"encType",o.encType,o,null),Ke(e,t,"method",o.method,o,null),Ke(e,t,"target",o.target,o,null)));if(s==null||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(a);break}s=jn(""+s),e.setAttribute(a,s);break;case"onClick":s!=null&&(e.onclick=Nn);break;case"onScroll":s!=null&&Ce("scroll",e);break;case"onScrollEnd":s!=null&&Ce("scrollend",e);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(l(61));if(a=s.__html,a!=null){if(o.children!=null)throw Error(l(60));e.innerHTML=a}}break;case"multiple":e.multiple=s&&typeof s!="function"&&typeof s!="symbol";break;case"muted":e.muted=s&&typeof s!="function"&&typeof s!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(s==null||typeof s=="function"||typeof s=="boolean"||typeof s=="symbol"){e.removeAttribute("xlink:href");break}a=jn(""+s),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(a,""+s):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":s&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":s===!0?e.setAttribute(a,""):s!==!1&&s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(a,s):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":s!=null&&typeof s!="function"&&typeof s!="symbol"&&!isNaN(s)&&1<=s?e.setAttribute(a,s):e.removeAttribute(a);break;case"rowSpan":case"start":s==null||typeof s=="function"||typeof s=="symbol"||isNaN(s)?e.removeAttribute(a):e.setAttribute(a,s);break;case"popover":Ce("beforetoggle",e),Ce("toggle",e),Ei(e,"popover",s);break;case"xlinkActuate":Rn(e,"http://www.w3.org/1999/xlink","xlink:actuate",s);break;case"xlinkArcrole":Rn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",s);break;case"xlinkRole":Rn(e,"http://www.w3.org/1999/xlink","xlink:role",s);break;case"xlinkShow":Rn(e,"http://www.w3.org/1999/xlink","xlink:show",s);break;case"xlinkTitle":Rn(e,"http://www.w3.org/1999/xlink","xlink:title",s);break;case"xlinkType":Rn(e,"http://www.w3.org/1999/xlink","xlink:type",s);break;case"xmlBase":Rn(e,"http://www.w3.org/XML/1998/namespace","xml:base",s);break;case"xmlLang":Rn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",s);break;case"xmlSpace":Rn(e,"http://www.w3.org/XML/1998/namespace","xml:space",s);break;case"is":Ei(e,"is",s);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=yr.get(a)||a,Ei(e,a,s))}}function Pd(e,t,a,s,o,u){switch(a){case"style":As(e,s,u);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(l(61));if(a=s.__html,a!=null){if(o.children!=null)throw Error(l(60));e.innerHTML=a}}break;case"children":typeof s=="string"?On(e,s):(typeof s=="number"||typeof s=="bigint")&&On(e,""+s);break;case"onScroll":s!=null&&Ce("scroll",e);break;case"onScrollEnd":s!=null&&Ce("scrollend",e);break;case"onClick":s!=null&&(e.onclick=Nn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!mr.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(o=a.endsWith("Capture"),t=a.slice(2,o?a.length-7:void 0),u=e[Je]||null,u=u!=null?u[a]:null,typeof u=="function"&&e.removeEventListener(t,u,o),typeof s=="function")){typeof u!="function"&&u!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,s,o);break e}a in e?e[a]=s:s===!0?e.setAttribute(a,""):Ei(e,a,s)}}}function jt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ce("error",e),Ce("load",e);var s=!1,o=!1,u;for(u in a)if(a.hasOwnProperty(u)){var g=a[u];if(g!=null)switch(u){case"src":s=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(l(137,t));default:Ke(e,t,u,g,a,null)}}o&&Ke(e,t,"srcSet",a.srcSet,a,null),s&&Ke(e,t,"src",a.src,a,null);return;case"input":Ce("invalid",e);var v=u=g=o=null,k=null,N=null;for(s in a)if(a.hasOwnProperty(s)){var P=a[s];if(P!=null)switch(s){case"name":o=P;break;case"type":g=P;break;case"checked":k=P;break;case"defaultChecked":N=P;break;case"value":u=P;break;case"defaultValue":v=P;break;case"children":case"dangerouslySetInnerHTML":if(P!=null)throw Error(l(137,t));break;default:Ke(e,t,s,P,a,null)}}pr(e,u,v,k,N,g,o,!1);return;case"select":Ce("invalid",e),s=g=u=null;for(o in a)if(a.hasOwnProperty(o)&&(v=a[o],v!=null))switch(o){case"value":u=v;break;case"defaultValue":g=v;break;case"multiple":s=v;default:Ke(e,t,o,v,a,null)}t=u,a=g,e.multiple=!!s,t!=null?oa(e,!!s,t,!1):a!=null&&oa(e,!!s,a,!0);return;case"textarea":Ce("invalid",e),u=o=s=null;for(g in a)if(a.hasOwnProperty(g)&&(v=a[g],v!=null))switch(g){case"value":s=v;break;case"defaultValue":o=v;break;case"children":u=v;break;case"dangerouslySetInnerHTML":if(v!=null)throw Error(l(91));break;default:Ke(e,t,g,v,a,null)}Oi(e,s,o,u);return;case"option":for(k in a)a.hasOwnProperty(k)&&(s=a[k],s!=null)&&(k==="selected"?e.selected=s&&typeof s!="function"&&typeof s!="symbol":Ke(e,t,k,s,a,null));return;case"dialog":Ce("beforetoggle",e),Ce("toggle",e),Ce("cancel",e),Ce("close",e);break;case"iframe":case"object":Ce("load",e);break;case"video":case"audio":for(s=0;s<ul.length;s++)Ce(ul[s],e);break;case"image":Ce("error",e),Ce("load",e);break;case"details":Ce("toggle",e);break;case"embed":case"source":case"link":Ce("error",e),Ce("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(N in a)if(a.hasOwnProperty(N)&&(s=a[N],s!=null))switch(N){case"children":case"dangerouslySetInnerHTML":throw Error(l(137,t));default:Ke(e,t,N,s,a,null)}return;default:if(ji(t)){for(P in a)a.hasOwnProperty(P)&&(s=a[P],s!==void 0&&Pd(e,t,P,s,a,void 0));return}}for(v in a)a.hasOwnProperty(v)&&(s=a[v],s!=null&&Ke(e,t,v,s,a,null))}function g0(e,t,a,s){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var o=null,u=null,g=null,v=null,k=null,N=null,P=null;for(U in a){var q=a[U];if(a.hasOwnProperty(U)&&q!=null)switch(U){case"checked":break;case"value":break;case"defaultValue":k=q;default:s.hasOwnProperty(U)||Ke(e,t,U,null,s,q)}}for(var L in s){var U=s[L];if(q=a[L],s.hasOwnProperty(L)&&(U!=null||q!=null))switch(L){case"type":u=U;break;case"name":o=U;break;case"checked":N=U;break;case"defaultChecked":P=U;break;case"value":g=U;break;case"defaultValue":v=U;break;case"children":case"dangerouslySetInnerHTML":if(U!=null)throw Error(l(137,t));break;default:U!==q&&Ke(e,t,L,U,s,q)}}gr(e,g,v,k,N,P,u,o);return;case"select":U=g=v=L=null;for(u in a)if(k=a[u],a.hasOwnProperty(u)&&k!=null)switch(u){case"value":break;case"multiple":U=k;default:s.hasOwnProperty(u)||Ke(e,t,u,null,s,k)}for(o in s)if(u=s[o],k=a[o],s.hasOwnProperty(o)&&(u!=null||k!=null))switch(o){case"value":L=u;break;case"defaultValue":v=u;break;case"multiple":g=u;default:u!==k&&Ke(e,t,o,u,s,k)}t=v,a=g,s=U,L!=null?oa(e,!!a,L,!1):!!s!=!!a&&(t!=null?oa(e,!!a,t,!0):oa(e,!!a,a?[]:"",!1));return;case"textarea":U=L=null;for(v in a)if(o=a[v],a.hasOwnProperty(v)&&o!=null&&!s.hasOwnProperty(v))switch(v){case"value":break;case"children":break;default:Ke(e,t,v,null,s,o)}for(g in s)if(o=s[g],u=a[g],s.hasOwnProperty(g)&&(o!=null||u!=null))switch(g){case"value":L=o;break;case"defaultValue":U=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(l(91));break;default:o!==u&&Ke(e,t,g,o,s,u)}Ts(e,L,U);return;case"option":for(var se in a)L=a[se],a.hasOwnProperty(se)&&L!=null&&!s.hasOwnProperty(se)&&(se==="selected"?e.selected=!1:Ke(e,t,se,null,s,L));for(k in s)L=s[k],U=a[k],s.hasOwnProperty(k)&&L!==U&&(L!=null||U!=null)&&(k==="selected"?e.selected=L&&typeof L!="function"&&typeof L!="symbol":Ke(e,t,k,L,s,U));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var me in a)L=a[me],a.hasOwnProperty(me)&&L!=null&&!s.hasOwnProperty(me)&&Ke(e,t,me,null,s,L);for(N in s)if(L=s[N],U=a[N],s.hasOwnProperty(N)&&L!==U&&(L!=null||U!=null))switch(N){case"children":case"dangerouslySetInnerHTML":if(L!=null)throw Error(l(137,t));break;default:Ke(e,t,N,L,s,U)}return;default:if(ji(t)){for(var Fe in a)L=a[Fe],a.hasOwnProperty(Fe)&&L!==void 0&&!s.hasOwnProperty(Fe)&&Pd(e,t,Fe,void 0,s,L);for(P in s)L=s[P],U=a[P],!s.hasOwnProperty(P)||L===U||L===void 0&&U===void 0||Pd(e,t,P,L,s,U);return}}for(var C in a)L=a[C],a.hasOwnProperty(C)&&L!=null&&!s.hasOwnProperty(C)&&Ke(e,t,C,null,s,L);for(q in s)L=s[q],U=a[q],!s.hasOwnProperty(q)||L===U||L==null&&U==null||Ke(e,t,q,L,s,U)}function Pg(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function p0(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),s=0;s<a.length;s++){var o=a[s],u=o.transferSize,g=o.initiatorType,v=o.duration;if(u&&v&&Pg(g)){for(g=0,v=o.responseEnd,s+=1;s<a.length;s++){var k=a[s],N=k.startTime;if(N>v)break;var P=k.transferSize,q=k.initiatorType;P&&Pg(q)&&(k=k.responseEnd,g+=P*(k<v?1:(v-N)/(k-N)))}if(--s,t+=8*(u+g)/(o.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Hd=null,$d=null;function Zo(e){return e.nodeType===9?e:e.ownerDocument}function Hg(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function $g(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function qd(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Id=null;function y0(){var e=window.event;return e&&e.type==="popstate"?e===Id?!1:(Id=e,!0):(Id=null,!1)}var qg=typeof setTimeout=="function"?setTimeout:void 0,v0=typeof clearTimeout=="function"?clearTimeout:void 0,Ig=typeof Promise=="function"?Promise:void 0,b0=typeof queueMicrotask=="function"?queueMicrotask:typeof Ig<"u"?function(e){return Ig.resolve(null).then(e).catch(S0)}:qg;function S0(e){setTimeout(function(){throw e})}function ui(e){return e==="head"}function Gg(e,t){var a=t,s=0;do{var o=a.nextSibling;if(e.removeChild(a),o&&o.nodeType===8)if(a=o.data,a==="/$"||a==="/&"){if(s===0){e.removeChild(o),Xr(t);return}s--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")s++;else if(a==="html")hl(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,hl(a);for(var u=a.firstChild;u;){var g=u.nextSibling,v=u.nodeName;u[ki]||v==="SCRIPT"||v==="STYLE"||v==="LINK"&&u.rel.toLowerCase()==="stylesheet"||a.removeChild(u),u=g}}else a==="body"&&hl(e.ownerDocument.body);a=o}while(a);Xr(t)}function Vg(e,t){var a=e;e=0;do{var s=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),s&&s.nodeType===8)if(a=s.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=s}while(a)}function Gd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":Gd(a),Ze(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function w0(e,t,a,s){for(;e.nodeType===1;){var o=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!s&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(s){if(!e[ki])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(u=e.getAttribute("rel"),u==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(u!==o.rel||e.getAttribute("href")!==(o.href==null||o.href===""?null:o.href)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin)||e.getAttribute("title")!==(o.title==null?null:o.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(u=e.getAttribute("src"),(u!==(o.src==null?null:o.src)||e.getAttribute("type")!==(o.type==null?null:o.type)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin))&&u&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var u=o.name==null?null:""+o.name;if(o.type==="hidden"&&e.getAttribute("name")===u)return e}else return e;if(e=kn(e.nextSibling),e===null)break}return null}function _0(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=kn(e.nextSibling),e===null))return null;return e}function Kg(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=kn(e.nextSibling),e===null))return null;return e}function Vd(e){return e.data==="$?"||e.data==="$~"}function Kd(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function T0(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var s=function(){t(),a.removeEventListener("DOMContentLoaded",s)};a.addEventListener("DOMContentLoaded",s),e._reactRetry=s}}function kn(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Fd=null;function Fg(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return kn(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function Yg(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function Wg(e,t,a){switch(t=Zo(a),e){case"html":if(e=t.documentElement,!e)throw Error(l(452));return e;case"head":if(e=t.head,!e)throw Error(l(453));return e;case"body":if(e=t.body,!e)throw Error(l(454));return e;default:throw Error(l(451))}}function hl(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Ze(e)}var An=new Map,Jg=new Set;function ec(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Ea=H.d;H.d={f:k0,r:A0,D:E0,C:x0,L:C0,m:R0,X:j0,S:O0,M:N0};function k0(){var e=Ea.f(),t=Vo();return e||t}function A0(e){var t=Pa(e);t!==null&&t.tag===5&&t.type==="form"?fm(t):Ea.r(e)}var Yr=typeof document>"u"?null:document;function Xg(e,t,a){var s=Yr;if(s&&typeof t=="string"&&t){var o=qt(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof a=="string"&&(o+='[crossorigin="'+a+'"]'),Jg.has(o)||(Jg.add(o),e={rel:e,crossOrigin:a,href:t},s.querySelector(o)===null&&(t=s.createElement("link"),jt(t,"link",e),ut(t),s.head.appendChild(t)))}}function E0(e){Ea.D(e),Xg("dns-prefetch",e,null)}function x0(e,t){Ea.C(e,t),Xg("preconnect",e,t)}function C0(e,t,a){Ea.L(e,t,a);var s=Yr;if(s&&e&&t){var o='link[rel="preload"][as="'+qt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(o+='[imagesrcset="'+qt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(o+='[imagesizes="'+qt(a.imageSizes)+'"]')):o+='[href="'+qt(e)+'"]';var u=o;switch(t){case"style":u=Wr(e);break;case"script":u=Jr(e)}An.has(u)||(e=S({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),An.set(u,e),s.querySelector(o)!==null||t==="style"&&s.querySelector(fl(u))||t==="script"&&s.querySelector(ml(u))||(t=s.createElement("link"),jt(t,"link",e),ut(t),s.head.appendChild(t)))}}function R0(e,t){Ea.m(e,t);var a=Yr;if(a&&e){var s=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+qt(s)+'"][href="'+qt(e)+'"]',u=o;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Jr(e)}if(!An.has(u)&&(e=S({rel:"modulepreload",href:e},t),An.set(u,e),a.querySelector(o)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(ml(u)))return}s=a.createElement("link"),jt(s,"link",e),ut(s),a.head.appendChild(s)}}}function O0(e,t,a){Ea.S(e,t,a);var s=Yr;if(s&&e){var o=Bt(s).hoistableStyles,u=Wr(e);t=t||"default";var g=o.get(u);if(!g){var v={loading:0,preload:null};if(g=s.querySelector(fl(u)))v.loading=5;else{e=S({rel:"stylesheet",href:e,"data-precedence":t},a),(a=An.get(u))&&Yd(e,a);var k=g=s.createElement("link");ut(k),jt(k,"link",e),k._p=new Promise(function(N,P){k.onload=N,k.onerror=P}),k.addEventListener("load",function(){v.loading|=1}),k.addEventListener("error",function(){v.loading|=2}),v.loading|=4,tc(g,t,s)}g={type:"stylesheet",instance:g,count:1,state:v},o.set(u,g)}}}function j0(e,t){Ea.X(e,t);var a=Yr;if(a&&e){var s=Bt(a).hoistableScripts,o=Jr(e),u=s.get(o);u||(u=a.querySelector(ml(o)),u||(e=S({src:e,async:!0},t),(t=An.get(o))&&Wd(e,t),u=a.createElement("script"),ut(u),jt(u,"link",e),a.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},s.set(o,u))}}function N0(e,t){Ea.M(e,t);var a=Yr;if(a&&e){var s=Bt(a).hoistableScripts,o=Jr(e),u=s.get(o);u||(u=a.querySelector(ml(o)),u||(e=S({src:e,async:!0,type:"module"},t),(t=An.get(o))&&Wd(e,t),u=a.createElement("script"),ut(u),jt(u,"link",e),a.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},s.set(o,u))}}function Qg(e,t,a,s){var o=(o=Se.current)?ec(o):null;if(!o)throw Error(l(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Wr(a.href),a=Bt(o).hoistableStyles,s=a.get(t),s||(s={type:"style",instance:null,count:0,state:null},a.set(t,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Wr(a.href);var u=Bt(o).hoistableStyles,g=u.get(e);if(g||(o=o.ownerDocument||o,g={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,g),(u=o.querySelector(fl(e)))&&!u._p&&(g.instance=u,g.state.loading=5),An.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},An.set(e,a),u||L0(o,e,a,g.state))),t&&s===null)throw Error(l(528,""));return g}if(t&&s!==null)throw Error(l(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Jr(a),a=Bt(o).hoistableScripts,s=a.get(t),s||(s={type:"script",instance:null,count:0,state:null},a.set(t,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,e))}}function Wr(e){return'href="'+qt(e)+'"'}function fl(e){return'link[rel="stylesheet"]['+e+"]"}function Zg(e){return S({},e,{"data-precedence":e.precedence,precedence:null})}function L0(e,t,a,s){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?s.loading=1:(t=e.createElement("link"),s.preload=t,t.addEventListener("load",function(){return s.loading|=1}),t.addEventListener("error",function(){return s.loading|=2}),jt(t,"link",a),ut(t),e.head.appendChild(t))}function Jr(e){return'[src="'+qt(e)+'"]'}function ml(e){return"script[async]"+e}function ep(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var s=e.querySelector('style[data-href~="'+qt(a.href)+'"]');if(s)return t.instance=s,ut(s),s;var o=S({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),ut(s),jt(s,"style",o),tc(s,a.precedence,e),t.instance=s;case"stylesheet":o=Wr(a.href);var u=e.querySelector(fl(o));if(u)return t.state.loading|=4,t.instance=u,ut(u),u;s=Zg(a),(o=An.get(o))&&Yd(s,o),u=(e.ownerDocument||e).createElement("link"),ut(u);var g=u;return g._p=new Promise(function(v,k){g.onload=v,g.onerror=k}),jt(u,"link",s),t.state.loading|=4,tc(u,a.precedence,e),t.instance=u;case"script":return u=Jr(a.src),(o=e.querySelector(ml(u)))?(t.instance=o,ut(o),o):(s=a,(o=An.get(u))&&(s=S({},a),Wd(s,o)),e=e.ownerDocument||e,o=e.createElement("script"),ut(o),jt(o,"link",s),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(l(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(s=t.instance,t.state.loading|=4,tc(s,a.precedence,e));return t.instance}function tc(e,t,a){for(var s=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=s.length?s[s.length-1]:null,u=o,g=0;g<s.length;g++){var v=s[g];if(v.dataset.precedence===t)u=v;else if(u!==o)break}u?u.parentNode.insertBefore(e,u.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Yd(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Wd(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var nc=null;function tp(e,t,a){if(nc===null){var s=new Map,o=nc=new Map;o.set(a,s)}else o=nc,s=o.get(a),s||(s=new Map,o.set(a,s));if(s.has(e))return s;for(s.set(e,null),a=a.getElementsByTagName(e),o=0;o<a.length;o++){var u=a[o];if(!(u[ki]||u[W]||e==="link"&&u.getAttribute("rel")==="stylesheet")&&u.namespaceURI!=="http://www.w3.org/2000/svg"){var g=u.getAttribute(t)||"";g=e+g;var v=s.get(g);v?v.push(u):s.set(g,[u])}}return s}function np(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function M0(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function ap(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function D0(e,t,a,s){if(a.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var o=Wr(s.href),u=t.querySelector(fl(o));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ac.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=u,ut(u);return}u=t.ownerDocument||t,s=Zg(s),(o=An.get(o))&&Yd(s,o),u=u.createElement("link"),ut(u);var g=u;g._p=new Promise(function(v,k){g.onload=v,g.onerror=k}),jt(u,"link",s),a.instance=u}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=ac.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Jd=0;function U0(e,t){return e.stylesheets&&e.count===0&&rc(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var s=setTimeout(function(){if(e.stylesheets&&rc(e,e.stylesheets),e.unsuspend){var u=e.unsuspend;e.unsuspend=null,u()}},6e4+t);0<e.imgBytes&&Jd===0&&(Jd=62500*p0());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&rc(e,e.stylesheets),e.unsuspend)){var u=e.unsuspend;e.unsuspend=null,u()}},(e.imgBytes>Jd?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(o)}}:null}function ac(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)rc(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var ic=null;function rc(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ic=new Map,t.forEach(z0,e),ic=null,ac.call(e))}function z0(e,t){if(!(t.state.loading&4)){var a=ic.get(e);if(a)var s=a.get(null);else{a=new Map,ic.set(e,a);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u<o.length;u++){var g=o[u];(g.nodeName==="LINK"||g.getAttribute("media")!=="not all")&&(a.set(g.dataset.precedence,g),s=g)}s&&a.set(null,s)}o=t.instance,g=o.getAttribute("data-precedence"),u=a.get(g)||s,u===s&&a.set(null,o),a.set(g,o),this.count++,s=ac.bind(this),o.addEventListener("load",s),o.addEventListener("error",s),u?u.parentNode.insertBefore(o,u.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(o,e.firstChild)),t.state.loading|=4}}var gl={$$typeof:F,Provider:null,Consumer:null,_currentValue:Q,_currentValue2:Q,_threadCount:0};function B0(e,t,a,s,o,u,g,v,k){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=dr(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=dr(0),this.hiddenUpdates=dr(null),this.identifierPrefix=s,this.onUncaughtError=o,this.onCaughtError=u,this.onRecoverableError=g,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=k,this.incompleteTransitions=new Map}function ip(e,t,a,s,o,u,g,v,k,N,P,q){return e=new B0(e,t,a,g,k,N,P,q,v),t=1,u===!0&&(t|=24),u=ln(3,null,null,t),e.current=u,u.stateNode=e,t=Ru(),t.refCount++,e.pooledCache=t,t.refCount++,u.memoizedState={element:s,isDehydrated:a,cache:t},Lu(u),e}function rp(e){return e?(e=xr,e):xr}function sp(e,t,a,s,o,u){o=rp(o),s.context===null?s.context=o:s.pendingContext=o,s=Za(t),s.payload={element:a},u=u===void 0?null:u,u!==null&&(s.callback=u),a=ei(e,s,t),a!==null&&(Ft(a,e,t),Fs(a,e,t))}function lp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Xd(e,t){lp(e,t),(e=e.alternate)&&lp(e,t)}function op(e){if(e.tag===13||e.tag===31){var t=Hi(e,67108864);t!==null&&Ft(t,e,67108864),Xd(e,67108864)}}function cp(e){if(e.tag===13||e.tag===31){var t=hn();t=Ua(t);var a=Hi(e,t);a!==null&&Ft(a,e,t),Xd(e,t)}}var sc=!0;function P0(e,t,a,s){var o=_.T;_.T=null;var u=H.p;try{H.p=2,Qd(e,t,a,s)}finally{H.p=u,_.T=o}}function H0(e,t,a,s){var o=_.T;_.T=null;var u=H.p;try{H.p=8,Qd(e,t,a,s)}finally{H.p=u,_.T=o}}function Qd(e,t,a,s){if(sc){var o=Zd(s);if(o===null)Bd(e,t,s,lc,a),dp(e,s);else if(q0(o,e,t,a,s))s.stopPropagation();else if(dp(e,s),t&4&&-1<$0.indexOf(e)){for(;o!==null;){var u=Pa(o);if(u!==null)switch(u.tag){case 3:if(u=u.stateNode,u.current.memoizedState.isDehydrated){var g=Gn(u.pendingLanes);if(g!==0){var v=u;for(v.pendingLanes|=2,v.entangledLanes|=2;g;){var k=1<<31-wt(g);v.entanglements[1]|=k,g&=~k}Jn(u),(Be&6)===0&&(Io=Pe()+500,cl(0))}}break;case 31:case 13:v=Hi(u,2),v!==null&&Ft(v,u,2),Vo(),Xd(u,2)}if(u=Zd(s),u===null&&Bd(e,t,s,lc,a),u===o)break;o=u}o!==null&&s.stopPropagation()}else Bd(e,t,s,null,a)}}function Zd(e){return e=vr(e),eh(e)}var lc=null;function eh(e){if(lc=null,e=tn(e),e!==null){var t=d(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=h(t),e!==null)return e;e=null}else if(a===31){if(e=m(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return lc=e,null}function up(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ys()){case Si:return 2;case or:return 8;case cr:case Hc:return 32;case ur:return 268435456;default:return 32}default:return 32}}var th=!1,di=null,hi=null,fi=null,pl=new Map,yl=new Map,mi=[],$0="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function dp(e,t){switch(e){case"focusin":case"focusout":di=null;break;case"dragenter":case"dragleave":hi=null;break;case"mouseover":case"mouseout":fi=null;break;case"pointerover":case"pointerout":pl.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yl.delete(t.pointerId)}}function vl(e,t,a,s,o,u){return e===null||e.nativeEvent!==u?(e={blockedOn:t,domEventName:a,eventSystemFlags:s,nativeEvent:u,targetContainers:[o]},t!==null&&(t=Pa(t),t!==null&&op(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function q0(e,t,a,s,o){switch(t){case"focusin":return di=vl(di,e,t,a,s,o),!0;case"dragenter":return hi=vl(hi,e,t,a,s,o),!0;case"mouseover":return fi=vl(fi,e,t,a,s,o),!0;case"pointerover":var u=o.pointerId;return pl.set(u,vl(pl.get(u)||null,e,t,a,s,o)),!0;case"gotpointercapture":return u=o.pointerId,yl.set(u,vl(yl.get(u)||null,e,t,a,s,o)),!0}return!1}function hp(e){var t=tn(e.target);if(t!==null){var a=d(t);if(a!==null){if(t=a.tag,t===13){if(t=h(a),t!==null){e.blockedOn=t,za(e.priority,function(){cp(a)});return}}else if(t===31){if(t=m(a),t!==null){e.blockedOn=t,za(e.priority,function(){cp(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function oc(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Zd(e.nativeEvent);if(a===null){a=e.nativeEvent;var s=new a.constructor(a.type,a);Ln=s,a.target.dispatchEvent(s),Ln=null}else return t=Pa(a),t!==null&&op(t),e.blockedOn=a,!1;t.shift()}return!0}function fp(e,t,a){oc(e)&&a.delete(t)}function I0(){th=!1,di!==null&&oc(di)&&(di=null),hi!==null&&oc(hi)&&(hi=null),fi!==null&&oc(fi)&&(fi=null),pl.forEach(fp),yl.forEach(fp)}function cc(e,t){e.blockedOn===t&&(e.blockedOn=null,th||(th=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,I0)))}var uc=null;function mp(e){uc!==e&&(uc=e,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){uc===e&&(uc=null);for(var t=0;t<e.length;t+=3){var a=e[t],s=e[t+1],o=e[t+2];if(typeof s!="function"){if(eh(s||a)===null)continue;break}var u=Pa(a);u!==null&&(e.splice(t,3),t-=3,Zu(u,{pending:!0,data:o,method:a.method,action:s},s,o))}}))}function Xr(e){function t(k){return cc(k,e)}di!==null&&cc(di,e),hi!==null&&cc(hi,e),fi!==null&&cc(fi,e),pl.forEach(t),yl.forEach(t);for(var a=0;a<mi.length;a++){var s=mi[a];s.blockedOn===e&&(s.blockedOn=null)}for(;0<mi.length&&(a=mi[0],a.blockedOn===null);)hp(a),a.blockedOn===null&&mi.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(s=0;s<a.length;s+=3){var o=a[s],u=a[s+1],g=o[Je]||null;if(typeof u=="function")g||mp(a);else if(g){var v=null;if(u&&u.hasAttribute("formAction")){if(o=u,g=u[Je]||null)v=g.formAction;else if(eh(o)!==null)continue}else v=g.action;typeof v=="function"?a[s+1]=v:(a.splice(s,3),s-=3),mp(a)}}}function gp(){function e(u){u.canIntercept&&u.info==="react-transition"&&u.intercept({handler:function(){return new Promise(function(g){return o=g})},focusReset:"manual",scroll:"manual"})}function t(){o!==null&&(o(),o=null),s||setTimeout(a,20)}function a(){if(!s&&!navigation.transition){var u=navigation.currentEntry;u&&u.url!=null&&navigation.navigate(u.url,{state:u.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var s=!1,o=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){s=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),o!==null&&(o(),o=null)}}}function nh(e){this._internalRoot=e}dc.prototype.render=nh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(l(409));var a=t.current,s=hn();sp(a,s,e,t,null,null)},dc.prototype.unmount=nh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;sp(e.current,2,null,e,null,null),Vo(),t[Ba]=null}};function dc(e){this._internalRoot=e}dc.prototype.unstable_scheduleHydration=function(e){if(e){var t=fr();e={blockedOn:null,target:e,priority:t};for(var a=0;a<mi.length&&t!==0&&t<mi[a].priority;a++);mi.splice(a,0,e),a===0&&hp(e)}};var pp=n.version;if(pp!=="19.2.7")throw Error(l(527,pp,"19.2.7"));H.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(l(188)):(e=Object.keys(e).join(","),Error(l(268,e)));return e=y(t),e=e!==null?w(e):null,e=e===null?null:e.stateNode,e};var G0={bundleType:0,version:"19.2.7",rendererPackageName:"react-dom",currentDispatcherRef:_,reconcilerVersion:"19.2.7"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var hc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!hc.isDisabled&&hc.supportsFiber)try{aa=hc.inject(G0),At=hc}catch{}}return Sl.createRoot=function(e,t){if(!c(e))throw Error(l(299));var a=!1,s="",o=Tm,u=km,g=Am;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(s=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(u=t.onCaughtError),t.onRecoverableError!==void 0&&(g=t.onRecoverableError)),t=ip(e,1,!1,null,null,a,s,null,o,u,g,gp),e[Ba]=t.current,zd(e),new nh(t)},Sl.hydrateRoot=function(e,t,a){if(!c(e))throw Error(l(299));var s=!1,o="",u=Tm,g=km,v=Am,k=null;return a!=null&&(a.unstable_strictMode===!0&&(s=!0),a.identifierPrefix!==void 0&&(o=a.identifierPrefix),a.onUncaughtError!==void 0&&(u=a.onUncaughtError),a.onCaughtError!==void 0&&(g=a.onCaughtError),a.onRecoverableError!==void 0&&(v=a.onRecoverableError),a.formState!==void 0&&(k=a.formState)),t=ip(e,1,!0,t,a??null,s,o,k,u,g,v,gp),t.context=rp(null),a=t.current,s=hn(),s=Ua(s),o=Za(s),o.callback=null,ei(a,o,s),a=s,t.current.lanes=a,Da(t,a),Jn(t),e[Ba]=t.current,zd(e),new dc(t)},Sl.version="19.2.7",Sl}var Ep;function eb(){if(Ep)return rh.exports;Ep=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(n){console.error(n)}}return i(),rh.exports=Z0(),rh.exports}var tb=eb();const nb=i=>i.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ab=i=>i.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,l)=>l?l.toUpperCase():r.toLowerCase()),xp=i=>{const n=ab(i);return n.charAt(0).toUpperCase()+n.slice(1)},Dy=(...i)=>i.filter((n,r,l)=>!!n&&n.trim()!==""&&l.indexOf(n)===r).join(" ").trim(),ib=i=>{for(const n in i)if(n.startsWith("aria-")||n==="role"||n==="title")return!0};var rb={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const sb=O.forwardRef(({color:i="currentColor",size:n=24,strokeWidth:r=2,absoluteStrokeWidth:l,className:c="",children:d,iconNode:h,...m},f)=>O.createElement("svg",{ref:f,...rb,width:n,height:n,stroke:i,strokeWidth:l?Number(r)*24/Number(n):r,className:Dy("lucide",c),...!d&&!ib(m)&&{"aria-hidden":"true"},...m},[...h.map(([y,w])=>O.createElement(y,w)),...Array.isArray(d)?d:[d]]));const Ge=(i,n)=>{const r=O.forwardRef(({className:l,...c},d)=>O.createElement(sb,{ref:d,iconNode:n,className:Dy(`lucide-${nb(xp(i))}`,`lucide-${i}`,l),...c}));return r.displayName=xp(i),r};const lb=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],ch=Ge("activity",lb);const ob=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],cb=Ge("badge-check",ob);const ub=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],Oh=Ge("book-open",ub);const db=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Uy=Ge("chevron-left",db);const hb=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],zy=Ge("chevron-right",hb);const fb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],mb=Ge("circle-check",fb);const gb=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]],wl=Ge("clipboard",gb);const pb=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],El=Ge("credit-card",pb);const yb=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],uh=Ge("database",yb);const vb=[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],bb=Ge("earth",vb);const Sb=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],dh=Ge("folder-open",Sb);const wb=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],By=Ge("layout-grid",wb);const _b=[["circle",{cx:"12",cy:"16",r:"1",key:"1au0dj"}],["rect",{x:"3",y:"10",width:"18",height:"12",rx:"2",key:"6s8ecr"}],["path",{d:"M7 10V7a5 5 0 0 1 10 0v3",key:"1pqi11"}]],Tb=Ge("lock-keyhole",_b);const kb=[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]],hh=Ge("log-in",kb);const Ab=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Eb=Ge("log-out",Ab);const xb=[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]],cs=Ge("monitor",xb);const Cb=[["path",{d:"M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",key:"edeuup"}]],jh=Ge("mouse-pointer-2",Cb);const Rb=[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]],Cp=Ge("play",Rb);const Ob=[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]],jb=Ge("power",Ob);const Nb=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Lb=Ge("rotate-ccw",Nb);const Mb=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],fh=Ge("send",Mb);const Db=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],mh=Ge("server",Db);const Ub=[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Py=Ge("settings",Ub);const zb=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Rp=Ge("shield-check",zb);const Bb=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Pb=Ge("star",Bb);const Hb=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],rs=Ge("terminal",Hb);const $b=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],Op=Ge("volume-2",$b);const qb=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],jp=Ge("wifi",qb);const Ib=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Np=Ge("x",Ib);function Mc(i,n){var r={};for(var l in i)Object.prototype.hasOwnProperty.call(i,l)&&n.indexOf(l)<0&&(r[l]=i[l]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var c=0,l=Object.getOwnPropertySymbols(i);c<l.length;c++)n.indexOf(l[c])<0&&Object.prototype.propertyIsEnumerable.call(i,l[c])&&(r[l[c]]=i[l[c]]);return r}function Gb(i,n,r,l){function c(d){return d instanceof r?d:new r(function(h){h(d)})}return new(r||(r=Promise))(function(d,h){function m(w){try{y(l.next(w))}catch(S){h(S)}}function f(w){try{y(l.throw(w))}catch(S){h(S)}}function y(w){w.done?d(w.value):c(w.value).then(m,f)}y((l=l.apply(i,n||[])).next())})}const Vb=i=>i?(...n)=>i(...n):(...n)=>fetch(...n);class Qh extends Error{constructor(n,r="FunctionsError",l){super(n),this.name=r,this.context=l}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class Kb extends Qh{constructor(n){super("Failed to send a request to the Edge Function","FunctionsFetchError",n)}}class Lp extends Qh{constructor(n){super("Relay Error invoking the Edge Function","FunctionsRelayError",n)}}class Mp extends Qh{constructor(n){super("Edge Function returned a non-2xx status code","FunctionsHttpError",n)}}var Nh;(function(i){i.Any="any",i.ApNortheast1="ap-northeast-1",i.ApNortheast2="ap-northeast-2",i.ApSouth1="ap-south-1",i.ApSoutheast1="ap-southeast-1",i.ApSoutheast2="ap-southeast-2",i.CaCentral1="ca-central-1",i.EuCentral1="eu-central-1",i.EuWest1="eu-west-1",i.EuWest2="eu-west-2",i.EuWest3="eu-west-3",i.SaEast1="sa-east-1",i.UsEast1="us-east-1",i.UsWest1="us-west-1",i.UsWest2="us-west-2"})(Nh||(Nh={}));class Fb{constructor(n,{headers:r={},customFetch:l,region:c=Nh.Any}={}){this.url=n,this.headers=r,this.region=c,this.fetch=Vb(l)}setAuth(n){this.headers.Authorization=`Bearer ${n}`}invoke(n){return Gb(this,arguments,void 0,function*(r,l={}){var c;let d,h;try{const{headers:m,method:f,body:y,signal:w,timeout:S}=l;let T={},{region:x}=l;x||(x=this.region);const R=new URL(`${this.url}/${r}`);x&&x!=="any"&&(T["x-region"]=x,R.searchParams.set("forceFunctionRegion",x));let z;const G=!!m&&Object.keys(m).some(le=>le.toLowerCase()==="content-type");y&&!G?typeof Blob<"u"&&y instanceof Blob||y instanceof ArrayBuffer?(T["Content-Type"]="application/octet-stream",z=y):typeof y=="string"?(T["Content-Type"]="text/plain",z=y):typeof FormData<"u"&&y instanceof FormData?z=y:(T["Content-Type"]="application/json",z=JSON.stringify(y)):y&&typeof y!="string"&&!(typeof Blob<"u"&&y instanceof Blob)&&!(y instanceof ArrayBuffer)&&!(typeof FormData<"u"&&y instanceof FormData)?z=JSON.stringify(y):z=y;let V=w;S&&(h=new AbortController,d=setTimeout(()=>h.abort(),S),w?(V=h.signal,w.addEventListener("abort",()=>h.abort())):V=h.signal);const I=yield this.fetch(R.toString(),{method:f||"POST",headers:Object.assign(Object.assign(Object.assign({},T),this.headers),m),body:z,signal:V}).catch(le=>{throw new Kb(le)}),F=I.headers.get("x-relay-error");if(F&&F==="true")throw new Lp(I);if(!I.ok)throw new Mp(I);let ee=((c=I.headers.get("Content-Type"))!==null&&c!==void 0?c:"text/plain").split(";")[0].trim(),we;return ee==="application/json"?we=yield I.json():ee==="application/octet-stream"||ee==="application/pdf"?we=yield I.blob():ee==="text/event-stream"?we=I:ee==="multipart/form-data"?we=yield I.formData():we=yield I.text(),{data:we,error:null,response:I}}catch(m){return{data:null,error:m,response:m instanceof Mp||m instanceof Lp?m.context:void 0}}finally{d&&clearTimeout(d)}})}}const Hy=3,Dp=i=>Math.min(1e3*2**i,3e4),Yb=[520,503],$y=["GET","HEAD","OPTIONS"];var Up=class extends Error{constructor(i){super(i.message),this.name="PostgrestError",this.details=i.details,this.hint=i.hint,this.code=i.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function zp(i,n){return new Promise(r=>{if(n?.aborted){r();return}const l=setTimeout(()=>{n?.removeEventListener("abort",c),r()},i);function c(){clearTimeout(l),r()}n?.addEventListener("abort",c)})}function Wb(i,n,r,l){return!(!l||r>=Hy||!$y.includes(i)||!Yb.includes(n))}var Jb=class{constructor(i){var n,r,l,c,d;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=i.method,this.url=i.url,this.headers=new Headers(i.headers),this.schema=i.schema,this.body=i.body,this.shouldThrowOnError=(n=i.shouldThrowOnError)!==null&&n!==void 0?n:!1,this.signal=i.signal,this.isMaybeSingle=(r=i.isMaybeSingle)!==null&&r!==void 0?r:!1,this.shouldStripNulls=(l=i.shouldStripNulls)!==null&&l!==void 0?l:!1,this.urlLengthLimit=(c=i.urlLengthLimit)!==null&&c!==void 0?c:8e3,this.retryEnabled=(d=i.retry)!==null&&d!==void 0?d:!0,i.fetch?this.fetch=i.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(i,n){return this.headers=new Headers(this.headers),this.headers.set(i,n),this}retry(i){return this.retryEnabled=i,this}then(i,n){var r=this;if(this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json"),this.shouldStripNulls){const h=this.headers.get("Accept");h==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!h||h==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const l=this.fetch;let d=(async()=>{let h=0;for(;;){const y={};r.headers.forEach((S,T)=>{y[T]=S}),h>0&&(y["X-Retry-Count"]=String(h));let w;try{w=await l(r.url.toString(),{method:r.method,headers:y,body:JSON.stringify(r.body,(S,T)=>typeof T=="bigint"?T.toString():T),signal:r.signal})}catch(S){if(S?.name==="AbortError"||S?.code==="ABORT_ERR"||!$y.includes(r.method))throw S;if(r.retryEnabled&&h<Hy){const T=Dp(h);h++,await zp(T,r.signal);continue}throw S}if(Wb(r.method,w.status,h,r.retryEnabled)){var m,f;const S=(m=(f=w.headers)===null||f===void 0?void 0:f.get("Retry-After"))!==null&&m!==void 0?m:null,T=S!==null?Math.max(0,parseInt(S,10)||0)*1e3:Dp(h);await w.text(),h++,await zp(T,r.signal);continue}return await r.processResponse(w)}})();return this.shouldThrowOnError||(d=d.catch(h=>{var m;let f="",y="",w="";const S=h?.cause;if(S){var T,x,R,z;const I=(T=S?.message)!==null&&T!==void 0?T:"",F=(x=S?.code)!==null&&x!==void 0?x:"";f=`${(R=h?.name)!==null&&R!==void 0?R:"FetchError"}: ${h?.message}`,f+=`
|
|
10
10
|
|
|
11
11
|
Caused by: ${(z=S?.name)!==null&&z!==void 0?z:"Error"}: ${I}`,F&&(f+=` (${F})`),S?.stack&&(f+=`
|
|
12
|
-
${S.stack}`)}else{var G;f=(G=h?.stack)!==null&&G!==void 0?G:""}const V=this.url.toString().length;return h?.name==="AbortError"||h?.code==="ABORT_ERR"?(w="",y="Request was aborted (timeout or manual cancellation)",V>this.urlLengthLimit&&(y+=`. Note: Your request URL is ${V} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):(S?.name==="HeadersOverflowError"||S?.code==="UND_ERR_HEADERS_OVERFLOW")&&(w="",y="HTTP headers exceeded server limits (typically 16KB)",V>this.urlLengthLimit&&(y+=`. Your request URL is ${V} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(m=h?.name)!==null&&m!==void 0?m:"FetchError"}: ${h?.message}`,details:f,hint:y,code:w},data:null,count:null,status:0,statusText:""}})),d.then(i,n)}async processResponse(i){var n=this;let r=null,l=null,c=null,d=i.status,h=i.statusText;if(i.ok){var m,f;if(n.method!=="HEAD"){var y;const T=await i.text();if(T!=="")if(n.headers.get("Accept")==="text/csv")l=T;else if(n.headers.get("Accept")&&(!((y=n.headers.get("Accept"))===null||y===void 0)&&y.includes("application/vnd.pgrst.plan+text")))l=T;else try{l=JSON.parse(T)}catch{if(r={message:T},l=null,n.shouldThrowOnError)throw new Dp({message:T,details:"",hint:"",code:""})}}const w=(m=n.headers.get("Prefer"))===null||m===void 0?void 0:m.match(/count=(exact|planned|estimated)/),S=(f=i.headers.get("content-range"))===null||f===void 0?void 0:f.split("/");w&&S&&S.length>1&&(c=parseInt(S[1])),n.isMaybeSingle&&Array.isArray(l)&&(l.length>1?(r={code:"PGRST116",details:`Results contain ${l.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},l=null,c=null,d=406,h="Not Acceptable"):l.length===1?l=l[0]:l=null)}else{const w=await i.text();try{r=JSON.parse(w),Array.isArray(r)&&i.status===404&&(l=[],r=null,d=200,h="OK")}catch{i.status===404&&w===""?(d=204,h="No Content"):r={message:w}}if(r&&n.shouldThrowOnError)throw new Dp(r)}return{success:r===null,error:r,data:l,count:c,status:d,statusText:h}}returns(){return this}overrideTypes(){return this}},Wb=class extends Yb{throwOnError(){return super.throwOnError()}select(i){let n=!1;const r=(i??"*").split("").map(l=>/\s/.test(l)&&!n?"":(l==='"'&&(n=!n),l)).join("");return this.url.searchParams.set("select",r),this.headers.append("Prefer","return=representation"),this}order(i,{ascending:n=!0,nullsFirst:r,foreignTable:l,referencedTable:c=l}={}){const d=c?`${c}.order`:"order",h=this.url.searchParams.get(d);return this.url.searchParams.set(d,`${h?`${h},`:""}${i}.${n?"asc":"desc"}${r===void 0?"":r?".nullsfirst":".nullslast"}`),this}limit(i,{foreignTable:n,referencedTable:r=n}={}){const l=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(l,`${i}`),this}range(i,n,{foreignTable:r,referencedTable:l=r}={}){const c=typeof l>"u"?"offset":`${l}.offset`,d=typeof l>"u"?"limit":`${l}.limit`;return this.url.searchParams.set(c,`${i}`),this.url.searchParams.set(d,`${n-i+1}`),this}abortSignal(i){return this.signal=i,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:i=!1,verbose:n=!1,settings:r=!1,buffers:l=!1,wal:c=!1,format:d="text"}={}){var h;const m=[i?"analyze":null,n?"verbose":null,r?"settings":null,l?"buffers":null,c?"wal":null].filter(Boolean).join("|"),f=(h=this.headers.get("Accept"))!==null&&h!==void 0?h:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${d}; for="${f}"; options=${m};`),d==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(i){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${i}`),this}};const zp=new RegExp("[,()]");var ss=class extends Wb{throwOnError(){return super.throwOnError()}eq(i,n){return this.url.searchParams.append(i,`eq.${n}`),this}neq(i,n){return this.url.searchParams.append(i,`neq.${n}`),this}gt(i,n){return this.url.searchParams.append(i,`gt.${n}`),this}gte(i,n){return this.url.searchParams.append(i,`gte.${n}`),this}lt(i,n){return this.url.searchParams.append(i,`lt.${n}`),this}lte(i,n){return this.url.searchParams.append(i,`lte.${n}`),this}like(i,n){return this.url.searchParams.append(i,`like.${n}`),this}likeAllOf(i,n){return this.url.searchParams.append(i,`like(all).{${n.join(",")}}`),this}likeAnyOf(i,n){return this.url.searchParams.append(i,`like(any).{${n.join(",")}}`),this}ilike(i,n){return this.url.searchParams.append(i,`ilike.${n}`),this}ilikeAllOf(i,n){return this.url.searchParams.append(i,`ilike(all).{${n.join(",")}}`),this}ilikeAnyOf(i,n){return this.url.searchParams.append(i,`ilike(any).{${n.join(",")}}`),this}regexMatch(i,n){return this.url.searchParams.append(i,`match.${n}`),this}regexIMatch(i,n){return this.url.searchParams.append(i,`imatch.${n}`),this}is(i,n){return this.url.searchParams.append(i,`is.${n}`),this}isDistinct(i,n){return this.url.searchParams.append(i,`isdistinct.${n}`),this}in(i,n){const r=Array.from(new Set(n)).map(l=>typeof l=="string"&&zp.test(l)?`"${l}"`:`${l}`).join(",");return this.url.searchParams.append(i,`in.(${r})`),this}notIn(i,n){const r=Array.from(new Set(n)).map(l=>typeof l=="string"&&zp.test(l)?`"${l}"`:`${l}`).join(",");return this.url.searchParams.append(i,`not.in.(${r})`),this}contains(i,n){return typeof n=="string"?this.url.searchParams.append(i,`cs.${n}`):Array.isArray(n)?this.url.searchParams.append(i,`cs.{${n.join(",")}}`):this.url.searchParams.append(i,`cs.${JSON.stringify(n)}`),this}containedBy(i,n){return typeof n=="string"?this.url.searchParams.append(i,`cd.${n}`):Array.isArray(n)?this.url.searchParams.append(i,`cd.{${n.join(",")}}`):this.url.searchParams.append(i,`cd.${JSON.stringify(n)}`),this}rangeGt(i,n){return this.url.searchParams.append(i,`sr.${n}`),this}rangeGte(i,n){return this.url.searchParams.append(i,`nxl.${n}`),this}rangeLt(i,n){return this.url.searchParams.append(i,`sl.${n}`),this}rangeLte(i,n){return this.url.searchParams.append(i,`nxr.${n}`),this}rangeAdjacent(i,n){return this.url.searchParams.append(i,`adj.${n}`),this}overlaps(i,n){return typeof n=="string"?this.url.searchParams.append(i,`ov.${n}`):this.url.searchParams.append(i,`ov.{${n.join(",")}}`),this}textSearch(i,n,{config:r,type:l}={}){let c="";l==="plain"?c="pl":l==="phrase"?c="ph":l==="websearch"&&(c="w");const d=r===void 0?"":`(${r})`;return this.url.searchParams.append(i,`${c}fts${d}.${n}`),this}match(i){return Object.entries(i).filter(([n,r])=>r!==void 0).forEach(([n,r])=>{this.url.searchParams.append(n,`eq.${r}`)}),this}not(i,n,r){return this.url.searchParams.append(i,`not.${n}.${r}`),this}or(i,{foreignTable:n,referencedTable:r=n}={}){const l=r?`${r}.or`:"or";return this.url.searchParams.append(l,`(${i})`),this}filter(i,n,r){return this.url.searchParams.append(i,`${n}.${r}`),this}},Jb=class{constructor(i,{headers:n={},schema:r,fetch:l,urlLengthLimit:c=8e3,retry:d}){this.url=i,this.headers=new Headers(n),this.schema=r,this.fetch=l,this.urlLengthLimit=c,this.retry=d}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(i,n){const{head:r=!1,count:l}=n??{},c=r?"HEAD":"GET";let d=!1;const h=(i??"*").split("").map(y=>/\s/.test(y)&&!d?"":(y==='"'&&(d=!d),y)).join(""),{url:m,headers:f}=this.cloneRequestState();return m.searchParams.set("select",h),l&&f.append("Prefer",`count=${l}`),new ss({method:c,url:m,headers:f,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(i,{count:n,defaultToNull:r=!0}={}){var l;const c="POST",{url:d,headers:h}=this.cloneRequestState();if(n&&h.append("Prefer",`count=${n}`),r||h.append("Prefer","missing=default"),Array.isArray(i)){const m=i.reduce((f,y)=>f.concat(Object.keys(y)),[]);if(m.length>0){const f=[...new Set(m)].map(y=>`"${y}"`);d.searchParams.set("columns",f.join(","))}}return new ss({method:c,url:d,headers:h,schema:this.schema,body:i,fetch:(l=this.fetch)!==null&&l!==void 0?l:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(i,{onConflict:n,ignoreDuplicates:r=!1,count:l,defaultToNull:c=!0}={}){var d;const h="POST",{url:m,headers:f}=this.cloneRequestState();if(f.append("Prefer",`resolution=${r?"ignore":"merge"}-duplicates`),n!==void 0&&m.searchParams.set("on_conflict",n),l&&f.append("Prefer",`count=${l}`),c||f.append("Prefer","missing=default"),Array.isArray(i)){const y=i.reduce((w,S)=>w.concat(Object.keys(S)),[]);if(y.length>0){const w=[...new Set(y)].map(S=>`"${S}"`);m.searchParams.set("columns",w.join(","))}}return new ss({method:h,url:m,headers:f,schema:this.schema,body:i,fetch:(d=this.fetch)!==null&&d!==void 0?d:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(i,{count:n}={}){var r;const l="PATCH",{url:c,headers:d}=this.cloneRequestState();return n&&d.append("Prefer",`count=${n}`),new ss({method:l,url:c,headers:d,schema:this.schema,body:i,fetch:(r=this.fetch)!==null&&r!==void 0?r:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:i}={}){var n;const r="DELETE",{url:l,headers:c}=this.cloneRequestState();return i&&c.append("Prefer",`count=${i}`),new ss({method:r,url:l,headers:c,schema:this.schema,fetch:(n=this.fetch)!==null&&n!==void 0?n:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function Hl(i){"@babel/helpers - typeof";return Hl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Hl(i)}function Xb(i,n){if(Hl(i)!="object"||!i)return i;var r=i[Symbol.toPrimitive];if(r!==void 0){var l=r.call(i,n);if(Hl(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function Qb(i){var n=Xb(i,"string");return Hl(n)=="symbol"?n:n+""}function Zb(i,n,r){return(n=Qb(n))in i?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,i}function Bp(i,n){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(i);n&&(l=l.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),r.push.apply(r,l)}return r}function fc(i){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Bp(Object(r),!0).forEach(function(l){Zb(i,l,r[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(r)):Bp(Object(r)).forEach(function(l){Object.defineProperty(i,l,Object.getOwnPropertyDescriptor(r,l))})}return i}var eS=class $y{constructor(n,{headers:r={},schema:l,fetch:c,timeout:d,urlLengthLimit:h=8e3,retry:m}={}){this.url=n,this.headers=new Headers(r),this.schemaName=l,this.urlLengthLimit=h;const f=c??globalThis.fetch;d!==void 0&&d>0?this.fetch=(y,w)=>{const S=new AbortController,T=setTimeout(()=>S.abort(),d),x=w?.signal;if(x){if(x.aborted)return clearTimeout(T),f(y,w);const R=()=>{clearTimeout(T),S.abort()};return x.addEventListener("abort",R,{once:!0}),f(y,fc(fc({},w),{},{signal:S.signal})).finally(()=>{clearTimeout(T),x.removeEventListener("abort",R)})}return f(y,fc(fc({},w),{},{signal:S.signal})).finally(()=>clearTimeout(T))}:this.fetch=f,this.retry=m}from(n){if(!n||typeof n!="string"||n.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new Jb(new URL(`${this.url}/${n}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(n){return new $y(this.url,{headers:this.headers,schema:n,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(n,r={},{head:l=!1,get:c=!1,count:d}={}){var h;let m;const f=new URL(`${this.url}/rpc/${n}`);let y;const w=x=>x!==null&&typeof x=="object"&&(!Array.isArray(x)||x.some(w)),S=l&&Object.values(r).some(w);S?(m="POST",y=r):l||c?(m=l?"HEAD":"GET",Object.entries(r).filter(([x,R])=>R!==void 0).map(([x,R])=>[x,Array.isArray(R)?`{${R.join(",")}}`:`${R}`]).forEach(([x,R])=>{f.searchParams.append(x,R)})):(m="POST",y=r);const T=new Headers(this.headers);return S?T.set("Prefer",d?`count=${d},return=minimal`:"return=minimal"):d&&T.set("Prefer",`count=${d}`),new ss({method:m,url:f,headers:T,schema:this.schemaName,body:y,fetch:(h=this.fetch)!==null&&h!==void 0?h:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class tS{constructor(){}static detectEnvironment(){var n;if(typeof WebSocket<"u")return{type:"native",wsConstructor:WebSocket};const r=globalThis;if(typeof globalThis<"u"&&typeof r.WebSocket<"u")return{type:"native",wsConstructor:r.WebSocket};const l=typeof global<"u"?global:void 0;if(l&&typeof l.WebSocket<"u")return{type:"native",wsConstructor:l.WebSocket};if(typeof globalThis<"u"&&typeof r.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&r.EdgeRuntime||typeof navigator<"u"&&(!((n=navigator.userAgent)===null||n===void 0)&&n.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};const c=globalThis.process;if(c){const d=c.versions;if(d&&d.node)return{type:"unsupported",error:"Node.js detected but native WebSocket not found.",workaround:"Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option."}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const n=this.detectEnvironment();if(n.wsConstructor)return n.wsConstructor;let r=n.error||"WebSocket not supported in this environment.";throw n.workaround&&(r+=`
|
|
12
|
+
${S.stack}`)}else{var G;f=(G=h?.stack)!==null&&G!==void 0?G:""}const V=this.url.toString().length;return h?.name==="AbortError"||h?.code==="ABORT_ERR"?(w="",y="Request was aborted (timeout or manual cancellation)",V>this.urlLengthLimit&&(y+=`. Note: Your request URL is ${V} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):(S?.name==="HeadersOverflowError"||S?.code==="UND_ERR_HEADERS_OVERFLOW")&&(w="",y="HTTP headers exceeded server limits (typically 16KB)",V>this.urlLengthLimit&&(y+=`. Your request URL is ${V} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(m=h?.name)!==null&&m!==void 0?m:"FetchError"}: ${h?.message}`,details:f,hint:y,code:w},data:null,count:null,status:0,statusText:""}})),d.then(i,n)}async processResponse(i){var n=this;let r=null,l=null,c=null,d=i.status,h=i.statusText;if(i.ok){var m,f;if(n.method!=="HEAD"){var y;const T=await i.text();if(T!=="")if(n.headers.get("Accept")==="text/csv")l=T;else if(n.headers.get("Accept")&&(!((y=n.headers.get("Accept"))===null||y===void 0)&&y.includes("application/vnd.pgrst.plan+text")))l=T;else try{l=JSON.parse(T)}catch{if(r={message:T},l=null,n.shouldThrowOnError)throw new Up({message:T,details:"",hint:"",code:""})}}const w=(m=n.headers.get("Prefer"))===null||m===void 0?void 0:m.match(/count=(exact|planned|estimated)/),S=(f=i.headers.get("content-range"))===null||f===void 0?void 0:f.split("/");w&&S&&S.length>1&&(c=parseInt(S[1])),n.isMaybeSingle&&Array.isArray(l)&&(l.length>1?(r={code:"PGRST116",details:`Results contain ${l.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},l=null,c=null,d=406,h="Not Acceptable"):l.length===1?l=l[0]:l=null)}else{const w=await i.text();try{r=JSON.parse(w),Array.isArray(r)&&i.status===404&&(l=[],r=null,d=200,h="OK")}catch{i.status===404&&w===""?(d=204,h="No Content"):r={message:w}}if(r&&n.shouldThrowOnError)throw new Up(r)}return{success:r===null,error:r,data:l,count:c,status:d,statusText:h}}returns(){return this}overrideTypes(){return this}},Xb=class extends Jb{throwOnError(){return super.throwOnError()}select(i){let n=!1;const r=(i??"*").split("").map(l=>/\s/.test(l)&&!n?"":(l==='"'&&(n=!n),l)).join("");return this.url.searchParams.set("select",r),this.headers.append("Prefer","return=representation"),this}order(i,{ascending:n=!0,nullsFirst:r,foreignTable:l,referencedTable:c=l}={}){const d=c?`${c}.order`:"order",h=this.url.searchParams.get(d);return this.url.searchParams.set(d,`${h?`${h},`:""}${i}.${n?"asc":"desc"}${r===void 0?"":r?".nullsfirst":".nullslast"}`),this}limit(i,{foreignTable:n,referencedTable:r=n}={}){const l=typeof r>"u"?"limit":`${r}.limit`;return this.url.searchParams.set(l,`${i}`),this}range(i,n,{foreignTable:r,referencedTable:l=r}={}){const c=typeof l>"u"?"offset":`${l}.offset`,d=typeof l>"u"?"limit":`${l}.limit`;return this.url.searchParams.set(c,`${i}`),this.url.searchParams.set(d,`${n-i+1}`),this}abortSignal(i){return this.signal=i,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:i=!1,verbose:n=!1,settings:r=!1,buffers:l=!1,wal:c=!1,format:d="text"}={}){var h;const m=[i?"analyze":null,n?"verbose":null,r?"settings":null,l?"buffers":null,c?"wal":null].filter(Boolean).join("|"),f=(h=this.headers.get("Accept"))!==null&&h!==void 0?h:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${d}; for="${f}"; options=${m};`),d==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(i){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${i}`),this}};const Bp=new RegExp("[,()]");var ss=class extends Xb{throwOnError(){return super.throwOnError()}eq(i,n){return this.url.searchParams.append(i,`eq.${n}`),this}neq(i,n){return this.url.searchParams.append(i,`neq.${n}`),this}gt(i,n){return this.url.searchParams.append(i,`gt.${n}`),this}gte(i,n){return this.url.searchParams.append(i,`gte.${n}`),this}lt(i,n){return this.url.searchParams.append(i,`lt.${n}`),this}lte(i,n){return this.url.searchParams.append(i,`lte.${n}`),this}like(i,n){return this.url.searchParams.append(i,`like.${n}`),this}likeAllOf(i,n){return this.url.searchParams.append(i,`like(all).{${n.join(",")}}`),this}likeAnyOf(i,n){return this.url.searchParams.append(i,`like(any).{${n.join(",")}}`),this}ilike(i,n){return this.url.searchParams.append(i,`ilike.${n}`),this}ilikeAllOf(i,n){return this.url.searchParams.append(i,`ilike(all).{${n.join(",")}}`),this}ilikeAnyOf(i,n){return this.url.searchParams.append(i,`ilike(any).{${n.join(",")}}`),this}regexMatch(i,n){return this.url.searchParams.append(i,`match.${n}`),this}regexIMatch(i,n){return this.url.searchParams.append(i,`imatch.${n}`),this}is(i,n){return this.url.searchParams.append(i,`is.${n}`),this}isDistinct(i,n){return this.url.searchParams.append(i,`isdistinct.${n}`),this}in(i,n){const r=Array.from(new Set(n)).map(l=>typeof l=="string"&&Bp.test(l)?`"${l}"`:`${l}`).join(",");return this.url.searchParams.append(i,`in.(${r})`),this}notIn(i,n){const r=Array.from(new Set(n)).map(l=>typeof l=="string"&&Bp.test(l)?`"${l}"`:`${l}`).join(",");return this.url.searchParams.append(i,`not.in.(${r})`),this}contains(i,n){return typeof n=="string"?this.url.searchParams.append(i,`cs.${n}`):Array.isArray(n)?this.url.searchParams.append(i,`cs.{${n.join(",")}}`):this.url.searchParams.append(i,`cs.${JSON.stringify(n)}`),this}containedBy(i,n){return typeof n=="string"?this.url.searchParams.append(i,`cd.${n}`):Array.isArray(n)?this.url.searchParams.append(i,`cd.{${n.join(",")}}`):this.url.searchParams.append(i,`cd.${JSON.stringify(n)}`),this}rangeGt(i,n){return this.url.searchParams.append(i,`sr.${n}`),this}rangeGte(i,n){return this.url.searchParams.append(i,`nxl.${n}`),this}rangeLt(i,n){return this.url.searchParams.append(i,`sl.${n}`),this}rangeLte(i,n){return this.url.searchParams.append(i,`nxr.${n}`),this}rangeAdjacent(i,n){return this.url.searchParams.append(i,`adj.${n}`),this}overlaps(i,n){return typeof n=="string"?this.url.searchParams.append(i,`ov.${n}`):this.url.searchParams.append(i,`ov.{${n.join(",")}}`),this}textSearch(i,n,{config:r,type:l}={}){let c="";l==="plain"?c="pl":l==="phrase"?c="ph":l==="websearch"&&(c="w");const d=r===void 0?"":`(${r})`;return this.url.searchParams.append(i,`${c}fts${d}.${n}`),this}match(i){return Object.entries(i).filter(([n,r])=>r!==void 0).forEach(([n,r])=>{this.url.searchParams.append(n,`eq.${r}`)}),this}not(i,n,r){return this.url.searchParams.append(i,`not.${n}.${r}`),this}or(i,{foreignTable:n,referencedTable:r=n}={}){const l=r?`${r}.or`:"or";return this.url.searchParams.append(l,`(${i})`),this}filter(i,n,r){return this.url.searchParams.append(i,`${n}.${r}`),this}},Qb=class{constructor(i,{headers:n={},schema:r,fetch:l,urlLengthLimit:c=8e3,retry:d}){this.url=i,this.headers=new Headers(n),this.schema=r,this.fetch=l,this.urlLengthLimit=c,this.retry=d}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(i,n){const{head:r=!1,count:l}=n??{},c=r?"HEAD":"GET";let d=!1;const h=(i??"*").split("").map(y=>/\s/.test(y)&&!d?"":(y==='"'&&(d=!d),y)).join(""),{url:m,headers:f}=this.cloneRequestState();return m.searchParams.set("select",h),l&&f.append("Prefer",`count=${l}`),new ss({method:c,url:m,headers:f,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(i,{count:n,defaultToNull:r=!0}={}){var l;const c="POST",{url:d,headers:h}=this.cloneRequestState();if(n&&h.append("Prefer",`count=${n}`),r||h.append("Prefer","missing=default"),Array.isArray(i)){const m=i.reduce((f,y)=>f.concat(Object.keys(y)),[]);if(m.length>0){const f=[...new Set(m)].map(y=>`"${y}"`);d.searchParams.set("columns",f.join(","))}}return new ss({method:c,url:d,headers:h,schema:this.schema,body:i,fetch:(l=this.fetch)!==null&&l!==void 0?l:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(i,{onConflict:n,ignoreDuplicates:r=!1,count:l,defaultToNull:c=!0}={}){var d;const h="POST",{url:m,headers:f}=this.cloneRequestState();if(f.append("Prefer",`resolution=${r?"ignore":"merge"}-duplicates`),n!==void 0&&m.searchParams.set("on_conflict",n),l&&f.append("Prefer",`count=${l}`),c||f.append("Prefer","missing=default"),Array.isArray(i)){const y=i.reduce((w,S)=>w.concat(Object.keys(S)),[]);if(y.length>0){const w=[...new Set(y)].map(S=>`"${S}"`);m.searchParams.set("columns",w.join(","))}}return new ss({method:h,url:m,headers:f,schema:this.schema,body:i,fetch:(d=this.fetch)!==null&&d!==void 0?d:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(i,{count:n}={}){var r;const l="PATCH",{url:c,headers:d}=this.cloneRequestState();return n&&d.append("Prefer",`count=${n}`),new ss({method:l,url:c,headers:d,schema:this.schema,body:i,fetch:(r=this.fetch)!==null&&r!==void 0?r:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:i}={}){var n;const r="DELETE",{url:l,headers:c}=this.cloneRequestState();return i&&c.append("Prefer",`count=${i}`),new ss({method:r,url:l,headers:c,schema:this.schema,fetch:(n=this.fetch)!==null&&n!==void 0?n:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function Hl(i){"@babel/helpers - typeof";return Hl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Hl(i)}function Zb(i,n){if(Hl(i)!="object"||!i)return i;var r=i[Symbol.toPrimitive];if(r!==void 0){var l=r.call(i,n);if(Hl(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function eS(i){var n=Zb(i,"string");return Hl(n)=="symbol"?n:n+""}function tS(i,n,r){return(n=eS(n))in i?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,i}function Pp(i,n){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(i);n&&(l=l.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),r.push.apply(r,l)}return r}function fc(i){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Pp(Object(r),!0).forEach(function(l){tS(i,l,r[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(r)):Pp(Object(r)).forEach(function(l){Object.defineProperty(i,l,Object.getOwnPropertyDescriptor(r,l))})}return i}var nS=class qy{constructor(n,{headers:r={},schema:l,fetch:c,timeout:d,urlLengthLimit:h=8e3,retry:m}={}){this.url=n,this.headers=new Headers(r),this.schemaName=l,this.urlLengthLimit=h;const f=c??globalThis.fetch;d!==void 0&&d>0?this.fetch=(y,w)=>{const S=new AbortController,T=setTimeout(()=>S.abort(),d),x=w?.signal;if(x){if(x.aborted)return clearTimeout(T),f(y,w);const R=()=>{clearTimeout(T),S.abort()};return x.addEventListener("abort",R,{once:!0}),f(y,fc(fc({},w),{},{signal:S.signal})).finally(()=>{clearTimeout(T),x.removeEventListener("abort",R)})}return f(y,fc(fc({},w),{},{signal:S.signal})).finally(()=>clearTimeout(T))}:this.fetch=f,this.retry=m}from(n){if(!n||typeof n!="string"||n.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new Qb(new URL(`${this.url}/${n}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(n){return new qy(this.url,{headers:this.headers,schema:n,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(n,r={},{head:l=!1,get:c=!1,count:d}={}){var h;let m;const f=new URL(`${this.url}/rpc/${n}`);let y;const w=x=>x!==null&&typeof x=="object"&&(!Array.isArray(x)||x.some(w)),S=l&&Object.values(r).some(w);S?(m="POST",y=r):l||c?(m=l?"HEAD":"GET",Object.entries(r).filter(([x,R])=>R!==void 0).map(([x,R])=>[x,Array.isArray(R)?`{${R.join(",")}}`:`${R}`]).forEach(([x,R])=>{f.searchParams.append(x,R)})):(m="POST",y=r);const T=new Headers(this.headers);return S?T.set("Prefer",d?`count=${d},return=minimal`:"return=minimal"):d&&T.set("Prefer",`count=${d}`),new ss({method:m,url:f,headers:T,schema:this.schemaName,body:y,fetch:(h=this.fetch)!==null&&h!==void 0?h:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class aS{constructor(){}static detectEnvironment(){var n;if(typeof WebSocket<"u")return{type:"native",wsConstructor:WebSocket};const r=globalThis;if(typeof globalThis<"u"&&typeof r.WebSocket<"u")return{type:"native",wsConstructor:r.WebSocket};const l=typeof global<"u"?global:void 0;if(l&&typeof l.WebSocket<"u")return{type:"native",wsConstructor:l.WebSocket};if(typeof globalThis<"u"&&typeof r.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&r.EdgeRuntime||typeof navigator<"u"&&(!((n=navigator.userAgent)===null||n===void 0)&&n.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};const c=globalThis.process;if(c){const d=c.versions;if(d&&d.node)return{type:"unsupported",error:"Node.js detected but native WebSocket not found.",workaround:"Ensure you are running Node.js 22+ or provide a WebSocket implementation via the transport option."}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const n=this.detectEnvironment();if(n.wsConstructor)return n.wsConstructor;let r=n.error||"WebSocket not supported in this environment.";throw n.workaround&&(r+=`
|
|
13
13
|
|
|
14
|
-
Suggested solution: ${n.workaround}`),new Error(r)}static isWebSocketSupported(){try{return this.detectEnvironment().type==="native"}catch{return!1}}}const nS="2.110.0",aS=`realtime-js/${nS}`,iS="1.0.0",qy="2.0.0",rS=qy,sS=1e4,lS=100,pi={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},Iy={close:"phx_close",error:"phx_error",join:"phx_join",leave:"phx_leave",access_token:"access_token"},Lh={connecting:"connecting",closing:"closing",closed:"closed"};class oS{constructor(n){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=n??[]}encode(n,r){if(n.event===this.BROADCAST_EVENT&&!(n.payload instanceof ArrayBuffer)&&typeof n.payload.event=="string")return r(this._binaryEncodeUserBroadcastPush(n));let l=[n.join_ref,n.ref,n.topic,n.event,n.payload];return r(JSON.stringify(l))}_binaryEncodeUserBroadcastPush(n){var r;return this._isArrayBuffer((r=n.payload)===null||r===void 0?void 0:r.payload)?this._encodeBinaryUserBroadcastPush(n):this._encodeJsonUserBroadcastPush(n)}_encodeBinaryUserBroadcastPush(n){var r,l;const c=(l=(r=n.payload)===null||r===void 0?void 0:r.payload)!==null&&l!==void 0?l:new ArrayBuffer(0);return this._encodeUserBroadcastPush(n,this.BINARY_ENCODING,c)}_encodeJsonUserBroadcastPush(n){var r,l;const c=(l=(r=n.payload)===null||r===void 0?void 0:r.payload)!==null&&l!==void 0?l:{},h=new TextEncoder().encode(JSON.stringify(c)).buffer;return this._encodeUserBroadcastPush(n,this.JSON_ENCODING,h)}_encodeUserBroadcastPush(n,r,l){var c,d;const h=n.topic,m=(c=n.ref)!==null&&c!==void 0?c:"",f=(d=n.join_ref)!==null&&d!==void 0?d:"",y=n.payload.event,w=this.allowedMetadataKeys?this._pick(n.payload,this.allowedMetadataKeys):{},S=Object.keys(w).length===0?"":JSON.stringify(w);if(f.length>255)throw new Error(`joinRef length ${f.length} exceeds maximum of 255`);if(m.length>255)throw new Error(`ref length ${m.length} exceeds maximum of 255`);if(h.length>255)throw new Error(`topic length ${h.length} exceeds maximum of 255`);if(y.length>255)throw new Error(`userEvent length ${y.length} exceeds maximum of 255`);if(S.length>255)throw new Error(`metadata length ${S.length} exceeds maximum of 255`);const T=this.USER_BROADCAST_PUSH_META_LENGTH+f.length+m.length+h.length+y.length+S.length,x=new ArrayBuffer(this.HEADER_LENGTH+T);let R=new DataView(x),z=0;R.setUint8(z++,this.KINDS.userBroadcastPush),R.setUint8(z++,f.length),R.setUint8(z++,m.length),R.setUint8(z++,h.length),R.setUint8(z++,y.length),R.setUint8(z++,S.length),R.setUint8(z++,r),Array.from(f,V=>R.setUint8(z++,V.charCodeAt(0))),Array.from(m,V=>R.setUint8(z++,V.charCodeAt(0))),Array.from(h,V=>R.setUint8(z++,V.charCodeAt(0))),Array.from(y,V=>R.setUint8(z++,V.charCodeAt(0))),Array.from(S,V=>R.setUint8(z++,V.charCodeAt(0)));var G=new Uint8Array(x.byteLength+l.byteLength);return G.set(new Uint8Array(x),0),G.set(new Uint8Array(l),x.byteLength),G.buffer}decode(n,r){if(this._isArrayBuffer(n)){let l=this._binaryDecode(n);return r(l)}if(typeof n=="string"){const l=JSON.parse(n),[c,d,h,m,f]=l;return r({join_ref:c,ref:d,topic:h,event:m,payload:f})}return r({})}_binaryDecode(n){const r=new DataView(n),l=r.getUint8(0),c=new TextDecoder;if(l===this.KINDS.userBroadcast)return this._decodeUserBroadcast(n,r,c)}_decodeUserBroadcast(n,r,l){const c=r.getUint8(1),d=r.getUint8(2),h=r.getUint8(3),m=r.getUint8(4);let f=this.HEADER_LENGTH+4;const y=l.decode(n.slice(f,f+c));f=f+c;const w=l.decode(n.slice(f,f+d));f=f+d;const S=l.decode(n.slice(f,f+h));f=f+h;const T=n.slice(f,n.byteLength),x=m===this.JSON_ENCODING?JSON.parse(l.decode(T)):T,R={type:this.BROADCAST_EVENT,event:w,payload:x};return h>0&&(R.meta=JSON.parse(S)),{join_ref:null,ref:null,topic:y,event:this.BROADCAST_EVENT,payload:R}}_isArrayBuffer(n){var r;return n instanceof ArrayBuffer||((r=n?.constructor)===null||r===void 0?void 0:r.name)==="ArrayBuffer"}_pick(n,r){return!n||typeof n!="object"?{}:Object.fromEntries(Object.entries(n).filter(([l])=>r.includes(l)))}}var We;(function(i){i.abstime="abstime",i.bool="bool",i.date="date",i.daterange="daterange",i.float4="float4",i.float8="float8",i.int2="int2",i.int4="int4",i.int4range="int4range",i.int8="int8",i.int8range="int8range",i.json="json",i.jsonb="jsonb",i.money="money",i.numeric="numeric",i.oid="oid",i.reltime="reltime",i.text="text",i.time="time",i.timestamp="timestamp",i.timestamptz="timestamptz",i.timetz="timetz",i.tsrange="tsrange",i.tstzrange="tstzrange"})(We||(We={}));const Pp=(i,n,r={})=>{var l;const c=(l=r.skipTypes)!==null&&l!==void 0?l:[];return n?Object.keys(n).reduce((d,h)=>(d[h]=cS(h,i,n,c),d),{}):{}},cS=(i,n,r,l)=>{const c=n.find(m=>m.name===i),d=c?.type,h=r[i];return d&&!l.includes(d)?Gy(d,h):Mh(h)},Gy=(i,n)=>{if(i.charAt(0)==="_"){const r=i.slice(1,i.length);return fS(n,r)}switch(i){case We.bool:return uS(n);case We.float4:case We.float8:case We.int2:case We.int4:case We.int8:case We.numeric:case We.oid:return dS(n);case We.json:case We.jsonb:return hS(n);case We.timestamp:return mS(n);case We.abstime:case We.date:case We.daterange:case We.int4range:case We.int8range:case We.money:case We.reltime:case We.text:case We.time:case We.timestamptz:case We.timetz:case We.tsrange:case We.tstzrange:return Mh(n);default:return Mh(n)}},Mh=i=>i,uS=i=>{switch(i){case"t":return!0;case"f":return!1;default:return i}},dS=i=>{if(typeof i=="string"){const n=parseFloat(i);if(!Number.isNaN(n))return n}return i},hS=i=>{if(typeof i=="string")try{return JSON.parse(i)}catch{return i}return i},fS=(i,n)=>{if(typeof i!="string")return i;const r=i.length-1,l=i[r];if(i[0]==="{"&&l==="}"){let d;const h=i.slice(1,r);try{d=JSON.parse("["+h+"]")}catch{d=h?h.split(","):[]}return d.map(m=>Gy(n,m))}return i},mS=i=>typeof i=="string"?i.replace(" ","T"):i,Vy=i=>{const n=new URL(i);return n.protocol=n.protocol.replace(/^ws/i,"http"),n.pathname=n.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),n.pathname===""||n.pathname==="/"?n.pathname="/api/broadcast":n.pathname=n.pathname+"/api/broadcast",n.href};var Ll=i=>typeof i=="function"?i:function(){return i},gS=typeof self<"u"?self:null,ls=typeof window<"u"?window:null,Qn=gS||ls||globalThis,pS="2.0.0",yS=1e4,vS=1e3,Zn={connecting:0,open:1,closing:2,closed:3},Wt={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},Ra={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},Dh={longpoll:"longpoll",websocket:"websocket"},bS={complete:4},Uh="base64url.bearer.phx.",mc=class{constructor(i,n,r,l){this.channel=i,this.event=n,this.payload=r||function(){return{}},this.receivedResp=null,this.timeout=l,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(i){this.timeout=i,this.reset(),this.send()}send(){this.hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(i,n){return this.hasReceived(i)&&n(this.receivedResp.response),this.recHooks.push({status:i,callback:n}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:i,response:n,_ref:r}){this.recHooks.filter(l=>l.status===i).forEach(l=>l.callback(n))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,i=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=i,this.matchReceive(i)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(i){return this.receivedResp&&this.receivedResp.status===i}trigger(i,n){this.channel.trigger(this.refEvent,{status:i,response:n})}},Ky=class{constructor(i,n){this.callback=i,this.timerCalc=n,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},SS=class{constructor(i,n,r){this.state=Wt.closed,this.topic=i,this.params=Ll(n||{}),this.socket=r,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new mc(this,Ra.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Ky(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=Wt.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(l=>l.send()),this.pushBuffer=[]}),this.joinPush.receive("error",l=>{this.state=Wt.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,l),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=Wt.closed,this.socket.remove(this)}),this.onError(l=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,l),this.isJoining()&&this.joinPush.reset(),this.state=Wt.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new mc(this,Ra.leave,Ll({}),this.timeout).send(),this.state=Wt.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(Ra.reply,(l,c)=>{this.trigger(this.replyEventName(c),l)})}join(i=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=i,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(i=>i.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=Wt.closed,this.bindings=[]}onClose(i){this.on(Ra.close,i)}onError(i){return this.on(Ra.error,n=>i(n))}on(i,n){let r=this.bindingRef++;return this.bindings.push({event:i,ref:r,callback:n}),r}off(i,n){this.bindings=this.bindings.filter(r=>!(r.event===i&&(typeof n>"u"||n===r.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(i,n,r=this.timeout){if(n=n||{},!this.joinedOnce)throw new Error(`tried to push '${i}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let l=new mc(this,i,function(){return n},r);return this.canPush()?l.send():(l.startTimeout(),this.pushBuffer.push(l)),l}leave(i=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=Wt.leaving;let n=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(Ra.close,"leave")},r=new mc(this,Ra.leave,Ll({}),i);return r.receive("ok",()=>n()).receive("timeout",()=>n()),r.send(),this.canPush()||r.trigger("ok",{}),r}onMessage(i,n,r){return n}filterBindings(i,n,r){return!0}isMember(i,n,r,l){return this.topic!==i?!1:l&&l!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:i,event:n,payload:r,joinRef:l}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(i=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=Wt.joining,this.joinPush.resend(i))}trigger(i,n,r,l){let c=this.onMessage(i,n,r,l);if(n&&!c)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let d=this.bindings.filter(h=>h.event===i&&this.filterBindings(h,n,r));for(let h=0;h<d.length;h++)d[h].callback(c,r,l||this.joinRef())}replyEventName(i){return`chan_reply_${i}`}isClosed(){return this.state===Wt.closed}isErrored(){return this.state===Wt.errored}isJoined(){return this.state===Wt.joined}isJoining(){return this.state===Wt.joining}isLeaving(){return this.state===Wt.leaving}},Ac=class{static request(i,n,r,l,c,d,h){if(Qn.XDomainRequest){let m=new Qn.XDomainRequest;return this.xdomainRequest(m,i,n,l,c,d,h)}else if(Qn.XMLHttpRequest){let m=new Qn.XMLHttpRequest;return this.xhrRequest(m,i,n,r,l,c,d,h)}else{if(Qn.fetch&&Qn.AbortController)return this.fetchRequest(i,n,r,l,c,d,h);throw new Error("No suitable XMLHttpRequest implementation found")}}static fetchRequest(i,n,r,l,c,d,h){let m={method:i,headers:r,body:l},f=null;return c&&(f=new AbortController,setTimeout(()=>f.abort(),c),m.signal=f.signal),Qn.fetch(n,m).then(y=>y.text()).then(y=>this.parseJSON(y)).then(y=>h&&h(y)).catch(y=>{y.name==="AbortError"&&d?d():h&&h(null)}),f}static xdomainRequest(i,n,r,l,c,d,h){return i.timeout=c,i.open(n,r),i.onload=()=>{let m=this.parseJSON(i.responseText);h&&h(m)},d&&(i.ontimeout=d),i.onprogress=()=>{},i.send(l),i}static xhrRequest(i,n,r,l,c,d,h,m){i.open(n,r,!0),i.timeout=d;for(let[f,y]of Object.entries(l))i.setRequestHeader(f,y);return i.onerror=()=>m&&m(null),i.onreadystatechange=()=>{if(i.readyState===bS.complete&&m){let f=this.parseJSON(i.responseText);m(f)}},h&&(i.ontimeout=h),i.send(c),i}static parseJSON(i){if(!i||i==="")return null;try{return JSON.parse(i)}catch{return console&&console.log("failed to parse JSON response",i),null}}static serialize(i,n){let r=[];for(var l in i){if(!Object.prototype.hasOwnProperty.call(i,l))continue;let c=n?`${n}[${l}]`:l,d=i[l];typeof d=="object"?r.push(this.serialize(d,c)):r.push(encodeURIComponent(c)+"="+encodeURIComponent(d))}return r.join("&")}static appendParams(i,n){if(Object.keys(n).length===0)return i;let r=i.match(/\?/)?"&":"?";return`${i}${r}${this.serialize(n)}`}},wS=i=>{let n="",r=new Uint8Array(i),l=r.byteLength;for(let c=0;c<l;c++)n+=String.fromCharCode(r[c]);return btoa(n)},Qr=class{constructor(i,n){n&&n.length===2&&n[1].startsWith(Uh)&&(this.authToken=atob(n[1].slice(Uh.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(i),this.readyState=Zn.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(i){return i.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+Dh.websocket),"$1/"+Dh.longpoll)}endpointURL(){return Ac.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(i,n,r){this.close(i,n,r),this.readyState=Zn.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===Zn.open||this.readyState===Zn.connecting}poll(){const i={Accept:"application/json"};this.authToken&&(i["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",i,null,()=>this.ontimeout(),n=>{if(n){var{status:r,token:l,messages:c}=n;if(r===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=l}else r=0;switch(r){case 200:c.forEach(d=>{setTimeout(()=>this.onmessage({data:d}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=Zn.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${r}`)}})}send(i){typeof i!="string"&&(i=wS(i)),this.currentBatch?this.currentBatch.push(i):this.awaitingBatchAck?this.batchBuffer.push(i):(this.currentBatch=[i],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(i){this.awaitingBatchAck=!0,this.ajax("POST",{"Content-Type":"application/x-ndjson"},i.join(`
|
|
15
|
-
`),()=>this.onerror("timeout"),n=>{this.awaitingBatchAck=!1,!n||n.status!==200?(this.onerror(n&&n.status),this.closeAndRetry(1011,"internal server error",!1)):this.batchBuffer.length>0&&(this.batchSend(this.batchBuffer),this.batchBuffer=[])})}close(i,n,r){for(let c of this.reqs)c.abort();this.readyState=Zn.closed;let l=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:i,reason:n,wasClean:r});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",l)):this.onclose(l)}ajax(i,n,r,l,c){let d,h=()=>{this.reqs.delete(d),l()};d=Ac.request(i,this.endpointURL(),n,r,this.timeout,h,m=>{this.reqs.delete(d),this.isActive()&&c(m)}),this.reqs.add(d)}},_S=class Cl{constructor(n,r={}){let l=r.events||{state:"presence_state",diff:"presence_diff"};this.state={},this.pendingDiffs=[],this.channel=n,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(l.state,c=>{let{onJoin:d,onLeave:h,onSync:m}=this.caller;this.joinRef=this.channel.joinRef(),this.state=Cl.syncState(this.state,c,d,h),this.pendingDiffs.forEach(f=>{this.state=Cl.syncDiff(this.state,f,d,h)}),this.pendingDiffs=[],m()}),this.channel.on(l.diff,c=>{let{onJoin:d,onLeave:h,onSync:m}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(c):(this.state=Cl.syncDiff(this.state,c,d,h),m())})}onJoin(n){this.caller.onJoin=n}onLeave(n){this.caller.onLeave=n}onSync(n){this.caller.onSync=n}list(n){return Cl.list(this.state,n)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(n,r,l,c){let d=this.clone(n),h={},m={};return this.map(d,(f,y)=>{r[f]||(m[f]=y)}),this.map(r,(f,y)=>{let w=d[f];if(w){let S=y.metas.map(z=>z.phx_ref),T=w.metas.map(z=>z.phx_ref),x=y.metas.filter(z=>T.indexOf(z.phx_ref)<0),R=w.metas.filter(z=>S.indexOf(z.phx_ref)<0);x.length>0&&(h[f]=y,h[f].metas=x),R.length>0&&(m[f]=this.clone(w),m[f].metas=R)}else h[f]=y}),this.syncDiff(d,{joins:h,leaves:m},l,c)}static syncDiff(n,r,l,c){let{joins:d,leaves:h}=this.clone(r);return l||(l=function(){}),c||(c=function(){}),this.map(d,(m,f)=>{let y=n[m];if(n[m]=this.clone(f),y){let w=n[m].metas.map(T=>T.phx_ref),S=y.metas.filter(T=>w.indexOf(T.phx_ref)<0);n[m].metas.unshift(...S)}l(m,y,f)}),this.map(h,(m,f)=>{let y=n[m];if(!y)return;let w=f.metas.map(S=>S.phx_ref);y.metas=y.metas.filter(S=>w.indexOf(S.phx_ref)<0),c(m,y,f),y.metas.length===0&&delete n[m]}),n}static list(n,r){return r||(r=function(l,c){return c}),this.map(n,(l,c)=>r(l,c))}static map(n,r){return Object.getOwnPropertyNames(n).map(l=>r(l,n[l]))}static clone(n){return JSON.parse(JSON.stringify(n))}},gc={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(i,n){if(i.payload.constructor===ArrayBuffer)return n(this.binaryEncode(i));{let r=[i.join_ref,i.ref,i.topic,i.event,i.payload];return n(JSON.stringify(r))}},decode(i,n){if(i.constructor===ArrayBuffer)return n(this.binaryDecode(i));{let[r,l,c,d,h]=JSON.parse(i);return n({join_ref:r,ref:l,topic:c,event:d,payload:h})}},binaryEncode(i){let{join_ref:n,ref:r,event:l,topic:c,payload:d}=i,h=this.META_LENGTH+n.length+r.length+c.length+l.length,m=new ArrayBuffer(this.HEADER_LENGTH+h),f=new DataView(m),y=0;f.setUint8(y++,this.KINDS.push),f.setUint8(y++,n.length),f.setUint8(y++,r.length),f.setUint8(y++,c.length),f.setUint8(y++,l.length),Array.from(n,S=>f.setUint8(y++,S.charCodeAt(0))),Array.from(r,S=>f.setUint8(y++,S.charCodeAt(0))),Array.from(c,S=>f.setUint8(y++,S.charCodeAt(0))),Array.from(l,S=>f.setUint8(y++,S.charCodeAt(0)));var w=new Uint8Array(m.byteLength+d.byteLength);return w.set(new Uint8Array(m),0),w.set(new Uint8Array(d),m.byteLength),w.buffer},binaryDecode(i){let n=new DataView(i),r=n.getUint8(0),l=new TextDecoder;switch(r){case this.KINDS.push:return this.decodePush(i,n,l);case this.KINDS.reply:return this.decodeReply(i,n,l);case this.KINDS.broadcast:return this.decodeBroadcast(i,n,l)}},decodePush(i,n,r){let l=n.getUint8(1),c=n.getUint8(2),d=n.getUint8(3),h=this.HEADER_LENGTH+this.META_LENGTH-1,m=r.decode(i.slice(h,h+l));h=h+l;let f=r.decode(i.slice(h,h+c));h=h+c;let y=r.decode(i.slice(h,h+d));h=h+d;let w=i.slice(h,i.byteLength);return{join_ref:m,ref:null,topic:f,event:y,payload:w}},decodeReply(i,n,r){let l=n.getUint8(1),c=n.getUint8(2),d=n.getUint8(3),h=n.getUint8(4),m=this.HEADER_LENGTH+this.META_LENGTH,f=r.decode(i.slice(m,m+l));m=m+l;let y=r.decode(i.slice(m,m+c));m=m+c;let w=r.decode(i.slice(m,m+d));m=m+d;let S=r.decode(i.slice(m,m+h));m=m+h;let T=i.slice(m,i.byteLength),x={status:S,response:T};return{join_ref:f,ref:y,topic:w,event:Ra.reply,payload:x}},decodeBroadcast(i,n,r){let l=n.getUint8(1),c=n.getUint8(2),d=this.HEADER_LENGTH+2,h=r.decode(i.slice(d,d+l));d=d+l;let m=r.decode(i.slice(d,d+c));d=d+c;let f=i.slice(d,i.byteLength);return{join_ref:null,ref:null,topic:h,event:m,payload:f}}},TS=class{constructor(i,n={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=n.timeout||yS,this.transport=n.transport||Qn.WebSocket||Qr,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=n.longPollFallbackMs,this.fallbackTimer=null;let r=null;try{r=Qn&&Qn.sessionStorage}catch{}this.sessionStore=n.sessionStorage||r,this.establishedConnections=0,this.defaultEncoder=gc.encode.bind(gc),this.defaultDecoder=gc.decode.bind(gc),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=n.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==Qr?(this.encode=n.encode||this.defaultEncoder,this.decode=n.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let l=null;ls&&ls.addEventListener&&(ls.addEventListener("pagehide",c=>{this.conn&&(this.disconnect(),l=this.connectClock)}),ls.addEventListener("pageshow",c=>{l===this.connectClock&&(l=null,this.connect())}),ls.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=n.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=n.autoSendHeartbeat??!0,this.heartbeatCallback=n.heartbeatCallback??(()=>{}),this.rejoinAfterMs=c=>n.rejoinAfterMs?n.rejoinAfterMs(c):[1e3,2e3,5e3][c-1]||1e4,this.reconnectAfterMs=c=>n.reconnectAfterMs?n.reconnectAfterMs(c):[10,50,100,150,200,250,500,1e3,2e3][c-1]||5e3,this.logger=n.logger||null,!this.logger&&n.debug&&(this.logger=(c,d,h)=>{console.log(`${c}: ${d}`,h)}),this.longpollerTimeout=n.longpollerTimeout||2e4,this.params=Ll(n.params||{}),this.endPoint=`${i}/${Dh.websocket}`,this.vsn=n.vsn||pS,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Ky(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{n.beforeReconnect&&await n.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=n.authToken}getLongPollTransport(){return Qr}replaceTransport(i){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=i}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let i=Ac.appendParams(Ac.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return i.charAt(0)!=="/"?i:i.charAt(1)==="/"?`${this.protocol()}:${i}`:`${this.protocol()}://${location.host}${i}`}disconnect(i,n,r){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,i&&i()},n,r)}connect(i){i&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=Ll(i)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Qr?this.connectWithFallback(Qr,this.longPollFallbackMs):this.transportConnect())}log(i,n,r){this.logger&&this.logger(i,n,r)}hasLogger(){return this.logger!==null}onOpen(i){let n=this.makeRef();return this.stateChangeCallbacks.open.push([n,i]),n}onClose(i){let n=this.makeRef();return this.stateChangeCallbacks.close.push([n,i]),n}onError(i){let n=this.makeRef();return this.stateChangeCallbacks.error.push([n,i]),n}onMessage(i){let n=this.makeRef();return this.stateChangeCallbacks.message.push([n,i]),n}onHeartbeat(i){this.heartbeatCallback=i}ping(i){if(!this.isConnected())return!1;let n=this.makeRef(),r=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:n});let l=this.onMessage(c=>{c.ref===n&&(this.off([l]),i(Date.now()-r))});return!0}transportName(i){return i===Qr?"LongPoll":i.name}transportConnect(){this.connectClock++,this.closeWasClean=!1;let i;this.authToken&&(i=["phoenix",`${Uh}${btoa(this.authToken).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),i),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=n=>this.onConnError(n),this.conn.onmessage=n=>this.onConnMessage(n),this.conn.onclose=n=>this.onConnClose(n)}getSession(i){return this.sessionStore&&this.sessionStore.getItem(i)}storeSession(i,n){this.sessionStore&&this.sessionStore.setItem(i,n)}connectWithFallback(i,n=2500){clearTimeout(this.fallbackTimer);let r=!1,l=!0,c,d,h=this.transportName(i),m=f=>{this.log("transport",`falling back to ${h}...`,f),this.off([c,d]),l=!1,this.replaceTransport(i),this.transportConnect()};if(this.getSession(`phx:fallback:${h}`))return m("memorized");this.fallbackTimer=setTimeout(m,n),d=this.onError(f=>{this.log("transport","error",f),l&&!r&&(clearTimeout(this.fallbackTimer),m(f))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(r=!0,!l){let f=this.transportName(i);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${f}`,"true"),this.log("transport",`established ${f} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(m,n),this.ping(f=>{this.log("transport","connected to primary after",f),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(i){this.log("error","error in heartbeat callback",i)}this.triggerChanError(new Error("heartbeat timeout")),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),vS,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(i,n,r){if(!this.conn)return i&&i();const l=this.conn;this.waitForBufferDone(l,()=>{n?l.close(n,r||""):l.close(),this.waitForSocketClosed(l,()=>{this.conn===l&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),i&&i()})})}waitForBufferDone(i,n,r=1){if(r===5||!i.bufferedAmount){n();return}setTimeout(()=>{this.waitForBufferDone(i,n,r+1)},150*r)}waitForSocketClosed(i,n,r=1){if(r===5||i.readyState===Zn.closed){n();return}setTimeout(()=>{this.waitForSocketClosed(i,n,r+1)},150*r)}onConnClose(i){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",i),this.triggerChanError(i),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",i)}onConnError(i){this.hasLogger()&&this.log("transport","error",i);let n=this.transport,r=this.establishedConnections;this.triggerStateCallbacks("error",i,n,r),(n===this.transport||r>0)&&this.triggerChanError(i)}triggerChanError(i){this.channels.forEach(n=>{n.isErrored()||n.isLeaving()||n.isClosed()||n.trigger(Ra.error,i)})}connectionState(){switch(this.conn&&this.conn.readyState){case Zn.connecting:return"connecting";case Zn.open:return"open";case Zn.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(i){this.off(i.stateChangeRefs),this.channels=this.channels.filter(n=>n!==i)}off(i){for(let n in this.stateChangeCallbacks)this.stateChangeCallbacks[n]=this.stateChangeCallbacks[n].filter(([r])=>i.indexOf(r)===-1)}channel(i,n={}){let r=new SS(i,n,this);return this.channels.push(r),r}push(i){if(this.hasLogger()){let{topic:n,event:r,payload:l,ref:c,join_ref:d}=i;this.log("push",`${n} ${r} (${d}, ${c})`,l)}this.isConnected()?this.encode(i,n=>this.conn.send(n)):this.sendBuffer.push(()=>this.encode(i,n=>this.conn.send(n)))}makeRef(){let i=this.ref+1;return i===this.ref?this.ref=0:this.ref=i,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(i){this.log("error","error in heartbeat callback",i)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(i){this.log("error","error in heartbeat callback",i)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(i=>i()),this.sendBuffer=[])}onConnMessage(i){this.decode(i.data,n=>{let{topic:r,event:l,payload:c,ref:d,join_ref:h}=n;if(d&&d===this.pendingHeartbeatRef){const m=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(c.status==="ok"?"ok":"error",m)}catch(f){this.log("error","error in heartbeat callback",f)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${c.status||""} ${r} ${l} ${d&&"("+d+")"||""}`.trim(),c);for(let m=0;m<this.channels.length;m++){const f=this.channels[m];f.isMember(r,l,c,h)&&f.trigger(l,c,d,h)}this.triggerStateCallbacks("message",n)})}triggerStateCallbacks(i,...n){try{this.stateChangeCallbacks[i].forEach(([r,l])=>{try{l(...n)}catch(c){this.log("error",`error in ${i} callback`,c)}})}catch(r){this.log("error",`error triggering ${i} callbacks`,r)}}leaveOpenTopic(i){let n=this.channels.find(r=>r.topic===i&&(r.isJoined()||r.isJoining()));n&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${i}"`),n.leave())}};class Ml{constructor(n,r){const l=AS(r);this.presence=new _S(n.getChannel(),l),this.presence.onJoin((c,d,h)=>{const m=Ml.onJoinPayload(c,d,h);n.getChannel().trigger("presence",m)}),this.presence.onLeave((c,d,h)=>{const m=Ml.onLeavePayload(c,d,h);n.getChannel().trigger("presence",m)}),this.presence.onSync(()=>{n.getChannel().trigger("presence",{event:"sync"})})}get state(){return Ml.transformState(this.presence.state)}static transformState(n){return n=kS(n),Object.getOwnPropertyNames(n).reduce((r,l)=>{const c=n[l];return r[l]=Tc(c),r},{})}static onJoinPayload(n,r,l){const c=Hp(r),d=Tc(l);return{event:"join",key:n,currentPresences:c,newPresences:d}}static onLeavePayload(n,r,l){const c=Hp(r),d=Tc(l);return{event:"leave",key:n,currentPresences:c,leftPresences:d}}}function Tc(i){return i.metas.map(n=>(n.presence_ref=n.phx_ref,delete n.phx_ref,delete n.phx_ref_prev,n))}function kS(i){return JSON.parse(JSON.stringify(i))}function AS(i){return i?.events&&{events:i.events}}function Hp(i){return i?.metas?Tc(i):[]}var $p;(function(i){i.SYNC="sync",i.JOIN="join",i.LEAVE="leave"})($p||($p={}));class ES{get state(){return this.presenceAdapter.state}constructor(n,r){this.channel=n,this.presenceAdapter=new Ml(this.channel.channelAdapter,r)}}function xS(i){if(i instanceof Error)return i;if(typeof i=="string")return new Error(i);if(i&&typeof i=="object"){const n=i;if(typeof n.code=="number"){const r=typeof n.reason=="string"&&n.reason?` (${n.reason})`:"";return new Error(`socket closed: ${n.code}${r}`,{cause:i})}return new Error("channel error: transport failure",{cause:i})}return new Error("channel error: connection lost")}class CS{constructor(n,r,l){const c=RS(l);this.channel=n.getSocket().channel(r,c),this.socket=n}get state(){return this.channel.state}set state(n){this.channel.state=n}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(n,r){return this.channel.on(n,r)}off(n,r){this.channel.off(n,r)}subscribe(n){return this.channel.join(n)}unsubscribe(n){return this.channel.leave(n)}teardown(){this.channel.teardown()}onClose(n){this.channel.onClose(n)}onError(n){return this.channel.onError(n)}push(n,r,l){let c;try{c=this.channel.push(n,r,l)}catch{throw new Error(`tried to push '${n}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>lS){const d=this.channel.pushBuffer.shift();d.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${d.event}`,d.payload())}return c}updateJoinPayload(n){const r=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},r),n)}canPush(){return this.socket.isConnected()&&this.state===pi.joined}isJoined(){return this.state===pi.joined}isJoining(){return this.state===pi.joining}isClosed(){return this.state===pi.closed}isLeaving(){return this.state===pi.leaving}updateFilterBindings(n){this.channel.filterBindings=n}updatePayloadTransform(n){this.channel.onMessage=n}getChannel(){return this.channel}}function RS(i){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},i.config)}}const OS=/[,()"\\]/,jS=i=>OS.test(i)||i!==i.trim(),NS=i=>`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`,qp=i=>{const n=i===null?"null":String(i);return jS(n)?NS(n):n},LS=i=>i===null?"null":String(i),MS=(i,n)=>{if(i==="in"){const r=Array.isArray(n)?n:[n];if(r.length===0)throw new Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(r)).map(c=>qp(c)).join(",")})`}return i==="is"?`is.${LS(n)}`:`${i}.${qp(n)}`};class DS{constructor(){this.filters=[]}add(n,r,l,c=!1){const d=c?"not.":"";return this.filters.push(`${n}=${d}${MS(r,l)}`),this}eq(n,r){return this.add(n,"eq",r)}neq(n,r){return this.add(n,"neq",r)}gt(n,r){return this.add(n,"gt",r)}gte(n,r){return this.add(n,"gte",r)}lt(n,r){return this.add(n,"lt",r)}lte(n,r){return this.add(n,"lte",r)}in(n,r){return this.add(n,"in",r)}like(n,r){return this.add(n,"like",r)}ilike(n,r){return this.add(n,"ilike",r)}match(n,r){return this.add(n,"match",r)}imatch(n,r){return this.add(n,"imatch",r)}is(n,r){return this.add(n,"is",r)}isDistinct(n,r){return this.add(n,"isdistinct",r)}not(n,r,l){return this.add(n,r,l,!0)}build(){return this.filters.join(",")}toString(){return this.build()}}var Ip;(function(i){i.ALL="*",i.INSERT="INSERT",i.UPDATE="UPDATE",i.DELETE="DELETE"})(Ip||(Ip={}));var us;(function(i){i.BROADCAST="broadcast",i.PRESENCE="presence",i.POSTGRES_CHANGES="postgres_changes",i.SYSTEM="system"})(us||(us={}));var Oa;(function(i){i.SUBSCRIBED="SUBSCRIBED",i.TIMED_OUT="TIMED_OUT",i.CLOSED="CLOSED",i.CHANNEL_ERROR="CHANNEL_ERROR"})(Oa||(Oa={}));class Dl{get state(){return this.channelAdapter.state}set state(n){this.channelAdapter.state=n}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(n,r={config:{}},l){var c,d;if(this.topic=n,this.params=r,this.socket=l,this.bindings={},this.subTopic=n.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},r.config),this.channelAdapter=new CS(this.socket.socketAdapter,n,this.params),this.presence=new ES(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=Vy(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((d=(c=this.params.config)===null||c===void 0?void 0:c.broadcast)===null||d===void 0)&&d.replay))throw new Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(n,r=this.timeout){var l,c,d;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:h,presence:m,private:f}}=this.params,y=(c=(l=this.bindings.postgres_changes)===null||l===void 0?void 0:l.map(x=>x.filter))!==null&&c!==void 0?c:[],w=!!this.bindings[us.PRESENCE]&&this.bindings[us.PRESENCE].length>0||((d=this.params.config.presence)===null||d===void 0?void 0:d.enabled)===!0,S={},T={broadcast:h,presence:Object.assign(Object.assign({},m),{enabled:w}),postgres_changes:y,private:f};this.socket.accessTokenValue&&(S.access_token=this.socket.accessTokenValue),this._onError(x=>{n?.(Oa.CHANNEL_ERROR,xS(x))}),this._onClose(()=>n?.(Oa.CLOSED)),this.updateJoinPayload(Object.assign({config:T},S)),this._updateFilterMessage(),this.channelAdapter.subscribe(r).receive("ok",async({postgres_changes:x})=>{if(this.socket._isManualToken()||this.socket.setAuth(),x===void 0){n?.(Oa.SUBSCRIBED);return}this._updatePostgresBindings(x,n)}).receive("error",x=>{this.state=pi.errored;const R=Object.values(x).join(", ")||"error";n?.(Oa.CHANNEL_ERROR,new Error(R,{cause:x}))}).receive("timeout",()=>{n?.(Oa.TIMED_OUT)})}return this}_updatePostgresBindings(n,r){var l;const c=this.bindings.postgres_changes,d=(l=c?.length)!==null&&l!==void 0?l:0,h=[];for(let m=0;m<d;m++){const f=c[m],{filter:{event:y,schema:w,table:S,filter:T}}=f,x=n&&n[m];if(x&&x.event===y&&Dl.isFilterValueEqual(x.schema,w)&&Dl.isFilterValueEqual(x.table,S)&&Dl.isFilterValueEqual(x.filter,T))h.push(Object.assign(Object.assign({},f),{id:x.id}));else{this.unsubscribe(),this.state=pi.errored,r?.(Oa.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=h,this.state!=pi.errored&&r&&r(Oa.SUBSCRIBED)}presenceState(){return this.presence.state}async track(n,r={}){return await this.send({type:"presence",event:"track",payload:n},r.timeout||this.timeout)}async untrack(n={}){return await this.send({type:"presence",event:"untrack"},n)}on(n,r,l){const c=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),d=n===us.PRESENCE||n===us.POSTGRES_CHANGES;if(c&&d)throw this.socket.log("channel",`cannot add \`${n}\` callbacks for ${this.topic} after \`subscribe()\`.`),new Error(`cannot add \`${n}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(n,r,l)}async httpSend(n,r,l={}){var c;if(r==null)return Promise.reject(new Error("Payload is required for httpSend()"));const d=r instanceof ArrayBuffer||ArrayBuffer.isView(r),h={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":d?"application/octet-stream":"application/json"};this.socket.accessTokenValue&&(h.Authorization=`Bearer ${this.socket.accessTokenValue}`);const m=new URL(this.broadcastEndpointURL);m.pathname+=`/${encodeURIComponent(this.subTopic)}/events/${encodeURIComponent(n)}`,this.private&&m.searchParams.set("private","true");const f={method:"POST",headers:h,body:d?r:JSON.stringify(r)},y=await this._fetchWithTimeout(m.toString(),f,(c=l.timeout)!==null&&c!==void 0?c:this.timeout);if(y.status===202)return{success:!0};if(y.status===404)return Promise.reject(new Error("httpSend() requires Realtime server v2.97.0 or newer; the endpoint returned 404. Update your Supabase CLI to a recent version, or upgrade the Realtime server in your self-hosted setup. See https://github.com/supabase/supabase-js/blob/master/packages/core/realtime-js/migrations/httpsend-server-version.md"));let w=y.statusText;try{const S=await y.json();w=S.error||S.message||w}catch{}return Promise.reject(new Error(w))}async send(n,r={}){var l,c;if(!this.channelAdapter.canPush()&&n.type==="broadcast"){console.warn("Realtime send() is automatically falling back to REST API. This behavior will be deprecated in the future. Please use httpSend() explicitly for REST delivery.");const{event:d,payload:h}=n,m={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(m.Authorization=`Bearer ${this.socket.accessTokenValue}`);const f={method:"POST",headers:m,body:JSON.stringify({messages:[{topic:this.subTopic,event:d,payload:h,private:this.private}]})};try{const y=await this._fetchWithTimeout(this.broadcastEndpointURL,f,(l=r.timeout)!==null&&l!==void 0?l:this.timeout);return await((c=y.body)===null||c===void 0?void 0:c.cancel()),y.ok?"ok":"error"}catch(y){return y instanceof Error&&y.name==="AbortError"?"timed out":"error"}}else return new Promise(d=>{var h,m,f;const y=this.channelAdapter.push(n.type,n,r.timeout||this.timeout);n.type==="broadcast"&&!(!((f=(m=(h=this.params)===null||h===void 0?void 0:h.config)===null||m===void 0?void 0:m.broadcast)===null||f===void 0)&&f.ack)&&d("ok"),y.receive("ok",()=>d("ok")),y.receive("error",()=>d("error")),y.receive("timeout",()=>d("timed out"))})}updateJoinPayload(n){this.channelAdapter.updateJoinPayload(n)}async unsubscribe(n=this.timeout){return new Promise(r=>{this.channelAdapter.unsubscribe(n).receive("ok",()=>r("ok")).receive("timeout",()=>r("timed out")).receive("error",()=>r("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(n,r,l){const c=new AbortController,d=setTimeout(()=>c.abort(),l),h=await this.socket.fetch(n,Object.assign(Object.assign({},r),{signal:c.signal}));return clearTimeout(d),h}_on(n,r,l){const c=n.toLocaleLowerCase(),d=r?.filter;(d instanceof DS||typeof d=="object"&&d!==null&&typeof d.build=="function")&&(r=Object.assign(Object.assign({},r),{filter:d.build()}));const h=this.channelAdapter.on(n,l),m={type:c,filter:r,callback:l,ref:h};return this.bindings[c]?this.bindings[c].push(m):this.bindings[c]=[m],this._updateFilterMessage(),this}_onClose(n){this.channelAdapter.onClose(n)}_onError(n){this.channelAdapter.onError(n)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((n,r,l)=>{var c,d,h,m,f,y,w;const S=n.event.toLocaleLowerCase();if(this._notThisChannelEvent(S,l))return!1;const T=(c=this.bindings[S])===null||c===void 0?void 0:c.find(x=>x.ref===n.ref);if(!T)return!0;if(["broadcast","presence","postgres_changes"].includes(S))if("id"in T){const x=T.id,R=(d=T.filter)===null||d===void 0?void 0:d.event;return x&&((h=r.ids)===null||h===void 0?void 0:h.includes(x))&&(R==="*"||R?.toLocaleLowerCase()===((m=r.data)===null||m===void 0?void 0:m.type.toLocaleLowerCase()))}else{const x=(y=(f=T?.filter)===null||f===void 0?void 0:f.event)===null||y===void 0?void 0:y.toLocaleLowerCase();return x==="*"||x===((w=r?.event)===null||w===void 0?void 0:w.toLocaleLowerCase())}else return T.type.toLocaleLowerCase()===S})}_notThisChannelEvent(n,r){const{close:l,error:c,leave:d,join:h}=Iy;return r&&[l,c,d,h].includes(n)&&r!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((n,r,l)=>{if(typeof r=="object"&&"ids"in r){const c=r.data,{schema:d,table:h,commit_timestamp:m,type:f,errors:y}=c;return Object.assign(Object.assign({},{schema:d,table:h,commit_timestamp:m,eventType:f,new:{},old:{},errors:y}),this._getPayloadRecords(c))}return r})}copyBindings(n){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const r in n.bindings)for(const l of n.bindings[r])this._on(l.type,l.filter,l.callback)}static isFilterValueEqual(n,r){return(n??void 0)===(r??void 0)}_getPayloadRecords(n){const r={new:{},old:{}};return(n.type==="INSERT"||n.type==="UPDATE")&&(r.new=Pp(n.columns,n.record)),(n.type==="UPDATE"||n.type==="DELETE")&&(r.old=Pp(n.columns,n.old_record)),r}}class US{constructor(n,r){this.socket=new TS(n,r)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(n){this.socket.heartbeatCallback=n}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(n,r,l,c=1e4){return new Promise(d=>{setTimeout(()=>d("timeout"),c),this.socket.disconnect(()=>{n(),d("ok")},r,l)})}push(n){this.socket.push(n)}log(n,r,l){this.socket.log(n,r,l)}makeRef(){return this.socket.makeRef()}onOpen(n){this.socket.onOpen(n)}onClose(n){this.socket.onClose(n)}onError(n){this.socket.onError(n)}onMessage(n){this.socket.onMessage(n)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==Lh.connecting}isDisconnecting(){return this.socket.connectionState()==Lh.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const Gp={HEARTBEAT_INTERVAL:25e3},zS=[1e3,2e3,5e3,1e4],BS=1e4;function PS(){const i=new Map;return{get length(){return i.size},clear(){i.clear()},getItem(n){return i.has(n)?i.get(n):null},key(n){var r;return(r=Array.from(i.keys())[n])!==null&&r!==void 0?r:null},removeItem(n){i.delete(n)},setItem(n,r){i.set(n,String(r))}}}function HS(){try{if(typeof globalThis<"u"&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return PS()}const $S=`
|
|
14
|
+
Suggested solution: ${n.workaround}`),new Error(r)}static isWebSocketSupported(){try{return this.detectEnvironment().type==="native"}catch{return!1}}}const iS="2.110.0",rS=`realtime-js/${iS}`,sS="1.0.0",Iy="2.0.0",lS=Iy,oS=1e4,cS=100,pi={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},Gy={close:"phx_close",error:"phx_error",join:"phx_join",leave:"phx_leave",access_token:"access_token"},Lh={connecting:"connecting",closing:"closing",closed:"closed"};class uS{constructor(n){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=n??[]}encode(n,r){if(n.event===this.BROADCAST_EVENT&&!(n.payload instanceof ArrayBuffer)&&typeof n.payload.event=="string")return r(this._binaryEncodeUserBroadcastPush(n));let l=[n.join_ref,n.ref,n.topic,n.event,n.payload];return r(JSON.stringify(l))}_binaryEncodeUserBroadcastPush(n){var r;return this._isArrayBuffer((r=n.payload)===null||r===void 0?void 0:r.payload)?this._encodeBinaryUserBroadcastPush(n):this._encodeJsonUserBroadcastPush(n)}_encodeBinaryUserBroadcastPush(n){var r,l;const c=(l=(r=n.payload)===null||r===void 0?void 0:r.payload)!==null&&l!==void 0?l:new ArrayBuffer(0);return this._encodeUserBroadcastPush(n,this.BINARY_ENCODING,c)}_encodeJsonUserBroadcastPush(n){var r,l;const c=(l=(r=n.payload)===null||r===void 0?void 0:r.payload)!==null&&l!==void 0?l:{},h=new TextEncoder().encode(JSON.stringify(c)).buffer;return this._encodeUserBroadcastPush(n,this.JSON_ENCODING,h)}_encodeUserBroadcastPush(n,r,l){var c,d;const h=n.topic,m=(c=n.ref)!==null&&c!==void 0?c:"",f=(d=n.join_ref)!==null&&d!==void 0?d:"",y=n.payload.event,w=this.allowedMetadataKeys?this._pick(n.payload,this.allowedMetadataKeys):{},S=Object.keys(w).length===0?"":JSON.stringify(w);if(f.length>255)throw new Error(`joinRef length ${f.length} exceeds maximum of 255`);if(m.length>255)throw new Error(`ref length ${m.length} exceeds maximum of 255`);if(h.length>255)throw new Error(`topic length ${h.length} exceeds maximum of 255`);if(y.length>255)throw new Error(`userEvent length ${y.length} exceeds maximum of 255`);if(S.length>255)throw new Error(`metadata length ${S.length} exceeds maximum of 255`);const T=this.USER_BROADCAST_PUSH_META_LENGTH+f.length+m.length+h.length+y.length+S.length,x=new ArrayBuffer(this.HEADER_LENGTH+T);let R=new DataView(x),z=0;R.setUint8(z++,this.KINDS.userBroadcastPush),R.setUint8(z++,f.length),R.setUint8(z++,m.length),R.setUint8(z++,h.length),R.setUint8(z++,y.length),R.setUint8(z++,S.length),R.setUint8(z++,r),Array.from(f,V=>R.setUint8(z++,V.charCodeAt(0))),Array.from(m,V=>R.setUint8(z++,V.charCodeAt(0))),Array.from(h,V=>R.setUint8(z++,V.charCodeAt(0))),Array.from(y,V=>R.setUint8(z++,V.charCodeAt(0))),Array.from(S,V=>R.setUint8(z++,V.charCodeAt(0)));var G=new Uint8Array(x.byteLength+l.byteLength);return G.set(new Uint8Array(x),0),G.set(new Uint8Array(l),x.byteLength),G.buffer}decode(n,r){if(this._isArrayBuffer(n)){let l=this._binaryDecode(n);return r(l)}if(typeof n=="string"){const l=JSON.parse(n),[c,d,h,m,f]=l;return r({join_ref:c,ref:d,topic:h,event:m,payload:f})}return r({})}_binaryDecode(n){const r=new DataView(n),l=r.getUint8(0),c=new TextDecoder;if(l===this.KINDS.userBroadcast)return this._decodeUserBroadcast(n,r,c)}_decodeUserBroadcast(n,r,l){const c=r.getUint8(1),d=r.getUint8(2),h=r.getUint8(3),m=r.getUint8(4);let f=this.HEADER_LENGTH+4;const y=l.decode(n.slice(f,f+c));f=f+c;const w=l.decode(n.slice(f,f+d));f=f+d;const S=l.decode(n.slice(f,f+h));f=f+h;const T=n.slice(f,n.byteLength),x=m===this.JSON_ENCODING?JSON.parse(l.decode(T)):T,R={type:this.BROADCAST_EVENT,event:w,payload:x};return h>0&&(R.meta=JSON.parse(S)),{join_ref:null,ref:null,topic:y,event:this.BROADCAST_EVENT,payload:R}}_isArrayBuffer(n){var r;return n instanceof ArrayBuffer||((r=n?.constructor)===null||r===void 0?void 0:r.name)==="ArrayBuffer"}_pick(n,r){return!n||typeof n!="object"?{}:Object.fromEntries(Object.entries(n).filter(([l])=>r.includes(l)))}}var We;(function(i){i.abstime="abstime",i.bool="bool",i.date="date",i.daterange="daterange",i.float4="float4",i.float8="float8",i.int2="int2",i.int4="int4",i.int4range="int4range",i.int8="int8",i.int8range="int8range",i.json="json",i.jsonb="jsonb",i.money="money",i.numeric="numeric",i.oid="oid",i.reltime="reltime",i.text="text",i.time="time",i.timestamp="timestamp",i.timestamptz="timestamptz",i.timetz="timetz",i.tsrange="tsrange",i.tstzrange="tstzrange"})(We||(We={}));const Hp=(i,n,r={})=>{var l;const c=(l=r.skipTypes)!==null&&l!==void 0?l:[];return n?Object.keys(n).reduce((d,h)=>(d[h]=dS(h,i,n,c),d),{}):{}},dS=(i,n,r,l)=>{const c=n.find(m=>m.name===i),d=c?.type,h=r[i];return d&&!l.includes(d)?Vy(d,h):Mh(h)},Vy=(i,n)=>{if(i.charAt(0)==="_"){const r=i.slice(1,i.length);return gS(n,r)}switch(i){case We.bool:return hS(n);case We.float4:case We.float8:case We.int2:case We.int4:case We.int8:case We.numeric:case We.oid:return fS(n);case We.json:case We.jsonb:return mS(n);case We.timestamp:return pS(n);case We.abstime:case We.date:case We.daterange:case We.int4range:case We.int8range:case We.money:case We.reltime:case We.text:case We.time:case We.timestamptz:case We.timetz:case We.tsrange:case We.tstzrange:return Mh(n);default:return Mh(n)}},Mh=i=>i,hS=i=>{switch(i){case"t":return!0;case"f":return!1;default:return i}},fS=i=>{if(typeof i=="string"){const n=parseFloat(i);if(!Number.isNaN(n))return n}return i},mS=i=>{if(typeof i=="string")try{return JSON.parse(i)}catch{return i}return i},gS=(i,n)=>{if(typeof i!="string")return i;const r=i.length-1,l=i[r];if(i[0]==="{"&&l==="}"){let d;const h=i.slice(1,r);try{d=JSON.parse("["+h+"]")}catch{d=h?h.split(","):[]}return d.map(m=>Vy(n,m))}return i},pS=i=>typeof i=="string"?i.replace(" ","T"):i,Ky=i=>{const n=new URL(i);return n.protocol=n.protocol.replace(/^ws/i,"http"),n.pathname=n.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),n.pathname===""||n.pathname==="/"?n.pathname="/api/broadcast":n.pathname=n.pathname+"/api/broadcast",n.href};var Nl=i=>typeof i=="function"?i:function(){return i},yS=typeof self<"u"?self:null,ls=typeof window<"u"?window:null,Qn=yS||ls||globalThis,vS="2.0.0",bS=1e4,SS=1e3,Zn={connecting:0,open:1,closing:2,closed:3},Yt={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},Ra={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},Dh={longpoll:"longpoll",websocket:"websocket"},wS={complete:4},Uh="base64url.bearer.phx.",mc=class{constructor(i,n,r,l){this.channel=i,this.event=n,this.payload=r||function(){return{}},this.receivedResp=null,this.timeout=l,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(i){this.timeout=i,this.reset(),this.send()}send(){this.hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(i,n){return this.hasReceived(i)&&n(this.receivedResp.response),this.recHooks.push({status:i,callback:n}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:i,response:n,_ref:r}){this.recHooks.filter(l=>l.status===i).forEach(l=>l.callback(n))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,i=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=i,this.matchReceive(i)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(i){return this.receivedResp&&this.receivedResp.status===i}trigger(i,n){this.channel.trigger(this.refEvent,{status:i,response:n})}},Fy=class{constructor(i,n){this.callback=i,this.timerCalc=n,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},_S=class{constructor(i,n,r){this.state=Yt.closed,this.topic=i,this.params=Nl(n||{}),this.socket=r,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new mc(this,Ra.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Fy(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=Yt.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(l=>l.send()),this.pushBuffer=[]}),this.joinPush.receive("error",l=>{this.state=Yt.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,l),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=Yt.closed,this.socket.remove(this)}),this.onError(l=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,l),this.isJoining()&&this.joinPush.reset(),this.state=Yt.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new mc(this,Ra.leave,Nl({}),this.timeout).send(),this.state=Yt.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(Ra.reply,(l,c)=>{this.trigger(this.replyEventName(c),l)})}join(i=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=i,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(i=>i.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=Yt.closed,this.bindings=[]}onClose(i){this.on(Ra.close,i)}onError(i){return this.on(Ra.error,n=>i(n))}on(i,n){let r=this.bindingRef++;return this.bindings.push({event:i,ref:r,callback:n}),r}off(i,n){this.bindings=this.bindings.filter(r=>!(r.event===i&&(typeof n>"u"||n===r.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(i,n,r=this.timeout){if(n=n||{},!this.joinedOnce)throw new Error(`tried to push '${i}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let l=new mc(this,i,function(){return n},r);return this.canPush()?l.send():(l.startTimeout(),this.pushBuffer.push(l)),l}leave(i=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=Yt.leaving;let n=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(Ra.close,"leave")},r=new mc(this,Ra.leave,Nl({}),i);return r.receive("ok",()=>n()).receive("timeout",()=>n()),r.send(),this.canPush()||r.trigger("ok",{}),r}onMessage(i,n,r){return n}filterBindings(i,n,r){return!0}isMember(i,n,r,l){return this.topic!==i?!1:l&&l!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:i,event:n,payload:r,joinRef:l}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(i=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=Yt.joining,this.joinPush.resend(i))}trigger(i,n,r,l){let c=this.onMessage(i,n,r,l);if(n&&!c)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let d=this.bindings.filter(h=>h.event===i&&this.filterBindings(h,n,r));for(let h=0;h<d.length;h++)d[h].callback(c,r,l||this.joinRef())}replyEventName(i){return`chan_reply_${i}`}isClosed(){return this.state===Yt.closed}isErrored(){return this.state===Yt.errored}isJoined(){return this.state===Yt.joined}isJoining(){return this.state===Yt.joining}isLeaving(){return this.state===Yt.leaving}},Ac=class{static request(i,n,r,l,c,d,h){if(Qn.XDomainRequest){let m=new Qn.XDomainRequest;return this.xdomainRequest(m,i,n,l,c,d,h)}else if(Qn.XMLHttpRequest){let m=new Qn.XMLHttpRequest;return this.xhrRequest(m,i,n,r,l,c,d,h)}else{if(Qn.fetch&&Qn.AbortController)return this.fetchRequest(i,n,r,l,c,d,h);throw new Error("No suitable XMLHttpRequest implementation found")}}static fetchRequest(i,n,r,l,c,d,h){let m={method:i,headers:r,body:l},f=null;return c&&(f=new AbortController,setTimeout(()=>f.abort(),c),m.signal=f.signal),Qn.fetch(n,m).then(y=>y.text()).then(y=>this.parseJSON(y)).then(y=>h&&h(y)).catch(y=>{y.name==="AbortError"&&d?d():h&&h(null)}),f}static xdomainRequest(i,n,r,l,c,d,h){return i.timeout=c,i.open(n,r),i.onload=()=>{let m=this.parseJSON(i.responseText);h&&h(m)},d&&(i.ontimeout=d),i.onprogress=()=>{},i.send(l),i}static xhrRequest(i,n,r,l,c,d,h,m){i.open(n,r,!0),i.timeout=d;for(let[f,y]of Object.entries(l))i.setRequestHeader(f,y);return i.onerror=()=>m&&m(null),i.onreadystatechange=()=>{if(i.readyState===wS.complete&&m){let f=this.parseJSON(i.responseText);m(f)}},h&&(i.ontimeout=h),i.send(c),i}static parseJSON(i){if(!i||i==="")return null;try{return JSON.parse(i)}catch{return console&&console.log("failed to parse JSON response",i),null}}static serialize(i,n){let r=[];for(var l in i){if(!Object.prototype.hasOwnProperty.call(i,l))continue;let c=n?`${n}[${l}]`:l,d=i[l];typeof d=="object"?r.push(this.serialize(d,c)):r.push(encodeURIComponent(c)+"="+encodeURIComponent(d))}return r.join("&")}static appendParams(i,n){if(Object.keys(n).length===0)return i;let r=i.match(/\?/)?"&":"?";return`${i}${r}${this.serialize(n)}`}},TS=i=>{let n="",r=new Uint8Array(i),l=r.byteLength;for(let c=0;c<l;c++)n+=String.fromCharCode(r[c]);return btoa(n)},Qr=class{constructor(i,n){n&&n.length===2&&n[1].startsWith(Uh)&&(this.authToken=atob(n[1].slice(Uh.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(i),this.readyState=Zn.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(i){return i.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+Dh.websocket),"$1/"+Dh.longpoll)}endpointURL(){return Ac.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(i,n,r){this.close(i,n,r),this.readyState=Zn.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===Zn.open||this.readyState===Zn.connecting}poll(){const i={Accept:"application/json"};this.authToken&&(i["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",i,null,()=>this.ontimeout(),n=>{if(n){var{status:r,token:l,messages:c}=n;if(r===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=l}else r=0;switch(r){case 200:c.forEach(d=>{setTimeout(()=>this.onmessage({data:d}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=Zn.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${r}`)}})}send(i){typeof i!="string"&&(i=TS(i)),this.currentBatch?this.currentBatch.push(i):this.awaitingBatchAck?this.batchBuffer.push(i):(this.currentBatch=[i],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(i){this.awaitingBatchAck=!0,this.ajax("POST",{"Content-Type":"application/x-ndjson"},i.join(`
|
|
15
|
+
`),()=>this.onerror("timeout"),n=>{this.awaitingBatchAck=!1,!n||n.status!==200?(this.onerror(n&&n.status),this.closeAndRetry(1011,"internal server error",!1)):this.batchBuffer.length>0&&(this.batchSend(this.batchBuffer),this.batchBuffer=[])})}close(i,n,r){for(let c of this.reqs)c.abort();this.readyState=Zn.closed;let l=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:i,reason:n,wasClean:r});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",l)):this.onclose(l)}ajax(i,n,r,l,c){let d,h=()=>{this.reqs.delete(d),l()};d=Ac.request(i,this.endpointURL(),n,r,this.timeout,h,m=>{this.reqs.delete(d),this.isActive()&&c(m)}),this.reqs.add(d)}},kS=class xl{constructor(n,r={}){let l=r.events||{state:"presence_state",diff:"presence_diff"};this.state={},this.pendingDiffs=[],this.channel=n,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(l.state,c=>{let{onJoin:d,onLeave:h,onSync:m}=this.caller;this.joinRef=this.channel.joinRef(),this.state=xl.syncState(this.state,c,d,h),this.pendingDiffs.forEach(f=>{this.state=xl.syncDiff(this.state,f,d,h)}),this.pendingDiffs=[],m()}),this.channel.on(l.diff,c=>{let{onJoin:d,onLeave:h,onSync:m}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(c):(this.state=xl.syncDiff(this.state,c,d,h),m())})}onJoin(n){this.caller.onJoin=n}onLeave(n){this.caller.onLeave=n}onSync(n){this.caller.onSync=n}list(n){return xl.list(this.state,n)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(n,r,l,c){let d=this.clone(n),h={},m={};return this.map(d,(f,y)=>{r[f]||(m[f]=y)}),this.map(r,(f,y)=>{let w=d[f];if(w){let S=y.metas.map(z=>z.phx_ref),T=w.metas.map(z=>z.phx_ref),x=y.metas.filter(z=>T.indexOf(z.phx_ref)<0),R=w.metas.filter(z=>S.indexOf(z.phx_ref)<0);x.length>0&&(h[f]=y,h[f].metas=x),R.length>0&&(m[f]=this.clone(w),m[f].metas=R)}else h[f]=y}),this.syncDiff(d,{joins:h,leaves:m},l,c)}static syncDiff(n,r,l,c){let{joins:d,leaves:h}=this.clone(r);return l||(l=function(){}),c||(c=function(){}),this.map(d,(m,f)=>{let y=n[m];if(n[m]=this.clone(f),y){let w=n[m].metas.map(T=>T.phx_ref),S=y.metas.filter(T=>w.indexOf(T.phx_ref)<0);n[m].metas.unshift(...S)}l(m,y,f)}),this.map(h,(m,f)=>{let y=n[m];if(!y)return;let w=f.metas.map(S=>S.phx_ref);y.metas=y.metas.filter(S=>w.indexOf(S.phx_ref)<0),c(m,y,f),y.metas.length===0&&delete n[m]}),n}static list(n,r){return r||(r=function(l,c){return c}),this.map(n,(l,c)=>r(l,c))}static map(n,r){return Object.getOwnPropertyNames(n).map(l=>r(l,n[l]))}static clone(n){return JSON.parse(JSON.stringify(n))}},gc={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(i,n){if(i.payload.constructor===ArrayBuffer)return n(this.binaryEncode(i));{let r=[i.join_ref,i.ref,i.topic,i.event,i.payload];return n(JSON.stringify(r))}},decode(i,n){if(i.constructor===ArrayBuffer)return n(this.binaryDecode(i));{let[r,l,c,d,h]=JSON.parse(i);return n({join_ref:r,ref:l,topic:c,event:d,payload:h})}},binaryEncode(i){let{join_ref:n,ref:r,event:l,topic:c,payload:d}=i,h=this.META_LENGTH+n.length+r.length+c.length+l.length,m=new ArrayBuffer(this.HEADER_LENGTH+h),f=new DataView(m),y=0;f.setUint8(y++,this.KINDS.push),f.setUint8(y++,n.length),f.setUint8(y++,r.length),f.setUint8(y++,c.length),f.setUint8(y++,l.length),Array.from(n,S=>f.setUint8(y++,S.charCodeAt(0))),Array.from(r,S=>f.setUint8(y++,S.charCodeAt(0))),Array.from(c,S=>f.setUint8(y++,S.charCodeAt(0))),Array.from(l,S=>f.setUint8(y++,S.charCodeAt(0)));var w=new Uint8Array(m.byteLength+d.byteLength);return w.set(new Uint8Array(m),0),w.set(new Uint8Array(d),m.byteLength),w.buffer},binaryDecode(i){let n=new DataView(i),r=n.getUint8(0),l=new TextDecoder;switch(r){case this.KINDS.push:return this.decodePush(i,n,l);case this.KINDS.reply:return this.decodeReply(i,n,l);case this.KINDS.broadcast:return this.decodeBroadcast(i,n,l)}},decodePush(i,n,r){let l=n.getUint8(1),c=n.getUint8(2),d=n.getUint8(3),h=this.HEADER_LENGTH+this.META_LENGTH-1,m=r.decode(i.slice(h,h+l));h=h+l;let f=r.decode(i.slice(h,h+c));h=h+c;let y=r.decode(i.slice(h,h+d));h=h+d;let w=i.slice(h,i.byteLength);return{join_ref:m,ref:null,topic:f,event:y,payload:w}},decodeReply(i,n,r){let l=n.getUint8(1),c=n.getUint8(2),d=n.getUint8(3),h=n.getUint8(4),m=this.HEADER_LENGTH+this.META_LENGTH,f=r.decode(i.slice(m,m+l));m=m+l;let y=r.decode(i.slice(m,m+c));m=m+c;let w=r.decode(i.slice(m,m+d));m=m+d;let S=r.decode(i.slice(m,m+h));m=m+h;let T=i.slice(m,i.byteLength),x={status:S,response:T};return{join_ref:f,ref:y,topic:w,event:Ra.reply,payload:x}},decodeBroadcast(i,n,r){let l=n.getUint8(1),c=n.getUint8(2),d=this.HEADER_LENGTH+2,h=r.decode(i.slice(d,d+l));d=d+l;let m=r.decode(i.slice(d,d+c));d=d+c;let f=i.slice(d,i.byteLength);return{join_ref:null,ref:null,topic:h,event:m,payload:f}}},AS=class{constructor(i,n={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=n.timeout||bS,this.transport=n.transport||Qn.WebSocket||Qr,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=n.longPollFallbackMs,this.fallbackTimer=null;let r=null;try{r=Qn&&Qn.sessionStorage}catch{}this.sessionStore=n.sessionStorage||r,this.establishedConnections=0,this.defaultEncoder=gc.encode.bind(gc),this.defaultDecoder=gc.decode.bind(gc),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=n.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==Qr?(this.encode=n.encode||this.defaultEncoder,this.decode=n.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let l=null;ls&&ls.addEventListener&&(ls.addEventListener("pagehide",c=>{this.conn&&(this.disconnect(),l=this.connectClock)}),ls.addEventListener("pageshow",c=>{l===this.connectClock&&(l=null,this.connect())}),ls.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=n.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=n.autoSendHeartbeat??!0,this.heartbeatCallback=n.heartbeatCallback??(()=>{}),this.rejoinAfterMs=c=>n.rejoinAfterMs?n.rejoinAfterMs(c):[1e3,2e3,5e3][c-1]||1e4,this.reconnectAfterMs=c=>n.reconnectAfterMs?n.reconnectAfterMs(c):[10,50,100,150,200,250,500,1e3,2e3][c-1]||5e3,this.logger=n.logger||null,!this.logger&&n.debug&&(this.logger=(c,d,h)=>{console.log(`${c}: ${d}`,h)}),this.longpollerTimeout=n.longpollerTimeout||2e4,this.params=Nl(n.params||{}),this.endPoint=`${i}/${Dh.websocket}`,this.vsn=n.vsn||vS,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Fy(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{n.beforeReconnect&&await n.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=n.authToken}getLongPollTransport(){return Qr}replaceTransport(i){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=i}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let i=Ac.appendParams(Ac.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return i.charAt(0)!=="/"?i:i.charAt(1)==="/"?`${this.protocol()}:${i}`:`${this.protocol()}://${location.host}${i}`}disconnect(i,n,r){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,i&&i()},n,r)}connect(i){i&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=Nl(i)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Qr?this.connectWithFallback(Qr,this.longPollFallbackMs):this.transportConnect())}log(i,n,r){this.logger&&this.logger(i,n,r)}hasLogger(){return this.logger!==null}onOpen(i){let n=this.makeRef();return this.stateChangeCallbacks.open.push([n,i]),n}onClose(i){let n=this.makeRef();return this.stateChangeCallbacks.close.push([n,i]),n}onError(i){let n=this.makeRef();return this.stateChangeCallbacks.error.push([n,i]),n}onMessage(i){let n=this.makeRef();return this.stateChangeCallbacks.message.push([n,i]),n}onHeartbeat(i){this.heartbeatCallback=i}ping(i){if(!this.isConnected())return!1;let n=this.makeRef(),r=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:n});let l=this.onMessage(c=>{c.ref===n&&(this.off([l]),i(Date.now()-r))});return!0}transportName(i){return i===Qr?"LongPoll":i.name}transportConnect(){this.connectClock++,this.closeWasClean=!1;let i;this.authToken&&(i=["phoenix",`${Uh}${btoa(this.authToken).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),i),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=n=>this.onConnError(n),this.conn.onmessage=n=>this.onConnMessage(n),this.conn.onclose=n=>this.onConnClose(n)}getSession(i){return this.sessionStore&&this.sessionStore.getItem(i)}storeSession(i,n){this.sessionStore&&this.sessionStore.setItem(i,n)}connectWithFallback(i,n=2500){clearTimeout(this.fallbackTimer);let r=!1,l=!0,c,d,h=this.transportName(i),m=f=>{this.log("transport",`falling back to ${h}...`,f),this.off([c,d]),l=!1,this.replaceTransport(i),this.transportConnect()};if(this.getSession(`phx:fallback:${h}`))return m("memorized");this.fallbackTimer=setTimeout(m,n),d=this.onError(f=>{this.log("transport","error",f),l&&!r&&(clearTimeout(this.fallbackTimer),m(f))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(r=!0,!l){let f=this.transportName(i);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${f}`,"true"),this.log("transport",`established ${f} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(m,n),this.ping(f=>{this.log("transport","connected to primary after",f),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(i){this.log("error","error in heartbeat callback",i)}this.triggerChanError(new Error("heartbeat timeout")),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),SS,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(i,n,r){if(!this.conn)return i&&i();const l=this.conn;this.waitForBufferDone(l,()=>{n?l.close(n,r||""):l.close(),this.waitForSocketClosed(l,()=>{this.conn===l&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),i&&i()})})}waitForBufferDone(i,n,r=1){if(r===5||!i.bufferedAmount){n();return}setTimeout(()=>{this.waitForBufferDone(i,n,r+1)},150*r)}waitForSocketClosed(i,n,r=1){if(r===5||i.readyState===Zn.closed){n();return}setTimeout(()=>{this.waitForSocketClosed(i,n,r+1)},150*r)}onConnClose(i){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",i),this.triggerChanError(i),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",i)}onConnError(i){this.hasLogger()&&this.log("transport","error",i);let n=this.transport,r=this.establishedConnections;this.triggerStateCallbacks("error",i,n,r),(n===this.transport||r>0)&&this.triggerChanError(i)}triggerChanError(i){this.channels.forEach(n=>{n.isErrored()||n.isLeaving()||n.isClosed()||n.trigger(Ra.error,i)})}connectionState(){switch(this.conn&&this.conn.readyState){case Zn.connecting:return"connecting";case Zn.open:return"open";case Zn.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(i){this.off(i.stateChangeRefs),this.channels=this.channels.filter(n=>n!==i)}off(i){for(let n in this.stateChangeCallbacks)this.stateChangeCallbacks[n]=this.stateChangeCallbacks[n].filter(([r])=>i.indexOf(r)===-1)}channel(i,n={}){let r=new _S(i,n,this);return this.channels.push(r),r}push(i){if(this.hasLogger()){let{topic:n,event:r,payload:l,ref:c,join_ref:d}=i;this.log("push",`${n} ${r} (${d}, ${c})`,l)}this.isConnected()?this.encode(i,n=>this.conn.send(n)):this.sendBuffer.push(()=>this.encode(i,n=>this.conn.send(n)))}makeRef(){let i=this.ref+1;return i===this.ref?this.ref=0:this.ref=i,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(i){this.log("error","error in heartbeat callback",i)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(i){this.log("error","error in heartbeat callback",i)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(i=>i()),this.sendBuffer=[])}onConnMessage(i){this.decode(i.data,n=>{let{topic:r,event:l,payload:c,ref:d,join_ref:h}=n;if(d&&d===this.pendingHeartbeatRef){const m=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(c.status==="ok"?"ok":"error",m)}catch(f){this.log("error","error in heartbeat callback",f)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${c.status||""} ${r} ${l} ${d&&"("+d+")"||""}`.trim(),c);for(let m=0;m<this.channels.length;m++){const f=this.channels[m];f.isMember(r,l,c,h)&&f.trigger(l,c,d,h)}this.triggerStateCallbacks("message",n)})}triggerStateCallbacks(i,...n){try{this.stateChangeCallbacks[i].forEach(([r,l])=>{try{l(...n)}catch(c){this.log("error",`error in ${i} callback`,c)}})}catch(r){this.log("error",`error triggering ${i} callbacks`,r)}}leaveOpenTopic(i){let n=this.channels.find(r=>r.topic===i&&(r.isJoined()||r.isJoining()));n&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${i}"`),n.leave())}};class Ll{constructor(n,r){const l=xS(r);this.presence=new kS(n.getChannel(),l),this.presence.onJoin((c,d,h)=>{const m=Ll.onJoinPayload(c,d,h);n.getChannel().trigger("presence",m)}),this.presence.onLeave((c,d,h)=>{const m=Ll.onLeavePayload(c,d,h);n.getChannel().trigger("presence",m)}),this.presence.onSync(()=>{n.getChannel().trigger("presence",{event:"sync"})})}get state(){return Ll.transformState(this.presence.state)}static transformState(n){return n=ES(n),Object.getOwnPropertyNames(n).reduce((r,l)=>{const c=n[l];return r[l]=Tc(c),r},{})}static onJoinPayload(n,r,l){const c=$p(r),d=Tc(l);return{event:"join",key:n,currentPresences:c,newPresences:d}}static onLeavePayload(n,r,l){const c=$p(r),d=Tc(l);return{event:"leave",key:n,currentPresences:c,leftPresences:d}}}function Tc(i){return i.metas.map(n=>(n.presence_ref=n.phx_ref,delete n.phx_ref,delete n.phx_ref_prev,n))}function ES(i){return JSON.parse(JSON.stringify(i))}function xS(i){return i?.events&&{events:i.events}}function $p(i){return i?.metas?Tc(i):[]}var qp;(function(i){i.SYNC="sync",i.JOIN="join",i.LEAVE="leave"})(qp||(qp={}));class CS{get state(){return this.presenceAdapter.state}constructor(n,r){this.channel=n,this.presenceAdapter=new Ll(this.channel.channelAdapter,r)}}function RS(i){if(i instanceof Error)return i;if(typeof i=="string")return new Error(i);if(i&&typeof i=="object"){const n=i;if(typeof n.code=="number"){const r=typeof n.reason=="string"&&n.reason?` (${n.reason})`:"";return new Error(`socket closed: ${n.code}${r}`,{cause:i})}return new Error("channel error: transport failure",{cause:i})}return new Error("channel error: connection lost")}class OS{constructor(n,r,l){const c=jS(l);this.channel=n.getSocket().channel(r,c),this.socket=n}get state(){return this.channel.state}set state(n){this.channel.state=n}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(n,r){return this.channel.on(n,r)}off(n,r){this.channel.off(n,r)}subscribe(n){return this.channel.join(n)}unsubscribe(n){return this.channel.leave(n)}teardown(){this.channel.teardown()}onClose(n){this.channel.onClose(n)}onError(n){return this.channel.onError(n)}push(n,r,l){let c;try{c=this.channel.push(n,r,l)}catch{throw new Error(`tried to push '${n}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>cS){const d=this.channel.pushBuffer.shift();d.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${d.event}`,d.payload())}return c}updateJoinPayload(n){const r=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},r),n)}canPush(){return this.socket.isConnected()&&this.state===pi.joined}isJoined(){return this.state===pi.joined}isJoining(){return this.state===pi.joining}isClosed(){return this.state===pi.closed}isLeaving(){return this.state===pi.leaving}updateFilterBindings(n){this.channel.filterBindings=n}updatePayloadTransform(n){this.channel.onMessage=n}getChannel(){return this.channel}}function jS(i){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},i.config)}}const NS=/[,()"\\]/,LS=i=>NS.test(i)||i!==i.trim(),MS=i=>`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`,Ip=i=>{const n=i===null?"null":String(i);return LS(n)?MS(n):n},DS=i=>i===null?"null":String(i),US=(i,n)=>{if(i==="in"){const r=Array.isArray(n)?n:[n];if(r.length===0)throw new Error("Realtime `in` filter requires at least one value.");return`in.(${Array.from(new Set(r)).map(c=>Ip(c)).join(",")})`}return i==="is"?`is.${DS(n)}`:`${i}.${Ip(n)}`};class zS{constructor(){this.filters=[]}add(n,r,l,c=!1){const d=c?"not.":"";return this.filters.push(`${n}=${d}${US(r,l)}`),this}eq(n,r){return this.add(n,"eq",r)}neq(n,r){return this.add(n,"neq",r)}gt(n,r){return this.add(n,"gt",r)}gte(n,r){return this.add(n,"gte",r)}lt(n,r){return this.add(n,"lt",r)}lte(n,r){return this.add(n,"lte",r)}in(n,r){return this.add(n,"in",r)}like(n,r){return this.add(n,"like",r)}ilike(n,r){return this.add(n,"ilike",r)}match(n,r){return this.add(n,"match",r)}imatch(n,r){return this.add(n,"imatch",r)}is(n,r){return this.add(n,"is",r)}isDistinct(n,r){return this.add(n,"isdistinct",r)}not(n,r,l){return this.add(n,r,l,!0)}build(){return this.filters.join(",")}toString(){return this.build()}}var Gp;(function(i){i.ALL="*",i.INSERT="INSERT",i.UPDATE="UPDATE",i.DELETE="DELETE"})(Gp||(Gp={}));var us;(function(i){i.BROADCAST="broadcast",i.PRESENCE="presence",i.POSTGRES_CHANGES="postgres_changes",i.SYSTEM="system"})(us||(us={}));var Oa;(function(i){i.SUBSCRIBED="SUBSCRIBED",i.TIMED_OUT="TIMED_OUT",i.CLOSED="CLOSED",i.CHANNEL_ERROR="CHANNEL_ERROR"})(Oa||(Oa={}));class Ml{get state(){return this.channelAdapter.state}set state(n){this.channelAdapter.state=n}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(n,r={config:{}},l){var c,d;if(this.topic=n,this.params=r,this.socket=l,this.bindings={},this.subTopic=n.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},r.config),this.channelAdapter=new OS(this.socket.socketAdapter,n,this.params),this.presence=new CS(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=Ky(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((d=(c=this.params.config)===null||c===void 0?void 0:c.broadcast)===null||d===void 0)&&d.replay))throw new Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(n,r=this.timeout){var l,c,d;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:h,presence:m,private:f}}=this.params,y=(c=(l=this.bindings.postgres_changes)===null||l===void 0?void 0:l.map(x=>x.filter))!==null&&c!==void 0?c:[],w=!!this.bindings[us.PRESENCE]&&this.bindings[us.PRESENCE].length>0||((d=this.params.config.presence)===null||d===void 0?void 0:d.enabled)===!0,S={},T={broadcast:h,presence:Object.assign(Object.assign({},m),{enabled:w}),postgres_changes:y,private:f};this.socket.accessTokenValue&&(S.access_token=this.socket.accessTokenValue),this._onError(x=>{n?.(Oa.CHANNEL_ERROR,RS(x))}),this._onClose(()=>n?.(Oa.CLOSED)),this.updateJoinPayload(Object.assign({config:T},S)),this._updateFilterMessage(),this.channelAdapter.subscribe(r).receive("ok",async({postgres_changes:x})=>{if(this.socket._isManualToken()||this.socket.setAuth(),x===void 0){n?.(Oa.SUBSCRIBED);return}this._updatePostgresBindings(x,n)}).receive("error",x=>{this.state=pi.errored;const R=Object.values(x).join(", ")||"error";n?.(Oa.CHANNEL_ERROR,new Error(R,{cause:x}))}).receive("timeout",()=>{n?.(Oa.TIMED_OUT)})}return this}_updatePostgresBindings(n,r){var l;const c=this.bindings.postgres_changes,d=(l=c?.length)!==null&&l!==void 0?l:0,h=[];for(let m=0;m<d;m++){const f=c[m],{filter:{event:y,schema:w,table:S,filter:T}}=f,x=n&&n[m];if(x&&x.event===y&&Ml.isFilterValueEqual(x.schema,w)&&Ml.isFilterValueEqual(x.table,S)&&Ml.isFilterValueEqual(x.filter,T))h.push(Object.assign(Object.assign({},f),{id:x.id}));else{this.unsubscribe(),this.state=pi.errored,r?.(Oa.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=h,this.state!=pi.errored&&r&&r(Oa.SUBSCRIBED)}presenceState(){return this.presence.state}async track(n,r={}){return await this.send({type:"presence",event:"track",payload:n},r.timeout||this.timeout)}async untrack(n={}){return await this.send({type:"presence",event:"untrack"},n)}on(n,r,l){const c=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),d=n===us.PRESENCE||n===us.POSTGRES_CHANGES;if(c&&d)throw this.socket.log("channel",`cannot add \`${n}\` callbacks for ${this.topic} after \`subscribe()\`.`),new Error(`cannot add \`${n}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(n,r,l)}async httpSend(n,r,l={}){var c;if(r==null)return Promise.reject(new Error("Payload is required for httpSend()"));const d=r instanceof ArrayBuffer||ArrayBuffer.isView(r),h={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":d?"application/octet-stream":"application/json"};this.socket.accessTokenValue&&(h.Authorization=`Bearer ${this.socket.accessTokenValue}`);const m=new URL(this.broadcastEndpointURL);m.pathname+=`/${encodeURIComponent(this.subTopic)}/events/${encodeURIComponent(n)}`,this.private&&m.searchParams.set("private","true");const f={method:"POST",headers:h,body:d?r:JSON.stringify(r)},y=await this._fetchWithTimeout(m.toString(),f,(c=l.timeout)!==null&&c!==void 0?c:this.timeout);if(y.status===202)return{success:!0};if(y.status===404)return Promise.reject(new Error("httpSend() requires Realtime server v2.97.0 or newer; the endpoint returned 404. Update your Supabase CLI to a recent version, or upgrade the Realtime server in your self-hosted setup. See https://github.com/supabase/supabase-js/blob/master/packages/core/realtime-js/migrations/httpsend-server-version.md"));let w=y.statusText;try{const S=await y.json();w=S.error||S.message||w}catch{}return Promise.reject(new Error(w))}async send(n,r={}){var l,c;if(!this.channelAdapter.canPush()&&n.type==="broadcast"){console.warn("Realtime send() is automatically falling back to REST API. This behavior will be deprecated in the future. Please use httpSend() explicitly for REST delivery.");const{event:d,payload:h}=n,m={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(m.Authorization=`Bearer ${this.socket.accessTokenValue}`);const f={method:"POST",headers:m,body:JSON.stringify({messages:[{topic:this.subTopic,event:d,payload:h,private:this.private}]})};try{const y=await this._fetchWithTimeout(this.broadcastEndpointURL,f,(l=r.timeout)!==null&&l!==void 0?l:this.timeout);return await((c=y.body)===null||c===void 0?void 0:c.cancel()),y.ok?"ok":"error"}catch(y){return y instanceof Error&&y.name==="AbortError"?"timed out":"error"}}else return new Promise(d=>{var h,m,f;const y=this.channelAdapter.push(n.type,n,r.timeout||this.timeout);n.type==="broadcast"&&!(!((f=(m=(h=this.params)===null||h===void 0?void 0:h.config)===null||m===void 0?void 0:m.broadcast)===null||f===void 0)&&f.ack)&&d("ok"),y.receive("ok",()=>d("ok")),y.receive("error",()=>d("error")),y.receive("timeout",()=>d("timed out"))})}updateJoinPayload(n){this.channelAdapter.updateJoinPayload(n)}async unsubscribe(n=this.timeout){return new Promise(r=>{this.channelAdapter.unsubscribe(n).receive("ok",()=>r("ok")).receive("timeout",()=>r("timed out")).receive("error",()=>r("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(n,r,l){const c=new AbortController,d=setTimeout(()=>c.abort(),l),h=await this.socket.fetch(n,Object.assign(Object.assign({},r),{signal:c.signal}));return clearTimeout(d),h}_on(n,r,l){const c=n.toLocaleLowerCase(),d=r?.filter;(d instanceof zS||typeof d=="object"&&d!==null&&typeof d.build=="function")&&(r=Object.assign(Object.assign({},r),{filter:d.build()}));const h=this.channelAdapter.on(n,l),m={type:c,filter:r,callback:l,ref:h};return this.bindings[c]?this.bindings[c].push(m):this.bindings[c]=[m],this._updateFilterMessage(),this}_onClose(n){this.channelAdapter.onClose(n)}_onError(n){this.channelAdapter.onError(n)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((n,r,l)=>{var c,d,h,m,f,y,w;const S=n.event.toLocaleLowerCase();if(this._notThisChannelEvent(S,l))return!1;const T=(c=this.bindings[S])===null||c===void 0?void 0:c.find(x=>x.ref===n.ref);if(!T)return!0;if(["broadcast","presence","postgres_changes"].includes(S))if("id"in T){const x=T.id,R=(d=T.filter)===null||d===void 0?void 0:d.event;return x&&((h=r.ids)===null||h===void 0?void 0:h.includes(x))&&(R==="*"||R?.toLocaleLowerCase()===((m=r.data)===null||m===void 0?void 0:m.type.toLocaleLowerCase()))}else{const x=(y=(f=T?.filter)===null||f===void 0?void 0:f.event)===null||y===void 0?void 0:y.toLocaleLowerCase();return x==="*"||x===((w=r?.event)===null||w===void 0?void 0:w.toLocaleLowerCase())}else return T.type.toLocaleLowerCase()===S})}_notThisChannelEvent(n,r){const{close:l,error:c,leave:d,join:h}=Gy;return r&&[l,c,d,h].includes(n)&&r!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((n,r,l)=>{if(typeof r=="object"&&"ids"in r){const c=r.data,{schema:d,table:h,commit_timestamp:m,type:f,errors:y}=c;return Object.assign(Object.assign({},{schema:d,table:h,commit_timestamp:m,eventType:f,new:{},old:{},errors:y}),this._getPayloadRecords(c))}return r})}copyBindings(n){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const r in n.bindings)for(const l of n.bindings[r])this._on(l.type,l.filter,l.callback)}static isFilterValueEqual(n,r){return(n??void 0)===(r??void 0)}_getPayloadRecords(n){const r={new:{},old:{}};return(n.type==="INSERT"||n.type==="UPDATE")&&(r.new=Hp(n.columns,n.record)),(n.type==="UPDATE"||n.type==="DELETE")&&(r.old=Hp(n.columns,n.old_record)),r}}class BS{constructor(n,r){this.socket=new AS(n,r)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(n){this.socket.heartbeatCallback=n}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(n,r,l,c=1e4){return new Promise(d=>{setTimeout(()=>d("timeout"),c),this.socket.disconnect(()=>{n(),d("ok")},r,l)})}push(n){this.socket.push(n)}log(n,r,l){this.socket.log(n,r,l)}makeRef(){return this.socket.makeRef()}onOpen(n){this.socket.onOpen(n)}onClose(n){this.socket.onClose(n)}onError(n){this.socket.onError(n)}onMessage(n){this.socket.onMessage(n)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==Lh.connecting}isDisconnecting(){return this.socket.connectionState()==Lh.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const Vp={HEARTBEAT_INTERVAL:25e3},PS=[1e3,2e3,5e3,1e4],HS=1e4;function $S(){const i=new Map;return{get length(){return i.size},clear(){i.clear()},getItem(n){return i.has(n)?i.get(n):null},key(n){var r;return(r=Array.from(i.keys())[n])!==null&&r!==void 0?r:null},removeItem(n){i.delete(n)},setItem(n,r){i.set(n,String(r))}}}function qS(){try{if(typeof globalThis<"u"&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return $S()}const IS=`
|
|
16
16
|
addEventListener("message", (e) => {
|
|
17
17
|
if (e.data.event === "start") {
|
|
18
18
|
setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
|
|
19
19
|
}
|
|
20
|
-
});`;class qS{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(n,r){var l;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={},this.ref=0,this.serializer=new oS,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=d=>d?(...h)=>d(...h):(...h)=>fetch(...h),!(!((l=r?.params)===null||l===void 0)&&l.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=r.params.apikey;const c=this._initializeOptions(r);this.socketAdapter=new US(n,c),this.httpEndpoint=Vy(n),this.fetch=this._resolveFetch(r?.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(n){const r=n.message;throw new Error(`WebSocket not available: ${r}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(n,r){return this._cancelPendingDisconnect(),this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},n,r)}getChannels(){return this.channels}async removeChannel(n){const r=await n.unsubscribe();return r==="ok"&&n.teardown(),r}async removeAllChannels(){const n=this.channels.map(async l=>{const c=await l.unsubscribe();return l.teardown(),c}),r=await Promise.all(n);return await this.disconnect(),r}log(n,r,l){this.socketAdapter.log(n,r,l)}connectionState(){return this.socketAdapter.connectionState()||Lh.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(n,r={config:{}}){const l=`realtime:${n}`,c=this.getChannels().find(d=>d.topic===l);if(c)return c;{const d=new Dl(`realtime:${n}`,r,this);return this._cancelPendingDisconnect(),this.channels.push(d),d}}push(n){this.socketAdapter.push(n)}async setAuth(n=null){this._authPromise=this._performAuth(n);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(n){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(n)}_makeRef(){return this.socketAdapter.makeRef()}_remove(n){this.channels=this.channels.filter(r=>r.topic!==n.topic),this.channels.length===0&&(this.log("transport","no channels remaining, scheduling disconnect"),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log("transport","disconnecting immediately - no channels"),this.disconnect();return}this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log("transport","deferred disconnect fired - no channels, disconnecting"),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log("transport",`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log("transport","pending disconnect cancelled - channel activity detected"),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(n=null){let r,l=!1;if(n)r=n,l=!0;else if(this.accessToken)try{r=await this.accessToken()}catch(c){this.log("error","Error fetching access token from callback",c),r=this.accessTokenValue}else r=this.accessTokenValue;l?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=r&&(this.accessTokenValue=r,this.channels.forEach(c=>{const d={access_token:r,version:aS};r&&c.updateJoinPayload(d),c.joinedOnce&&c.channelAdapter.isJoined()&&c.channelAdapter.push(Iy.access_token,{access_token:r})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(n="general"){this._isManualToken()||this.setAuth().catch(r=>{this.log("error",`Error setting auth in ${n}`,r)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(r=>{this.log("error","error waiting for auth on connect",r)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(n=>{n.ref&&n.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(n){return(r,l)=>{r=="sent"&&this._setAuthSafely(),n&&n(r,l)}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const n=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(n),this.workerRef.onerror=r=>{this.log("worker","worker error",r.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=r=>{r.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(n){let r;if(n)r=n;else{const l=new Blob([$S],{type:"application/javascript"});r=URL.createObjectURL(l)}return r}_initializeOptions(n){var r,l,c,d,h,m,f,y,w,S,T,x;this.worker=(r=n?.worker)!==null&&r!==void 0?r:!1,this.accessToken=(l=n?.accessToken)!==null&&l!==void 0?l:null;const R={};R.timeout=(c=n?.timeout)!==null&&c!==void 0?c:sS,R.heartbeatIntervalMs=(d=n?.heartbeatIntervalMs)!==null&&d!==void 0?d:Gp.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=(h=n?.disconnectOnEmptyChannelsAfterMs)!==null&&h!==void 0?h:2*((m=n?.heartbeatIntervalMs)!==null&&m!==void 0?m:Gp.HEARTBEAT_INTERVAL),R.transport=(f=n?.transport)!==null&&f!==void 0?f:tS.getWebSocketConstructor(),R.params=n?.params,R.logger=n?.logger,R.heartbeatCallback=this._wrapHeartbeatCallback(n?.heartbeatCallback),R.sessionStorage=(y=n?.sessionStorage)!==null&&y!==void 0?y:HS(),R.reconnectAfterMs=(w=n?.reconnectAfterMs)!==null&&w!==void 0?w:(I=>zS[I-1]||BS);let z,G;const V=(S=n?.vsn)!==null&&S!==void 0?S:rS;switch(V){case iS:z=(I,F)=>F(JSON.stringify(I)),G=(I,F)=>F(JSON.parse(I));break;case qy:z=this.serializer.encode.bind(this.serializer),G=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${R.vsn}`)}if(R.vsn=V,R.encode=(T=n?.encode)!==null&&T!==void 0?T:z,R.decode=(x=n?.decode)!==null&&x!==void 0?x:G,R.beforeReconnect=this._reconnectAuth.bind(this),(n?.logLevel||n?.log_level)&&(this.logLevel=n.logLevel||n.log_level,R.params=Object.assign(Object.assign({},R.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=n?.workerUrl,R.autoSendHeartbeat=!this.worker}return R}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}var $l=class extends Error{constructor(i,n){super(i),this.name="IcebergError",this.status=n.status,this.icebergType=n.icebergType,this.icebergCode=n.icebergCode,this.details=n.details,this.isCommitStateUnknown=n.icebergType==="CommitStateUnknownException"||[500,502,504].includes(n.status)&&n.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function IS(i,n,r){const l=new URL(n,i);if(r)for(const[c,d]of Object.entries(r))d!==void 0&&l.searchParams.set(c,d);return l.toString()}async function GS(i){return!i||i.type==="none"?{}:i.type==="bearer"?{Authorization:`Bearer ${i.token}`}:i.type==="header"?{[i.name]:i.value}:i.type==="custom"?await i.getHeaders():{}}function VS(i){const n=i.fetchImpl??globalThis.fetch;return{async request({method:r,path:l,query:c,body:d,headers:h}){const m=IS(i.baseUrl,l,c),f=await GS(i.auth),y=await n(m,{method:r,headers:{...d?{"Content-Type":"application/json"}:{},...f,...h},body:d?JSON.stringify(d):void 0}),w=await y.text(),S=(y.headers.get("content-type")||"").includes("application/json"),T=S&&w?JSON.parse(w):w;if(!y.ok){const x=S?T:void 0,R=x?.error;throw new $l(R?.message??`Request failed with status ${y.status}`,{status:y.status,icebergType:R?.type,icebergCode:R?.code,details:x})}return{status:y.status,headers:y.headers,data:T}}}}function pc(i){return i.join("")}var KS=class{constructor(i,n=""){this.client=i,this.prefix=n}async listNamespaces(i){const n=i?{parent:pc(i.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:n})).data.namespaces.map(l=>({namespace:l}))}async createNamespace(i,n){const r={namespace:i.namespace,properties:n?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:r})).data}async dropNamespace(i){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${pc(i.namespace)}`})}async loadNamespaceMetadata(i){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${pc(i.namespace)}`})).data.properties}}async namespaceExists(i){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${pc(i.namespace)}`}),!0}catch(n){if(n instanceof $l&&n.status===404)return!1;throw n}}async createNamespaceIfNotExists(i,n){try{return await this.createNamespace(i,n)}catch(r){if(r instanceof $l&&r.status===409)return;throw r}}};function Zr(i){return i.join("")}var FS=class{constructor(i,n="",r){this.client=i,this.prefix=n,this.accessDelegation=r}async listTables(i){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables`})).data.identifiers}async createTable(i,n){const r={};return this.accessDelegation&&(r["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables`,body:n,headers:r})).data.metadata}async updateTable(i,n){const r=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables/${i.name}`,body:n});return{"metadata-location":r.data["metadata-location"],metadata:r.data.metadata}}async dropTable(i,n){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables/${i.name}`,query:{purgeRequested:String(n?.purge??!1)}})}async loadTable(i){const n={};return this.accessDelegation&&(n["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables/${i.name}`,headers:n})).data.metadata}async tableExists(i){const n={};this.accessDelegation&&(n["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables/${i.name}`,headers:n}),!0}catch(r){if(r instanceof $l&&r.status===404)return!1;throw r}}async createTableIfNotExists(i,n){try{return await this.createTable(i,n)}catch(r){if(r instanceof $l&&r.status===409)return await this.loadTable({namespace:i.namespace,name:n.name});throw r}}},YS=class{constructor(i){let n="v1";i.catalogName&&(n+=`/${i.catalogName}`);const r=i.baseUrl.endsWith("/")?i.baseUrl:`${i.baseUrl}/`;this.client=VS({baseUrl:r,auth:i.auth,fetchImpl:i.fetch}),this.accessDelegation=i.accessDelegation?.join(","),this.namespaceOps=new KS(this.client,n),this.tableOps=new FS(this.client,n,this.accessDelegation)}async listNamespaces(i){return this.namespaceOps.listNamespaces(i)}async createNamespace(i,n){return this.namespaceOps.createNamespace(i,n)}async dropNamespace(i){await this.namespaceOps.dropNamespace(i)}async loadNamespaceMetadata(i){return this.namespaceOps.loadNamespaceMetadata(i)}async listTables(i){return this.tableOps.listTables(i)}async createTable(i,n){return this.tableOps.createTable(i,n)}async updateTable(i,n){return this.tableOps.updateTable(i,n)}async dropTable(i,n){await this.tableOps.dropTable(i,n)}async loadTable(i){return this.tableOps.loadTable(i)}async namespaceExists(i){return this.namespaceOps.namespaceExists(i)}async tableExists(i){return this.tableOps.tableExists(i)}async createNamespaceIfNotExists(i,n){return this.namespaceOps.createNamespaceIfNotExists(i,n)}async createTableIfNotExists(i,n){return this.tableOps.createTableIfNotExists(i,n)}};function ql(i){"@babel/helpers - typeof";return ql=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ql(i)}function WS(i,n){if(ql(i)!="object"||!i)return i;var r=i[Symbol.toPrimitive];if(r!==void 0){var l=r.call(i,n);if(ql(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function JS(i){var n=WS(i,"string");return ql(n)=="symbol"?n:n+""}function XS(i,n,r){return(n=JS(n))in i?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,i}function Vp(i,n){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(i);n&&(l=l.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),r.push.apply(r,l)}return r}function fe(i){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Vp(Object(r),!0).forEach(function(l){XS(i,l,r[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(r)):Vp(Object(r)).forEach(function(l){Object.defineProperty(i,l,Object.getOwnPropertyDescriptor(r,l))})}return i}var Dc=class extends Error{constructor(i,n="storage",r,l){super(i),this.__isStorageError=!0,this.namespace=n,this.name=n==="vectors"?"StorageVectorsError":"StorageError",this.status=r,this.statusCode=l}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function Uc(i){return typeof i=="object"&&i!==null&&"__isStorageError"in i}var zh=class extends Dc{constructor(i,n,r,l="storage"){super(i,l,n,r),this.name=l==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=n,this.statusCode=r}toJSON(){return fe({},super.toJSON())}},Fy=class extends Dc{constructor(i,n,r="storage"){super(i,r),this.name=r==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=n}};function Ec(i,n,r){const l=fe({},i),c=n.toLowerCase();for(const d of Object.keys(l))d.toLowerCase()===c&&delete l[d];return l[c]=r,l}function QS(i){const n={};for(const[r,l]of Object.entries(i))n[r.toLowerCase()]=l;return n}const ZS=i=>i?(...n)=>i(...n):(...n)=>fetch(...n),ew=i=>{if(typeof i!="object"||i===null)return!1;const n=Object.getPrototypeOf(i);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in i)&&!(Symbol.iterator in i)},Bh=i=>{if(Array.isArray(i))return i.map(r=>Bh(r));if(typeof i=="function"||i!==Object(i))return i;const n={};return Object.entries(i).forEach(([r,l])=>{const c=r.replace(/([-_][a-z])/gi,d=>d.toUpperCase().replace(/[-_]/g,""));n[c]=Bh(l)}),n},tw=i=>!i||typeof i!="string"||i.length===0||i.length>100||i.trim()!==i||i.includes("/")||i.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(i),Kp=i=>{if(typeof i=="object"&&i!==null){const n=i;if(typeof n.msg=="string")return n.msg;if(typeof n.message=="string")return n.message;if(typeof n.error_description=="string")return n.error_description;if(typeof n.error=="string")return n.error;if(typeof n.error=="object"&&n.error!==null){const r=n.error;if(typeof r.message=="string")return r.message}}return JSON.stringify(i)},nw=async(i,n,r,l)=>{if(i!==null&&typeof i=="object"&&"json"in i&&typeof i.json=="function"){const c=i;let d=parseInt(String(c.status),10);Number.isFinite(d)||(d=500),c.json().then(h=>{const m=h?.statusCode||h?.code||d+"";n(new zh(Kp(h),d,m,l))}).catch(()=>{const h=d+"";n(new zh(c.statusText||`HTTP ${d} error`,d,h,l))})}else n(new Fy(Kp(i),i,l))},aw=(i,n,r,l)=>{const c={method:i,headers:n?.headers||{}};if(i==="GET"||i==="HEAD"||!l)return fe(fe({},c),r);if(ew(l)){var d;const h=n?.headers||{};let m;for(const[f,y]of Object.entries(h))f.toLowerCase()==="content-type"&&(m=y);c.headers=Ec(h,"Content-Type",(d=m)!==null&&d!==void 0?d:"application/json"),c.body=JSON.stringify(l)}else c.body=l;return n?.duplex&&(c.duplex=n.duplex),fe(fe({},c),r)};async function Tl(i,n,r,l,c,d,h){return new Promise((m,f)=>{i(r,aw(n,l,c,d)).then(y=>{if(!y.ok)throw y;if(l?.noResolveJson)return y;if(h==="vectors"){const w=y.headers.get("content-type");if(y.headers.get("content-length")==="0"||y.status===204)return{};if(!w||!w.includes("application/json"))return{}}return y.json()}).then(y=>m(y)).catch(y=>nw(y,f,l,h))})}function Yy(i="storage"){return{get:async(n,r,l,c)=>Tl(n,"GET",r,l,c,void 0,i),post:async(n,r,l,c,d)=>Tl(n,"POST",r,c,d,l,i),put:async(n,r,l,c,d)=>Tl(n,"PUT",r,c,d,l,i),head:async(n,r,l,c)=>Tl(n,"HEAD",r,fe(fe({},l),{},{noResolveJson:!0}),c,void 0,i),remove:async(n,r,l,c,d)=>Tl(n,"DELETE",r,c,d,l,i)}}const iw=Yy("storage"),{get:Il,post:$n,put:Ph,head:rw,remove:Gl}=iw,fn=Yy("vectors");var gs=class{constructor(i,n={},r,l="storage"){this.shouldThrowOnError=!1,this.url=i,this.headers=QS(n),this.fetch=ZS(r),this.namespace=l}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(i,n){return this.headers=Ec(this.headers,i,n),this}async handleOperation(i){var n=this;try{return{data:await i(),error:null}}catch(r){if(n.shouldThrowOnError)throw r;if(Uc(r))return{data:null,error:r};throw r}}};let Wy;Wy=Symbol.toStringTag;var sw=class{constructor(i,n){this.downloadFn=i,this.shouldThrowOnError=n,this[Wy]="StreamDownloadBuilder",this.promise=null}then(i,n){return this.getPromise().then(i,n)}catch(i){return this.getPromise().catch(i)}finally(i){return this.getPromise().finally(i)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var i=this;try{return{data:(await i.downloadFn()).body,error:null}}catch(n){if(i.shouldThrowOnError)throw n;if(Uc(n))return{data:null,error:n};throw n}}};let Jy;Jy=Symbol.toStringTag;var lw=class{constructor(i,n){this.downloadFn=i,this.shouldThrowOnError=n,this[Jy]="BlobDownloadBuilder",this.promise=null}asStream(){return new sw(this.downloadFn,this.shouldThrowOnError)}then(i,n){return this.getPromise().then(i,n)}catch(i){return this.getPromise().catch(i)}finally(i){return this.getPromise().finally(i)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var i=this;try{return{data:await(await i.downloadFn()).blob(),error:null}}catch(n){if(i.shouldThrowOnError)throw n;if(Uc(n))return{data:null,error:n};throw n}}};const gh={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},Fp={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var ow=class extends gs{constructor(i,n={},r,l){super(i,n,l,"storage"),this.bucketId=r}async uploadOrUpdate(i,n,r,l){var c=this;return c.handleOperation(async()=>{let d;const h=fe(fe({},Fp),l);let m=fe(fe({},c.headers),i==="POST"&&{"x-upsert":String(h.upsert)});const f=h.metadata;if(typeof Blob<"u"&&r instanceof Blob?(d=new FormData,d.append("cacheControl",h.cacheControl),f&&d.append("metadata",c.encodeMetadata(f)),d.append("",r)):typeof FormData<"u"&&r instanceof FormData?(d=r,d.has("cacheControl")||d.append("cacheControl",h.cacheControl),f&&!d.has("metadata")&&d.append("metadata",c.encodeMetadata(f))):(d=r,m["cache-control"]=`max-age=${h.cacheControl}`,m["content-type"]=h.contentType,f&&(m["x-metadata"]=c.toBase64(c.encodeMetadata(f))),(typeof ReadableStream<"u"&&d instanceof ReadableStream||d&&typeof d=="object"&&"pipe"in d&&typeof d.pipe=="function")&&!h.duplex&&(h.duplex="half")),l?.headers)for(const[T,x]of Object.entries(l.headers))m=Ec(m,T,x);const y=c._removeEmptyFolders(n),w=c._getFinalPath(y),S=await(i=="PUT"?Ph:$n)(c.fetch,`${c.url}/object/${w}`,d,fe({headers:m},h?.duplex?{duplex:h.duplex}:{}));return{path:y,id:S.Id,fullPath:S.Key}})}async upload(i,n,r){return this.uploadOrUpdate("POST",i,n,r)}async uploadToSignedUrl(i,n,r,l){var c=this;const d=c._removeEmptyFolders(i),h=c._getFinalPath(d),m=new URL(c.url+`/object/upload/sign/${h}`);return m.searchParams.set("token",n),c.handleOperation(async()=>{let f;const y=fe(fe({},Fp),l);let w=fe(fe({},c.headers),{"x-upsert":String(y.upsert)});const S=y.metadata;if(typeof Blob<"u"&&r instanceof Blob?(f=new FormData,f.append("cacheControl",y.cacheControl),S&&f.append("metadata",c.encodeMetadata(S)),f.append("",r)):typeof FormData<"u"&&r instanceof FormData?(f=r,f.has("cacheControl")||f.append("cacheControl",y.cacheControl),S&&!f.has("metadata")&&f.append("metadata",c.encodeMetadata(S))):(f=r,w["cache-control"]=`max-age=${y.cacheControl}`,w["content-type"]=y.contentType,S&&(w["x-metadata"]=c.toBase64(c.encodeMetadata(S))),(typeof ReadableStream<"u"&&f instanceof ReadableStream||f&&typeof f=="object"&&"pipe"in f&&typeof f.pipe=="function")&&!y.duplex&&(y.duplex="half")),l?.headers)for(const[T,x]of Object.entries(l.headers))w=Ec(w,T,x);return{path:d,fullPath:(await Ph(c.fetch,m.toString(),f,fe({headers:w},y?.duplex?{duplex:y.duplex}:{}))).Key}})}async createSignedUploadUrl(i,n){var r=this;return r.handleOperation(async()=>{let l=r._getFinalPath(i);const c=fe({},r.headers);n?.upsert&&(c["x-upsert"]="true");const d=await $n(r.fetch,`${r.url}/object/upload/sign/${l}`,{},{headers:c}),h=new URL(r.url+d.url),m=h.searchParams.get("token");if(!m)throw new Dc("No token returned by API");return{signedUrl:h.toString(),path:i,token:m}})}async update(i,n,r){return this.uploadOrUpdate("PUT",i,n,r)}async move(i,n,r){var l=this;return l.handleOperation(async()=>await $n(l.fetch,`${l.url}/object/move`,{bucketId:l.bucketId,sourceKey:i,destinationKey:n,destinationBucket:r?.destinationBucket},{headers:l.headers}))}async copy(i,n,r){var l=this;return l.handleOperation(async()=>({path:(await $n(l.fetch,`${l.url}/object/copy`,{bucketId:l.bucketId,sourceKey:i,destinationKey:n,destinationBucket:r?.destinationBucket},{headers:l.headers})).Key}))}async createSignedUrl(i,n,r){var l=this;return l.handleOperation(async()=>{let c=l._getFinalPath(i);const d=typeof r?.transform=="object"&&r.transform!==null&&Object.keys(r.transform).length>0;let h=await $n(l.fetch,`${l.url}/object/sign/${c}`,fe({expiresIn:n},d?{transform:r.transform}:{}),{headers:l.headers});const m=new URLSearchParams;r?.download&&m.set("download",r.download===!0?"":r.download),r?.cacheNonce!=null&&m.set("cacheNonce",String(r.cacheNonce));const f=m.toString();return{signedUrl:encodeURI(`${l.url}${h.signedURL}${f?`&${f}`:""}`)}})}async createSignedUrls(i,n,r){var l=this;return l.handleOperation(async()=>{const c=await $n(l.fetch,`${l.url}/object/sign/${l.bucketId}`,{expiresIn:n,paths:i},{headers:l.headers}),d=new URLSearchParams;r?.download&&d.set("download",r.download===!0?"":r.download),r?.cacheNonce!=null&&d.set("cacheNonce",String(r.cacheNonce));const h=d.toString();return c.map(m=>fe(fe({},m),{},{signedUrl:m.signedURL?encodeURI(`${l.url}${m.signedURL}${h?`&${h}`:""}`):null}))})}download(i,n,r){const l=typeof n?.transform=="object"&&n.transform!==null&&Object.keys(n.transform).length>0?"render/image/authenticated":"object",c=new URLSearchParams;n?.transform&&this.applyTransformOptsToQuery(c,n.transform),n?.cacheNonce!=null&&c.set("cacheNonce",String(n.cacheNonce));const d=c.toString(),h=this._getFinalPath(i),m=()=>Il(this.fetch,`${this.url}/${l}/${h}${d?`?${d}`:""}`,{headers:this.headers,noResolveJson:!0},r);return new lw(m,this.shouldThrowOnError)}async info(i){var n=this;const r=n._getFinalPath(i);return n.handleOperation(async()=>Bh(await Il(n.fetch,`${n.url}/object/info/${r}`,{headers:n.headers})))}async exists(i){var n=this;const r=n._getFinalPath(i);try{return await rw(n.fetch,`${n.url}/object/${r}`,{headers:n.headers}),{data:!0,error:null}}catch(c){if(n.shouldThrowOnError)throw c;if(Uc(c)){var l;const d=c instanceof zh?c.status:c instanceof Fy?(l=c.originalError)===null||l===void 0?void 0:l.status:void 0;if(d!==void 0&&[400,404].includes(d))return{data:!1,error:c}}throw c}}getPublicUrl(i,n){const r=this._getFinalPath(i),l=new URLSearchParams;n?.download&&l.set("download",n.download===!0?"":n.download),n?.transform&&this.applyTransformOptsToQuery(l,n.transform),n?.cacheNonce!=null&&l.set("cacheNonce",String(n.cacheNonce));const c=l.toString(),d=typeof n?.transform=="object"&&n.transform!==null&&Object.keys(n.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${d}/public/${r}`)+(c?`?${c}`:"")}}}async remove(i){var n=this;return n.handleOperation(async()=>await Gl(n.fetch,`${n.url}/object/${n.bucketId}`,{prefixes:i},{headers:n.headers}))}async purgeCache(i,n,r){var l=this;return l.handleOperation(async()=>{const c=l._getFinalPath(i),d=new URLSearchParams;n?.transformations&&d.set("transformations","true");const h=d.toString();return await Gl(l.fetch,`${l.url}/cdn/${c}${h?`?${h}`:""}`,{},{headers:l.headers},r)})}async list(i,n,r){var l=this;return l.handleOperation(async()=>{const c=n?.sortBy?fe(fe({},gh.sortBy),n.sortBy):gh.sortBy,d=fe(fe(fe({},gh),n),{},{sortBy:c,prefix:i||""});return await $n(l.fetch,`${l.url}/object/list/${l.bucketId}`,d,{headers:l.headers},r)})}async listV2(i,n){var r=this;return r.handleOperation(async()=>{const l=fe({},i);return await $n(r.fetch,`${r.url}/object/list-v2/${r.bucketId}`,l,{headers:r.headers},n)})}encodeMetadata(i){return JSON.stringify(i)}toBase64(i){return typeof Buffer<"u"?Buffer.from(i).toString("base64"):btoa(i)}_getFinalPath(i){return`${this.bucketId}/${i.replace(/^\/+/,"")}`}_removeEmptyFolders(i){return i.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(i,n){return n.width&&i.set("width",n.width.toString()),n.height&&i.set("height",n.height.toString()),n.resize&&i.set("resize",n.resize),n.format&&i.set("format",n.format),n.quality&&i.set("quality",n.quality.toString()),i}};const cw="2.110.0",Yl={"X-Client-Info":`storage-js/${cw}`};var uw=class extends gs{constructor(i,n={},r,l){const c=new URL(i);l?.useNewHostname&&/supabase\.(co|in|red)$/.test(c.hostname)&&!c.hostname.includes("storage.supabase.")&&(c.hostname=c.hostname.replace("supabase.","storage.supabase."));const d=c.href.replace(/\/$/,""),h=fe(fe({},Yl),n);super(d,h,r,"storage")}async listBuckets(i){var n=this;return n.handleOperation(async()=>{const r=n.listBucketOptionsToQueryString(i);return await Il(n.fetch,`${n.url}/bucket${r}`,{headers:n.headers})})}async getBucket(i){var n=this;return n.handleOperation(async()=>await Il(n.fetch,`${n.url}/bucket/${i}`,{headers:n.headers}))}async createBucket(i,n={public:!1}){var r=this;return r.handleOperation(async()=>await $n(r.fetch,`${r.url}/bucket`,{id:i,name:i,type:n.type,public:n.public,file_size_limit:n.fileSizeLimit,allowed_mime_types:n.allowedMimeTypes},{headers:r.headers}))}async updateBucket(i,n){var r=this;return r.handleOperation(async()=>await Ph(r.fetch,`${r.url}/bucket/${i}`,{id:i,name:i,public:n.public,file_size_limit:n.fileSizeLimit,allowed_mime_types:n.allowedMimeTypes},{headers:r.headers}))}async emptyBucket(i){var n=this;return n.handleOperation(async()=>await $n(n.fetch,`${n.url}/bucket/${i}/empty`,{},{headers:n.headers}))}async deleteBucket(i){var n=this;return n.handleOperation(async()=>await Gl(n.fetch,`${n.url}/bucket/${i}`,{},{headers:n.headers}))}async purgeBucketCache(i,n,r){var l=this;return l.handleOperation(async()=>{const c=new URLSearchParams;n?.transformations&&c.set("transformations","true");const d=c.toString();return await Gl(l.fetch,`${l.url}/cdn/${i}${d?`?${d}`:""}`,{},{headers:l.headers},r)})}listBucketOptionsToQueryString(i){const n={};return i&&("limit"in i&&(n.limit=String(i.limit)),"offset"in i&&(n.offset=String(i.offset)),i.search&&(n.search=i.search),i.sortColumn&&(n.sortColumn=i.sortColumn),i.sortOrder&&(n.sortOrder=i.sortOrder)),Object.keys(n).length>0?"?"+new URLSearchParams(n).toString():""}},dw=class extends gs{constructor(i,n={},r){const l=i.replace(/\/$/,""),c=fe(fe({},Yl),n);super(l,c,r,"storage")}async createBucket(i){var n=this;return n.handleOperation(async()=>await $n(n.fetch,`${n.url}/bucket`,{name:i},{headers:n.headers}))}async listBuckets(i){var n=this;return n.handleOperation(async()=>{const r=new URLSearchParams;i?.limit!==void 0&&r.set("limit",i.limit.toString()),i?.offset!==void 0&&r.set("offset",i.offset.toString()),i?.sortColumn&&r.set("sortColumn",i.sortColumn),i?.sortOrder&&r.set("sortOrder",i.sortOrder),i?.search&&r.set("search",i.search);const l=r.toString(),c=l?`${n.url}/bucket?${l}`:`${n.url}/bucket`;return await Il(n.fetch,c,{headers:n.headers})})}async deleteBucket(i){var n=this;return n.handleOperation(async()=>await Gl(n.fetch,`${n.url}/bucket/${i}`,{},{headers:n.headers}))}from(i){var n=this;if(!tw(i))throw new Dc("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const r=new YS({baseUrl:this.url,catalogName:i,auth:{type:"custom",getHeaders:async()=>n.headers},fetch:this.fetch}),l=this.shouldThrowOnError;return new Proxy(r,{get(c,d){const h=c[d];return typeof h!="function"?h:async(...m)=>{try{return{data:await h.apply(c,m),error:null}}catch(f){if(l)throw f;return{data:null,error:f}}}}})}},hw=class extends gs{constructor(i,n={},r){const l=i.replace(/\/$/,""),c=fe(fe({},Yl),{},{"Content-Type":"application/json"},n);super(l,c,r,"vectors")}async createIndex(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/CreateIndex`,i,{headers:n.headers})||{})}async getIndex(i,n){var r=this;return r.handleOperation(async()=>await fn.post(r.fetch,`${r.url}/GetIndex`,{vectorBucketName:i,indexName:n},{headers:r.headers}))}async listIndexes(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/ListIndexes`,i,{headers:n.headers}))}async deleteIndex(i,n){var r=this;return r.handleOperation(async()=>await fn.post(r.fetch,`${r.url}/DeleteIndex`,{vectorBucketName:i,indexName:n},{headers:r.headers})||{})}},fw=class extends gs{constructor(i,n={},r){const l=i.replace(/\/$/,""),c=fe(fe({},Yl),{},{"Content-Type":"application/json"},n);super(l,c,r,"vectors")}async putVectors(i){var n=this;if(i.vectors.length<1||i.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/PutVectors`,i,{headers:n.headers})||{})}async getVectors(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/GetVectors`,i,{headers:n.headers}))}async listVectors(i){var n=this;if(i.segmentCount!==void 0){if(i.segmentCount<1||i.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(i.segmentIndex!==void 0&&(i.segmentIndex<0||i.segmentIndex>=i.segmentCount))throw new Error(`segmentIndex must be between 0 and ${i.segmentCount-1}`)}return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/ListVectors`,i,{headers:n.headers}))}async queryVectors(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/QueryVectors`,i,{headers:n.headers}))}async deleteVectors(i){var n=this;if(i.keys.length<1||i.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/DeleteVectors`,i,{headers:n.headers})||{})}},mw=class extends gs{constructor(i,n={},r){const l=i.replace(/\/$/,""),c=fe(fe({},Yl),{},{"Content-Type":"application/json"},n);super(l,c,r,"vectors")}async createBucket(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/CreateVectorBucket`,{vectorBucketName:i},{headers:n.headers})||{})}async getBucket(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/GetVectorBucket`,{vectorBucketName:i},{headers:n.headers}))}async listBuckets(i={}){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/ListVectorBuckets`,i,{headers:n.headers}))}async deleteBucket(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/DeleteVectorBucket`,{vectorBucketName:i},{headers:n.headers})||{})}},gw=class extends mw{constructor(i,n={}){super(i,n.headers||{},n.fetch)}from(i){return new pw(this.url,this.headers,i,this.fetch)}async createBucket(i){var n=()=>super.createBucket,r=this;return n().call(r,i)}async getBucket(i){var n=()=>super.getBucket,r=this;return n().call(r,i)}async listBuckets(i={}){var n=()=>super.listBuckets,r=this;return n().call(r,i)}async deleteBucket(i){var n=()=>super.deleteBucket,r=this;return n().call(r,i)}},pw=class extends hw{constructor(i,n,r,l){super(i,n,l),this.vectorBucketName=r}async createIndex(i){var n=()=>super.createIndex,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName}))}async listIndexes(i={}){var n=()=>super.listIndexes,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName}))}async getIndex(i){var n=()=>super.getIndex,r=this;return n().call(r,r.vectorBucketName,i)}async deleteIndex(i){var n=()=>super.deleteIndex,r=this;return n().call(r,r.vectorBucketName,i)}index(i){return new yw(this.url,this.headers,this.vectorBucketName,i,this.fetch)}},yw=class extends fw{constructor(i,n,r,l,c){super(i,n,c),this.vectorBucketName=r,this.indexName=l}async putVectors(i){var n=()=>super.putVectors,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async getVectors(i){var n=()=>super.getVectors,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async listVectors(i={}){var n=()=>super.listVectors,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async queryVectors(i){var n=()=>super.queryVectors,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async deleteVectors(i){var n=()=>super.deleteVectors,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}},vw=class extends uw{constructor(i,n={},r,l){super(i,n,r,l)}from(i){return new ow(this.url,this.headers,i,this.fetch)}get vectors(){return new gw(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new dw(this.url+"/iceberg",this.headers,this.fetch)}};const Xy="2.110.0",ja=30*1e3,Rl=3,ph=Rl*ja,bw=2*ja,Sw="http://localhost:9999",ww="supabase.auth.token",_w={"X-Client-Info":`gotrue-js/${Xy}`},Hh="X-Supabase-Api-Version",Qy={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},Tw=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,kw=600*1e3;class Vl extends Error{constructor(n,r,l){super(n),this.__isAuthError=!0,this.name="AuthError",this.status=r,this.code=l}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}}function ie(i){return typeof i=="object"&&i!==null&&"__isAuthError"in i}class Aw extends Vl{constructor(n,r,l){super(n,r,l),this.name="AuthApiError",this.status=r,this.code=l}}function Ew(i){return ie(i)&&i.name==="AuthApiError"}class qn extends Vl{constructor(n,r){super(n),this.name="AuthUnknownError",this.originalError=r}}class ta extends Vl{constructor(n,r,l,c){super(n,l,c),this.name=r,this.status=l}}class kt extends ta{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function yc(i){return ie(i)&&i.name==="AuthSessionMissingError"}class es extends ta{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class vc extends ta{constructor(n){super(n,"AuthInvalidCredentialsError",400,void 0)}}class bc extends ta{constructor(n,r=null){super(n,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}function xw(i){return ie(i)&&i.name==="AuthImplicitGrantRedirectError"}class Yp extends ta{constructor(n,r=null){super(n,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}class Cw extends ta{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class $h extends ta{constructor(n,r){super(n,"AuthRetryableFetchError",r,void 0)}}function Wp(i){return ie(i)&&i.name==="AuthRetryableFetchError"}class Jp extends ta{constructor(n="Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)"){super(n,"AuthRefreshDiscardedError",409,void 0)}}function Rw(i){return ie(i)&&i.name==="AuthRefreshDiscardedError"}class Xp extends ta{constructor(n,r,l){super(n,"AuthWeakPasswordError",r,"weak_password"),this.reasons=l}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}}class xc extends ta{constructor(n){super(n,"AuthInvalidJwtError",400,"invalid_jwt")}}const Cc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),Qp=`
|
|
21
|
-
\r=`.split(""),Ow=(()=>{const i=new Array(128);for(let n=0;n<i.length;n+=1)i[n]=-1;for(let n=0;n<Qp.length;n+=1)i[Qp[n].charCodeAt(0)]=-2;for(let n=0;n<Cc.length;n+=1)i[Cc[n].charCodeAt(0)]=n;return i})();function Zp(i,n,r){if(i!==null)for(n.queue=n.queue<<8|i,n.queuedBits+=8;n.queuedBits>=6;){const l=n.queue>>n.queuedBits-6&63;r(Cc[l]),n.queuedBits-=6}else if(n.queuedBits>0)for(n.queue=n.queue<<6-n.queuedBits,n.queuedBits=6;n.queuedBits>=6;){const l=n.queue>>n.queuedBits-6&63;r(Cc[l]),n.queuedBits-=6}}function Zy(i,n,r){const l=Ow[i];if(l>-1)for(n.queue=n.queue<<6|l,n.queuedBits+=6;n.queuedBits>=8;)r(n.queue>>n.queuedBits-8&255),n.queuedBits-=8;else{if(l===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(i)}"`)}}function ey(i){const n=[],r=h=>{n.push(String.fromCodePoint(h))},l={utf8seq:0,codepoint:0},c={queue:0,queuedBits:0},d=h=>{Lw(h,l,r)};for(let h=0;h<i.length;h+=1)Zy(i.charCodeAt(h),c,d);return n.join("")}function jw(i,n){if(i<=127){n(i);return}else if(i<=2047){n(192|i>>6),n(128|i&63);return}else if(i<=65535){n(224|i>>12),n(128|i>>6&63),n(128|i&63);return}else if(i<=1114111){n(240|i>>18),n(128|i>>12&63),n(128|i>>6&63),n(128|i&63);return}throw new Error(`Unrecognized Unicode codepoint: ${i.toString(16)}`)}function Nw(i,n){for(let r=0;r<i.length;r+=1){let l=i.charCodeAt(r);if(l>55295&&l<=56319){const c=(l-55296)*1024&65535;l=(i.charCodeAt(r+1)-56320&65535|c)+65536,r+=1}jw(l,n)}}function Lw(i,n,r){if(n.utf8seq===0){if(i<=127){r(i);return}for(let l=1;l<6;l+=1)if((i>>7-l&1)===0){n.utf8seq=l;break}if(n.utf8seq===2)n.codepoint=i&31;else if(n.utf8seq===3)n.codepoint=i&15;else if(n.utf8seq===4)n.codepoint=i&7;else throw new Error("Invalid UTF-8 sequence");n.utf8seq-=1}else if(n.utf8seq>0){if(i<=127)throw new Error("Invalid UTF-8 sequence");n.codepoint=n.codepoint<<6|i&63,n.utf8seq-=1,n.utf8seq===0&&r(n.codepoint)}}function hs(i){const n=[],r={queue:0,queuedBits:0},l=c=>{n.push(c)};for(let c=0;c<i.length;c+=1)Zy(i.charCodeAt(c),r,l);return new Uint8Array(n)}function Mw(i){const n=[];return Nw(i,r=>n.push(r)),new Uint8Array(n)}function nr(i){const n=[],r={queue:0,queuedBits:0},l=c=>{n.push(c)};return i.forEach(c=>Zp(c,r,l)),Zp(null,r,l),n.join("")}function Dw(i){return Math.round(Date.now()/1e3)+i}function Uw(){return Symbol("auth-callback")}const Dt=()=>typeof window<"u"&&typeof document<"u",Zi={tested:!1,writable:!1},ev=()=>{if(!Dt())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Zi.tested)return Zi.writable;const i=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(i,i),globalThis.localStorage.removeItem(i),Zi.tested=!0,Zi.writable=!0}catch{Zi.tested=!0,Zi.writable=!1}return Zi.writable};function zw(i){const n={},r=new URL(i);if(r.hash&&r.hash[0]==="#")try{new URLSearchParams(r.hash.substring(1)).forEach((c,d)=>{n[d]=c})}catch{}return r.searchParams.forEach((l,c)=>{n[c]=l}),n}const tv=i=>i?(...n)=>i(...n):(...n)=>fetch(...n),Bw=i=>typeof i=="object"&&i!==null&&"status"in i&&"ok"in i&&"json"in i&&typeof i.json=="function",os=async(i,n,r)=>{await i.setItem(n,JSON.stringify(r))},zn=async(i,n)=>{const r=await i.getItem(n);if(!r)return null;try{return JSON.parse(r)}catch{return null}},ft=async(i,n)=>{await i.removeItem(n)};class zc{constructor(){this.promise=new zc.promiseConstructor((n,r)=>{this.resolve=n,this.reject=r})}}zc.promiseConstructor=Promise;function Sc(i){const n=i.split(".");if(n.length!==3)throw new xc("Invalid JWT structure");for(let l=0;l<n.length;l++)if(!Tw.test(n[l]))throw new xc("JWT not in base64url format");return{header:JSON.parse(ey(n[0])),payload:JSON.parse(ey(n[1])),signature:hs(n[2]),raw:{header:n[0],payload:n[1]}}}async function Pw(i){return await new Promise(n=>{setTimeout(()=>n(null),i)})}function Hw(i,n){return new Promise((l,c)=>{(async()=>{for(let d=0;d<1/0;d++)try{const h=await i(d);if(!n(d,null,h)){l(h);return}}catch(h){if(!n(d,h)){c(h);return}}})()})}function $w(i){return("0"+i.toString(16)).substr(-2)}function qw(){const n=new Uint32Array(56);if(typeof crypto>"u"){const r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",l=r.length;let c="";for(let d=0;d<56;d++)c+=r.charAt(Math.floor(Math.random()*l));return c}return crypto.getRandomValues(n),Array.from(n,$w).join("")}async function Iw(i){const r=new TextEncoder().encode(i),l=await crypto.subtle.digest("SHA-256",r),c=new Uint8Array(l);return Array.from(c).map(d=>String.fromCharCode(d)).join("")}async function Gw(i){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),i;const r=await Iw(i);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function er(i,n,r=!1){const l=qw();let c=l;r&&(c+="/recovery"),await os(i,`${n}-code-verifier`,c);const d=await Gw(l);return[d,l===d?"plain":"s256"]}const Vw=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function Kw(i){const n=i.headers.get(Hh);if(!n||!n.match(Vw))return null;try{return new Date(`${n}T00:00:00.0Z`)}catch{return null}}function Fw(i){if(!i)throw new Error("Missing exp claim");const n=Math.floor(Date.now()/1e3);if(i<=n)throw new Error("JWT has expired")}function Yw(i){switch(i){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const Ww=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function xa(i){if(!Ww.test(i))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function Pn(i){if(!i.passkey)throw new Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function yh(){const i={};return new Proxy(i,{get:(n,r)=>{if(r==="__isUserNotAvailableProxy")return!0;if(typeof r=="symbol"){const l=r.toString();if(l==="Symbol(Symbol.toPrimitive)"||l==="Symbol(Symbol.toStringTag)"||l==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${r}" property of the session object is not supported. Please use getUser() instead.`)},set:(n,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(n,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function Jw(i,n){return new Proxy(i,{get:(r,l,c)=>{if(l==="__isInsecureUserWarningProxy")return!0;if(typeof l=="symbol"){const d=l.toString();if(d==="Symbol(Symbol.toPrimitive)"||d==="Symbol(Symbol.toStringTag)"||d==="Symbol(util.inspect.custom)"||d==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(r,l,c)}return!n.value&&typeof l=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),n.value=!0),Reflect.get(r,l,c)}})}function ty(i){return JSON.parse(JSON.stringify(i))}const tr=i=>{if(typeof i=="object"&&i!==null){const n=i;if(typeof n.msg=="string")return n.msg;if(typeof n.message=="string")return n.message;if(typeof n.error_description=="string")return n.error_description;if(typeof n.error=="string")return n.error}return JSON.stringify(i)},Xw=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function ny(i){var n;if(!Bw(i))throw new $h(tr(i),0);if(Xw.includes(i.status))throw new $h(tr(i),i.status);let r;try{r=await i.json()}catch(d){throw new qn(tr(d),d)}let l;const c=Kw(i);if(c&&c.getTime()>=Qy["2024-01-01"].timestamp&&typeof r=="object"&&r&&typeof r.code=="string"?l=r.code:typeof r=="object"&&r&&typeof r.error_code=="string"&&(l=r.error_code),l){if(l==="weak_password")throw new Xp(tr(r),i.status,((n=r.weak_password)===null||n===void 0?void 0:n.reasons)||[]);if(l==="session_not_found")throw new kt}else if(typeof r=="object"&&r&&typeof r.weak_password=="object"&&r.weak_password&&Array.isArray(r.weak_password.reasons)&&r.weak_password.reasons.length&&r.weak_password.reasons.reduce((d,h)=>d&&typeof h=="string",!0))throw new Xp(tr(r),i.status,r.weak_password.reasons);throw new Aw(tr(r),i.status||500,l)}const Qw=(i,n,r,l)=>{const c={method:i,headers:n?.headers||{}};return i==="GET"?c:(c.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},n?.headers),c.body=JSON.stringify(l),Object.assign(Object.assign({},c),r))};async function oe(i,n,r,l){var c;const d=Object.assign({},l?.headers);d[Hh]||(d[Hh]=Qy["2024-01-01"].name),l?.jwt&&(d.Authorization=`Bearer ${l.jwt}`);const h=(c=l?.query)!==null&&c!==void 0?c:{};l?.redirectTo&&(h.redirect_to=l.redirectTo);const m=Object.keys(h).length?"?"+new URLSearchParams(h).toString():"",f=await Zw(i,n,r+m,{headers:d,noResolveJson:l?.noResolveJson},{},l?.body);return l?.xform?l?.xform(f):{data:Object.assign({},f),error:null}}async function Zw(i,n,r,l,c,d){const h=Qw(n,l,c,d);let m;try{m=await i(r,Object.assign({},h))}catch(f){throw console.error(f),new $h(tr(f),0)}if(m.ok||await ny(m),l?.noResolveJson)return m;try{return await m.json()}catch(f){await ny(f)}}function En(i){var n;let r=null;n_(i)&&(r=Object.assign({},i),i.expires_at||(r.expires_at=Dw(i.expires_in)));const l=(n=i.user)!==null&&n!==void 0?n:typeof i?.id=="string"?i:null;return{data:{session:r,user:l},error:null}}function ay(i){const n=En(i);return!n.error&&i.weak_password&&typeof i.weak_password=="object"&&Array.isArray(i.weak_password.reasons)&&i.weak_password.reasons.length&&i.weak_password.message&&typeof i.weak_password.message=="string"&&i.weak_password.reasons.reduce((r,l)=>r&&typeof l=="string",!0)&&(n.data.weak_password=i.weak_password),n}function yi(i){var n;return{data:{user:(n=i.user)!==null&&n!==void 0?n:i},error:null}}function e_(i){return{data:i,error:null}}function t_(i){const{action_link:n,email_otp:r,hashed_token:l,redirect_to:c,verification_type:d}=i,h=Mc(i,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),m={action_link:n,email_otp:r,hashed_token:l,redirect_to:c,verification_type:d},f=Object.assign({},h);return{data:{properties:m,user:f},error:null}}function iy(i){return i}function n_(i){return!!i.access_token&&!!i.refresh_token&&!!i.expires_in}const vh=["global","local","others"];class a_{constructor({url:n="",headers:r={},fetch:l,experimental:c}){this.url=n,this.headers=r,this.fetch=tv(l),this.experimental=c??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(n,r=vh[0]){if(vh.indexOf(r)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${vh.join(", ")}`);try{return await oe(this.fetch,"POST",`${this.url}/logout?scope=${r}`,{headers:this.headers,jwt:n,noResolveJson:!0}),{data:null,error:null}}catch(l){if(ie(l))return{data:null,error:l};throw l}}async inviteUserByEmail(n,r={}){try{return await oe(this.fetch,"POST",`${this.url}/invite`,{body:{email:n,data:r.data},headers:this.headers,redirectTo:r.redirectTo,xform:yi})}catch(l){if(ie(l))return{data:{user:null},error:l};throw l}}async generateLink(n){try{const{options:r}=n,l=Mc(n,["options"]),c=Object.assign(Object.assign({},l),r);return"newEmail"in l&&(c.new_email=l?.newEmail,delete c.newEmail),await oe(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:c,headers:this.headers,xform:t_,redirectTo:r?.redirectTo})}catch(r){if(ie(r))return{data:{properties:null,user:null},error:r};throw r}}async createUser(n){try{return await oe(this.fetch,"POST",`${this.url}/admin/users`,{body:n,headers:this.headers,xform:yi})}catch(r){if(ie(r))return{data:{user:null},error:r};throw r}}async listUsers(n){var r,l,c,d,h,m,f;try{const y={nextPage:null,lastPage:0,total:0},w=await oe(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(l=(r=n?.page)===null||r===void 0?void 0:r.toString())!==null&&l!==void 0?l:"",per_page:(d=(c=n?.perPage)===null||c===void 0?void 0:c.toString())!==null&&d!==void 0?d:""},xform:iy});if(w.error)throw w.error;const S=await w.json(),T=(h=w.headers.get("x-total-count"))!==null&&h!==void 0?h:0,x=(f=(m=w.headers.get("link"))===null||m===void 0?void 0:m.split(","))!==null&&f!==void 0?f:[];return x.length>0&&(x.forEach(R=>{const z=parseInt(R.split(";")[0].split("=")[1].substring(0,1)),G=JSON.parse(R.split(";")[1].split("=")[1]);y[`${G}Page`]=z}),y.total=parseInt(T)),{data:Object.assign(Object.assign({},S),y),error:null}}catch(y){if(ie(y))return{data:{users:[]},error:y};throw y}}async getUserById(n){xa(n);try{return await oe(this.fetch,"GET",`${this.url}/admin/users/${n}`,{headers:this.headers,xform:yi})}catch(r){if(ie(r))return{data:{user:null},error:r};throw r}}async updateUserById(n,r){xa(n);try{return await oe(this.fetch,"PUT",`${this.url}/admin/users/${n}`,{body:r,headers:this.headers,xform:yi})}catch(l){if(ie(l))return{data:{user:null},error:l};throw l}}async deleteUser(n,r=!1){xa(n);try{return await oe(this.fetch,"DELETE",`${this.url}/admin/users/${n}`,{headers:this.headers,body:{should_soft_delete:r},xform:yi})}catch(l){if(ie(l))return{data:{user:null},error:l};throw l}}async _listFactors(n){xa(n.userId);try{const{data:r,error:l}=await oe(this.fetch,"GET",`${this.url}/admin/users/${n.userId}/factors`,{headers:this.headers,xform:c=>({data:{factors:c},error:null})});return{data:r,error:l}}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _deleteFactor(n){xa(n.userId),xa(n.id);try{return{data:await oe(this.fetch,"DELETE",`${this.url}/admin/users/${n.userId}/factors/${n.id}`,{headers:this.headers}),error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _listOAuthClients(n){var r,l,c,d,h,m,f;try{const y={nextPage:null,lastPage:0,total:0},w=await oe(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(l=(r=n?.page)===null||r===void 0?void 0:r.toString())!==null&&l!==void 0?l:"",per_page:(d=(c=n?.perPage)===null||c===void 0?void 0:c.toString())!==null&&d!==void 0?d:""},xform:iy});if(w.error)throw w.error;const S=await w.json(),T=(h=w.headers.get("x-total-count"))!==null&&h!==void 0?h:0,x=(f=(m=w.headers.get("link"))===null||m===void 0?void 0:m.split(","))!==null&&f!==void 0?f:[];return x.length>0&&(x.forEach(R=>{const z=parseInt(R.split(";")[0].split("=")[1].substring(0,1)),G=JSON.parse(R.split(";")[1].split("=")[1]);y[`${G}Page`]=z}),y.total=parseInt(T)),{data:Object.assign(Object.assign({},S),y),error:null}}catch(y){if(ie(y))return{data:{clients:[]},error:y};throw y}}async _createOAuthClient(n){try{return await oe(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:n,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _getOAuthClient(n){try{return await oe(this.fetch,"GET",`${this.url}/admin/oauth/clients/${n}`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _updateOAuthClient(n,r){try{return await oe(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${n}`,{body:r,headers:this.headers,xform:l=>({data:l,error:null})})}catch(l){if(ie(l))return{data:null,error:l};throw l}}async _deleteOAuthClient(n){try{return await oe(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${n}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _regenerateOAuthClientSecret(n){try{return await oe(this.fetch,"POST",`${this.url}/admin/oauth/clients/${n}/regenerate_secret`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _listCustomProviders(n){try{const r={};return n?.type&&(r.type=n.type),await oe(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:r,xform:l=>{var c;return{data:{providers:(c=l?.providers)!==null&&c!==void 0?c:[]},error:null}}})}catch(r){if(ie(r))return{data:{providers:[]},error:r};throw r}}async _createCustomProvider(n){try{return await oe(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:n,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _getCustomProvider(n){try{return await oe(this.fetch,"GET",`${this.url}/admin/custom-providers/${n}`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _updateCustomProvider(n,r){try{return await oe(this.fetch,"PUT",`${this.url}/admin/custom-providers/${n}`,{body:r,headers:this.headers,xform:l=>({data:l,error:null})})}catch(l){if(ie(l))return{data:null,error:l};throw l}}async _deleteCustomProvider(n){try{return await oe(this.fetch,"DELETE",`${this.url}/admin/custom-providers/${n}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _adminListPasskeys(n){Pn(this.experimental),xa(n.userId);try{return await oe(this.fetch,"GET",`${this.url}/admin/users/${n.userId}/passkeys`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _adminDeletePasskey(n){Pn(this.experimental),xa(n.userId),xa(n.passkeyId);try{return await oe(this.fetch,"DELETE",`${this.url}/admin/users/${n.userId}/passkeys/${n.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}}}function ry(i={}){return{getItem:n=>i[n]||null,setItem:(n,r)=>{i[n]=r},removeItem:n=>{delete i[n]}}}globalThis&&ev()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug");class i_ extends Error{constructor(n){super(n),this.isAcquireTimeout=!0}}function r_(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function nv(i){if(!/^0x[a-fA-F0-9]{40}$/.test(i))throw new Error(`@supabase/auth-js: Address "${i}" is invalid.`);return i.toLowerCase()}function s_(i){return parseInt(i,16)}function l_(i){const n=new TextEncoder().encode(i);return"0x"+Array.from(n,l=>l.toString(16).padStart(2,"0")).join("")}function o_(i){var n;const{chainId:r,domain:l,expirationTime:c,issuedAt:d=new Date,nonce:h,notBefore:m,requestId:f,resources:y,scheme:w,uri:S,version:T}=i;{if(!Number.isInteger(r))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${r}`);if(!l)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(h&&h.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${h}`);if(!S)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(T!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${T}`);if(!((n=i.statement)===null||n===void 0)&&n.includes(`
|
|
22
|
-
`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${i.statement}`)}const x=
|
|
20
|
+
});`;class GS{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(n,r){var l;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={},this.ref=0,this.serializer=new uS,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=d=>d?(...h)=>d(...h):(...h)=>fetch(...h),!(!((l=r?.params)===null||l===void 0)&&l.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=r.params.apikey;const c=this._initializeOptions(r);this.socketAdapter=new BS(n,c),this.httpEndpoint=Ky(n),this.fetch=this._resolveFetch(r?.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(n){const r=n.message;throw new Error(`WebSocket not available: ${r}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(n,r){return this._cancelPendingDisconnect(),this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},n,r)}getChannels(){return this.channels}async removeChannel(n){const r=await n.unsubscribe();return r==="ok"&&n.teardown(),r}async removeAllChannels(){const n=this.channels.map(async l=>{const c=await l.unsubscribe();return l.teardown(),c}),r=await Promise.all(n);return await this.disconnect(),r}log(n,r,l){this.socketAdapter.log(n,r,l)}connectionState(){return this.socketAdapter.connectionState()||Lh.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(n,r={config:{}}){const l=`realtime:${n}`,c=this.getChannels().find(d=>d.topic===l);if(c)return c;{const d=new Ml(`realtime:${n}`,r,this);return this._cancelPendingDisconnect(),this.channels.push(d),d}}push(n){this.socketAdapter.push(n)}async setAuth(n=null){this._authPromise=this._performAuth(n);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(n){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(n)}_makeRef(){return this.socketAdapter.makeRef()}_remove(n){this.channels=this.channels.filter(r=>r.topic!==n.topic),this.channels.length===0&&(this.log("transport","no channels remaining, scheduling disconnect"),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log("transport","disconnecting immediately - no channels"),this.disconnect();return}this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log("transport","deferred disconnect fired - no channels, disconnecting"),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log("transport",`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log("transport","pending disconnect cancelled - channel activity detected"),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(n=null){let r,l=!1;if(n)r=n,l=!0;else if(this.accessToken)try{r=await this.accessToken()}catch(c){this.log("error","Error fetching access token from callback",c),r=this.accessTokenValue}else r=this.accessTokenValue;l?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=r&&(this.accessTokenValue=r,this.channels.forEach(c=>{const d={access_token:r,version:rS};r&&c.updateJoinPayload(d),c.joinedOnce&&c.channelAdapter.isJoined()&&c.channelAdapter.push(Gy.access_token,{access_token:r})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(n="general"){this._isManualToken()||this.setAuth().catch(r=>{this.log("error",`Error setting auth in ${n}`,r)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(r=>{this.log("error","error waiting for auth on connect",r)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(n=>{n.ref&&n.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(n){return(r,l)=>{r=="sent"&&this._setAuthSafely(),n&&n(r,l)}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const n=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(n),this.workerRef.onerror=r=>{this.log("worker","worker error",r.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=r=>{r.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(n){let r;if(n)r=n;else{const l=new Blob([IS],{type:"application/javascript"});r=URL.createObjectURL(l)}return r}_initializeOptions(n){var r,l,c,d,h,m,f,y,w,S,T,x;this.worker=(r=n?.worker)!==null&&r!==void 0?r:!1,this.accessToken=(l=n?.accessToken)!==null&&l!==void 0?l:null;const R={};R.timeout=(c=n?.timeout)!==null&&c!==void 0?c:oS,R.heartbeatIntervalMs=(d=n?.heartbeatIntervalMs)!==null&&d!==void 0?d:Vp.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=(h=n?.disconnectOnEmptyChannelsAfterMs)!==null&&h!==void 0?h:2*((m=n?.heartbeatIntervalMs)!==null&&m!==void 0?m:Vp.HEARTBEAT_INTERVAL),R.transport=(f=n?.transport)!==null&&f!==void 0?f:aS.getWebSocketConstructor(),R.params=n?.params,R.logger=n?.logger,R.heartbeatCallback=this._wrapHeartbeatCallback(n?.heartbeatCallback),R.sessionStorage=(y=n?.sessionStorage)!==null&&y!==void 0?y:qS(),R.reconnectAfterMs=(w=n?.reconnectAfterMs)!==null&&w!==void 0?w:(I=>PS[I-1]||HS);let z,G;const V=(S=n?.vsn)!==null&&S!==void 0?S:lS;switch(V){case sS:z=(I,F)=>F(JSON.stringify(I)),G=(I,F)=>F(JSON.parse(I));break;case Iy:z=this.serializer.encode.bind(this.serializer),G=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${R.vsn}`)}if(R.vsn=V,R.encode=(T=n?.encode)!==null&&T!==void 0?T:z,R.decode=(x=n?.decode)!==null&&x!==void 0?x:G,R.beforeReconnect=this._reconnectAuth.bind(this),(n?.logLevel||n?.log_level)&&(this.logLevel=n.logLevel||n.log_level,R.params=Object.assign(Object.assign({},R.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=n?.workerUrl,R.autoSendHeartbeat=!this.worker}return R}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}var $l=class extends Error{constructor(i,n){super(i),this.name="IcebergError",this.status=n.status,this.icebergType=n.icebergType,this.icebergCode=n.icebergCode,this.details=n.details,this.isCommitStateUnknown=n.icebergType==="CommitStateUnknownException"||[500,502,504].includes(n.status)&&n.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function VS(i,n,r){const l=new URL(n,i);if(r)for(const[c,d]of Object.entries(r))d!==void 0&&l.searchParams.set(c,d);return l.toString()}async function KS(i){return!i||i.type==="none"?{}:i.type==="bearer"?{Authorization:`Bearer ${i.token}`}:i.type==="header"?{[i.name]:i.value}:i.type==="custom"?await i.getHeaders():{}}function FS(i){const n=i.fetchImpl??globalThis.fetch;return{async request({method:r,path:l,query:c,body:d,headers:h}){const m=VS(i.baseUrl,l,c),f=await KS(i.auth),y=await n(m,{method:r,headers:{...d?{"Content-Type":"application/json"}:{},...f,...h},body:d?JSON.stringify(d):void 0}),w=await y.text(),S=(y.headers.get("content-type")||"").includes("application/json"),T=S&&w?JSON.parse(w):w;if(!y.ok){const x=S?T:void 0,R=x?.error;throw new $l(R?.message??`Request failed with status ${y.status}`,{status:y.status,icebergType:R?.type,icebergCode:R?.code,details:x})}return{status:y.status,headers:y.headers,data:T}}}}function pc(i){return i.join("")}var YS=class{constructor(i,n=""){this.client=i,this.prefix=n}async listNamespaces(i){const n=i?{parent:pc(i.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:n})).data.namespaces.map(l=>({namespace:l}))}async createNamespace(i,n){const r={namespace:i.namespace,properties:n?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:r})).data}async dropNamespace(i){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${pc(i.namespace)}`})}async loadNamespaceMetadata(i){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${pc(i.namespace)}`})).data.properties}}async namespaceExists(i){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${pc(i.namespace)}`}),!0}catch(n){if(n instanceof $l&&n.status===404)return!1;throw n}}async createNamespaceIfNotExists(i,n){try{return await this.createNamespace(i,n)}catch(r){if(r instanceof $l&&r.status===409)return;throw r}}};function Zr(i){return i.join("")}var WS=class{constructor(i,n="",r){this.client=i,this.prefix=n,this.accessDelegation=r}async listTables(i){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables`})).data.identifiers}async createTable(i,n){const r={};return this.accessDelegation&&(r["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables`,body:n,headers:r})).data.metadata}async updateTable(i,n){const r=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables/${i.name}`,body:n});return{"metadata-location":r.data["metadata-location"],metadata:r.data.metadata}}async dropTable(i,n){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables/${i.name}`,query:{purgeRequested:String(n?.purge??!1)}})}async loadTable(i){const n={};return this.accessDelegation&&(n["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables/${i.name}`,headers:n})).data.metadata}async tableExists(i){const n={};this.accessDelegation&&(n["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Zr(i.namespace)}/tables/${i.name}`,headers:n}),!0}catch(r){if(r instanceof $l&&r.status===404)return!1;throw r}}async createTableIfNotExists(i,n){try{return await this.createTable(i,n)}catch(r){if(r instanceof $l&&r.status===409)return await this.loadTable({namespace:i.namespace,name:n.name});throw r}}},JS=class{constructor(i){let n="v1";i.catalogName&&(n+=`/${i.catalogName}`);const r=i.baseUrl.endsWith("/")?i.baseUrl:`${i.baseUrl}/`;this.client=FS({baseUrl:r,auth:i.auth,fetchImpl:i.fetch}),this.accessDelegation=i.accessDelegation?.join(","),this.namespaceOps=new YS(this.client,n),this.tableOps=new WS(this.client,n,this.accessDelegation)}async listNamespaces(i){return this.namespaceOps.listNamespaces(i)}async createNamespace(i,n){return this.namespaceOps.createNamespace(i,n)}async dropNamespace(i){await this.namespaceOps.dropNamespace(i)}async loadNamespaceMetadata(i){return this.namespaceOps.loadNamespaceMetadata(i)}async listTables(i){return this.tableOps.listTables(i)}async createTable(i,n){return this.tableOps.createTable(i,n)}async updateTable(i,n){return this.tableOps.updateTable(i,n)}async dropTable(i,n){await this.tableOps.dropTable(i,n)}async loadTable(i){return this.tableOps.loadTable(i)}async namespaceExists(i){return this.namespaceOps.namespaceExists(i)}async tableExists(i){return this.tableOps.tableExists(i)}async createNamespaceIfNotExists(i,n){return this.namespaceOps.createNamespaceIfNotExists(i,n)}async createTableIfNotExists(i,n){return this.tableOps.createTableIfNotExists(i,n)}};function ql(i){"@babel/helpers - typeof";return ql=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ql(i)}function XS(i,n){if(ql(i)!="object"||!i)return i;var r=i[Symbol.toPrimitive];if(r!==void 0){var l=r.call(i,n);if(ql(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function QS(i){var n=XS(i,"string");return ql(n)=="symbol"?n:n+""}function ZS(i,n,r){return(n=QS(n))in i?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,i}function Kp(i,n){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(i);n&&(l=l.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),r.push.apply(r,l)}return r}function fe(i){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Kp(Object(r),!0).forEach(function(l){ZS(i,l,r[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(r)):Kp(Object(r)).forEach(function(l){Object.defineProperty(i,l,Object.getOwnPropertyDescriptor(r,l))})}return i}var Dc=class extends Error{constructor(i,n="storage",r,l){super(i),this.__isStorageError=!0,this.namespace=n,this.name=n==="vectors"?"StorageVectorsError":"StorageError",this.status=r,this.statusCode=l}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function Uc(i){return typeof i=="object"&&i!==null&&"__isStorageError"in i}var zh=class extends Dc{constructor(i,n,r,l="storage"){super(i,l,n,r),this.name=l==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=n,this.statusCode=r}toJSON(){return fe({},super.toJSON())}},Yy=class extends Dc{constructor(i,n,r="storage"){super(i,r),this.name=r==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=n}};function Ec(i,n,r){const l=fe({},i),c=n.toLowerCase();for(const d of Object.keys(l))d.toLowerCase()===c&&delete l[d];return l[c]=r,l}function ew(i){const n={};for(const[r,l]of Object.entries(i))n[r.toLowerCase()]=l;return n}const tw=i=>i?(...n)=>i(...n):(...n)=>fetch(...n),nw=i=>{if(typeof i!="object"||i===null)return!1;const n=Object.getPrototypeOf(i);return(n===null||n===Object.prototype||Object.getPrototypeOf(n)===null)&&!(Symbol.toStringTag in i)&&!(Symbol.iterator in i)},Bh=i=>{if(Array.isArray(i))return i.map(r=>Bh(r));if(typeof i=="function"||i!==Object(i))return i;const n={};return Object.entries(i).forEach(([r,l])=>{const c=r.replace(/([-_][a-z])/gi,d=>d.toUpperCase().replace(/[-_]/g,""));n[c]=Bh(l)}),n},aw=i=>!i||typeof i!="string"||i.length===0||i.length>100||i.trim()!==i||i.includes("/")||i.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(i),Fp=i=>{if(typeof i=="object"&&i!==null){const n=i;if(typeof n.msg=="string")return n.msg;if(typeof n.message=="string")return n.message;if(typeof n.error_description=="string")return n.error_description;if(typeof n.error=="string")return n.error;if(typeof n.error=="object"&&n.error!==null){const r=n.error;if(typeof r.message=="string")return r.message}}return JSON.stringify(i)},iw=async(i,n,r,l)=>{if(i!==null&&typeof i=="object"&&"json"in i&&typeof i.json=="function"){const c=i;let d=parseInt(String(c.status),10);Number.isFinite(d)||(d=500),c.json().then(h=>{const m=h?.statusCode||h?.code||d+"";n(new zh(Fp(h),d,m,l))}).catch(()=>{const h=d+"";n(new zh(c.statusText||`HTTP ${d} error`,d,h,l))})}else n(new Yy(Fp(i),i,l))},rw=(i,n,r,l)=>{const c={method:i,headers:n?.headers||{}};if(i==="GET"||i==="HEAD"||!l)return fe(fe({},c),r);if(nw(l)){var d;const h=n?.headers||{};let m;for(const[f,y]of Object.entries(h))f.toLowerCase()==="content-type"&&(m=y);c.headers=Ec(h,"Content-Type",(d=m)!==null&&d!==void 0?d:"application/json"),c.body=JSON.stringify(l)}else c.body=l;return n?.duplex&&(c.duplex=n.duplex),fe(fe({},c),r)};async function _l(i,n,r,l,c,d,h){return new Promise((m,f)=>{i(r,rw(n,l,c,d)).then(y=>{if(!y.ok)throw y;if(l?.noResolveJson)return y;if(h==="vectors"){const w=y.headers.get("content-type");if(y.headers.get("content-length")==="0"||y.status===204)return{};if(!w||!w.includes("application/json"))return{}}return y.json()}).then(y=>m(y)).catch(y=>iw(y,f,l,h))})}function Wy(i="storage"){return{get:async(n,r,l,c)=>_l(n,"GET",r,l,c,void 0,i),post:async(n,r,l,c,d)=>_l(n,"POST",r,c,d,l,i),put:async(n,r,l,c,d)=>_l(n,"PUT",r,c,d,l,i),head:async(n,r,l,c)=>_l(n,"HEAD",r,fe(fe({},l),{},{noResolveJson:!0}),c,void 0,i),remove:async(n,r,l,c,d)=>_l(n,"DELETE",r,c,d,l,i)}}const sw=Wy("storage"),{get:Il,post:$n,put:Ph,head:lw,remove:Gl}=sw,fn=Wy("vectors");var ms=class{constructor(i,n={},r,l="storage"){this.shouldThrowOnError=!1,this.url=i,this.headers=ew(n),this.fetch=tw(r),this.namespace=l}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(i,n){return this.headers=Ec(this.headers,i,n),this}async handleOperation(i){var n=this;try{return{data:await i(),error:null}}catch(r){if(n.shouldThrowOnError)throw r;if(Uc(r))return{data:null,error:r};throw r}}};let Jy;Jy=Symbol.toStringTag;var ow=class{constructor(i,n){this.downloadFn=i,this.shouldThrowOnError=n,this[Jy]="StreamDownloadBuilder",this.promise=null}then(i,n){return this.getPromise().then(i,n)}catch(i){return this.getPromise().catch(i)}finally(i){return this.getPromise().finally(i)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var i=this;try{return{data:(await i.downloadFn()).body,error:null}}catch(n){if(i.shouldThrowOnError)throw n;if(Uc(n))return{data:null,error:n};throw n}}};let Xy;Xy=Symbol.toStringTag;var cw=class{constructor(i,n){this.downloadFn=i,this.shouldThrowOnError=n,this[Xy]="BlobDownloadBuilder",this.promise=null}asStream(){return new ow(this.downloadFn,this.shouldThrowOnError)}then(i,n){return this.getPromise().then(i,n)}catch(i){return this.getPromise().catch(i)}finally(i){return this.getPromise().finally(i)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var i=this;try{return{data:await(await i.downloadFn()).blob(),error:null}}catch(n){if(i.shouldThrowOnError)throw n;if(Uc(n))return{data:null,error:n};throw n}}};const gh={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},Yp={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var uw=class extends ms{constructor(i,n={},r,l){super(i,n,l,"storage"),this.bucketId=r}async uploadOrUpdate(i,n,r,l){var c=this;return c.handleOperation(async()=>{let d;const h=fe(fe({},Yp),l);let m=fe(fe({},c.headers),i==="POST"&&{"x-upsert":String(h.upsert)});const f=h.metadata;if(typeof Blob<"u"&&r instanceof Blob?(d=new FormData,d.append("cacheControl",h.cacheControl),f&&d.append("metadata",c.encodeMetadata(f)),d.append("",r)):typeof FormData<"u"&&r instanceof FormData?(d=r,d.has("cacheControl")||d.append("cacheControl",h.cacheControl),f&&!d.has("metadata")&&d.append("metadata",c.encodeMetadata(f))):(d=r,m["cache-control"]=`max-age=${h.cacheControl}`,m["content-type"]=h.contentType,f&&(m["x-metadata"]=c.toBase64(c.encodeMetadata(f))),(typeof ReadableStream<"u"&&d instanceof ReadableStream||d&&typeof d=="object"&&"pipe"in d&&typeof d.pipe=="function")&&!h.duplex&&(h.duplex="half")),l?.headers)for(const[T,x]of Object.entries(l.headers))m=Ec(m,T,x);const y=c._removeEmptyFolders(n),w=c._getFinalPath(y),S=await(i=="PUT"?Ph:$n)(c.fetch,`${c.url}/object/${w}`,d,fe({headers:m},h?.duplex?{duplex:h.duplex}:{}));return{path:y,id:S.Id,fullPath:S.Key}})}async upload(i,n,r){return this.uploadOrUpdate("POST",i,n,r)}async uploadToSignedUrl(i,n,r,l){var c=this;const d=c._removeEmptyFolders(i),h=c._getFinalPath(d),m=new URL(c.url+`/object/upload/sign/${h}`);return m.searchParams.set("token",n),c.handleOperation(async()=>{let f;const y=fe(fe({},Yp),l);let w=fe(fe({},c.headers),{"x-upsert":String(y.upsert)});const S=y.metadata;if(typeof Blob<"u"&&r instanceof Blob?(f=new FormData,f.append("cacheControl",y.cacheControl),S&&f.append("metadata",c.encodeMetadata(S)),f.append("",r)):typeof FormData<"u"&&r instanceof FormData?(f=r,f.has("cacheControl")||f.append("cacheControl",y.cacheControl),S&&!f.has("metadata")&&f.append("metadata",c.encodeMetadata(S))):(f=r,w["cache-control"]=`max-age=${y.cacheControl}`,w["content-type"]=y.contentType,S&&(w["x-metadata"]=c.toBase64(c.encodeMetadata(S))),(typeof ReadableStream<"u"&&f instanceof ReadableStream||f&&typeof f=="object"&&"pipe"in f&&typeof f.pipe=="function")&&!y.duplex&&(y.duplex="half")),l?.headers)for(const[T,x]of Object.entries(l.headers))w=Ec(w,T,x);return{path:d,fullPath:(await Ph(c.fetch,m.toString(),f,fe({headers:w},y?.duplex?{duplex:y.duplex}:{}))).Key}})}async createSignedUploadUrl(i,n){var r=this;return r.handleOperation(async()=>{let l=r._getFinalPath(i);const c=fe({},r.headers);n?.upsert&&(c["x-upsert"]="true");const d=await $n(r.fetch,`${r.url}/object/upload/sign/${l}`,{},{headers:c}),h=new URL(r.url+d.url),m=h.searchParams.get("token");if(!m)throw new Dc("No token returned by API");return{signedUrl:h.toString(),path:i,token:m}})}async update(i,n,r){return this.uploadOrUpdate("PUT",i,n,r)}async move(i,n,r){var l=this;return l.handleOperation(async()=>await $n(l.fetch,`${l.url}/object/move`,{bucketId:l.bucketId,sourceKey:i,destinationKey:n,destinationBucket:r?.destinationBucket},{headers:l.headers}))}async copy(i,n,r){var l=this;return l.handleOperation(async()=>({path:(await $n(l.fetch,`${l.url}/object/copy`,{bucketId:l.bucketId,sourceKey:i,destinationKey:n,destinationBucket:r?.destinationBucket},{headers:l.headers})).Key}))}async createSignedUrl(i,n,r){var l=this;return l.handleOperation(async()=>{let c=l._getFinalPath(i);const d=typeof r?.transform=="object"&&r.transform!==null&&Object.keys(r.transform).length>0;let h=await $n(l.fetch,`${l.url}/object/sign/${c}`,fe({expiresIn:n},d?{transform:r.transform}:{}),{headers:l.headers});const m=new URLSearchParams;r?.download&&m.set("download",r.download===!0?"":r.download),r?.cacheNonce!=null&&m.set("cacheNonce",String(r.cacheNonce));const f=m.toString();return{signedUrl:encodeURI(`${l.url}${h.signedURL}${f?`&${f}`:""}`)}})}async createSignedUrls(i,n,r){var l=this;return l.handleOperation(async()=>{const c=await $n(l.fetch,`${l.url}/object/sign/${l.bucketId}`,{expiresIn:n,paths:i},{headers:l.headers}),d=new URLSearchParams;r?.download&&d.set("download",r.download===!0?"":r.download),r?.cacheNonce!=null&&d.set("cacheNonce",String(r.cacheNonce));const h=d.toString();return c.map(m=>fe(fe({},m),{},{signedUrl:m.signedURL?encodeURI(`${l.url}${m.signedURL}${h?`&${h}`:""}`):null}))})}download(i,n,r){const l=typeof n?.transform=="object"&&n.transform!==null&&Object.keys(n.transform).length>0?"render/image/authenticated":"object",c=new URLSearchParams;n?.transform&&this.applyTransformOptsToQuery(c,n.transform),n?.cacheNonce!=null&&c.set("cacheNonce",String(n.cacheNonce));const d=c.toString(),h=this._getFinalPath(i),m=()=>Il(this.fetch,`${this.url}/${l}/${h}${d?`?${d}`:""}`,{headers:this.headers,noResolveJson:!0},r);return new cw(m,this.shouldThrowOnError)}async info(i){var n=this;const r=n._getFinalPath(i);return n.handleOperation(async()=>Bh(await Il(n.fetch,`${n.url}/object/info/${r}`,{headers:n.headers})))}async exists(i){var n=this;const r=n._getFinalPath(i);try{return await lw(n.fetch,`${n.url}/object/${r}`,{headers:n.headers}),{data:!0,error:null}}catch(c){if(n.shouldThrowOnError)throw c;if(Uc(c)){var l;const d=c instanceof zh?c.status:c instanceof Yy?(l=c.originalError)===null||l===void 0?void 0:l.status:void 0;if(d!==void 0&&[400,404].includes(d))return{data:!1,error:c}}throw c}}getPublicUrl(i,n){const r=this._getFinalPath(i),l=new URLSearchParams;n?.download&&l.set("download",n.download===!0?"":n.download),n?.transform&&this.applyTransformOptsToQuery(l,n.transform),n?.cacheNonce!=null&&l.set("cacheNonce",String(n.cacheNonce));const c=l.toString(),d=typeof n?.transform=="object"&&n.transform!==null&&Object.keys(n.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${d}/public/${r}`)+(c?`?${c}`:"")}}}async remove(i){var n=this;return n.handleOperation(async()=>await Gl(n.fetch,`${n.url}/object/${n.bucketId}`,{prefixes:i},{headers:n.headers}))}async purgeCache(i,n,r){var l=this;return l.handleOperation(async()=>{const c=l._getFinalPath(i),d=new URLSearchParams;n?.transformations&&d.set("transformations","true");const h=d.toString();return await Gl(l.fetch,`${l.url}/cdn/${c}${h?`?${h}`:""}`,{},{headers:l.headers},r)})}async list(i,n,r){var l=this;return l.handleOperation(async()=>{const c=n?.sortBy?fe(fe({},gh.sortBy),n.sortBy):gh.sortBy,d=fe(fe(fe({},gh),n),{},{sortBy:c,prefix:i||""});return await $n(l.fetch,`${l.url}/object/list/${l.bucketId}`,d,{headers:l.headers},r)})}async listV2(i,n){var r=this;return r.handleOperation(async()=>{const l=fe({},i);return await $n(r.fetch,`${r.url}/object/list-v2/${r.bucketId}`,l,{headers:r.headers},n)})}encodeMetadata(i){return JSON.stringify(i)}toBase64(i){return typeof Buffer<"u"?Buffer.from(i).toString("base64"):btoa(i)}_getFinalPath(i){return`${this.bucketId}/${i.replace(/^\/+/,"")}`}_removeEmptyFolders(i){return i.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(i,n){return n.width&&i.set("width",n.width.toString()),n.height&&i.set("height",n.height.toString()),n.resize&&i.set("resize",n.resize),n.format&&i.set("format",n.format),n.quality&&i.set("quality",n.quality.toString()),i}};const dw="2.110.0",Yl={"X-Client-Info":`storage-js/${dw}`};var hw=class extends ms{constructor(i,n={},r,l){const c=new URL(i);l?.useNewHostname&&/supabase\.(co|in|red)$/.test(c.hostname)&&!c.hostname.includes("storage.supabase.")&&(c.hostname=c.hostname.replace("supabase.","storage.supabase."));const d=c.href.replace(/\/$/,""),h=fe(fe({},Yl),n);super(d,h,r,"storage")}async listBuckets(i){var n=this;return n.handleOperation(async()=>{const r=n.listBucketOptionsToQueryString(i);return await Il(n.fetch,`${n.url}/bucket${r}`,{headers:n.headers})})}async getBucket(i){var n=this;return n.handleOperation(async()=>await Il(n.fetch,`${n.url}/bucket/${i}`,{headers:n.headers}))}async createBucket(i,n={public:!1}){var r=this;return r.handleOperation(async()=>await $n(r.fetch,`${r.url}/bucket`,{id:i,name:i,type:n.type,public:n.public,file_size_limit:n.fileSizeLimit,allowed_mime_types:n.allowedMimeTypes},{headers:r.headers}))}async updateBucket(i,n){var r=this;return r.handleOperation(async()=>await Ph(r.fetch,`${r.url}/bucket/${i}`,{id:i,name:i,public:n.public,file_size_limit:n.fileSizeLimit,allowed_mime_types:n.allowedMimeTypes},{headers:r.headers}))}async emptyBucket(i){var n=this;return n.handleOperation(async()=>await $n(n.fetch,`${n.url}/bucket/${i}/empty`,{},{headers:n.headers}))}async deleteBucket(i){var n=this;return n.handleOperation(async()=>await Gl(n.fetch,`${n.url}/bucket/${i}`,{},{headers:n.headers}))}async purgeBucketCache(i,n,r){var l=this;return l.handleOperation(async()=>{const c=new URLSearchParams;n?.transformations&&c.set("transformations","true");const d=c.toString();return await Gl(l.fetch,`${l.url}/cdn/${i}${d?`?${d}`:""}`,{},{headers:l.headers},r)})}listBucketOptionsToQueryString(i){const n={};return i&&("limit"in i&&(n.limit=String(i.limit)),"offset"in i&&(n.offset=String(i.offset)),i.search&&(n.search=i.search),i.sortColumn&&(n.sortColumn=i.sortColumn),i.sortOrder&&(n.sortOrder=i.sortOrder)),Object.keys(n).length>0?"?"+new URLSearchParams(n).toString():""}},fw=class extends ms{constructor(i,n={},r){const l=i.replace(/\/$/,""),c=fe(fe({},Yl),n);super(l,c,r,"storage")}async createBucket(i){var n=this;return n.handleOperation(async()=>await $n(n.fetch,`${n.url}/bucket`,{name:i},{headers:n.headers}))}async listBuckets(i){var n=this;return n.handleOperation(async()=>{const r=new URLSearchParams;i?.limit!==void 0&&r.set("limit",i.limit.toString()),i?.offset!==void 0&&r.set("offset",i.offset.toString()),i?.sortColumn&&r.set("sortColumn",i.sortColumn),i?.sortOrder&&r.set("sortOrder",i.sortOrder),i?.search&&r.set("search",i.search);const l=r.toString(),c=l?`${n.url}/bucket?${l}`:`${n.url}/bucket`;return await Il(n.fetch,c,{headers:n.headers})})}async deleteBucket(i){var n=this;return n.handleOperation(async()=>await Gl(n.fetch,`${n.url}/bucket/${i}`,{},{headers:n.headers}))}from(i){var n=this;if(!aw(i))throw new Dc("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const r=new JS({baseUrl:this.url,catalogName:i,auth:{type:"custom",getHeaders:async()=>n.headers},fetch:this.fetch}),l=this.shouldThrowOnError;return new Proxy(r,{get(c,d){const h=c[d];return typeof h!="function"?h:async(...m)=>{try{return{data:await h.apply(c,m),error:null}}catch(f){if(l)throw f;return{data:null,error:f}}}}})}},mw=class extends ms{constructor(i,n={},r){const l=i.replace(/\/$/,""),c=fe(fe({},Yl),{},{"Content-Type":"application/json"},n);super(l,c,r,"vectors")}async createIndex(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/CreateIndex`,i,{headers:n.headers})||{})}async getIndex(i,n){var r=this;return r.handleOperation(async()=>await fn.post(r.fetch,`${r.url}/GetIndex`,{vectorBucketName:i,indexName:n},{headers:r.headers}))}async listIndexes(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/ListIndexes`,i,{headers:n.headers}))}async deleteIndex(i,n){var r=this;return r.handleOperation(async()=>await fn.post(r.fetch,`${r.url}/DeleteIndex`,{vectorBucketName:i,indexName:n},{headers:r.headers})||{})}},gw=class extends ms{constructor(i,n={},r){const l=i.replace(/\/$/,""),c=fe(fe({},Yl),{},{"Content-Type":"application/json"},n);super(l,c,r,"vectors")}async putVectors(i){var n=this;if(i.vectors.length<1||i.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/PutVectors`,i,{headers:n.headers})||{})}async getVectors(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/GetVectors`,i,{headers:n.headers}))}async listVectors(i){var n=this;if(i.segmentCount!==void 0){if(i.segmentCount<1||i.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(i.segmentIndex!==void 0&&(i.segmentIndex<0||i.segmentIndex>=i.segmentCount))throw new Error(`segmentIndex must be between 0 and ${i.segmentCount-1}`)}return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/ListVectors`,i,{headers:n.headers}))}async queryVectors(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/QueryVectors`,i,{headers:n.headers}))}async deleteVectors(i){var n=this;if(i.keys.length<1||i.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/DeleteVectors`,i,{headers:n.headers})||{})}},pw=class extends ms{constructor(i,n={},r){const l=i.replace(/\/$/,""),c=fe(fe({},Yl),{},{"Content-Type":"application/json"},n);super(l,c,r,"vectors")}async createBucket(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/CreateVectorBucket`,{vectorBucketName:i},{headers:n.headers})||{})}async getBucket(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/GetVectorBucket`,{vectorBucketName:i},{headers:n.headers}))}async listBuckets(i={}){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/ListVectorBuckets`,i,{headers:n.headers}))}async deleteBucket(i){var n=this;return n.handleOperation(async()=>await fn.post(n.fetch,`${n.url}/DeleteVectorBucket`,{vectorBucketName:i},{headers:n.headers})||{})}},yw=class extends pw{constructor(i,n={}){super(i,n.headers||{},n.fetch)}from(i){return new vw(this.url,this.headers,i,this.fetch)}async createBucket(i){var n=()=>super.createBucket,r=this;return n().call(r,i)}async getBucket(i){var n=()=>super.getBucket,r=this;return n().call(r,i)}async listBuckets(i={}){var n=()=>super.listBuckets,r=this;return n().call(r,i)}async deleteBucket(i){var n=()=>super.deleteBucket,r=this;return n().call(r,i)}},vw=class extends mw{constructor(i,n,r,l){super(i,n,l),this.vectorBucketName=r}async createIndex(i){var n=()=>super.createIndex,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName}))}async listIndexes(i={}){var n=()=>super.listIndexes,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName}))}async getIndex(i){var n=()=>super.getIndex,r=this;return n().call(r,r.vectorBucketName,i)}async deleteIndex(i){var n=()=>super.deleteIndex,r=this;return n().call(r,r.vectorBucketName,i)}index(i){return new bw(this.url,this.headers,this.vectorBucketName,i,this.fetch)}},bw=class extends gw{constructor(i,n,r,l,c){super(i,n,c),this.vectorBucketName=r,this.indexName=l}async putVectors(i){var n=()=>super.putVectors,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async getVectors(i){var n=()=>super.getVectors,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async listVectors(i={}){var n=()=>super.listVectors,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async queryVectors(i){var n=()=>super.queryVectors,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}async deleteVectors(i){var n=()=>super.deleteVectors,r=this;return n().call(r,fe(fe({},i),{},{vectorBucketName:r.vectorBucketName,indexName:r.indexName}))}},Sw=class extends hw{constructor(i,n={},r,l){super(i,n,r,l)}from(i){return new uw(this.url,this.headers,i,this.fetch)}get vectors(){return new yw(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new fw(this.url+"/iceberg",this.headers,this.fetch)}};const Qy="2.110.0",ja=30*1e3,Cl=3,ph=Cl*ja,ww=2*ja,_w="http://localhost:9999",Tw="supabase.auth.token",kw={"X-Client-Info":`gotrue-js/${Qy}`},Hh="X-Supabase-Api-Version",Zy={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},Aw=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,Ew=600*1e3;class Vl extends Error{constructor(n,r,l){super(n),this.__isAuthError=!0,this.name="AuthError",this.status=r,this.code=l}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}}function ie(i){return typeof i=="object"&&i!==null&&"__isAuthError"in i}class xw extends Vl{constructor(n,r,l){super(n,r,l),this.name="AuthApiError",this.status=r,this.code=l}}function Cw(i){return ie(i)&&i.name==="AuthApiError"}class qn extends Vl{constructor(n,r){super(n),this.name="AuthUnknownError",this.originalError=r}}class ta extends Vl{constructor(n,r,l,c){super(n,l,c),this.name=r,this.status=l}}class kt extends ta{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function yc(i){return ie(i)&&i.name==="AuthSessionMissingError"}class es extends ta{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class vc extends ta{constructor(n){super(n,"AuthInvalidCredentialsError",400,void 0)}}class bc extends ta{constructor(n,r=null){super(n,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}function Rw(i){return ie(i)&&i.name==="AuthImplicitGrantRedirectError"}class Wp extends ta{constructor(n,r=null){super(n,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=r}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}class Ow extends ta{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class $h extends ta{constructor(n,r){super(n,"AuthRetryableFetchError",r,void 0)}}function Jp(i){return ie(i)&&i.name==="AuthRetryableFetchError"}class Xp extends ta{constructor(n="Refresh result discarded: session state changed mid-flight (e.g., concurrent signOut)"){super(n,"AuthRefreshDiscardedError",409,void 0)}}function jw(i){return ie(i)&&i.name==="AuthRefreshDiscardedError"}class Qp extends ta{constructor(n,r,l){super(n,"AuthWeakPasswordError",r,"weak_password"),this.reasons=l}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}}class xc extends ta{constructor(n){super(n,"AuthInvalidJwtError",400,"invalid_jwt")}}const Cc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),Zp=`
|
|
21
|
+
\r=`.split(""),Nw=(()=>{const i=new Array(128);for(let n=0;n<i.length;n+=1)i[n]=-1;for(let n=0;n<Zp.length;n+=1)i[Zp[n].charCodeAt(0)]=-2;for(let n=0;n<Cc.length;n+=1)i[Cc[n].charCodeAt(0)]=n;return i})();function ey(i,n,r){if(i!==null)for(n.queue=n.queue<<8|i,n.queuedBits+=8;n.queuedBits>=6;){const l=n.queue>>n.queuedBits-6&63;r(Cc[l]),n.queuedBits-=6}else if(n.queuedBits>0)for(n.queue=n.queue<<6-n.queuedBits,n.queuedBits=6;n.queuedBits>=6;){const l=n.queue>>n.queuedBits-6&63;r(Cc[l]),n.queuedBits-=6}}function ev(i,n,r){const l=Nw[i];if(l>-1)for(n.queue=n.queue<<6|l,n.queuedBits+=6;n.queuedBits>=8;)r(n.queue>>n.queuedBits-8&255),n.queuedBits-=8;else{if(l===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(i)}"`)}}function ty(i){const n=[],r=h=>{n.push(String.fromCodePoint(h))},l={utf8seq:0,codepoint:0},c={queue:0,queuedBits:0},d=h=>{Dw(h,l,r)};for(let h=0;h<i.length;h+=1)ev(i.charCodeAt(h),c,d);return n.join("")}function Lw(i,n){if(i<=127){n(i);return}else if(i<=2047){n(192|i>>6),n(128|i&63);return}else if(i<=65535){n(224|i>>12),n(128|i>>6&63),n(128|i&63);return}else if(i<=1114111){n(240|i>>18),n(128|i>>12&63),n(128|i>>6&63),n(128|i&63);return}throw new Error(`Unrecognized Unicode codepoint: ${i.toString(16)}`)}function Mw(i,n){for(let r=0;r<i.length;r+=1){let l=i.charCodeAt(r);if(l>55295&&l<=56319){const c=(l-55296)*1024&65535;l=(i.charCodeAt(r+1)-56320&65535|c)+65536,r+=1}Lw(l,n)}}function Dw(i,n,r){if(n.utf8seq===0){if(i<=127){r(i);return}for(let l=1;l<6;l+=1)if((i>>7-l&1)===0){n.utf8seq=l;break}if(n.utf8seq===2)n.codepoint=i&31;else if(n.utf8seq===3)n.codepoint=i&15;else if(n.utf8seq===4)n.codepoint=i&7;else throw new Error("Invalid UTF-8 sequence");n.utf8seq-=1}else if(n.utf8seq>0){if(i<=127)throw new Error("Invalid UTF-8 sequence");n.codepoint=n.codepoint<<6|i&63,n.utf8seq-=1,n.utf8seq===0&&r(n.codepoint)}}function ds(i){const n=[],r={queue:0,queuedBits:0},l=c=>{n.push(c)};for(let c=0;c<i.length;c+=1)ev(i.charCodeAt(c),r,l);return new Uint8Array(n)}function Uw(i){const n=[];return Mw(i,r=>n.push(r)),new Uint8Array(n)}function nr(i){const n=[],r={queue:0,queuedBits:0},l=c=>{n.push(c)};return i.forEach(c=>ey(c,r,l)),ey(null,r,l),n.join("")}function zw(i){return Math.round(Date.now()/1e3)+i}function Bw(){return Symbol("auth-callback")}const Dt=()=>typeof window<"u"&&typeof document<"u",Zi={tested:!1,writable:!1},tv=()=>{if(!Dt())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Zi.tested)return Zi.writable;const i=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(i,i),globalThis.localStorage.removeItem(i),Zi.tested=!0,Zi.writable=!0}catch{Zi.tested=!0,Zi.writable=!1}return Zi.writable};function Pw(i){const n={},r=new URL(i);if(r.hash&&r.hash[0]==="#")try{new URLSearchParams(r.hash.substring(1)).forEach((c,d)=>{n[d]=c})}catch{}return r.searchParams.forEach((l,c)=>{n[c]=l}),n}const nv=i=>i?(...n)=>i(...n):(...n)=>fetch(...n),Hw=i=>typeof i=="object"&&i!==null&&"status"in i&&"ok"in i&&"json"in i&&typeof i.json=="function",os=async(i,n,r)=>{await i.setItem(n,JSON.stringify(r))},zn=async(i,n)=>{const r=await i.getItem(n);if(!r)return null;try{return JSON.parse(r)}catch{return null}},ft=async(i,n)=>{await i.removeItem(n)};class zc{constructor(){this.promise=new zc.promiseConstructor((n,r)=>{this.resolve=n,this.reject=r})}}zc.promiseConstructor=Promise;function Sc(i){const n=i.split(".");if(n.length!==3)throw new xc("Invalid JWT structure");for(let l=0;l<n.length;l++)if(!Aw.test(n[l]))throw new xc("JWT not in base64url format");return{header:JSON.parse(ty(n[0])),payload:JSON.parse(ty(n[1])),signature:ds(n[2]),raw:{header:n[0],payload:n[1]}}}async function $w(i){return await new Promise(n=>{setTimeout(()=>n(null),i)})}function qw(i,n){return new Promise((l,c)=>{(async()=>{for(let d=0;d<1/0;d++)try{const h=await i(d);if(!n(d,null,h)){l(h);return}}catch(h){if(!n(d,h)){c(h);return}}})()})}function Iw(i){return("0"+i.toString(16)).substr(-2)}function Gw(){const n=new Uint32Array(56);if(typeof crypto>"u"){const r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",l=r.length;let c="";for(let d=0;d<56;d++)c+=r.charAt(Math.floor(Math.random()*l));return c}return crypto.getRandomValues(n),Array.from(n,Iw).join("")}async function Vw(i){const r=new TextEncoder().encode(i),l=await crypto.subtle.digest("SHA-256",r),c=new Uint8Array(l);return Array.from(c).map(d=>String.fromCharCode(d)).join("")}async function Kw(i){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),i;const r=await Vw(i);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function er(i,n,r=!1){const l=Gw();let c=l;r&&(c+="/recovery"),await os(i,`${n}-code-verifier`,c);const d=await Kw(l);return[d,l===d?"plain":"s256"]}const Fw=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function Yw(i){const n=i.headers.get(Hh);if(!n||!n.match(Fw))return null;try{return new Date(`${n}T00:00:00.0Z`)}catch{return null}}function Ww(i){if(!i)throw new Error("Missing exp claim");const n=Math.floor(Date.now()/1e3);if(i<=n)throw new Error("JWT has expired")}function Jw(i){switch(i){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const Xw=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function xa(i){if(!Xw.test(i))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function Pn(i){if(!i.passkey)throw new Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function yh(){const i={};return new Proxy(i,{get:(n,r)=>{if(r==="__isUserNotAvailableProxy")return!0;if(typeof r=="symbol"){const l=r.toString();if(l==="Symbol(Symbol.toPrimitive)"||l==="Symbol(Symbol.toStringTag)"||l==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${r}" property of the session object is not supported. Please use getUser() instead.`)},set:(n,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(n,r)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${r}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function Qw(i,n){return new Proxy(i,{get:(r,l,c)=>{if(l==="__isInsecureUserWarningProxy")return!0;if(typeof l=="symbol"){const d=l.toString();if(d==="Symbol(Symbol.toPrimitive)"||d==="Symbol(Symbol.toStringTag)"||d==="Symbol(util.inspect.custom)"||d==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(r,l,c)}return!n.value&&typeof l=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),n.value=!0),Reflect.get(r,l,c)}})}function ny(i){return JSON.parse(JSON.stringify(i))}const tr=i=>{if(typeof i=="object"&&i!==null){const n=i;if(typeof n.msg=="string")return n.msg;if(typeof n.message=="string")return n.message;if(typeof n.error_description=="string")return n.error_description;if(typeof n.error=="string")return n.error}return JSON.stringify(i)},Zw=[500,501,502,503,504,520,521,522,523,524,525,526,527,528,529,530];async function ay(i){var n;if(!Hw(i))throw new $h(tr(i),0);if(Zw.includes(i.status))throw new $h(tr(i),i.status);let r;try{r=await i.json()}catch(d){throw new qn(tr(d),d)}let l;const c=Yw(i);if(c&&c.getTime()>=Zy["2024-01-01"].timestamp&&typeof r=="object"&&r&&typeof r.code=="string"?l=r.code:typeof r=="object"&&r&&typeof r.error_code=="string"&&(l=r.error_code),l){if(l==="weak_password")throw new Qp(tr(r),i.status,((n=r.weak_password)===null||n===void 0?void 0:n.reasons)||[]);if(l==="session_not_found")throw new kt}else if(typeof r=="object"&&r&&typeof r.weak_password=="object"&&r.weak_password&&Array.isArray(r.weak_password.reasons)&&r.weak_password.reasons.length&&r.weak_password.reasons.reduce((d,h)=>d&&typeof h=="string",!0))throw new Qp(tr(r),i.status,r.weak_password.reasons);throw new xw(tr(r),i.status||500,l)}const e_=(i,n,r,l)=>{const c={method:i,headers:n?.headers||{}};return i==="GET"?c:(c.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},n?.headers),c.body=JSON.stringify(l),Object.assign(Object.assign({},c),r))};async function oe(i,n,r,l){var c;const d=Object.assign({},l?.headers);d[Hh]||(d[Hh]=Zy["2024-01-01"].name),l?.jwt&&(d.Authorization=`Bearer ${l.jwt}`);const h=(c=l?.query)!==null&&c!==void 0?c:{};l?.redirectTo&&(h.redirect_to=l.redirectTo);const m=Object.keys(h).length?"?"+new URLSearchParams(h).toString():"",f=await t_(i,n,r+m,{headers:d,noResolveJson:l?.noResolveJson},{},l?.body);return l?.xform?l?.xform(f):{data:Object.assign({},f),error:null}}async function t_(i,n,r,l,c,d){const h=e_(n,l,c,d);let m;try{m=await i(r,Object.assign({},h))}catch(f){throw console.error(f),new $h(tr(f),0)}if(m.ok||await ay(m),l?.noResolveJson)return m;try{return await m.json()}catch(f){await ay(f)}}function En(i){var n;let r=null;i_(i)&&(r=Object.assign({},i),i.expires_at||(r.expires_at=zw(i.expires_in)));const l=(n=i.user)!==null&&n!==void 0?n:typeof i?.id=="string"?i:null;return{data:{session:r,user:l},error:null}}function iy(i){const n=En(i);return!n.error&&i.weak_password&&typeof i.weak_password=="object"&&Array.isArray(i.weak_password.reasons)&&i.weak_password.reasons.length&&i.weak_password.message&&typeof i.weak_password.message=="string"&&i.weak_password.reasons.reduce((r,l)=>r&&typeof l=="string",!0)&&(n.data.weak_password=i.weak_password),n}function yi(i){var n;return{data:{user:(n=i.user)!==null&&n!==void 0?n:i},error:null}}function n_(i){return{data:i,error:null}}function a_(i){const{action_link:n,email_otp:r,hashed_token:l,redirect_to:c,verification_type:d}=i,h=Mc(i,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),m={action_link:n,email_otp:r,hashed_token:l,redirect_to:c,verification_type:d},f=Object.assign({},h);return{data:{properties:m,user:f},error:null}}function ry(i){return i}function i_(i){return!!i.access_token&&!!i.refresh_token&&!!i.expires_in}const vh=["global","local","others"];class r_{constructor({url:n="",headers:r={},fetch:l,experimental:c}){this.url=n,this.headers=r,this.fetch=nv(l),this.experimental=c??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(n,r=vh[0]){if(vh.indexOf(r)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${vh.join(", ")}`);try{return await oe(this.fetch,"POST",`${this.url}/logout?scope=${r}`,{headers:this.headers,jwt:n,noResolveJson:!0}),{data:null,error:null}}catch(l){if(ie(l))return{data:null,error:l};throw l}}async inviteUserByEmail(n,r={}){try{return await oe(this.fetch,"POST",`${this.url}/invite`,{body:{email:n,data:r.data},headers:this.headers,redirectTo:r.redirectTo,xform:yi})}catch(l){if(ie(l))return{data:{user:null},error:l};throw l}}async generateLink(n){try{const{options:r}=n,l=Mc(n,["options"]),c=Object.assign(Object.assign({},l),r);return"newEmail"in l&&(c.new_email=l?.newEmail,delete c.newEmail),await oe(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:c,headers:this.headers,xform:a_,redirectTo:r?.redirectTo})}catch(r){if(ie(r))return{data:{properties:null,user:null},error:r};throw r}}async createUser(n){try{return await oe(this.fetch,"POST",`${this.url}/admin/users`,{body:n,headers:this.headers,xform:yi})}catch(r){if(ie(r))return{data:{user:null},error:r};throw r}}async listUsers(n){var r,l,c,d,h,m,f;try{const y={nextPage:null,lastPage:0,total:0},w=await oe(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(l=(r=n?.page)===null||r===void 0?void 0:r.toString())!==null&&l!==void 0?l:"",per_page:(d=(c=n?.perPage)===null||c===void 0?void 0:c.toString())!==null&&d!==void 0?d:""},xform:ry});if(w.error)throw w.error;const S=await w.json(),T=(h=w.headers.get("x-total-count"))!==null&&h!==void 0?h:0,x=(f=(m=w.headers.get("link"))===null||m===void 0?void 0:m.split(","))!==null&&f!==void 0?f:[];return x.length>0&&(x.forEach(R=>{const z=parseInt(R.split(";")[0].split("=")[1].substring(0,1)),G=JSON.parse(R.split(";")[1].split("=")[1]);y[`${G}Page`]=z}),y.total=parseInt(T)),{data:Object.assign(Object.assign({},S),y),error:null}}catch(y){if(ie(y))return{data:{users:[]},error:y};throw y}}async getUserById(n){xa(n);try{return await oe(this.fetch,"GET",`${this.url}/admin/users/${n}`,{headers:this.headers,xform:yi})}catch(r){if(ie(r))return{data:{user:null},error:r};throw r}}async updateUserById(n,r){xa(n);try{return await oe(this.fetch,"PUT",`${this.url}/admin/users/${n}`,{body:r,headers:this.headers,xform:yi})}catch(l){if(ie(l))return{data:{user:null},error:l};throw l}}async deleteUser(n,r=!1){xa(n);try{return await oe(this.fetch,"DELETE",`${this.url}/admin/users/${n}`,{headers:this.headers,body:{should_soft_delete:r},xform:yi})}catch(l){if(ie(l))return{data:{user:null},error:l};throw l}}async _listFactors(n){xa(n.userId);try{const{data:r,error:l}=await oe(this.fetch,"GET",`${this.url}/admin/users/${n.userId}/factors`,{headers:this.headers,xform:c=>({data:{factors:c},error:null})});return{data:r,error:l}}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _deleteFactor(n){xa(n.userId),xa(n.id);try{return{data:await oe(this.fetch,"DELETE",`${this.url}/admin/users/${n.userId}/factors/${n.id}`,{headers:this.headers}),error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _listOAuthClients(n){var r,l,c,d,h,m,f;try{const y={nextPage:null,lastPage:0,total:0},w=await oe(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(l=(r=n?.page)===null||r===void 0?void 0:r.toString())!==null&&l!==void 0?l:"",per_page:(d=(c=n?.perPage)===null||c===void 0?void 0:c.toString())!==null&&d!==void 0?d:""},xform:ry});if(w.error)throw w.error;const S=await w.json(),T=(h=w.headers.get("x-total-count"))!==null&&h!==void 0?h:0,x=(f=(m=w.headers.get("link"))===null||m===void 0?void 0:m.split(","))!==null&&f!==void 0?f:[];return x.length>0&&(x.forEach(R=>{const z=parseInt(R.split(";")[0].split("=")[1].substring(0,1)),G=JSON.parse(R.split(";")[1].split("=")[1]);y[`${G}Page`]=z}),y.total=parseInt(T)),{data:Object.assign(Object.assign({},S),y),error:null}}catch(y){if(ie(y))return{data:{clients:[]},error:y};throw y}}async _createOAuthClient(n){try{return await oe(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:n,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _getOAuthClient(n){try{return await oe(this.fetch,"GET",`${this.url}/admin/oauth/clients/${n}`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _updateOAuthClient(n,r){try{return await oe(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${n}`,{body:r,headers:this.headers,xform:l=>({data:l,error:null})})}catch(l){if(ie(l))return{data:null,error:l};throw l}}async _deleteOAuthClient(n){try{return await oe(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${n}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _regenerateOAuthClientSecret(n){try{return await oe(this.fetch,"POST",`${this.url}/admin/oauth/clients/${n}/regenerate_secret`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _listCustomProviders(n){try{const r={};return n?.type&&(r.type=n.type),await oe(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:r,xform:l=>{var c;return{data:{providers:(c=l?.providers)!==null&&c!==void 0?c:[]},error:null}}})}catch(r){if(ie(r))return{data:{providers:[]},error:r};throw r}}async _createCustomProvider(n){try{return await oe(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:n,headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _getCustomProvider(n){try{return await oe(this.fetch,"GET",`${this.url}/admin/custom-providers/${n}`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _updateCustomProvider(n,r){try{return await oe(this.fetch,"PUT",`${this.url}/admin/custom-providers/${n}`,{body:r,headers:this.headers,xform:l=>({data:l,error:null})})}catch(l){if(ie(l))return{data:null,error:l};throw l}}async _deleteCustomProvider(n){try{return await oe(this.fetch,"DELETE",`${this.url}/admin/custom-providers/${n}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _adminListPasskeys(n){Pn(this.experimental),xa(n.userId);try{return await oe(this.fetch,"GET",`${this.url}/admin/users/${n.userId}/passkeys`,{headers:this.headers,xform:r=>({data:r,error:null})})}catch(r){if(ie(r))return{data:null,error:r};throw r}}async _adminDeletePasskey(n){Pn(this.experimental),xa(n.userId),xa(n.passkeyId);try{return await oe(this.fetch,"DELETE",`${this.url}/admin/users/${n.userId}/passkeys/${n.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(r){if(ie(r))return{data:null,error:r};throw r}}}function sy(i={}){return{getItem:n=>i[n]||null,setItem:(n,r)=>{i[n]=r},removeItem:n=>{delete i[n]}}}globalThis&&tv()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug");class s_ extends Error{constructor(n){super(n),this.isAcquireTimeout=!0}}function l_(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function av(i){if(!/^0x[a-fA-F0-9]{40}$/.test(i))throw new Error(`@supabase/auth-js: Address "${i}" is invalid.`);return i.toLowerCase()}function o_(i){return parseInt(i,16)}function c_(i){const n=new TextEncoder().encode(i);return"0x"+Array.from(n,l=>l.toString(16).padStart(2,"0")).join("")}function u_(i){var n;const{chainId:r,domain:l,expirationTime:c,issuedAt:d=new Date,nonce:h,notBefore:m,requestId:f,resources:y,scheme:w,uri:S,version:T}=i;{if(!Number.isInteger(r))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${r}`);if(!l)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(h&&h.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${h}`);if(!S)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(T!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${T}`);if(!((n=i.statement)===null||n===void 0)&&n.includes(`
|
|
22
|
+
`))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${i.statement}`)}const x=av(i.address),R=w?`${w}://${l}`:l,z=i.statement?`${i.statement}
|
|
23
23
|
`:"",G=`${R} wants you to sign in with your Ethereum account:
|
|
24
24
|
${x}
|
|
25
25
|
|
|
@@ -33,6 +33,6 @@ Not Before: ${m.toISOString()}`),f&&(V+=`
|
|
|
33
33
|
Request ID: ${f}`),y){let I=`
|
|
34
34
|
Resources:`;for(const F of y){if(!F||typeof F!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${F}`);I+=`
|
|
35
35
|
- ${F}`}V+=I}return`${G}
|
|
36
|
-
${V}`}class bt extends Error{constructor({message:n,code:r,cause:l,name:c}){var d;super(n,{cause:l}),this.__isWebAuthnError=!0,this.name=(d=c??(l instanceof Error?l.name:void 0))!==null&&d!==void 0?d:"Unknown Error",this.code=r}toJSON(){return{name:this.name,message:this.message,code:this.code}}}class Rc extends bt{constructor(n,r){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r,message:n}),this.name="WebAuthnUnknownError",this.originalError=r}}function c_({error:i,options:n}){var r,l,c;const{publicKey:d}=n;if(!d)throw Error("options was missing required publicKey property");if(i.name==="AbortError"){if(n.signal instanceof AbortSignal)return new bt({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:i})}else if(i.name==="ConstraintError"){if(((r=d.authenticatorSelection)===null||r===void 0?void 0:r.requireResidentKey)===!0)return new bt({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:i});if(n.mediation==="conditional"&&((l=d.authenticatorSelection)===null||l===void 0?void 0:l.userVerification)==="required")return new bt({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:i});if(((c=d.authenticatorSelection)===null||c===void 0?void 0:c.userVerification)==="required")return new bt({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:i})}else{if(i.name==="InvalidStateError")return new bt({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:i});if(i.name==="NotAllowedError")return new bt({message:i.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:i});if(i.name==="NotSupportedError")return d.pubKeyCredParams.filter(m=>m.type==="public-key").length===0?new bt({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:i}):new bt({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:i});if(i.name==="SecurityError"){const h=window.location.hostname;if(av(h)){if(d.rp.id!==h)return new bt({message:`The RP ID "${d.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:i})}else return new bt({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:i})}else if(i.name==="TypeError"){if(d.user.id.byteLength<1||d.user.id.byteLength>64)return new bt({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:i})}else if(i.name==="UnknownError")return new bt({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:i})}return new bt({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:i})}function u_({error:i,options:n}){const{publicKey:r}=n;if(!r)throw Error("options was missing required publicKey property");if(i.name==="AbortError"){if(n.signal instanceof AbortSignal)return new bt({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:i})}else{if(i.name==="NotAllowedError")return new bt({message:i.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:i});if(i.name==="SecurityError"){const l=window.location.hostname;if(av(l)){if(r.rpId!==l)return new bt({message:`The RP ID "${r.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:i})}else return new bt({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:i})}else if(i.name==="UnknownError")return new bt({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:i})}return new bt({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:i})}class d_{createNewAbortSignal(){if(this.controller){const r=new Error("Cancelling existing WebAuthn API call for new one");r.name="AbortError",this.controller.abort(r)}const n=new AbortController;return this.controller=n,n.signal}cancelCeremony(){if(this.controller){const n=new Error("Manually cancelling existing WebAuthn API call");n.name="AbortError",this.controller.abort(n),this.controller=void 0}}}const qh=new d_;function sy(i){if(!i)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(i);const{challenge:n,user:r,excludeCredentials:l}=i,c=Mc(i,["challenge","user","excludeCredentials"]),d=hs(n).buffer,h=Object.assign(Object.assign({},r),{id:hs(r.id).buffer}),m=Object.assign(Object.assign({},c),{challenge:d,user:h});if(l&&l.length>0){m.excludeCredentials=new Array(l.length);for(let f=0;f<l.length;f++){const y=l[f];m.excludeCredentials[f]=Object.assign(Object.assign({},y),{id:hs(y.id).buffer,type:y.type||"public-key",transports:y.transports})}}return m}function ly(i){if(!i)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(i);const{challenge:n,allowCredentials:r}=i,l=Mc(i,["challenge","allowCredentials"]),c=hs(n).buffer,d=Object.assign(Object.assign({},l),{challenge:c});if(r&&r.length>0){d.allowCredentials=new Array(r.length);for(let h=0;h<r.length;h++){const m=r[h];d.allowCredentials[h]=Object.assign(Object.assign({},m),{id:hs(m.id).buffer,type:m.type||"public-key",transports:m.transports})}}return d}function oy(i){var n;if("toJSON"in i&&typeof i.toJSON=="function")return i.toJSON();const r=i;return{id:i.id,rawId:i.id,response:{attestationObject:nr(new Uint8Array(i.response.attestationObject)),clientDataJSON:nr(new Uint8Array(i.response.clientDataJSON))},type:"public-key",clientExtensionResults:i.getClientExtensionResults(),authenticatorAttachment:(n=r.authenticatorAttachment)!==null&&n!==void 0?n:void 0}}function cy(i){var n;if("toJSON"in i&&typeof i.toJSON=="function")return i.toJSON();const r=i,l=i.getClientExtensionResults(),c=i.response;return{id:i.id,rawId:i.id,response:{authenticatorData:nr(new Uint8Array(c.authenticatorData)),clientDataJSON:nr(new Uint8Array(c.clientDataJSON)),signature:nr(new Uint8Array(c.signature)),userHandle:c.userHandle?nr(new Uint8Array(c.userHandle)):void 0},type:"public-key",clientExtensionResults:l,authenticatorAttachment:(n=r.authenticatorAttachment)!==null&&n!==void 0?n:void 0}}function av(i){return i==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(i)}function Oc(){var i,n;return!!(Dt()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((i=navigator?.credentials)===null||i===void 0?void 0:i.create)=="function"&&typeof((n=navigator?.credentials)===null||n===void 0?void 0:n.get)=="function")}async function iv(i){try{const n=await navigator.credentials.create(i);return n?n instanceof PublicKeyCredential?{data:n,error:null}:{data:null,error:new Rc("Browser returned unexpected credential type",n)}:{data:null,error:new Rc("Empty credential response",n)}}catch(n){return{data:null,error:c_({error:n,options:i})}}}async function rv(i){try{const n=await navigator.credentials.get(i);return n?n instanceof PublicKeyCredential?{data:n,error:null}:{data:null,error:new Rc("Browser returned unexpected credential type",n)}:{data:null,error:new Rc("Empty credential response",n)}}catch(n){return{data:null,error:u_({error:n,options:i})}}}const h_={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},f_={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function jc(...i){const n=c=>c!==null&&typeof c=="object"&&!Array.isArray(c),r=c=>c instanceof ArrayBuffer||ArrayBuffer.isView(c),l={};for(const c of i)if(c)for(const d in c){const h=c[d];if(h!==void 0)if(Array.isArray(h))l[d]=h;else if(r(h))l[d]=h;else if(n(h)){const m=l[d];n(m)?l[d]=jc(m,h):l[d]=jc(h)}else l[d]=h}return l}function m_(i,n){return jc(h_,i,n||{})}function g_(i,n){return jc(f_,i,n||{})}class p_{constructor(n){this.client=n,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(n){return this.client.mfa.enroll(Object.assign(Object.assign({},n),{factorType:"webauthn"}))}async _challenge({factorId:n,webauthn:r,friendlyName:l,signal:c},d){var h;try{const{data:m,error:f}=await this.client.mfa.challenge({factorId:n,webauthn:r});if(!m)return{data:null,error:f};const y=c??qh.createNewAbortSignal();if(m.webauthn.type==="create"){const{user:w}=m.webauthn.credential_options.publicKey;if(!w.name){const S=l;if(S)w.name=`${w.id}:${S}`;else{const x=(await this.client.getUser()).data.user,R=((h=x?.user_metadata)===null||h===void 0?void 0:h.name)||x?.email||x?.id||"User";w.name=`${w.id}:${R}`}}w.displayName||(w.displayName=w.name)}switch(m.webauthn.type){case"create":{const w=m_(m.webauthn.credential_options.publicKey,d?.create),{data:S,error:T}=await iv({publicKey:w,signal:y});return S?{data:{factorId:n,challengeId:m.id,webauthn:{type:m.webauthn.type,credential_response:S}},error:null}:{data:null,error:T}}case"request":{const w=g_(m.webauthn.credential_options.publicKey,d?.request),{data:S,error:T}=await rv(Object.assign(Object.assign({},m.webauthn.credential_options),{publicKey:w,signal:y}));return S?{data:{factorId:n,challengeId:m.id,webauthn:{type:m.webauthn.type,credential_response:S}},error:null}:{data:null,error:T}}}}catch(m){return ie(m)?{data:null,error:m}:{data:null,error:new qn("Unexpected error in challenge",m)}}}async _verify({challengeId:n,factorId:r,webauthn:l}){return this.client.mfa.verify({factorId:r,challengeId:n,webauthn:l})}async _authenticate({factorId:n,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:l=typeof window<"u"?[window.location.origin]:void 0,signal:c}={}},d){if(!r)return{data:null,error:new Vl("rpId is required for WebAuthn authentication")};try{if(!Oc())return{data:null,error:new qn("Browser does not support WebAuthn",null)};const{data:h,error:m}=await this.challenge({factorId:n,webauthn:{rpId:r,rpOrigins:l},signal:c},{request:d});if(!h)return{data:null,error:m};const{webauthn:f}=h;return this._verify({factorId:n,challengeId:h.challengeId,webauthn:{type:f.type,rpId:r,rpOrigins:l,credential_response:f.credential_response}})}catch(h){return ie(h)?{data:null,error:h}:{data:null,error:new qn("Unexpected error in authenticate",h)}}}async _register({friendlyName:n,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:l=typeof window<"u"?[window.location.origin]:void 0,signal:c}={}},d){if(!r)return{data:null,error:new Vl("rpId is required for WebAuthn registration")};try{if(!Oc())return{data:null,error:new qn("Browser does not support WebAuthn",null)};const{data:h,error:m}=await this._enroll({friendlyName:n});if(!h)return await this.client.mfa.listFactors().then(w=>{var S;return(S=w.data)===null||S===void 0?void 0:S.all.find(T=>T.factor_type==="webauthn"&&T.friendly_name===n&&T.status!=="unverified")}).then(w=>w?this.client.mfa.unenroll({factorId:w?.id}):void 0),{data:null,error:m};const{data:f,error:y}=await this._challenge({factorId:h.id,friendlyName:h.friendly_name,webauthn:{rpId:r,rpOrigins:l},signal:c},{create:d});return f?this._verify({factorId:h.id,challengeId:f.challengeId,webauthn:{rpId:r,rpOrigins:l,type:f.webauthn.type,credential_response:f.webauthn.credential_response}}):{data:null,error:y}}catch(h){return ie(h)?{data:null,error:h}:{data:null,error:new qn("Unexpected error in register",h)}}}}r_();const y_={url:Sw,storageKey:ww,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:_w,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},ts={};class Kl{get jwks(){var n,r;return(r=(n=ts[this.storageKey])===null||n===void 0?void 0:n.jwks)!==null&&r!==void 0?r:{keys:[]}}set jwks(n){ts[this.storageKey]=Object.assign(Object.assign({},ts[this.storageKey]),{jwks:n})}get jwks_cached_at(){var n,r;return(r=(n=ts[this.storageKey])===null||n===void 0?void 0:n.cachedAt)!==null&&r!==void 0?r:Number.MIN_SAFE_INTEGER}set jwks_cached_at(n){ts[this.storageKey]=Object.assign(Object.assign({},ts[this.storageKey]),{cachedAt:n})}constructor(n){var r,l,c;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const d=Object.assign(Object.assign({},y_),n);if(this.storageKey=d.storageKey,this.instanceID=(r=Kl.nextInstanceID[this.storageKey])!==null&&r!==void 0?r:0,Kl.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!d.debug,typeof d.debug=="function"&&(this.logger=d.debug),this.instanceID>0&&Dt()){const h=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(h),this.logDebugMessages&&console.trace(h)}if(this.persistSession=d.persistSession,this.autoRefreshToken=d.autoRefreshToken,this.experimental=(l=d.experimental)!==null&&l!==void 0?l:{},this.admin=new a_({url:d.url,headers:d.headers,fetch:d.fetch,experimental:this.experimental}),this.url=d.url,this.headers=d.headers,this.fetch=tv(d.fetch),this.detectSessionInUrl=d.detectSessionInUrl,this.flowType=d.flowType,this.hasCustomAuthorizationHeader=d.hasCustomAuthorizationHeader,this.throwOnError=d.throwOnError,this.lockAcquireTimeout=d.lockAcquireTimeout,d.lock!=null&&(this.lock=d.lock),this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new p_(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(d.storage?this.storage=d.storage:ev()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=ry(this.memoryStorage)),d.userStorage&&(this.userStorage=d.userStorage)):(this.memoryStorage={},this.storage=ry(this.memoryStorage)),Dt()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(h){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",h)}(c=this.broadcastChannel)===null||c===void 0||c.addEventListener("message",async h=>{this._debug("received broadcast notification from other tab or client",h),(h.data.event==="TOKEN_REFRESHED"||h.data.event==="SIGNED_IN")&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(h.data.event,h.data.session,!1)}catch(m){this._debug("#broadcastChannel","error",m)}})}d.skipAutoInitialize||this.initialize().catch(h=>{this._debug("#initialize()","error",h)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(n){if(this.throwOnError&&n&&n.error)throw n.error;return n}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Xy}) ${new Date().toISOString()}`}_debug(...n){return this.logDebugMessages&&this.logger(this._logPrefix(),...n),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()):await this._initialize())(),await this.initializePromise)}async _initialize(){var n;try{let r={},l="none";if(Dt()&&(r=zw(window.location.href),this._isImplicitGrantCallback(r)?l="implicit":await this._isPKCECallback(r)&&(l="pkce")),Dt()&&this.detectSessionInUrl&&l!=="none"){const{data:c,error:d}=await this._getSessionFromURL(r,l);if(d){if(this._debug("#_initialize()","error detecting session from URL",d),xw(d)){const f=(n=d.details)===null||n===void 0?void 0:n.code;if(f==="identity_already_exists"||f==="identity_not_found"||f==="single_identity_not_deletable")return{error:d}}return{error:d}}const{session:h,redirectType:m}=c;return this._debug("#_initialize()","detected session in URL",h,"redirect type",m),await this._saveSession(h),setTimeout(async()=>{m==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",h):await this._notifyAllSubscribers("SIGNED_IN",h)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(r){return ie(r)?this._returnResult({error:r}):this._returnResult({error:new qn("Unexpected error during initialization",r)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(n){var r,l,c;try{const d=await oe(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(l=(r=n?.options)===null||r===void 0?void 0:r.data)!==null&&l!==void 0?l:{},gotrue_meta_security:{captcha_token:(c=n?.options)===null||c===void 0?void 0:c.captchaToken}},xform:En}),{data:h,error:m}=d;if(m||!h)return this._returnResult({data:{user:null,session:null},error:m});const f=h.session,y=h.user;return h.session&&(await this._saveSession(h.session),await this._notifyAllSubscribers("SIGNED_IN",f)),this._returnResult({data:{user:y,session:f},error:null})}catch(d){if(ie(d))return this._returnResult({data:{user:null,session:null},error:d});throw d}}async signUp(n){var r,l,c;try{let d;if("email"in n){const{email:w,password:S,options:T}=n;let x=null,R=null;this.flowType==="pkce"&&([x,R]=await er(this.storage,this.storageKey)),d=await oe(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:T?.emailRedirectTo,body:{email:w,password:S,data:(r=T?.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:T?.captchaToken},code_challenge:x,code_challenge_method:R},xform:En})}else if("phone"in n){const{phone:w,password:S,options:T}=n;d=await oe(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:w,password:S,data:(l=T?.data)!==null&&l!==void 0?l:{},channel:(c=T?.channel)!==null&&c!==void 0?c:"sms",gotrue_meta_security:{captcha_token:T?.captchaToken}},xform:En})}else throw new vc("You must provide either an email or phone number and a password");const{data:h,error:m}=d;if(m||!h)return await ft(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:m});const f=h.session,y=h.user;return h.session&&(await this._saveSession(h.session),await this._notifyAllSubscribers("SIGNED_IN",f)),this._returnResult({data:{user:y,session:f},error:null})}catch(d){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(d))return this._returnResult({data:{user:null,session:null},error:d});throw d}}async signInWithPassword(n){try{let r;if("email"in n){const{email:d,password:h,options:m}=n;r=await oe(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:d,password:h,gotrue_meta_security:{captcha_token:m?.captchaToken}},xform:ay})}else if("phone"in n){const{phone:d,password:h,options:m}=n;r=await oe(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:d,password:h,gotrue_meta_security:{captcha_token:m?.captchaToken}},xform:ay})}else throw new vc("You must provide either an email or phone number and a password");const{data:l,error:c}=r;if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l||!l.session||!l.user){const d=new es;return this._returnResult({data:{user:null,session:null},error:d})}return l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers("SIGNED_IN",l.session)),this._returnResult({data:Object.assign({user:l.user,session:l.session},l.weak_password?{weakPassword:l.weak_password}:null),error:c})}catch(r){if(ie(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOAuth(n){var r,l,c,d;return await this._handleProviderSignIn(n.provider,{redirectTo:(r=n.options)===null||r===void 0?void 0:r.redirectTo,scopes:(l=n.options)===null||l===void 0?void 0:l.scopes,queryParams:(c=n.options)===null||c===void 0?void 0:c.queryParams,skipBrowserRedirect:(d=n.options)===null||d===void 0?void 0:d.skipBrowserRedirect})}async exchangeCodeForSession(n){return await this.initializePromise,this.lock!=null?this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(n)):this._exchangeCodeForSession(n)}async signInWithWeb3(n){const{chain:r}=n;switch(r){case"ethereum":return await this.signInWithEthereum(n);case"solana":return await this.signInWithSolana(n);default:throw new Error(`@supabase/auth-js: Unsupported chain "${r}"`)}}async signInWithEthereum(n){var r,l,c,d,h,m,f,y,w,S,T;let x,R;if("message"in n)x=n.message,R=n.signature;else{const{chain:z,wallet:G,statement:V,options:I}=n;let F;if(Dt())if(typeof G=="object")F=G;else{const Ee=window;if("ethereum"in Ee&&typeof Ee.ethereum=="object"&&"request"in Ee.ethereum&&typeof Ee.ethereum.request=="function")F=Ee.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof G!="object"||!I?.url)throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");F=G}const ee=new URL((r=I?.url)!==null&&r!==void 0?r:window.location.href),we=await F.request({method:"eth_requestAccounts"}).then(Ee=>Ee).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!we||we.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const le=nv(we[0]);let Z=(l=I?.signInWithEthereum)===null||l===void 0?void 0:l.chainId;if(!Z){const Ee=await F.request({method:"eth_chainId"});Z=s_(Ee)}const je={domain:ee.host,address:le,statement:V,uri:ee.href,version:"1",chainId:Z,nonce:(c=I?.signInWithEthereum)===null||c===void 0?void 0:c.nonce,issuedAt:(h=(d=I?.signInWithEthereum)===null||d===void 0?void 0:d.issuedAt)!==null&&h!==void 0?h:new Date,expirationTime:(m=I?.signInWithEthereum)===null||m===void 0?void 0:m.expirationTime,notBefore:(f=I?.signInWithEthereum)===null||f===void 0?void 0:f.notBefore,requestId:(y=I?.signInWithEthereum)===null||y===void 0?void 0:y.requestId,resources:(w=I?.signInWithEthereum)===null||w===void 0?void 0:w.resources};x=o_(je),R=await F.request({method:"personal_sign",params:[l_(x),le]})}try{const{data:z,error:G}=await oe(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:x,signature:R},!((S=n.options)===null||S===void 0)&&S.captchaToken?{gotrue_meta_security:{captcha_token:(T=n.options)===null||T===void 0?void 0:T.captchaToken}}:null),xform:En});if(G)throw G;if(!z||!z.session||!z.user){const V=new es;return this._returnResult({data:{user:null,session:null},error:V})}return z.session&&(await this._saveSession(z.session),await this._notifyAllSubscribers("SIGNED_IN",z.session)),this._returnResult({data:Object.assign({},z),error:G})}catch(z){if(ie(z))return this._returnResult({data:{user:null,session:null},error:z});throw z}}async signInWithSolana(n){var r,l,c,d,h,m,f,y,w,S,T,x;let R,z;if("message"in n)R=n.message,z=n.signature;else{const{chain:G,wallet:V,statement:I,options:F}=n;let ee;if(Dt())if(typeof V=="object")ee=V;else{const le=window;if("solana"in le&&typeof le.solana=="object"&&("signIn"in le.solana&&typeof le.solana.signIn=="function"||"signMessage"in le.solana&&typeof le.solana.signMessage=="function"))ee=le.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof V!="object"||!F?.url)throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");ee=V}const we=new URL((r=F?.url)!==null&&r!==void 0?r:window.location.href);if("signIn"in ee&&ee.signIn){const le=await ee.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},F?.signInWithSolana),{version:"1",domain:we.host,uri:we.href}),I?{statement:I}:null));let Z;if(Array.isArray(le)&&le[0]&&typeof le[0]=="object")Z=le[0];else if(le&&typeof le=="object"&&"signedMessage"in le&&"signature"in le)Z=le;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in Z&&"signature"in Z&&(typeof Z.signedMessage=="string"||Z.signedMessage instanceof Uint8Array)&&Z.signature instanceof Uint8Array)R=typeof Z.signedMessage=="string"?Z.signedMessage:new TextDecoder().decode(Z.signedMessage),z=Z.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in ee)||typeof ee.signMessage!="function"||!("publicKey"in ee)||typeof ee!="object"||!ee.publicKey||!("toBase58"in ee.publicKey)||typeof ee.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");R=[`${we.host} wants you to sign in with your Solana account:`,ee.publicKey.toBase58(),...I?["",I,""]:[""],"Version: 1",`URI: ${we.href}`,`Issued At: ${(c=(l=F?.signInWithSolana)===null||l===void 0?void 0:l.issuedAt)!==null&&c!==void 0?c:new Date().toISOString()}`,...!((d=F?.signInWithSolana)===null||d===void 0)&&d.notBefore?[`Not Before: ${F.signInWithSolana.notBefore}`]:[],...!((h=F?.signInWithSolana)===null||h===void 0)&&h.expirationTime?[`Expiration Time: ${F.signInWithSolana.expirationTime}`]:[],...!((m=F?.signInWithSolana)===null||m===void 0)&&m.chainId?[`Chain ID: ${F.signInWithSolana.chainId}`]:[],...!((f=F?.signInWithSolana)===null||f===void 0)&&f.nonce?[`Nonce: ${F.signInWithSolana.nonce}`]:[],...!((y=F?.signInWithSolana)===null||y===void 0)&&y.requestId?[`Request ID: ${F.signInWithSolana.requestId}`]:[],...!((S=(w=F?.signInWithSolana)===null||w===void 0?void 0:w.resources)===null||S===void 0)&&S.length?["Resources",...F.signInWithSolana.resources.map(Z=>`- ${Z}`)]:[]].join(`
|
|
37
|
-
`);const le=await ee.signMessage(new TextEncoder().encode(R),"utf8");if(!le||!(le instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");z=le}}try{const{data:G,error:V}=await oe(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:R,signature:nr(z)},!((T=n.options)===null||T===void 0)&&T.captchaToken?{gotrue_meta_security:{captcha_token:(x=n.options)===null||x===void 0?void 0:x.captchaToken}}:null),xform:En});if(V)throw V;if(!G||!G.session||!G.user){const I=new es;return this._returnResult({data:{user:null,session:null},error:I})}return G.session&&(await this._saveSession(G.session),await this._notifyAllSubscribers("SIGNED_IN",G.session)),this._returnResult({data:Object.assign({},G),error:V})}catch(G){if(ie(G))return this._returnResult({data:{user:null,session:null},error:G});throw G}}async _exchangeCodeForSession(n){const r=await zn(this.storage,`${this.storageKey}-code-verifier`),[l,c]=(r??"").split("/");try{if(!l&&this.flowType==="pkce")throw new Cw;const{data:d,error:h}=await oe(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:n,code_verifier:l},xform:En});if(await ft(this.storage,`${this.storageKey}-code-verifier`),h)throw h;if(!d||!d.session||!d.user){const m=new es;return this._returnResult({data:{user:null,session:null,redirectType:null},error:m})}return d.session&&(await this._saveSession(d.session),await this._notifyAllSubscribers(c==="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",d.session)),this._returnResult({data:Object.assign(Object.assign({},d),{redirectType:c??null}),error:h})}catch(d){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(d))return this._returnResult({data:{user:null,session:null,redirectType:null},error:d});throw d}}async signInWithIdToken(n){try{const{options:r,provider:l,token:c,access_token:d,nonce:h}=n,m=await oe(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:l,id_token:c,access_token:d,nonce:h,gotrue_meta_security:{captcha_token:r?.captchaToken}},xform:En}),{data:f,error:y}=m;if(y)return this._returnResult({data:{user:null,session:null},error:y});if(!f||!f.session||!f.user){const w=new es;return this._returnResult({data:{user:null,session:null},error:w})}return f.session&&(await this._saveSession(f.session),await this._notifyAllSubscribers("SIGNED_IN",f.session)),this._returnResult({data:f,error:y})}catch(r){if(ie(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOtp(n){var r,l,c,d,h;try{if("email"in n){const{email:m,options:f}=n;let y=null,w=null;this.flowType==="pkce"&&([y,w]=await er(this.storage,this.storageKey));const{error:S}=await oe(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:m,data:(r=f?.data)!==null&&r!==void 0?r:{},create_user:(l=f?.shouldCreateUser)!==null&&l!==void 0?l:!0,gotrue_meta_security:{captcha_token:f?.captchaToken},code_challenge:y,code_challenge_method:w},redirectTo:f?.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:S})}if("phone"in n){const{phone:m,options:f}=n,{data:y,error:w}=await oe(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:m,data:(c=f?.data)!==null&&c!==void 0?c:{},create_user:(d=f?.shouldCreateUser)!==null&&d!==void 0?d:!0,gotrue_meta_security:{captcha_token:f?.captchaToken},channel:(h=f?.channel)!==null&&h!==void 0?h:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:y?.message_id},error:w})}throw new vc("You must provide either an email or phone number.")}catch(m){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(m))return this._returnResult({data:{user:null,session:null},error:m});throw m}}async verifyOtp(n){var r,l;try{let c,d;"options"in n&&(c=(r=n.options)===null||r===void 0?void 0:r.redirectTo,d=(l=n.options)===null||l===void 0?void 0:l.captchaToken);const{data:h,error:m}=await oe(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},n),{gotrue_meta_security:{captcha_token:d}}),redirectTo:c,xform:En});if(m)throw m;if(!h)throw new Error("An error occurred on token verification.");const f=h.session,y=h.user;return f?.access_token&&(await this._saveSession(f),await this._notifyAllSubscribers(n.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",f)),this._returnResult({data:{user:y,session:f},error:null})}catch(c){if(ie(c))return this._returnResult({data:{user:null,session:null},error:c});throw c}}async signInWithSSO(n){var r,l,c,d,h;try{let m=null,f=null;this.flowType==="pkce"&&([m,f]=await er(this.storage,this.storageKey));const y=await oe(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in n?{provider_id:n.providerId}:null),"domain"in n?{domain:n.domain}:null),{redirect_to:(l=(r=n.options)===null||r===void 0?void 0:r.redirectTo)!==null&&l!==void 0?l:void 0}),!((c=n?.options)===null||c===void 0)&&c.captchaToken?{gotrue_meta_security:{captcha_token:n.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:m,code_challenge_method:f}),headers:this.headers,xform:e_});return!((d=y.data)===null||d===void 0)&&d.url&&Dt()&&!(!((h=n.options)===null||h===void 0)&&h.skipBrowserRedirect)&&window.location.assign(y.data.url),this._returnResult(y)}catch(m){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(m))return this._returnResult({data:null,error:m});throw m}}async reauthenticate(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate()):await this._reauthenticate()}async _reauthenticate(){try{return await this._useSession(async n=>{const{data:{session:r},error:l}=n;if(l)throw l;if(!r)throw new kt;const{error:c}=await oe(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:r.access_token});return this._returnResult({data:{user:null,session:null},error:c})})}catch(n){if(ie(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async resend(n){try{const r=`${this.url}/resend`;if("email"in n){const{email:l,type:c,options:d}=n;let h=null,m=null;this.flowType==="pkce"&&([h,m]=await er(this.storage,this.storageKey));const{error:f}=await oe(this.fetch,"POST",r,{headers:this.headers,body:{email:l,type:c,gotrue_meta_security:{captcha_token:d?.captchaToken},code_challenge:h,code_challenge_method:m},redirectTo:d?.emailRedirectTo});return f&&await ft(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:f})}else if("phone"in n){const{phone:l,type:c,options:d}=n,{data:h,error:m}=await oe(this.fetch,"POST",r,{headers:this.headers,body:{phone:l,type:c,gotrue_meta_security:{captcha_token:d?.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:h?.message_id},error:m})}throw new vc("You must provide either an email or phone number and a type")}catch(r){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async getSession(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async n=>n)):await this._useSession(async n=>n)}async _acquireLock(n,r){this._debug("#_acquireLock","begin",n);try{if(this.lockAcquired){const l=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),c=(async()=>(await l,await r()))();return this.pendingInLock.push((async()=>{try{await c}catch{}})()),c}return await this.lock(`lock:${this.storageKey}`,n,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const l=r();for(this.pendingInLock.push((async()=>{try{await l}catch{}})()),await l;this.pendingInLock.length;){const c=[...this.pendingInLock];await Promise.all(c),this.pendingInLock.splice(0,c.length)}return await l}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(n){this._debug("#_useSession","begin");try{const r=await this.__loadSession();return await n(r)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lock!=null&&!this.lockAcquired&&this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let n=null;const r=await zn(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",r),r!==null&&(this._isValidSession(r)?n=r:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!n)return{data:{session:null},error:null};const l=n.expires_at?n.expires_at*1e3-Date.now()<ph:!1;if(this._debug("#__loadSession()",`session has${l?"":" not"} expired`,"expires_at",n.expires_at),!l){if(this.userStorage){const h=await zn(this.userStorage,this.storageKey+"-user");h?.user?n.user=h.user:n.user=yh()}if(this.storage.isServer&&n.user&&!n.user.__isUserNotAvailableProxy){const h={value:this.suppressGetSessionWarning};n.user=Jw(n.user,h),h.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:n},error:null}}const{data:c,error:d}=await this._callRefreshToken(n.refresh_token);if(d){if(!!(n.expires_at&&n.expires_at*1e3>Date.now())){const m=await zn(this.storage,this.storageKey);if(m&&m.refresh_token===n.refresh_token)return this._returnResult({data:{session:n},error:null})}return this._returnResult({data:{session:null},error:d})}return this._returnResult({data:{session:c},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(n){if(n)return await this._getUser(n);await this.initializePromise;let r;return this.lock!=null?r=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()):r=await this._getUser(),r.data.user&&(this.suppressGetSessionWarning=!0),r}async _getUser(n){try{return n?await oe(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:n,xform:yi}):await this._useSession(async r=>{var l,c,d;const{data:h,error:m}=r;if(m)throw m;return!(!((l=h.session)===null||l===void 0)&&l.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new kt}:await oe(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(d=(c=h.session)===null||c===void 0?void 0:c.access_token)!==null&&d!==void 0?d:void 0,xform:yi})})}catch(r){if(ie(r))return yc(r)&&(await this._removeSession(),await ft(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:r});throw r}}async updateUser(n,r={}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(n,r)):await this._updateUser(n,r)}async _updateUser(n,r={}){try{return await this._useSession(async l=>{const{data:c,error:d}=l;if(d)throw d;if(!c.session)throw new kt;const h=c.session;let m=null,f=null;this.flowType==="pkce"&&n.email!=null&&([m,f]=await er(this.storage,this.storageKey));const{data:y,error:w}=await oe(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:r?.emailRedirectTo,body:Object.assign(Object.assign({},n),{code_challenge:m,code_challenge_method:f}),jwt:h.access_token,xform:yi});if(w)throw w;return h.user=y.user,await this._saveSession(h),await this._notifyAllSubscribers("USER_UPDATED",h),this._returnResult({data:{user:h.user},error:null})})}catch(l){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(l))return this._returnResult({data:{user:null},error:l});throw l}}async setSession(n){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(n)):await this._setSession(n)}async _setSession(n){try{if(!n.access_token||!n.refresh_token)throw new kt;const r=Date.now()/1e3;let l=r,c=!0,d=null;const{payload:h}=Sc(n.access_token);if(h.exp&&(l=h.exp,c=l<=r),c){const{data:m,error:f}=await this._callRefreshToken(n.refresh_token);if(f)return this._returnResult({data:{user:null,session:null},error:f});if(!m)return{data:{user:null,session:null},error:null};d=m}else{const{data:m,error:f}=await this._getUser(n.access_token);if(f)return this._returnResult({data:{user:null,session:null},error:f});d={access_token:n.access_token,refresh_token:n.refresh_token,user:m.user,token_type:"bearer",expires_in:l-r,expires_at:l},await this._saveSession(d),await this._notifyAllSubscribers("SIGNED_IN",d)}return this._returnResult({data:{user:d.user,session:d},error:null})}catch(r){if(ie(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}}async refreshSession(n){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(n)):await this._refreshSession(n)}async _refreshSession(n){try{return await this._useSession(async r=>{var l;if(!n){const{data:h,error:m}=r;if(m)throw m;n=(l=h.session)!==null&&l!==void 0?l:void 0}if(!n?.refresh_token)throw new kt;const{data:c,error:d}=await this._callRefreshToken(n.refresh_token);return d?this._returnResult({data:{user:null,session:null},error:d}):c?this._returnResult({data:{user:c.user,session:c},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(r){if(ie(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async _getSessionFromURL(n,r){var l;try{if(!Dt())throw new bc("No browser detected.");if(n.error||n.error_description||n.error_code)throw new bc(n.error_description||"Error in URL with unspecified error_description",{error:n.error||"unspecified_error",code:n.error_code||"unspecified_code"});switch(r){case"implicit":if(this.flowType==="pkce")throw new Yp("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new bc("Not a valid implicit grant flow url.");break;default:}if(r==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!n.code)throw new Yp("No code detected.");const{data:F,error:ee}=await this._exchangeCodeForSession(n.code);if(ee)throw ee;const we=new URL(window.location.href);return we.searchParams.delete("code"),window.history.replaceState(window.history.state,"",we.toString()),{data:{session:F.session,redirectType:(l=F.redirectType)!==null&&l!==void 0?l:null},error:null}}const{provider_token:c,provider_refresh_token:d,access_token:h,refresh_token:m,expires_in:f,expires_at:y,token_type:w}=n;if(!h||!f||!m||!w)throw new bc("No session defined in URL");const S=Math.round(Date.now()/1e3),T=parseInt(f);let x=S+T;y&&(x=parseInt(y));const R=x-S;R*1e3<=ja&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${R}s, should have been closer to ${T}s`);const z=x-T;S-z>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",z,x,S):S-z<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",z,x,S);const{data:G,error:V}=await this._getUser(h);if(V)throw V;const I={provider_token:c,provider_refresh_token:d,access_token:h,expires_in:T,expires_at:x,refresh_token:m,token_type:w,user:G.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:I,redirectType:n.type},error:null})}catch(c){if(ie(c))return this._returnResult({data:{session:null,redirectType:null},error:c});throw c}}_isImplicitGrantCallback(n){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),n):!!(n.access_token||n.error||n.error_description||n.error_code)}async _isPKCECallback(n){const r=await zn(this.storage,`${this.storageKey}-code-verifier`);return!!(n.code&&r)}async signOut(n={scope:"global"}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(n)):await this._signOut(n)}async _signOut({scope:n}={scope:"global"}){return await this._useSession(async r=>{var l;const{data:c,error:d}=r;if(d&&!yc(d))return this._returnResult({error:d});const h=(l=c.session)===null||l===void 0?void 0:l.access_token;if(h){const{error:m}=await this.admin.signOut(h,n);if(m&&!(Ew(m)&&(m.status===404||m.status===401||m.status===403)||yc(m)))return this._returnResult({error:m})}return n!=="others"&&(await this._removeSession(),await ft(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(n){const r=Uw(),l={id:r,callback:n,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",r),this.stateChangeEmitters.delete(r)}};return this._debug("#onAuthStateChange()","registered callback with id",r),this.stateChangeEmitters.set(r,l),(async()=>(await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(r)}):await this._emitInitialSession(r)))(),{data:{subscription:l}}}async _emitInitialSession(n){return await this._useSession(async r=>{var l,c;try{const{data:{session:d},error:h}=r;if(h)throw h;await((l=this.stateChangeEmitters.get(n))===null||l===void 0?void 0:l.callback("INITIAL_SESSION",d)),this._debug("INITIAL_SESSION","callback id",n,"session",d)}catch(d){await((c=this.stateChangeEmitters.get(n))===null||c===void 0?void 0:c.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",n,"error",d),yc(d)?console.warn(d):console.error(d)}})}async resetPasswordForEmail(n,r={}){let l=null,c=null;this.flowType==="pkce"&&([l,c]=await er(this.storage,this.storageKey,!0));try{return await oe(this.fetch,"POST",`${this.url}/recover`,{body:{email:n,code_challenge:l,code_challenge_method:c,gotrue_meta_security:{captcha_token:r.captchaToken}},headers:this.headers,redirectTo:r.redirectTo})}catch(d){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(d))return this._returnResult({data:null,error:d});throw d}}async getUserIdentities(){var n;try{const{data:r,error:l}=await this.getUser();if(l)throw l;return this._returnResult({data:{identities:(n=r.user.identities)!==null&&n!==void 0?n:[]},error:null})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async linkIdentity(n){return"token"in n?this.linkIdentityIdToken(n):this.linkIdentityOAuth(n)}async linkIdentityOAuth(n){var r;try{const{data:l,error:c}=await this._useSession(async d=>{var h,m,f,y,w;const{data:S,error:T}=d;if(T)throw T;const x=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,n.provider,{redirectTo:(h=n.options)===null||h===void 0?void 0:h.redirectTo,scopes:(m=n.options)===null||m===void 0?void 0:m.scopes,queryParams:(f=n.options)===null||f===void 0?void 0:f.queryParams,skipBrowserRedirect:!0});return await oe(this.fetch,"GET",x,{headers:this.headers,jwt:(w=(y=S.session)===null||y===void 0?void 0:y.access_token)!==null&&w!==void 0?w:void 0})});if(c)throw c;return Dt()&&!(!((r=n.options)===null||r===void 0)&&r.skipBrowserRedirect)&&window.location.assign(l?.url),this._returnResult({data:{provider:n.provider,url:l?.url},error:null})}catch(l){if(ie(l))return this._returnResult({data:{provider:n.provider,url:null},error:l});throw l}}async linkIdentityIdToken(n){return await this._useSession(async r=>{var l;try{const{error:c,data:{session:d}}=r;if(c)throw c;const{options:h,provider:m,token:f,access_token:y,nonce:w}=n,S=await oe(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(l=d?.access_token)!==null&&l!==void 0?l:void 0,body:{provider:m,id_token:f,access_token:y,nonce:w,link_identity:!0,gotrue_meta_security:{captcha_token:h?.captchaToken}},xform:En}),{data:T,error:x}=S;return x?this._returnResult({data:{user:null,session:null},error:x}):!T||!T.session||!T.user?this._returnResult({data:{user:null,session:null},error:new es}):(T.session&&(await this._saveSession(T.session),await this._notifyAllSubscribers("USER_UPDATED",T.session)),this._returnResult({data:T,error:x}))}catch(c){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(c))return this._returnResult({data:{user:null,session:null},error:c});throw c}})}async unlinkIdentity(n){try{return await this._useSession(async r=>{var l,c;const{data:d,error:h}=r;if(h)throw h;return await oe(this.fetch,"DELETE",`${this.url}/user/identities/${n.identity_id}`,{headers:this.headers,jwt:(c=(l=d.session)===null||l===void 0?void 0:l.access_token)!==null&&c!==void 0?c:void 0})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _refreshAccessToken(n){const r="#_refreshAccessToken()";this._debug(r,"begin");try{const l=Date.now();return await Hw(async c=>(c>0&&await Pw(200*Math.pow(2,c-1)),this._debug(r,"refreshing attempt",c),await oe(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:n},headers:this.headers,xform:En})),(c,d)=>{const h=200*Math.pow(2,c);return d&&Wp(d)&&Date.now()+h-l<ja})}catch(l){if(this._debug(r,"error",l),ie(l))return this._returnResult({data:{session:null,user:null},error:l});throw l}finally{this._debug(r,"end")}}_isValidSession(n){return typeof n=="object"&&n!==null&&"access_token"in n&&"refresh_token"in n&&"expires_at"in n}async _handleProviderSignIn(n,r){const l=await this._getUrlForProvider(`${this.url}/authorize`,n,{redirectTo:r.redirectTo,scopes:r.scopes,queryParams:r.queryParams});return this._debug("#_handleProviderSignIn()","provider",n,"options",r,"url",l),Dt()&&!r.skipBrowserRedirect&&window.location.assign(l),{data:{provider:n,url:l},error:null}}async _recoverAndRefresh(){var n,r;const l="#_recoverAndRefresh()";this._debug(l,"begin");try{const c=await zn(this.storage,this.storageKey);if(c&&this.userStorage){let h=await zn(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!h&&(h={user:c.user},await os(this.userStorage,this.storageKey+"-user",h)),c.user=(n=h?.user)!==null&&n!==void 0?n:yh()}else if(c&&!c.user&&!c.user){const h=await zn(this.storage,this.storageKey+"-user");h&&h?.user?(c.user=h.user,await ft(this.storage,this.storageKey+"-user"),await os(this.storage,this.storageKey,c)):c.user=yh()}if(this._debug(l,"session from storage",c),!this._isValidSession(c)){this._debug(l,"session is not valid"),c!==null&&await this._removeSession();return}const d=((r=c.expires_at)!==null&&r!==void 0?r:1/0)*1e3-Date.now()<ph;if(this._debug(l,`session has${d?"":" not"} expired with margin of ${ph}s`),d){if(this.autoRefreshToken&&c.refresh_token){const{error:h}=await this._callRefreshToken(c.refresh_token);h&&(Rw(h)?this._debug(l,"refresh discarded by commit guard",h):this._debug(l,"refresh failed",h))}}else if(c.user&&c.user.__isUserNotAvailableProxy===!0)try{const{data:h,error:m}=await this._getUser(c.access_token);!m&&h?.user?(c.user=h.user,await this._saveSession(c),await this._notifyAllSubscribers("SIGNED_IN",c)):this._debug(l,"could not get user data, skipping SIGNED_IN notification")}catch(h){console.error("Error getting user data:",h),this._debug(l,"error getting user data, skipping SIGNED_IN notification",h)}else await this._notifyAllSubscribers("SIGNED_IN",c)}catch(c){this._debug(l,"error",c),console.error(c);return}finally{this._debug(l,"end")}}async _callRefreshToken(n){var r,l;if(!n)throw new kt;if(this.refreshingDeferred)return this.refreshingDeferred.promise;if(this.lastRefreshFailure&&this.lastRefreshFailure.refreshToken===n&&Date.now()<this.lastRefreshFailure.expiresAt)return this._debug("#_callRefreshToken()","returning cached failure (cooldown active)"),this.lastRefreshFailure.result;const c="#_callRefreshToken()";this._debug(c,"begin");try{this.refreshingDeferred=new zc;const d=await zn(this.storage,this.storageKey),{data:h,error:m}=await this._refreshAccessToken(n);if(m)throw m;if(!h.session)throw new kt;const f=await zn(this.storage,this.storageKey);if(d!==null&&(f===null||f.refresh_token!==d.refresh_token)){this._debug(c,"commit guard: storage changed since refresh started, discarding rotated tokens",{startedWith:"present",nowHolds:f?"replaced":"cleared"});const T={data:null,error:new Jp};return this.refreshingDeferred.resolve(T),T}const w=this._sessionRemovalEpoch;if(await this._saveSession(h.session),this._sessionRemovalEpoch!==w){this._debug(c,"commit guard (post-save): _removeSession ran during _saveSession, undoing write"),await ft(this.storage,this.storageKey),this.userStorage&&await ft(this.userStorage,this.storageKey+"-user");const T={data:null,error:new Jp};return this.refreshingDeferred.resolve(T),T}await this._notifyAllSubscribers("TOKEN_REFRESHED",h.session);const S={data:h.session,error:null};return this.lastRefreshFailure=null,this.refreshingDeferred.resolve(S),S}catch(d){if(this._debug(c,"error",d),ie(d)){const h={data:null,error:d};if(!Wp(d)){const m=await zn(this.storage,this.storageKey);!!(m?.expires_at&&m.expires_at*1e3>Date.now())?this._debug(c,"proactive refresh failed, access token still valid — preserving session"):await this._removeSession()}return this.lastRefreshFailure={refreshToken:n,result:h,expiresAt:Date.now()+bw},(r=this.refreshingDeferred)===null||r===void 0||r.resolve(h),h}throw(l=this.refreshingDeferred)===null||l===void 0||l.reject(d),d}finally{this.refreshingDeferred=null,this._debug(c,"end")}}async _notifyAllSubscribers(n,r,l=!0){const c=`#_notifyAllSubscribers(${n})`;this._debug(c,"begin",r,`broadcast = ${l}`);try{this.broadcastChannel&&l&&this.broadcastChannel.postMessage({event:n,session:r});const d=[],h=Array.from(this.stateChangeEmitters.values()).map(async m=>{try{await m.callback(n,r)}catch(f){d.push(f)}});if(await Promise.all(h),d.length>0){for(let m=0;m<d.length;m+=1)console.error(d[m]);throw d[0]}}finally{this._debug(c,"end")}}async _saveSession(n){this._debug("#_saveSession()",n),this.suppressGetSessionWarning=!0,await ft(this.storage,`${this.storageKey}-code-verifier`);const r=Object.assign({},n),l=r.user&&r.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!l&&r.user&&await os(this.userStorage,this.storageKey+"-user",{user:r.user});const c=Object.assign({},r);delete c.user;const d=ty(c);await os(this.storage,this.storageKey,d)}else{const c=ty(r);await os(this.storage,this.storageKey,c)}}async _removeSession(){this._sessionRemovalEpoch+=1,this._debug("#_removeSession()"),this.lastRefreshFailure=null,this.suppressGetSessionWarning=!1,await ft(this.storage,this.storageKey),await ft(this.storage,this.storageKey+"-code-verifier"),await ft(this.storage,this.storageKey+"-user"),this.userStorage&&await ft(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const n=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{n&&Dt()&&window?.removeEventListener&&window.removeEventListener("visibilitychange",n)}catch(r){console.error("removing visibilitychange callback failed",r)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const n=setInterval(()=>this._autoRefreshTokenTick(),ja);this.autoRefreshTicker=n,n&&typeof n=="object"&&typeof n.unref=="function"?n.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(n);const r=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=r,r&&typeof r=="object"&&typeof r.unref=="function"?r.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(r)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const n=this.autoRefreshTicker;this.autoRefreshTicker=null,n&&clearInterval(n);const r=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,r&&clearTimeout(r)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var n;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(n=this.broadcastChannel)===null||n===void 0||n.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug("#_autoRefreshTokenTick()","begin"),this.lock!=null){try{await this._acquireLock(0,async()=>{try{const n=Date.now();try{return await this._useSession(async r=>{const{data:{session:l}}=r;if(!l||!l.refresh_token||!l.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const c=Math.floor((l.expires_at*1e3-n)/ja);this._debug("#_autoRefreshTokenTick()",`access token expires in ${c} ticks, a tick lasts ${ja}ms, refresh threshold is ${Rl} ticks`),c<=Rl&&await this._callRefreshToken(l.refresh_token)})}catch(r){console.error("Auto refresh tick failed with error. This is likely a transient error.",r)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(n){if(n instanceof i_)this._debug("auto refresh token tick lock not available");else throw n}return}if(this.refreshingDeferred!==null){this._debug("#_autoRefreshTokenTick()","refresh already in flight, skipping");return}try{const n=Date.now();try{await this._useSession(async r=>{const{data:{session:l}}=r;if(!l||!l.refresh_token||!l.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const c=Math.floor((l.expires_at*1e3-n)/ja);this._debug("#_autoRefreshTokenTick()",`access token expires in ${c} ticks, a tick lasts ${ja}ms, refresh threshold is ${Rl} ticks`),c<=Rl&&await this._callRefreshToken(l.refresh_token)})}catch(r){console.error("Auto refresh tick failed with error. This is likely a transient error.",r)}}finally{this._debug("#_autoRefreshTokenTick()","end")}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!Dt()||!window?.addEventListener)return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(n){this._debug("#visibilityChangedCallback","error",n)}},window?.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(n){console.error("_handleVisibilityChange",n)}}async _onVisibilityChanged(n){const r=`#_onVisibilityChanged(${n})`;if(this._debug(r,"visibilityState",document.visibilityState),document.visibilityState==="visible"){if(this.autoRefreshToken&&this._startAutoRefresh(),!n)if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(r,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()});else{if(document.visibilityState!=="visible"){this._debug(r,"visibilityState is no longer visible, skipping recovery");return}await this._recoverAndRefresh()}}else document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(n,r,l){const c=[`provider=${encodeURIComponent(r)}`];if(l?.redirectTo&&c.push(`redirect_to=${encodeURIComponent(l.redirectTo)}`),l?.scopes&&c.push(`scopes=${encodeURIComponent(l.scopes)}`),this.flowType==="pkce"){const[d,h]=await er(this.storage,this.storageKey),m=new URLSearchParams({code_challenge:`${encodeURIComponent(d)}`,code_challenge_method:`${encodeURIComponent(h)}`});c.push(m.toString())}if(l?.queryParams){const d=new URLSearchParams(l.queryParams);c.push(d.toString())}return l?.skipBrowserRedirect&&c.push(`skip_http_redirect=${l.skipBrowserRedirect}`),`${n}?${c.join("&")}`}async _unenroll(n){try{return await this._useSession(async r=>{var l;const{data:c,error:d}=r;return d?this._returnResult({data:null,error:d}):await oe(this.fetch,"DELETE",`${this.url}/factors/${n.factorId}`,{headers:this.headers,jwt:(l=c?.session)===null||l===void 0?void 0:l.access_token})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _enroll(n){try{return await this._useSession(async r=>{var l,c;const{data:d,error:h}=r;if(h)return this._returnResult({data:null,error:h});const m=Object.assign({friendly_name:n.friendlyName,factor_type:n.factorType},n.factorType==="phone"?{phone:n.phone}:n.factorType==="totp"?{issuer:n.issuer}:{}),{data:f,error:y}=await oe(this.fetch,"POST",`${this.url}/factors`,{body:m,headers:this.headers,jwt:(l=d?.session)===null||l===void 0?void 0:l.access_token});return y?this._returnResult({data:null,error:y}):(n.factorType==="totp"&&f.type==="totp"&&(!((c=f?.totp)===null||c===void 0)&&c.qr_code)&&(f.totp.qr_code=`data:image/svg+xml;utf-8,${f.totp.qr_code}`),this._returnResult({data:f,error:null}))})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _verify(n){const r=async()=>{try{return await this._useSession(async l=>{var c;const{data:d,error:h}=l;if(h)return this._returnResult({data:null,error:h});const m=Object.assign({challenge_id:n.challengeId},"webauthn"in n?{webauthn:Object.assign(Object.assign({},n.webauthn),{credential_response:n.webauthn.type==="create"?oy(n.webauthn.credential_response):cy(n.webauthn.credential_response)})}:{code:n.code}),{data:f,error:y}=await oe(this.fetch,"POST",`${this.url}/factors/${n.factorId}/verify`,{body:m,headers:this.headers,jwt:(c=d?.session)===null||c===void 0?void 0:c.access_token});return y?this._returnResult({data:null,error:y}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+f.expires_in},f)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",f),this._returnResult({data:f,error:y}))})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,r):r()}async _challenge(n){const r=async()=>{try{return await this._useSession(async l=>{var c;const{data:d,error:h}=l;if(h)return this._returnResult({data:null,error:h});const m=await oe(this.fetch,"POST",`${this.url}/factors/${n.factorId}/challenge`,{body:n,headers:this.headers,jwt:(c=d?.session)===null||c===void 0?void 0:c.access_token});if(m.error)return m;const{data:f}=m;if(f.type!=="webauthn")return{data:f,error:null};switch(f.webauthn.type){case"create":return{data:Object.assign(Object.assign({},f),{webauthn:Object.assign(Object.assign({},f.webauthn),{credential_options:Object.assign(Object.assign({},f.webauthn.credential_options),{publicKey:sy(f.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},f),{webauthn:Object.assign(Object.assign({},f.webauthn),{credential_options:Object.assign(Object.assign({},f.webauthn.credential_options),{publicKey:ly(f.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,r):r()}async _challengeAndVerify(n){const{data:r,error:l}=await this._challenge({factorId:n.factorId});return l?this._returnResult({data:null,error:l}):await this._verify({factorId:n.factorId,challengeId:r.id,code:n.code})}async _listFactors(){var n;const{data:{user:r},error:l}=await this.getUser();if(l)return{data:null,error:l};const c={all:[],phone:[],totp:[],webauthn:[]};for(const d of(n=r?.factors)!==null&&n!==void 0?n:[])c.all.push(d),d.status==="verified"&&c[d.factor_type].push(d);return{data:c,error:null}}async _getAuthenticatorAssuranceLevel(n){var r,l,c,d;if(n)try{const{payload:x}=Sc(n);let R=null;x.aal&&(R=x.aal);let z=R;const{data:{user:G},error:V}=await this.getUser(n);if(V)return this._returnResult({data:null,error:V});((l=(r=G?.factors)===null||r===void 0?void 0:r.filter(ee=>ee.status==="verified"))!==null&&l!==void 0?l:[]).length>0&&(z="aal2");const F=x.amr||[];return{data:{currentLevel:R,nextLevel:z,currentAuthenticationMethods:F},error:null}}catch(x){if(ie(x))return this._returnResult({data:null,error:x});throw x}const{data:{session:h},error:m}=await this.getSession();if(m)return this._returnResult({data:null,error:m});if(!h)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:f}=Sc(h.access_token);let y=null;f.aal&&(y=f.aal);let w=y;((d=(c=h.user.factors)===null||c===void 0?void 0:c.filter(x=>x.status==="verified"))!==null&&d!==void 0?d:[]).length>0&&(w="aal2");const T=f.amr||[];return{data:{currentLevel:y,nextLevel:w,currentAuthenticationMethods:T},error:null}}async _getAuthorizationDetails(n){try{return await this._useSession(async r=>{const{data:{session:l},error:c}=r;return c?this._returnResult({data:null,error:c}):l?await oe(this.fetch,"GET",`${this.url}/oauth/authorizations/${n}`,{headers:this.headers,jwt:l.access_token,xform:d=>({data:d,error:null})}):this._returnResult({data:null,error:new kt})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _approveAuthorization(n,r){try{return await this._useSession(async l=>{const{data:{session:c},error:d}=l;if(d)return this._returnResult({data:null,error:d});if(!c)return this._returnResult({data:null,error:new kt});const h=await oe(this.fetch,"POST",`${this.url}/oauth/authorizations/${n}/consent`,{headers:this.headers,jwt:c.access_token,body:{action:"approve"},xform:m=>({data:m,error:null})});return h.data&&h.data.redirect_url&&Dt()&&!r?.skipBrowserRedirect&&window.location.assign(h.data.redirect_url),h})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}}async _denyAuthorization(n,r){try{return await this._useSession(async l=>{const{data:{session:c},error:d}=l;if(d)return this._returnResult({data:null,error:d});if(!c)return this._returnResult({data:null,error:new kt});const h=await oe(this.fetch,"POST",`${this.url}/oauth/authorizations/${n}/consent`,{headers:this.headers,jwt:c.access_token,body:{action:"deny"},xform:m=>({data:m,error:null})});return h.data&&h.data.redirect_url&&Dt()&&!r?.skipBrowserRedirect&&window.location.assign(h.data.redirect_url),h})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}}async _listOAuthGrants(){try{return await this._useSession(async n=>{const{data:{session:r},error:l}=n;return l?this._returnResult({data:null,error:l}):r?await oe(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,xform:c=>({data:c,error:null})}):this._returnResult({data:null,error:new kt})})}catch(n){if(ie(n))return this._returnResult({data:null,error:n});throw n}}async _revokeOAuthGrant(n){try{return await this._useSession(async r=>{const{data:{session:l},error:c}=r;return c?this._returnResult({data:null,error:c}):l?(await oe(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:l.access_token,query:{client_id:n.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new kt})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async fetchJwk(n,r={keys:[]}){let l=r.keys.find(m=>m.kid===n);if(l)return l;const c=Date.now();if(l=this.jwks.keys.find(m=>m.kid===n),l&&this.jwks_cached_at+kw>c)return l;const{data:d,error:h}=await oe(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(h)throw h;return!d.keys||d.keys.length===0||(this.jwks=d,this.jwks_cached_at=c,l=d.keys.find(m=>m.kid===n),!l)?null:l}async getClaims(n,r={}){try{let l=n;if(!l){const{data:x,error:R}=await this.getSession();if(R||!x.session)return this._returnResult({data:null,error:R});l=x.session.access_token}const{header:c,payload:d,signature:h,raw:{header:m,payload:f}}=Sc(l);if(!r?.allowExpired)try{Fw(d.exp)}catch(x){throw new xc(x instanceof Error?x.message:"JWT validation failed")}const y=!c.alg||c.alg.startsWith("HS")||!c.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(c.kid,r?.keys?{keys:r.keys}:r?.jwks);if(!y){const{error:x}=await this.getUser(l);if(x)throw x;return{data:{claims:d,header:c,signature:h},error:null}}const w=Yw(c.alg),S=await crypto.subtle.importKey("jwk",y,w,!0,["verify"]);if(!await crypto.subtle.verify(w,S,h,Mw(`${m}.${f}`)))throw new xc("Invalid JWT signature");return{data:{claims:d,header:c,signature:h},error:null}}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}}async signInWithPasskey(n){var r,l,c;Pn(this.experimental);try{if(!Oc())return this._returnResult({data:null,error:new qn("Browser does not support WebAuthn",null)});const{data:d,error:h}=await this._startPasskeyAuthentication({options:{captchaToken:(r=n?.options)===null||r===void 0?void 0:r.captchaToken}});if(h||!d)return this._returnResult({data:null,error:h});const m=ly(d.options),f=(c=(l=n?.options)===null||l===void 0?void 0:l.signal)!==null&&c!==void 0?c:qh.createNewAbortSignal(),{data:y,error:w}=await rv({publicKey:m,signal:f});if(w||!y)return this._returnResult({data:null,error:w??new qn("WebAuthn ceremony failed",null)});const S=cy(y);return this._verifyPasskeyAuthentication({challengeId:d.challenge_id,credential:S})}catch(d){if(ie(d))return this._returnResult({data:null,error:d});throw d}}async registerPasskey(n){var r,l;Pn(this.experimental);try{if(!Oc())return this._returnResult({data:null,error:new qn("Browser does not support WebAuthn",null)});const{data:c,error:d}=await this._startPasskeyRegistration();if(d||!c)return this._returnResult({data:null,error:d});const h=sy(c.options),m=(l=(r=n?.options)===null||r===void 0?void 0:r.signal)!==null&&l!==void 0?l:qh.createNewAbortSignal(),{data:f,error:y}=await iv({publicKey:h,signal:m});if(y||!f)return this._returnResult({data:null,error:y??new qn("WebAuthn ceremony failed",null)});const w=oy(f);return this._verifyPasskeyRegistration({challengeId:c.challenge_id,credential:w})}catch(c){if(ie(c))return this._returnResult({data:null,error:c});throw c}}async _startPasskeyRegistration(){Pn(this.experimental);try{return await this._useSession(async n=>{const{data:{session:r},error:l}=n;if(l)return this._returnResult({data:null,error:l});if(!r)return this._returnResult({data:null,error:new kt});const{data:c,error:d}=await oe(this.fetch,"POST",`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:r.access_token,body:{}});return d?this._returnResult({data:null,error:d}):this._returnResult({data:c,error:null})})}catch(n){if(ie(n))return this._returnResult({data:null,error:n});throw n}}async _verifyPasskeyRegistration(n){Pn(this.experimental);try{return await this._useSession(async r=>{const{data:{session:l},error:c}=r;if(c)return this._returnResult({data:null,error:c});if(!l)return this._returnResult({data:null,error:new kt});const{data:d,error:h}=await oe(this.fetch,"POST",`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:l.access_token,body:{challenge_id:n.challengeId,credential:n.credential}});return h?this._returnResult({data:null,error:h}):this._returnResult({data:d,error:null})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _startPasskeyAuthentication(n){var r;Pn(this.experimental);try{const{data:l,error:c}=await oe(this.fetch,"POST",`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:(r=n?.options)===null||r===void 0?void 0:r.captchaToken}}});return c?this._returnResult({data:null,error:c}):this._returnResult({data:l,error:null})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}}async _verifyPasskeyAuthentication(n){Pn(this.experimental);try{const{data:r,error:l}=await oe(this.fetch,"POST",`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:n.challengeId,credential:n.credential},xform:En});return l?this._returnResult({data:null,error:l}):(r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",r.session)),this._returnResult({data:r,error:null}))}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _listPasskeys(){Pn(this.experimental);try{return await this._useSession(async n=>{const{data:{session:r},error:l}=n;if(l)return this._returnResult({data:null,error:l});if(!r)return this._returnResult({data:null,error:new kt});const{data:c,error:d}=await oe(this.fetch,"GET",`${this.url}/passkeys`,{headers:this.headers,jwt:r.access_token,xform:h=>({data:h,error:null})});return d?this._returnResult({data:null,error:d}):this._returnResult({data:c,error:null})})}catch(n){if(ie(n))return this._returnResult({data:null,error:n});throw n}}async _updatePasskey(n){Pn(this.experimental);try{return await this._useSession(async r=>{const{data:{session:l},error:c}=r;if(c)return this._returnResult({data:null,error:c});if(!l)return this._returnResult({data:null,error:new kt});const{data:d,error:h}=await oe(this.fetch,"PATCH",`${this.url}/passkeys/${n.passkeyId}`,{headers:this.headers,jwt:l.access_token,body:{friendly_name:n.friendlyName}});return h?this._returnResult({data:null,error:h}):this._returnResult({data:d,error:null})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _deletePasskey(n){Pn(this.experimental);try{return await this._useSession(async r=>{const{data:{session:l},error:c}=r;if(c)return this._returnResult({data:null,error:c});if(!l)return this._returnResult({data:null,error:new kt});const{error:d}=await oe(this.fetch,"DELETE",`${this.url}/passkeys/${n.passkeyId}`,{headers:this.headers,jwt:l.access_token,noResolveJson:!0});return d?this._returnResult({data:null,error:d}):this._returnResult({data:null,error:null})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}}Kl.nextInstanceID={};const v_=Kl,b_="2.110.0";let Ol="",Nc;if(typeof Deno<"u"){var bh;Ol="deno",Nc=(bh=Deno.version)===null||bh===void 0?void 0:bh.deno}else if(typeof document<"u")Ol="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")Ol="react-native";else{var Sh;Ol="node",Nc=typeof process<"u"?(Sh=process.version)===null||Sh===void 0?void 0:Sh.replace(/^v/,""):void 0}const sv=[`runtime=${Ol}`];Nc&&sv.push(`runtime-version=${Nc}`);const S_={"X-Client-Info":`supabase-js/${b_}; ${sv.join("; ")}`},w_={headers:S_},__={schema:"public"},T_={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},k_={},A_={enabled:!1,respectSamplingDecision:!0};function E_(i,n,r,l){function c(d){return d instanceof r?d:new r(function(h){h(d)})}return new(r||(r=Promise))(function(d,h){function m(w){try{y(l.next(w))}catch(S){h(S)}}function f(w){try{y(l.throw(w))}catch(S){h(S)}}function y(w){w.done?d(w.value):c(w.value).then(m,f)}y((l=l.apply(i,[])).next())})}let wh=null;const x_="@opentelemetry/api";function C_(){return wh===null&&(wh=import(x_).catch(()=>null)),wh}function R_(){return E_(this,void 0,void 0,function*(){try{const i=yield C_();if(!i||!i.propagation||!i.context)return null;const n={};i.propagation.inject(i.context.active(),n);const r=n.traceparent;return r?{traceparent:r,tracestate:n.tracestate,baggage:n.baggage}:null}catch{return null}})}function O_(i){if(!i||typeof i!="string")return null;const n=i.split("-");if(n.length!==4)return null;const[r,l,c,d]=n;if(r.length!==2||l.length!==32||c.length!==16||d.length!==2)return null;const h=/^[0-9a-f]+$/i;return!h.test(r)||!h.test(l)||!h.test(c)||!h.test(d)||l==="00000000000000000000000000000000"||c==="0000000000000000"?null:{version:r,traceId:l,parentId:c,traceFlags:d,isSampled:(parseInt(d,16)&1)===1}}function j_(i,n){if(!i||!n||n.length===0)return!1;let r;if(i instanceof URL)r=i;else try{r=new URL(i)}catch{return!1}for(const l of n)try{if(typeof l=="string"){if(N_(r.hostname,l))return!0}else if(l instanceof RegExp){if(l.test(r.hostname))return!0}else if(typeof l=="function"&&l(r))return!0}catch{continue}return!1}function N_(i,n){if(n===i)return!0;if(n.startsWith("*.")){const r=n.slice(2);if(i.endsWith(r)&&(i===r||i.endsWith("."+r)))return!0}return!1}function L_(i){const n=[];try{const r=new URL(i);n.push(r.hostname)}catch{}return n.push("*.supabase.co","*.supabase.in"),n.push("localhost","127.0.0.1","[::1]"),n}function Fl(i){"@babel/helpers - typeof";return Fl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Fl(i)}function M_(i,n){if(Fl(i)!="object"||!i)return i;var r=i[Symbol.toPrimitive];if(r!==void 0){var l=r.call(i,n);if(Fl(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function D_(i){var n=M_(i,"string");return Fl(n)=="symbol"?n:n+""}function U_(i,n,r){return(n=D_(n))in i?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,i}function uy(i,n){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(i);n&&(l=l.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),r.push.apply(r,l)}return r}function ct(i){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?uy(Object(r),!0).forEach(function(l){U_(i,l,r[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(r)):uy(Object(r)).forEach(function(l){Object.defineProperty(i,l,Object.getOwnPropertyDescriptor(r,l))})}return i}const z_=i=>i?(...n)=>i(...n):(...n)=>fetch(...n),B_=()=>Headers,P_=(i,n,r,l,c)=>{const d=z_(l),h=B_(),m=c?.enabled===!0,f=c?.respectSamplingDecision!==!1,y=m?L_(n):null;return async(w,S)=>{var T;const x=(T=await r())!==null&&T!==void 0?T:i;let R=new h(S?.headers);if(R.has("apikey")||R.set("apikey",i),R.has("Authorization")||R.set("Authorization",`Bearer ${x}`),y){const z=await H_(w,y,f);z&&(z.traceparent&&!R.has("traceparent")&&R.set("traceparent",z.traceparent),z.tracestate&&!R.has("tracestate")&&R.set("tracestate",z.tracestate),z.baggage&&!R.has("baggage")&&R.set("baggage",z.baggage))}return d(w,ct(ct({},S),{},{headers:R}))}};async function H_(i,n,r){if(!j_(typeof i=="string"||i instanceof URL?i:i.url,n))return null;const l=await R_();if(!l||!l.traceparent)return null;if(r){const c=O_(l.traceparent);if(c&&!c.isSampled)return null}return l}function dy(i){return typeof i=="boolean"?{enabled:i}:i}function $_(i){return i.endsWith("/")?i:i+"/"}function q_(i,n){var r,l,c,d,h,m;const{db:f,auth:y,realtime:w,global:S}=i,{db:T,auth:x,realtime:R,global:z}=n,G=dy(i.tracePropagation),V=dy(n.tracePropagation),I={db:ct(ct({},T),f),auth:ct(ct({},x),y),realtime:ct(ct({},R),w),storage:{},global:ct(ct(ct({},z),S),{},{headers:ct(ct({},(r=z?.headers)!==null&&r!==void 0?r:{}),(l=S?.headers)!==null&&l!==void 0?l:{})}),tracePropagation:{enabled:(c=(d=G?.enabled)!==null&&d!==void 0?d:V?.enabled)!==null&&c!==void 0?c:!1,respectSamplingDecision:(h=(m=G?.respectSamplingDecision)!==null&&m!==void 0?m:V?.respectSamplingDecision)!==null&&h!==void 0?h:!0},accessToken:async()=>""};return i.accessToken?I.accessToken=i.accessToken:delete I.accessToken,I}function I_(i){const n=i?.trim();if(!n)throw new Error("supabaseUrl is required.");if(!n.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL($_(n))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var G_=class extends v_{constructor(i){super(i)}},V_=class{constructor(i,n,r){var l,c;this.supabaseUrl=i,this.supabaseKey=n;const d=I_(i);if(!n)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",d),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",d),this.storageUrl=new URL("storage/v1",d),this.functionsUrl=new URL("functions/v1",d);const h=`sb-${d.hostname.split(".")[0]}-auth-token`,m={db:__,realtime:k_,auth:ct(ct({},T_),{},{storageKey:h}),global:w_,tracePropagation:A_},f=q_(r??{},m);if(this.settings=f,this.storageKey=(l=f.auth.storageKey)!==null&&l!==void 0?l:"",this.headers=(c=f.global.headers)!==null&&c!==void 0?c:{},f.accessToken)this.accessToken=f.accessToken,this.auth=new Proxy({},{get:(w,S)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(S)} is not possible`)}});else{var y;this.auth=this._initSupabaseAuthClient((y=f.auth)!==null&&y!==void 0?y:{},this.headers,f.global.fetch)}this.fetch=P_(n,i,this._getAccessToken.bind(this),f.global.fetch,f.tracePropagation),this.realtime=this._initRealtimeClient(ct({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},f.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(w=>this.realtime.setAuth(w)).catch(w=>console.warn("Failed to set initial Realtime auth token:",w)),this.rest=new eS(new URL("rest/v1",d).href,{headers:this.headers,schema:f.db.schema,fetch:this.fetch,timeout:f.db.timeout,urlLengthLimit:f.db.urlLengthLimit}),this.storage=new vw(this.storageUrl.href,this.headers,this.fetch,r?.storage),f.accessToken||this._listenForAuthEvents()}get functions(){return new Vb(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(i){return this.rest.from(i)}schema(i){return this.rest.schema(i)}rpc(i,n={},r={head:!1,get:!1,count:void 0}){return this.rest.rpc(i,n,r)}channel(i,n={config:{}}){return this.realtime.channel(i,n)}getChannels(){return this.realtime.getChannels()}removeChannel(i){return this.realtime.removeChannel(i)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var i=this,n,r;if(i.accessToken)return await i.accessToken();const{data:l}=await i.auth.getSession();return(n=(r=l.session)===null||r===void 0?void 0:r.access_token)!==null&&n!==void 0?n:i.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:i,persistSession:n,detectSessionInUrl:r,storage:l,userStorage:c,storageKey:d,flowType:h,lock:m,debug:f,throwOnError:y,experimental:w,lockAcquireTimeout:S,skipAutoInitialize:T},x,R){const z={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new G_({url:this.authUrl.href,headers:ct(ct({},z),x),storageKey:d,autoRefreshToken:i,persistSession:n,detectSessionInUrl:r,storage:l,userStorage:c,flowType:h,lock:m,debug:f,throwOnError:y,experimental:w,fetch:R,lockAcquireTimeout:S,skipAutoInitialize:T,hasCustomAuthorizationHeader:Object.keys(this.headers).some(G=>G.toLowerCase()==="authorization")})}_initRealtimeClient(i){return new qS(this.realtimeUrl.href,ct(ct({},i),{},{params:ct(ct({},{apikey:this.supabaseKey}),i?.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((i,n)=>{this._handleTokenChanged(i,"CLIENT",n?.access_token)})}_handleTokenChanged(i,n,r){(i==="TOKEN_REFRESHED"||i==="SIGNED_IN")&&this.changedAccessToken!==r?(this.changedAccessToken=r,this.realtime.setAuth(r)):i==="SIGNED_OUT"&&(this.realtime.setAuth(),n=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const K_=(i,n,r)=>new V_(i,n,r);function F_(){if(typeof window<"u")return!1;const i=globalThis.process;if(!i)return!1;const n=i.version;if(n==null)return!1;const r=n.match(/^v(\d+)\./);return r?parseInt(r[1],10)<=20:!1}F_()&&console.warn("⚠️ Node.js 20 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 22 or later. For more information, visit: https://github.com/orgs/supabase/discussions/45715");const Y_="https://otbyfkjxrkngvjziawki.supabase.co",W_="sb_publishable_NpUs0RDJH2YnllsqTKO6TQ_1jTdSsNQ",ea=K_(Y_,W_,{auth:{autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"pkce",storageKey:"livedesk.mindexec.supabase.auth"}}),Ul=new WeakMap,hy=new WeakMap,Ih=2,J_=0,X_=250;let ms={h264DecodeAcceleration:"prefer-software"};function Q_(i){i.h264DecodeAcceleration&&(ms={...ms,h264DecodeAcceleration:i.h264DecodeAcceleration})}function Gh(i,n,r){try{let l=hy.get(i);l||(l={canvas:document.createElement("canvas"),lastHash:"",initialized:!1},hy.set(i,l));const c=64,d=Math.max(1,Math.round(c*Math.max(1,r)/Math.max(1,n)));(l.canvas.width!==c||l.canvas.height!==d)&&(l.canvas.width=c,l.canvas.height=d);const h=l.canvas.getContext("2d",{willReadFrequently:!0});if(!h)return{visualHash:"",visualChanged:!0};h.drawImage(i,0,0,Math.max(1,n),Math.max(1,r),0,0,c,d);const m=h.getImageData(0,0,c,d).data;let f=2166136261;for(let S=0;S<m.length;S+=4)f^=m[S],f=Math.imul(f,16777619),f^=m[S+1],f=Math.imul(f,16777619),f^=m[S+2],f=Math.imul(f,16777619);const y=(f>>>0).toString(16).padStart(8,"0"),w=!l.initialized||y!==l.lastHash;return l.initialized=!0,l.lastHash=y,{visualHash:y,visualChanged:w}}catch{return{visualHash:"",visualChanged:!0}}}function Z_(i){return String(i.frameMode||i.mode||"").toLowerCase()==="mode2-lz4"||String(i.compression||"").toLowerCase()==="lz4"||String(i.mimeType||"").toLowerCase()==="application/vnd.livedesk.lz4-raw"}function e1(i){return String(i.frameMode||i.mode||"").toLowerCase()==="mode3-h264-hw"||String(i.codec||"").toLowerCase()==="h264"||String(i.mimeType||"").toLowerCase()==="video/h264"}function fy(i,n,r){let l=r,c=n;if(l===15){let d=255;for(;d===255;){if(c>=i.length)throw new Error("Invalid LZ4 block: length overrun.");d=i[c],c+=1,l+=d}}return{length:l,cursor:c}}function t1(i,n){const r=new Uint8Array(n);let l=0,c=0;for(;l<i.length;){const d=i[l];l+=1;const h=fy(i,l,d>>4);l=h.cursor;const m=h.length;if(l+m>i.length||c+m>r.length)throw new Error("Invalid LZ4 block: literal overrun.");if(r.set(i.subarray(l,l+m),c),l+=m,c+=m,l>=i.length)break;if(l+2>i.length)throw new Error("Invalid LZ4 block: missing offset.");const f=i[l]|i[l+1]<<8;if(l+=2,f<=0||f>c)throw new Error("Invalid LZ4 block: bad match offset.");const y=fy(i,l,d&15);l=y.cursor;const w=y.length+4;if(c+w>r.length)throw new Error("Invalid LZ4 block: match overrun.");let S=c-f;for(let T=0;T<w;T+=1)r[c]=r[S],c+=1,S+=1}if(c!==r.length)throw new Error("Invalid LZ4 block: incomplete output.");return r}function n1(i){const n=Math.max(1,Math.floor(i.width||0)),r=Math.max(1,Math.floor(i.height||0)),l=Math.max(1,Math.floor(i.bytesPerPixel||4)),c=Math.max(n*r*l,Math.floor(i.uncompressedByteLength||0)),d=t1(new Uint8Array(i.payload),c),h=String(i.pixelFormat||i.codec||"").toLowerCase();if(l!==4)throw new Error(`Unsupported mode2 pixel size: ${l}`);const m=new Uint8ClampedArray(n*r*4);if(h==="rgba32"||h==="rgba")m.set(d.subarray(0,m.length));else for(let f=0,y=0;y<m.length;f+=4,y+=4)m[y]=d[f+2],m[y+1]=d[f+1],m[y+2]=d[f],m[y+3]=d[f+3];return new ImageData(m,n,r)}function my(i){const n=window.VideoDecoder;if(!n||!window.EncodedVideoChunk)throw new Error("WebCodecs H.264 decode is not supported in this browser.");const r=Ul.get(i);if(r&&r.decoder.state!=="closed")return r;let l;return l={decoder:new n({output:d=>{const h=Number(d.timestamp||0),m=l.pendingFrames.get(h);m&&l.pendingFrames.delete(h);const f=d.displayWidth||d.codedWidth||i.width||960,y=d.displayHeight||d.codedHeight||i.height||540,w=Math.max(16,Math.min(250,Number(d.duration||m?.frame.durationUs||83333)/1e3));for(l.targetPaintIntervalMs=w,l.decodedFrames.push({videoFrame:d,pending:m,decodedAt:performance.now(),width:f,height:y,durationMs:w});l.decodedFrames.length>Ih;)Vh(l,l.decodedFrames.shift());lv(l),l.renderTimer!==null&&l.decodedFrames.length>=Ih&&(window.cancelAnimationFrame(l.renderTimer),l.renderTimer=null),ov(i,l)},error:()=>{Qh(l),Ul.delete(i)}}),configured:!1,configKey:"",hardwareAcceleration:ms.h264DecodeAcceleration,keyFrameSeen:!1,droppedForLatency:0,pendingFrames:new Map,decodedFrames:[],renderTimer:null,lastPaintAt:0,targetPaintIntervalMs:1e3/12,nextChunkTimestampUs:0},Ul.set(i,l),l}function Qh(i){i.renderTimer!==null&&(window.cancelAnimationFrame(i.renderTimer),i.renderTimer=null);for(const n of i.decodedFrames)n.videoFrame.close();i.decodedFrames=[]}function Vh(i,n){n&&(n.videoFrame.close(),i.droppedForLatency+=1)}function lv(i,n=performance.now()){for(;i.decodedFrames.length>1;)Vh(i,i.decodedFrames.shift());const r=i.decodedFrames[0];r?.pending&&n-r.pending.queuedAt>X_&&(Vh(i,i.decodedFrames.shift()),i.lastPaintAt=0)}function a1(i,n,r){const l=performance.now();try{if((i.width!==r.width||i.height!==r.height)&&(i.width=r.width,i.height=r.height),i.getContext("2d")?.drawImage(r.videoFrame,0,0,r.width,r.height),r.pending){const d=performance.now(),h=Gh(i,r.width,r.height);n.onPaint?.(r.pending.frame,{deviceId:r.pending.frame.deviceId,frameSeq:r.pending.frame.frameSeq,mode:r.pending.frame.frameMode||r.pending.frame.mode||r.pending.frame.codec||r.pending.frame.mimeType,width:r.width,height:r.height,byteLength:r.pending.frame.byteLength,queuedForMs:Math.max(0,l-r.pending.queuedAt),decodedForMs:Math.max(0,r.decodedAt-r.pending.queuedAt),scheduledForMs:Math.max(0,l-r.decodedAt),drawMs:Math.max(0,d-l),queueSize:r.pending.queueSize,renderQueueSize:n.decodedFrames.length,droppedForLatency:n.droppedForLatency,h264DecodeAcceleration:n.hardwareAcceleration,visualHash:h.visualHash,visualChanged:h.visualChanged,paintedAt:d})}n.lastPaintAt=performance.now()}finally{r.videoFrame.close()}}function ov(i,n){if(n.renderTimer!==null||n.decodedFrames.length===0)return;const r=Math.max(16,Math.min(250,n.targetPaintIntervalMs||1e3/12)),l=()=>{if(n.renderTimer=null,n.decodedFrames.length===0)return;const c=performance.now();if(lv(n,c),n.decodedFrames.length===0)return;const d=n.lastPaintAt>0?n.lastPaintAt+r:c+J_;if(!(c>=d||n.decodedFrames.length>=Ih-1)){n.renderTimer=window.requestAnimationFrame(l);return}const m=n.decodedFrames.shift();m&&a1(i,n,m),ov(i,n)};n.renderTimer=window.requestAnimationFrame(l)}function Kh(i){const n=Ul.get(i);if(n){try{Qh(n),n.decoder.state!=="closed"&&n.decoder.close()}catch{}Ul.delete(i)}}function i1(i,n,r){const l=String(n.h264Format||"").toLowerCase()==="avc"?"avc":"annexb",c=Math.max(1,Math.floor(n.width||960)),d=Math.max(1,Math.floor(n.height||540)),h=ms.h264DecodeAcceleration,m=[n.streamId||"",n.commandId||"",c,d,l,h].join("|");let f=my(i);if(f.onPaint=r,f.configured&&f.configKey!==m&&(Kh(i),f=my(i),f.onPaint=r),!f.configured){const R={codec:"avc1.42E01E",codedWidth:c,codedHeight:d,hardwareAcceleration:h,optimizeForLatency:!0,avc:{format:l}};f.decoder.configure(R),f.configured=!0,f.configKey=m,f.hardwareAcceleration=h,f.keyFrameSeen=!1,f.nextChunkTimestampUs=0}const y=n.isKeyFrame===!0||String(n.chunkType||"").toLowerCase()==="key";if(!y&&!f.keyFrameSeen)return;y&&(f.keyFrameSeen=!0);const w=Number(f.decoder.decodeQueueSize||0);if(w>8){if(f.decoder.reset(),f.keyFrameSeen=!1,f.droppedForLatency+=1,f.pendingFrames.clear(),Qh(f),f.lastPaintAt=0,f.nextChunkTimestampUs=0,!y)return;f.keyFrameSeen=!0}const S=Math.max(1,Math.floor(n.durationUs||1e6/12)),T=f.nextChunkTimestampUs;f.nextChunkTimestampUs+=S,f.pendingFrames.set(T,{frame:n,queuedAt:performance.now(),queueSize:w});const x=new EncodedVideoChunk({type:y?"key":"delta",timestamp:T,duration:S,data:n.payload});f.decoder.decode(x)}async function r1(i,n,r,l){if(e1(n)){r()||i1(i,n,l);return}if(Z_(n)){Kh(i);const y=n1(n);if(r())return;(i.width!==y.width||i.height!==y.height)&&(i.width=y.width,i.height=y.height);const w=i.getContext("2d"),S=performance.now();w?.putImageData(y,0,0);const T=performance.now(),x=Gh(i,y.width,y.height);l?.(n,{deviceId:n.deviceId,frameSeq:n.frameSeq,mode:n.frameMode||n.mode||n.codec||n.mimeType,width:y.width,height:y.height,byteLength:n.byteLength,queuedForMs:0,decodedForMs:0,scheduledForMs:0,drawMs:Math.max(0,T-S),queueSize:0,renderQueueSize:0,droppedForLatency:0,h264DecodeAcceleration:ms.h264DecodeAcceleration,visualHash:x.visualHash,visualChanged:x.visualChanged,paintedAt:T});return}Kh(i);const c=new Blob([n.payload],{type:n.mimeType}),d=await createImageBitmap(c);if(r()){d.close();return}const h=n.width||d.width||960,m=n.height||d.height||540;(i.width!==h||i.height!==m)&&(i.width=h,i.height=m);const f=i.getContext("2d");if(f){const y=performance.now();f.clearRect(0,0,h,m),f.drawImage(d,0,0,h,m);const w=performance.now(),S=Gh(i,h,m);l?.(n,{deviceId:n.deviceId,frameSeq:n.frameSeq,mode:n.frameMode||n.mode||n.codec||n.mimeType,width:h,height:m,byteLength:n.byteLength,queuedForMs:0,decodedForMs:0,scheduledForMs:0,drawMs:Math.max(0,w-y),queueSize:0,renderQueueSize:0,droppedForLatency:0,h264DecodeAcceleration:ms.h264DecodeAcceleration,visualHash:S.visualHash,visualChanged:S.visualChanged,paintedAt:w})}d.close()}const zl=5179,Ut=Wl(`http://127.0.0.1:${zl}`);function s1(i){const n=i.split(".").map(r=>Number(r));return n.length===4&&n.every(r=>Number.isInteger(r)&&r>=0&&r<=255)?n:[]}function l1(i){const n=i.trim().toLowerCase();return n==="localhost"||n==="127.0.0.1"||n==="::1"||n==="[::1]"}function o1(i){const n=i.trim().toLowerCase();return!n||n==="0.0.0.0"||n==="::"||n==="[::]"}function c1(i){const n=s1(i);return n.length===0?!1:n[0]===10||n[0]===172&&n[1]>=16&&n[1]<=31||n[0]===192&&n[1]===168}function u1(i){return i.includes(":")&&!i.startsWith("[")?`[${i}]`:i}function d1(i){const n=String(i||"").trim();if(!n)return null;const r=/^[a-z][a-z\d+.-]*:\/\//i.test(n)?n:`tcp://${n}`;try{const l=new URL(r),c=l.hostname.replace(/^\[|\]$/g,""),d=Number(l.port);return!c||!Number.isInteger(d)||d<1||d>65535||o1(c)?null:{host:c,port:d}}catch{return null}}function Wl(i){const n=String(i||"").trim()||`http://127.0.0.1:${zl}`,r=/^[a-z][a-z\d+.-]*:\/\//i.test(n)?n:`http://${n}`;try{const l=new URL(r);return l.port||(l.port=String(zl)),l.hash="",l.search="",l.toString().replace(/\/+$/,"")}catch{return`http://127.0.0.1:${zl}`}}function h1(i){const n=d1(i);return n?Wl(`http://${u1(n.host)}:${zl}`):""}function gy(i){const r=[i?.endpoint,...Array.isArray(i?.endpoint_candidates)?i.endpoint_candidates:[]].map(l=>h1(String(l||""))).filter(Boolean);return[...new Set(r)]}function Bl(i=Ut){if(!(typeof window>"u"||window.location.protocol!=="https:"))try{const n=new URL(i);if(n.protocol!=="http:")return;if(l1(n.hostname))return"loopback";if(c1(n.hostname))return"local"}catch{return}}function Zh(i,n=Ut){const r=new URL(i,Wl(n));return r.protocol=r.protocol==="https:"?"wss:":"ws:",r.toString()}async function xn(i,n,r=Ut){const l=Wl(r),c={...n,headers:{"Content-Type":"application/json",...n?.headers||{}},cache:"no-store"},d=Bl(l);d&&(c.targetAddressSpace=d);let h;try{h=await fetch(`${l}${i}`,c)}catch(m){throw d?new Error("LiveDesk Hub is not reachable at this local network address. If Chrome shows a local network prompt, allow it; otherwise restart the Hub so port 5179 is open on the network."):m}if(!h.ok)throw new Error(`${h.status} ${h.statusText}`);return await h.json()}function py(i){if(!i)return"-";const n=Date.now()-Date.parse(i);return Number.isFinite(n)?n<1e3?"now":n<6e4?`${Math.round(n/1e3)}s`:n<36e5?`${Math.round(n/6e4)}m`:`${Math.round(n/36e5)}h`:"-"}async function kl(i){await navigator.clipboard.writeText(i)}const yy="livedesk_remote_host_targets",f1="livedesk_entitlements";function m1(i){const r=(Array.isArray(i)?i:[i||Ut]).map(l=>Wl(l||Ut));return[...new Set(r.filter(Boolean))]}function g1(){const[i,n]=O.useState(null),[r,l]=O.useState(!0);return O.useEffect(()=>{let c=!0;ea.auth.getSession().then(({data:h})=>{c&&(n(h.session??null),l(!1))});const{data:{subscription:d}}=ea.auth.onAuthStateChange((h,m)=>{n(m),l(!1)});return()=>{c=!1,d.unsubscribe()}},[]),{session:i,loading:r}}function p1(i,n=!0){const[r,l]=O.useState(null),[c,d]=O.useState([]),[h,m]=O.useState(""),[f,y]=O.useState(""),[w,S]=O.useState(0),T=Array.isArray(i)?i.join(`
|
|
38
|
-
`):String(i||""),x=O.useMemo(()=>m1(i),[T]),R=O.useMemo(()=>x.find(V=>Bl(V)==="loopback")||x[0]||Ut,[x]),z=O.useCallback(async()=>{if(!n){l(null),d([]),y(""),m("");return}let V=null;for(const I of x)try{const[F,ee]=await Promise.all([xn("/api/remote/status",void 0,I),xn("/api/remote/devices",void 0,I)]);l(F),d(ee.devices||[]),y(I),m("");return}catch(F){V=F}throw y(""),V||new Error("No LiveDesk Hub endpoint is reachable.")},[n,x]),G=O.useCallback(()=>{z().catch(V=>{m(V instanceof Error?V.message:String(V))}),S(V=>V+1)},[z]);return O.useEffect(()=>{if(!n){l(null),d([]),y(""),m("");return}let V=!0;const I=async()=>{try{await z()}catch(ee){V&&m(ee instanceof Error?ee.message:String(ee))}};I();const F=window.setInterval(I,2500);return()=>{V=!1,window.clearInterval(F)}},[n,z,w]),{status:r,devices:c,error:h,refresh:G,hubBaseUrl:f||R,hubCandidates:x}}function y1(i){const[n,r]=O.useState(null),[l,c]=O.useState(""),d=i?.user?.id||"",h=O.useCallback(async()=>{if(!d){r(null);return}const{data:m,error:f}=await ea.from(yy).select("*").eq("user_id",d).maybeSingle();if(f){c(f.message);return}r(m),c("")},[d]);return O.useEffect(()=>{h()},[h]),O.useEffect(()=>{if(!d)return;const m=ea.channel(`livedesk-remote-host-targets-${d.replace(/[^a-zA-Z0-9]/g,"")}`).on("postgres_changes",{event:"*",schema:"public",table:yy,filter:`user_id=eq.${d}`},f=>r(f.new)).subscribe();return()=>{ea.removeChannel(m)}},[d]),{target:n,error:l,refresh:h}}function v1(i){const[n,r]=O.useState(null),[l,c]=O.useState(!1),[d,h]=O.useState(""),m=i?.user?.id||"",f=O.useCallback(async()=>{if(!m){r(null),h(""),c(!1);return}c(!0);const{data:w,error:S}=await ea.from(f1).select("*").eq("user_id",m).eq("product_key","livedesk").maybeSingle();if(S){h(S.message),c(!1);return}r(w),h(""),c(!1)},[m]);O.useEffect(()=>{f()},[f]);const y=O.useMemo(()=>!n||n.status!=="active"?!1:n.expires_at?new Date(n.expires_at).getTime()>Date.now():!0,[n]);return{entitlement:n,licensed:y,loading:l,error:d,refresh:f}}const _h={totalFrames:0,totalBytes:0,framesPerSecond:0,bytesPerSecond:0,sampleMs:0,lastUpdatedAt:0},b1=2500,S1=3e4,w1=64*1024,vy={totalSent:0,totalDropped:0,sentPerSecond:0,droppedPerSecond:0,bufferedAmount:0,lastInputType:"",lastUpdatedAt:0};function by(i){const n=Date.parse(String(i||""));if(!Number.isFinite(n))return 0;const r=Date.now()-n;return r>0&&r<=S1?r:0}function Sy(i,n,r=Ut,l={}){const[c,d]=O.useState(new Map),[h,m]=O.useState("idle"),[f,y]=O.useState(_h),w=O.useRef(new Map),S=O.useRef(new Map),T=O.useRef(0),x=O.useRef(l.onFrame),R=O.useRef({totalFrames:0,totalBytes:0,sampleFrames:0,sampleBytes:0,sampleStartedAt:0}),z=O.useMemo(()=>[...i].sort().join(","),[i]),G=Number.isFinite(l.fps)?Number(l.fps):2,V=Number.isFinite(l.maxWidth)?Number(l.maxWidth):640,I=Number.isFinite(l.maxHeight)?Number(l.maxHeight):360,F=Number.isFinite(l.quality)?Number(l.quality):45,ee=String(l.frameMode||l.mode||"mode3-h264-hw").trim()||"mode3-h264-hw",we=O.useMemo(()=>{const ve=Object.entries(l.monitorSelections||{}).filter(([be])=>!!be).sort(([be],[ue])=>be.localeCompare(ue));return JSON.stringify(Object.fromEntries(ve))},[l.monitorSelections]);O.useEffect(()=>{x.current=l.onFrame},[l.onFrame]);const le=O.useCallback((ve,be="livedesk-frame-socket-release")=>{ve.disposed=!0;try{ve.socket.readyState===WebSocket.CONNECTING||ve.socket.readyState===WebSocket.OPEN?ve.socket.close(1e3,be):ve.socket.close()}catch{}},[]),Z=O.useCallback(()=>{const ve=[...S.current.values()].map(be=>be.socket);if(ve.length===0){m("idle");return}if(ve.some(be=>be.readyState===WebSocket.OPEN)){m("open");return}if(ve.some(be=>be.readyState===WebSocket.CONNECTING)){m("connecting");return}m("closed")},[]),je=O.useCallback(ve=>{if(!ve||ve.byteLength<5)return;const ue=new DataView(ve).getUint32(0,!1);if(ue<=0||ue+4>ve.byteLength)return;const ge=new Uint8Array(ve.slice(4,4+ue)),X=JSON.parse(new TextDecoder().decode(ge));if(Math.max(by(X.receivedAt),by(X.capturedAt))>b1)return;const _=ve.slice(4+ue),H=R.current;H.totalFrames+=1,H.totalBytes+=_.byteLength,H.sampleFrames+=1,H.sampleBytes+=_.byteLength;const Q={deviceId:String(X.deviceId||""),kind:X.kind==="thumbnail"?"thumbnail":"live",frameSeq:Number(X.frameSeq||0),streamId:String(X.streamId||""),commandId:X.commandId?String(X.commandId):void 0,width:Number(X.width||0),height:Number(X.height||0),sourceWidth:Number(X.sourceWidth||0)||void 0,sourceHeight:Number(X.sourceHeight||0)||void 0,mimeType:String(X.mimeType||"image/jpeg"),mode:X.mode?String(X.mode):void 0,frameMode:X.frameMode?String(X.frameMode):void 0,frameProfile:X.frameProfile?String(X.frameProfile):void 0,encoding:X.encoding?String(X.encoding):void 0,codec:X.codec?String(X.codec):void 0,compression:X.compression?String(X.compression):void 0,pixelFormat:X.pixelFormat?String(X.pixelFormat):void 0,bytesPerPixel:Number(X.bytesPerPixel||0)||0,uncompressedByteLength:Number(X.uncompressedByteLength||0)||0,h264Format:X.h264Format?String(X.h264Format):void 0,isKeyFrame:X.isKeyFrame===!0,chunkType:X.chunkType?String(X.chunkType):void 0,timestampUs:Number(X.timestampUs||0)||0,durationUs:Number(X.durationUs||0)||0,sourceGapMs:Number(X.sourceGapMs||0)||0,agentSendGapMs:Number(X.agentSendGapMs||0)||0,agentPaceMs:Number(X.agentPaceMs||0)||0,droppedByAgent:Number(X.droppedByAgent||0)||0,hardwareEncoder:X.hardwareEncoder?String(X.hardwareEncoder):void 0,platformProfile:X.platformProfile?String(X.platformProfile):void 0,monitorIndex:Number.isFinite(Number(X.monitorIndex))?Number(X.monitorIndex):void 0,monitorCount:Number.isFinite(Number(X.monitorCount))?Number(X.monitorCount):void 0,capturedAt:String(X.capturedAt||""),receivedAt:String(X.receivedAt||""),byteLength:Number(X.byteLength||_.byteLength),contentHash:X.contentHash?String(X.contentHash):void 0,payload:_};if(!Q.deviceId)return;const te=w.current.get(Q.deviceId);te&&te.frameSeq>Q.frameSeq||(w.current.set(Q.deviceId,Q),x.current?.(Q))},[]);O.useEffect(()=>{const ve=window.setInterval(()=>{const be=performance.now(),ue=R.current,ge=Math.max(1,be-ue.sampleStartedAt);y({totalFrames:ue.totalFrames,totalBytes:ue.totalBytes,framesPerSecond:ue.sampleFrames*1e3/ge,bytesPerSecond:ue.sampleBytes*1e3/ge,sampleMs:ge,lastUpdatedAt:Date.now()}),d(new Map(w.current)),ue.sampleFrames=0,ue.sampleBytes=0,ue.sampleStartedAt=be},2e3);return()=>{window.clearInterval(ve)}},[]),O.useEffect(()=>{const ve=z?z.split(",").filter(Boolean):[],be=new Set(ve),ue=performance.now();for(const[ge,X]of S.current.entries())be.has(ge)||(le(X,"livedesk-device-unsubscribed"),S.current.delete(ge),w.current.delete(ge));if(ve.length===0){for(const ge of S.current.values())le(ge,"livedesk-no-devices");S.current.clear(),w.current=new Map,d(new Map),R.current={totalFrames:0,totalBytes:0,sampleFrames:0,sampleBytes:0,sampleStartedAt:0},y(_h),Z();return}R.current.sampleStartedAt<=0&&(R.current.sampleStartedAt=ue,y({..._h,lastUpdatedAt:Date.now()}));for(const ge of ve){const X=l.monitorSelections?.[ge],Le=Number.isFinite(Number(X))?{[ge]:Number(X)}:{},_={type:"subscribe",deviceIds:[ge],autoStartLive:n,fps:G,maxWidth:V,maxHeight:I,quality:F,mode:ee,frameMode:ee,monitorSelections:Le},H=JSON.stringify(_),Q=S.current.get(ge),te=!!Q&&Q.payloadKey!==H;if(Q){const J=Q.socket.readyState===WebSocket.CONNECTING||Q.socket.readyState===WebSocket.OPEN;if(Q.payloadKey===H&&J&&!Q.disposed)continue;le(Q,Q.payloadKey===H?"livedesk-frame-socket-refresh":"livedesk-subscription-replaced"),S.current.delete(ge)}const pe=new WebSocket(Zh(`/api/remote/frames/ws?devices=${encodeURIComponent(ge)}`,r));pe.binaryType="arraybuffer";const A=te?{..._,forceRestart:!0,restartReason:"subscription-options-changed",restartToken:`${Date.now()}-${Math.random().toString(36).slice(2)}`}:_,D={socket:pe,payload:A,payloadKey:H,generation:T.current+1,disposed:!1};T.current=D.generation,S.current.set(ge,D),pe.addEventListener("open",()=>{if(D.disposed||S.current.get(ge)!==D){le(D,"livedesk-stale-frame-socket");return}pe.send(JSON.stringify(D.payload)),Z()}),pe.addEventListener("message",J=>{if(D.disposed||S.current.get(ge)!==D||typeof J.data=="string")return;const ae=J.data instanceof ArrayBuffer?J.data:null;ae&&je(ae)}),pe.addEventListener("error",()=>{D.disposed||S.current.get(ge)!==D||m("error")}),pe.addEventListener("close",()=>{D.disposed=!0,S.current.get(ge)===D&&S.current.delete(ge),Z()})}Z()},[n,le,z,G,ee,je,r,I,V,we,l.monitorSelections,F,Z]),O.useEffect(()=>()=>{for(const ve of S.current.values())le(ve,"livedesk-hook-unmount");S.current.clear()},[le]);const Ee=O.useCallback((ve,be="browser-stale")=>{const ue=Array.isArray(ve)&&ve.length>0?ve:z.split(",").filter(Boolean);if(ue.length===0)return!1;let ge=!1;for(const X of ue){const Le=S.current.get(X);!Le||Le.socket.readyState!==WebSocket.OPEN||(Le.socket.send(JSON.stringify({...Le.payload,type:"restart-live",deviceIds:[X],forceRestart:!0,restartReason:be,restartToken:`${Date.now()}-${Math.random().toString(36).slice(2)}`})),ge=!0)}return ge},[z]);return{frames:c,state:h,stats:f,restartLive:Ee}}function _1(i,n=Ut){const r=O.useRef(null),[l,c]=O.useState("idle"),[d,h]=O.useState(vy),m=O.useRef({totalSent:0,totalDropped:0,sampleSent:0,sampleDropped:0,sampleStartedAt:0,lastInputType:""});O.useEffect(()=>{if(!i){r.current?.close(),r.current=null,c("idle"),h(vy);return}const y=new WebSocket(Zh("/api/remote/input/ws",n));return r.current=y,m.current.sampleStartedAt=performance.now(),c("connecting"),y.addEventListener("open",()=>c("open")),y.addEventListener("close",()=>c("closed")),y.addEventListener("error",()=>c("error")),()=>{y.close(),r.current===y&&(r.current=null)}},[i,n]),O.useEffect(()=>{if(!i)return;const y=window.setInterval(()=>{const w=performance.now(),S=m.current,T=Math.max(1,w-S.sampleStartedAt);h({totalSent:S.totalSent,totalDropped:S.totalDropped,sentPerSecond:S.sampleSent*1e3/T,droppedPerSecond:S.sampleDropped*1e3/T,bufferedAmount:r.current?.bufferedAmount||0,lastInputType:S.lastInputType,lastUpdatedAt:Date.now()}),S.sampleSent=0,S.sampleDropped=0,S.sampleStartedAt=w},1e3);return()=>window.clearInterval(y)},[i]);const f=O.useCallback((y,w)=>{const S=r.current;if(!S||S.readyState!==WebSocket.OPEN||!y)return!1;const T=String(w.type||"").toLowerCase(),x=T==="pointermove",R=m.current;return x&&S.bufferedAmount>w1?(R.totalDropped+=1,R.sampleDropped+=1,R.lastInputType="pointermove-drop",!1):(S.send(JSON.stringify({type:"input",requestId:x?"":crypto.randomUUID(),fireAndForget:x,deviceId:y,input:{...w,issuedAt:new Date().toISOString()}})),R.totalSent+=1,R.sampleSent+=1,R.lastInputType=T||"input",!0)},[]);return{state:l,sendInput:f,stats:d}}function T1(i){const n=String(i||"").toLowerCase();return n.includes("audio/pcm")||n.includes("audio/l16")||n.includes("f32le")||n.includes("s16le")}function k1(i,n,r){const l=Math.max(1,Math.min(8,Math.floor(n.channels||2))),c=Math.max(8e3,Math.min(192e3,Math.floor(n.sampleRate||48e3))),d=String(n.mimeType||"").toLowerCase(),h=d.includes("s16le")||d.includes("audio/l16"),m=h?2:4,f=Math.floor(r.byteLength/m),y=Math.floor(f/l),w=i.createBuffer(l,y,c),S=new DataView(r);for(let T=0;T<l;T+=1){const x=w.getChannelData(T);for(let R=0;R<y;R+=1){const G=(R*l+T)*m;x[R]=h?Math.max(-1,Math.min(1,S.getInt16(G,!0)/32768)):Math.max(-1,Math.min(1,S.getFloat32(G,!0)))}}return w}function A1(i,n,r=Ut){const l=O.useRef(null),c=O.useRef(0),[d,h]=O.useState("idle"),[m,f]=O.useState(null),[y,w]=O.useState("");return O.useEffect(()=>{if(!n||!i){h("idle"),f(null),w("");return}const S=window.AudioContext||window.webkitAudioContext;if(!S){h("unsupported"),w("Audio playback is not supported in this browser.");return}const T=new S;l.current=T,c.current=T.currentTime;const x=new WebSocket(Zh(`/api/remote/audio/ws?devices=${encodeURIComponent(i)}`,r));x.binaryType="arraybuffer";let R=!1;return h("connecting"),w(""),x.addEventListener("open",()=>{R||(h("open"),x.send(JSON.stringify({type:"subscribe",deviceIds:[i]})),T.resume())}),x.addEventListener("message",z=>{if(typeof z.data=="string")return;const G=z.data instanceof ArrayBuffer?z.data:null;!G||G.byteLength<5||(async()=>{try{const I=new DataView(G).getUint32(0,!1);if(I<=0||I+4>G.byteLength)return;const F=new Uint8Array(G.slice(4,4+I)),ee=JSON.parse(new TextDecoder().decode(F)),we=G.slice(4+I),le={deviceId:String(ee.deviceId||""),frameSeq:Number(ee.frameSeq||0),streamId:String(ee.streamId||""),mimeType:String(ee.mimeType||"audio/webm;codecs=opus"),sampleRate:Number(ee.sampleRate||48e3),channels:Number(ee.channels||2),capturedAt:String(ee.capturedAt||""),receivedAt:String(ee.receivedAt||""),byteLength:Number(ee.byteLength||we.byteLength),payload:we};if(!le.deviceId||R)return;const Z=T1(le.mimeType)?k1(T,le,we):await T.decodeAudioData(we.slice(0));if(R)return;const je=T.createBufferSource();je.buffer=Z,je.connect(T.destination);const Ee=Math.max(T.currentTime+.02,c.current);je.start(Ee),c.current=Ee+Z.duration,f(le),h("playing")}catch(V){R||(h("error"),w(V instanceof Error?V.message:String(V)))}})()}),x.addEventListener("error",()=>{R||h("error")}),x.addEventListener("close",()=>{R||h("closed")}),()=>{R=!0,x.close(),T.close().catch(()=>{}),l.current===T&&(l.current=null)}},[i,n,r]),{state:d,lastFrame:m,error:y}}const E1=120,x1=999,jl=5,Nl=30,C1=Number.POSITIVE_INFINITY,cv="livedesk.remoteDirectory",Fh="livedesk.localHubAccessEnabled",uv="livedesk.streamSettings",dv=9,R1=24*1024*1024,Yh="".trim(),hv="".trim(),wy="livedesk-adsense-script",Th=!!Yh&&!!hv,O1=33,_y=.82,Ty=45,ky=.001,Xn={free:{name:"Free",price:"$0",limit:jl,audience:"Personal trial",note:"5 devices with a standard ad banner."},ltd:{name:"Plus",price:"$5/mo",yearly:"$40/year",ltd:"$79 LTD",limit:Nl,audience:"Creators and homelabs",note:"30 devices, no ads, personal use."},pro:{name:"Pro",price:"$15/mo",yearly:"$120/year",ltd:"$199 LTD",limit:C1,audience:"Business and studios",note:"Commercial use and larger workstation walls."}},fv={"mode1-jpeg":5,"mode2-lz4":5,"mode3-h264-hw":30},Ht={frameMode:"mode3-h264-hw",h264DecodeAcceleration:"prefer-software",fps:fv["mode3-h264-hw"],maxWidth:960,maxHeight:540,quality:60,autoStartLive:!0,showScreenStatus:!0,visibleOnlyLive:!0,adaptiveLoadShedding:!0,adaptiveSizeByWall:!0},kh={maxWidth:3840,maxHeight:2160};function Ay(i,n){i.sampleFrames=0,i.sampleStartedAt=n,i.intervalCount=0,i.intervalSumMs=0,i.minIntervalMs=Number.POSITIVE_INFINITY,i.maxIntervalMs=0,i.seqGapCount=0,i.maxSeqGap=0}function Ey(i,n,r){if(i.lastAt!==void 0){const l=Math.max(0,n-i.lastAt);i.intervalCount+=1,i.intervalSumMs+=l,i.minIntervalMs=Math.min(i.minIntervalMs,l),i.maxIntervalMs=Math.max(i.maxIntervalMs,l)}if(i.lastFrameSeq!==void 0){const l=r-i.lastFrameSeq;l!==1&&(i.seqGapCount+=1,i.maxSeqGap=Math.max(i.maxSeqGap,Math.abs(l)))}i.lastAt=n,i.lastFrameSeq=r}function xy(i){return!i||i.intervalCount<=0?"waiting":`${Math.round(i.averageIntervalMs)}ms avg / ${Math.round(i.minIntervalMs)}-${Math.round(i.maxIntervalMs)}ms`}function Cy(i){return!i||i.seqGapCount<=0?"none":`${i.seqGapCount} gaps / max ${i.maxSeqGap}`}function j1(i){return Number.isFinite(i)?String(i):"30+"}const kc=[{id:"mode3-h264-hw",label:"Mode 3",detail:"H.264 hardware"},{id:"mode2-lz4",label:"Mode 2",detail:"LZ4 raw"},{id:"mode1-jpeg",label:"Mode 1",detail:"JPEG test"}],mv=[{id:"prefer-software",label:"Software low latency"},{id:"prefer-hardware",label:"Hardware decode"},{id:"no-preference",label:"Browser auto"}],Ah=[{id:"640x360",label:"Compact",width:640,height:360},{id:"960x540",label:"Standard",width:960,height:540},{id:"1280x720",label:"HD",width:1280,height:720},{id:"1920x1080",label:"Full HD",width:1920,height:1080},{id:"3840x2160",label:"4K",width:3840,height:2160}],ef=[1,2,5,8,12,20,24,30],N1=[45,60,75,90],Ry={large:{maxWidth:1280,maxHeight:720},medium:{maxWidth:960,maxHeight:540},small:{maxWidth:640,maxHeight:360}},Jt={visibleRootMargin:"520px 0px 760px 0px",fallbackVisibleCounts:{large:12,medium:18,small:32},maxWallFramesPerSecond:1800,maxWallBytesPerSecond:80*1024*1024,lowLoadFrameRatio:.58,lowLoadByteRatio:.52,downshiftCooldownMs:4500,recoveryCooldownMs:14e3,minFps:1},Oy=2200,L1=3500,M1=2600,D1=4200,U1=750,z1=8;function Pl(i,n){const r=i.capabilities?.[n];return typeof r=="boolean"?r:/^(1|true|yes|on)$/i.test(String(r||"").trim())}function Lc(i){return i.deviceName||i.hostname||i.deviceId}function B1(){return"npx -y livedesk client"}function P1(){return"npx -y livedesk"}function H1(){try{return localStorage.getItem(cv)||""}catch{return""}}function $1(){try{return localStorage.getItem(Fh)==="1"}catch{return!1}}function ns(i){try{i?localStorage.setItem(Fh,"1"):localStorage.removeItem(Fh)}catch{}}function ds(i,n,r,l){const c=Number(i);return Number.isFinite(c)?Math.max(n,Math.min(r,Math.round(c))):l}function Wh(i){const n=String(i||"").trim();return kc.some(r=>r.id===n)?n:Ht.frameMode}function gv(i){const n=String(i||"").trim();return mv.some(r=>r.id===n)?n:Ht.h264DecodeAcceleration}function pv(i){return fv[i]||12}function ar(i){return i&&typeof i=="object"&&!Array.isArray(i)?i:{}}function Bn(i){const n=ar(i.status),r=ar(n.screens),l=ar(i.capabilities),c=[n.monitorCount,n.screenCount,r.count,l.monitorCount,l.screenCount];for(const d of c){const h=Number(d);if(Number.isFinite(h)&&h>0)return Math.max(1,Math.min(64,Math.floor(h)))}return 1}function vi(i){const n=Number(i);return Number.isFinite(n)&&n>0?Math.floor(n):0}function q1(i){const n=ar(i.status),l=[ar(n.screens).displays,n.displays,n.monitors];for(const c of l)if(!(!Array.isArray(c)||c.length===0))return c.map(d=>ar(d));return[]}function yv(i,n){const r=q1(i),l=r.find(f=>Number(f.index)===n)||r[n]||r[0]||{},c=vi(l.width),d=vi(l.height),h=[l.name,l.displayName,l.deviceName,l.id].find(f=>typeof f=="string"&&f.trim()),m=typeof h=="string"?h.trim():`Display ${n+1}`;return{index:n,name:m,width:c,height:d,primary:l.primary===!0||l.isPrimary===!0}}function I1(i){const n=Bn(i);return Array.from({length:n},(r,l)=>yv(i,l))}function G1(i){const n=[i.name||`Display ${i.index+1}`];return i.width>0&&i.height>0&&n.push(`${i.width}x${i.height}`),i.primary&&n.push("Primary"),n.join(" - ")}function vv(i,n){const r=yv(i,n);if(r.width>0&&r.height>0)return{width:r.width,height:r.height};const l=ar(i.status),c=vi(l.screenWidth||l.width),d=vi(l.screenHeight||l.height);return c>0&&d>0?{width:c,height:d}:null}function bv(i){if(!i)return null;const n=vi(i.sourceWidth)||vi(i.width),r=vi(i.sourceHeight)||vi(i.height);return n>0&&r>0?{width:n,height:r}:null}function V1(i,n,r){const d=((typeof n?.monitorIndex=="number"?Hn(n.monitorIndex,Math.max(1,n.monitorCount||1)):r)===r?bv(n):null)||vv(i,r);return d?Math.max(.25,Math.min(4,d.width/d.height)):16/9}const wc=16/9;function Hn(i,n){const r=Math.max(1,Math.min(64,Math.floor(Number(n)||1))),l=Math.floor(Number(i));return Number.isFinite(l)?Math.max(0,Math.min(r-1,l)):0}function K1(){try{const i=JSON.parse(localStorage.getItem(uv)||"{}");if(i.version!==dv)return Ht;const n=Wh(i.frameMode),r=ds(i.maxWidth,320,3840,Ht.maxWidth),l=ds(i.maxHeight,180,2160,Ht.maxHeight);return{frameMode:n,h264DecodeAcceleration:gv(i.h264DecodeAcceleration),fps:ds(i.fps,1,30,pv(n)),maxWidth:r,maxHeight:l,quality:ds(i.quality,20,95,Ht.quality),autoStartLive:typeof i.autoStartLive=="boolean"?i.autoStartLive:Ht.autoStartLive,showScreenStatus:typeof i.showScreenStatus=="boolean"?i.showScreenStatus:Ht.showScreenStatus,visibleOnlyLive:typeof i.visibleOnlyLive=="boolean"?i.visibleOnlyLive:Ht.visibleOnlyLive,adaptiveLoadShedding:typeof i.adaptiveLoadShedding=="boolean"?i.adaptiveLoadShedding:Ht.adaptiveLoadShedding,adaptiveSizeByWall:typeof i.adaptiveSizeByWall=="boolean"?i.adaptiveSizeByWall:Ht.adaptiveSizeByWall}}catch{return Ht}}function F1(i){try{localStorage.setItem(uv,JSON.stringify({...i,version:dv}))}catch{}}function Eh(i,n){return i.length!==n.length?!1:i.every((r,l)=>r===n[l])}function xh(i){return[...new Set(i.filter(Boolean))].sort()}function Y1(i){return Jt.fallbackVisibleCounts[i]||Jt.fallbackVisibleCounts.large}function W1(i,n,r){if(!i.adaptiveSizeByWall)return{maxWidth:i.maxWidth,maxHeight:i.maxHeight};const l=Ry[n]||Ry.large;return{maxWidth:Math.min(i.maxWidth,l.maxWidth),maxHeight:Math.min(i.maxHeight,l.maxHeight)}}function J1(i){const n=[...ef].sort((l,c)=>l-c),r=Math.max(Jt.minFps,Math.floor(i/2));return[...n].reverse().find(l=>l<i)||r}function X1(i,n){return[...ef].sort((l,c)=>l-c).find(l=>l>i&&l<=n)||n}function Na(i){if(!Number.isFinite(i)||i<=0)return"0 B";const n=["B","KB","MB","GB","TB"];let r=i,l=0;for(;r>=1024&&l<n.length-1;)r/=1024,l+=1;const c=l===0||r>=100?0:1;return`${r.toFixed(c)} ${n[l]}`}function Q1(i){const n=new Uint8Array(i),r=32768;let l="";for(let c=0;c<n.length;c+=r){const d=n.subarray(c,c+r);l+=String.fromCharCode(...d)}return btoa(l)}function Z1(i){return i===1?"middle":i===2?"right":"left"}function jy(i,...n){for(const r of n){const l=i?.[r];if(typeof l=="string"&&l.trim())return l.trim()}return""}function Al(i){const n=Number(i);return Number.isInteger(n)&&n>=1&&n<=x1?n:0}const eT={cpu:"CPU",memory:"MEM",disk:"Disk",gpu:"GPU",npu:"NPU",temp:"Temp",network:"Net"};function tT(i,n,r){if(i==="online")return"Online";if(i==="busy")return"Busy";if(i==="stale")return"Stale";if(i==="offline")return"Offline";if(r==="failed")return"Task failed";const l=i==="critical"?"critical":"warn",c=n.find(h=>h.state===l)||n.find(h=>h.state==="critical"||h.state==="warn");if(!c)return i==="critical"?"Issue":"Check";const d=eT[c.id]||c.label;return c.value&&c.value!=="-"?`${d} ${c.value}`:d}function Bc(i,n){const r=n.split(".");let l=i;for(const c of r){if(l==null)return;if(Array.isArray(l)){const d=Number(c);l=Number.isInteger(d)?l[d]:void 0;continue}if(typeof l=="object"){l=l[c];continue}return}return l}function it(i,...n){for(const r of n){const l=Bc(i,r),c=Number(l);if(Number.isFinite(c))return c}}function Xt(i,...n){for(const r of n){const l=Bc(i,r);if(typeof l=="string"&&l.trim())return l.trim();if(typeof l=="number"&&Number.isFinite(l))return String(l)}return""}function nT(i,...n){for(const r of n){const l=Bc(i,r);if(typeof l=="boolean")return l;if(/^(1|true|yes|on|online|running|ready)$/i.test(String(l||"").trim()))return!0;if(/^(0|false|no|off|offline|stopped|missing)$/i.test(String(l||"").trim()))return!1}}function Ca(i){const n=Number(i);if(Number.isFinite(n))return Math.max(0,Math.min(1,n>1?n/100:n))}function Ch(i,n){if(!(typeof i!="number"||typeof n!="number"||!Number.isFinite(i)||!Number.isFinite(n)||i<=0))return Ca((i-Math.max(0,n))/i)}function El(i){return i===void 0?"-":`${Math.round(i*100)}%`}function Rh(i){return i===void 0||!Number.isFinite(i)?"":i>=1e3?`${(i/1e3).toFixed(i>=1e4?0:1)}Gb/s`:`${Math.round(i)}Mb/s`}function as(i,n=.92,r=.78){return i===void 0?"unknown":i>=n?"critical":i>=r?"warn":"good"}function Sv(i){return!Number.isFinite(i)||!i||i<=0?"-":i<3600?`${Math.round(i/60)}m`:i<86400?`${Math.round(i/3600)}h`:`${Math.round(i/86400)}d`}function _c(i,n,r){const l=Bc(i,`tools.${n}`),c=Xt(i,`tools.${n}.status`,`tooling.${n}.status`,`${n}.status`).toLowerCase(),d=nT(i,`tools.${n}.running`,`tooling.${n}.running`,`${n}.running`),h=Xt(i,`tools.${n}.version`,`tooling.${n}.version`,`${n}.version`),m=Xt(i,`tools.${n}.port`,`tooling.${n}.port`,`${n}.port`);let f="unknown";return c==="busy"?f="busy":["online","running","ready","active"].includes(c)||d===!0?f="online":(["offline","stopped","missing","not-found"].includes(c)||d===!1||l===!1)&&(f="offline"),{id:n,label:r,status:f,detail:f==="offline"?"offline":h||(m?`:${m}`:f==="unknown"?"not reported":f)}}function wv(i){const n=i.status||{},r=it(n,"cpu.cores","cpuCores","processorCount"),l=it(n,"loadavg.0","cpu.load1"),c=Ca(it(n,"cpu.usedRatio","cpu.usageRatio","cpu.ratio","cpu.usedPct","cpu.usagePct","cpu.percent")??(r&&l!==void 0?l/Math.max(1,r):void 0)),d=it(n,"memory.totalBytes","totalMem"),h=it(n,"memory.freeBytes","freeMem"),m=Ca(it(n,"memory.usedRatio","memory.usedPct","usedMemRatio"))??Ch(d,h),f=it(n,"disk.totalBytes","rootDisk.totalBytes","storage.totalBytes"),y=it(n,"disk.freeBytes","rootDisk.freeBytes","storage.freeBytes"),w=Ca(it(n,"disk.usedRatio","disk.usedPct","rootDisk.usedRatio","storage.usedRatio"))??Ch(f,y),S=it(n,"thermal.cpuC","temperatureC","cpu.temperatureC","gpu.temperatureC"),T=Ca(it(n,"gpu.usedRatio","gpu.usageRatio","gpu.usedPct","gpu.usagePct","gpu.percent","accelerators.gpu.usageRatio")),x=Xt(n,"gpu.name","gpu.model","accelerators.gpu.name"),R=it(n,"gpu.memory.totalBytes","gpu.totalMemoryBytes","gpu.vramTotalBytes"),z=it(n,"gpu.memory.freeBytes","gpu.freeMemoryBytes","gpu.vramFreeBytes"),G=Ca(it(n,"gpu.memory.usedRatio","gpu.vramUsedRatio"))??Ch(R,z),V=it(n,"gpu.temperatureC","thermal.gpuC"),I=Ca(it(n,"npu.usedRatio","npu.usageRatio","npu.usedPct","npu.usagePct","npu.percent","accelerators.npu.usageRatio")),F=Xt(n,"npu.name","npu.model","accelerators.npu.name"),ee=it(n,"npu.tops","npu.topsInt8","accelerators.npu.tops"),we=it(n,"network.rxMbps","network.receiveMbps","network.downMbps"),le=it(n,"network.txMbps","network.transmitMbps","network.upMbps"),Z=it(n,"network.latencyMs","network.rttMs"),je=Ca(it(n,"network.usedRatio","network.usageRatio","network.saturationRatio")),Ee=Xt(n,"network.link","network.interface","network.name"),ve=S===void 0?void 0:Ca((S-35)/60),be=Xt(n,"workload.role","role","lane")||(Pl(i,"aiAssist")?"Agent worker":Pl(i,"taskDispatch")?"Task worker":"Local machine"),ue=Xt(i.latestTask,"status")||Xt(n,"workload.status")||"idle",ge=Xt(i.latestTask,"title","instructionPreview")||Xt(n,"workload.title"),X=Xt(i.latestTask,"resultSummary","error","instructionPreview")||Xt(n,"workload.summary"),Le=[_c(n,"ollama","Ollama"),_c(n,"lmStudio","LM Studio"),_c(n,"comfyui","ComfyUI"),_c(n,"stableDiffusion","Stable Diffusion")],_=Le.some(D=>D.status!=="unknown"),H=Date.parse(i.lastSeenAt||i.connectedAt||""),Q=Number.isFinite(H)?Date.now()-H:0;let te="online";i.connected?Q>5*6e4?te="stale":(S??0)>=86||(V??0)>=88||(c??0)>=.94||(T??0)>=.96||(I??0)>=.96||(m??0)>=.94||(w??0)>=.94||(Z??0)>=200||ue==="failed"?te="critical":(S??0)>=78||(V??0)>=80||(c??0)>=.82||(T??0)>=.86||(I??0)>=.86||(m??0)>=.82||(w??0)>=.86||(Z??0)>=80?te="warn":(["queued","running","targeted"].includes(ue)||Le.some(D=>D.status==="busy"))&&(te="busy"):te="offline";const pe=Le.filter(D=>D.status==="online"||D.status==="busy").length,A=[{id:"cpu",label:"CPU",value:El(c),detail:r?`${r} cores`:l!==void 0?`load ${l.toFixed(1)}`:"not reported",ratio:c,state:as(c,.92,.78)},{id:"memory",label:"RAM",value:El(m),detail:d?`${Na(d-(h||0))} / ${Na(d)}`:"not reported",ratio:m,state:as(m,.92,.78)},{id:"disk",label:"DISK",value:El(w),detail:f&&y!==void 0?`${Na(y)} free`:"not reported",ratio:w,state:as(w,.92,.82)},{id:"gpu",label:"GPU",value:El(T??G),detail:x||(R&&z!==void 0?`${Na(z)} VRAM free`:V!==void 0?`${Math.round(V)}C`:"not reported"),ratio:T??G,state:V!==void 0&&V>=88?"critical":V!==void 0&&V>=80?"warn":as(T??G,.96,.86)},{id:"npu",label:"NPU",value:I!==void 0?El(I):ee!==void 0?`${Math.round(ee)} TOPS`:"-",detail:F||(ee!==void 0?"neural engine":"not reported"),ratio:I,state:as(I,.96,.86)},{id:"temp",label:"TEMP",value:S===void 0?"-":`${Math.round(S)}C`,detail:pe>0?`${pe} local tools`:`uptime ${Sv(it(n,"uptimeSec"))}`,ratio:ve,state:S===void 0?"unknown":S>=86?"critical":S>=78?"warn":"good"},{id:"network",label:"NET",value:Rh(we)||(Z!==void 0?`${Math.round(Z)}ms`:Ee||"-"),detail:Rh(le)?`${Rh(le)} up`:Ee||"not reported",ratio:je,state:Z!==void 0&&Z>=200?"critical":Z!==void 0&&Z>=80?"warn":as(je,.9,.75)}];return{state:te,label:tT(te,A,ue),role:be,taskLabel:ge||(ue==="idle"?"idle":ue),taskStatus:ue,taskSummary:X,tools:_?Le:Le.map(D=>({...D,detail:"not reported"})),metrics:A}}const aT=[{id:"small",label:"Small"},{id:"medium",label:"Medium"},{id:"large",label:"Large"}],iT=[{id:"wall",label:"Wall",icon:zy,accent:"blue"},{id:"control",label:"Control",icon:jh,accent:"red"},{id:"agents",label:"Agents",icon:rs,accent:"violet"},{id:"doc",label:"Doc",icon:Oh,accent:"amber"},{id:"pricing",label:"Pricing",icon:xl,accent:"green"},{id:"settings",label:"Settings",icon:By,accent:"gray"}];function mt(i){return i.replace(/\bRemoteHub\b/g,"Hub client endpoint").replace(/\bManagers\b/g,"Hubs").replace(/\bManager\b/g,"Hub").replace(/\bmanager\b/g,"Hub").replace(/\bMANAGER\b/g,"HUB").replace(/매니저/g,"Hub")}function is(i){return i.map(n=>mt(n))}function Mt(i){return{languageName:i.languageName,languageLabel:i.languageLabel,eyebrow:i.eyebrow,title:mt(i.title),intro:mt(i.intro),sections:[{title:mt(i.managerTitle),body:mt(i.managerBody),points:is(i.managerPoints)},{title:mt(i.clientTitle),body:mt(i.clientBody),points:is(i.clientPoints)},{title:mt(i.syncTitle),body:mt(i.syncBody),points:is(i.syncPoints)},{title:mt(i.platformTitle),body:mt(i.platformBody),points:is(i.platformPoints)}],sync:{title:mt(i.syncTitle),body:mt(i.syncBody),points:is(i.syncPoints)},firewall:{title:mt(i.firewallTitle),body:mt(i.firewallBody),points:is(i.firewallPoints)},commands:{title:mt(i.commandsTitle),body:mt(i.commandsBody),manager:mt(i.managerCommandLabel),primary:mt(i.clientCommandLabel),slot:mt(i.slotCommandLabel),manual:mt(i.manualCommandLabel)}}}const fs={ko:Mt({languageName:"한국어",languageLabel:"문서 언어",eyebrow:"LiveDesk Manual",title:"한 줄로 여는 로컬 Screen Wall",intro:"LiveDesk는 매니저 PC 한 대에서 여러 작업 PC, AI 박스, 맥미니, 개발 장비를 한 화면에 모니터링하고 필요한 제어를 실행하는 npm-first 원격 작업 데크입니다.",managerTitle:"1. 매니저 실행",managerBody:"화면을 모아 볼 컴퓨터에서 LiveDesk 매니저를 실행합니다. 매니저는 UI와 로컬 서버를 같이 열고 브라우저를 http://127.0.0.1:5179 로 띄웁니다.",managerPoints:["명령은 npx -y livedesk 입니다.","매니저는 Screen Wall/API 포트 5179와 클라이언트 접속 포트 5197을 사용합니다.","기존 LiveDesk 포트가 남아 있으면 기본적으로 정리하고 새로 시작합니다. 필요하면 --no-clean 을 붙입니다."],clientTitle:"2. 워크스테이션 연결",clientBody:"모니터링할 PC에서는 Google 로그인 또는 Hub 화면의 6자리 PIN으로 연결합니다. Hub가 켜져 있지 않아도 클라이언트는 종료하지 않고 5초마다 계속 찾습니다.",clientPoints:["빈 자리에 자동 배치하려면 npx -y livedesk client 를 실행합니다.","자리 번호를 고정하려면 npx -y livedesk client 3 처럼 번호를 붙입니다.","브라우저 연결 페이지에서 Google 버튼 또는 6자리 PIN 입력 중 하나를 선택합니다."],syncTitle:"3. Sync Server와 자동 발견",syncBody:"Sync Server는 이 매니저를 현재 계정의 활성 Screen Wall로 Supabase에 등록합니다. 클라이언트는 같은 Google 계정으로 로그인한 뒤 그 기록을 읽고 접속 후보들을 순서대로 시도합니다.",syncPoints:["등록 정보에는 host instance, LAN/private 주소, public 후보 주소, pair token, 짧은 lease가 포함됩니다.","같은 LAN 후보를 먼저 쓰고, 필요하면 외부 주소 후보를 시도합니다.","매니저 위치, VPN, 방화벽, 공유기 설정이 바뀌었거나 개발 중 활성 매니저를 바꿀 때 Sync Server를 누릅니다.","이제 livedesk.pages.dev의 Chrome Local Network Access 허용은 기본 실행 경로가 아닙니다. npm 매니저 앱이 실제 서버입니다."],platformTitle:"4. 현재 플랫폼 상태",platformBody:"Windows는 실제 화면 전송까지 확인되었습니다. macOS와 Linux도 npm 구조로 같은 명령을 목표로 지원을 넓히고 있습니다.",platformPoints:["Windows: 현재 작동 확인.","macOS: manager/client 경로는 준비되어 있으며 화면 캡처와 제어에는 Screen Recording/Accessibility 권한이 필요합니다.","Linux: linux-x64 runtime, grim/gnome-screenshot/import/scrot 캡처, xdotool 입력 백엔드가 추가되었습니다. 오디오는 아직 비활성입니다."],firewallTitle:"방화벽과 외부 장소 연결",firewallBody:"같은 LAN 안에서는 보통 공유기 포트포워딩이 필요 없습니다. 다른 장소의 PC를 붙이려면 클라이언트가 매니저의 클라이언트 접속 포트에 도달할 수 있어야 합니다.",firewallPoints:["클라이언트 접속 포트는 TCP 5197입니다.","클라이언트 쪽은 나가는 연결이므로 보통 인바운드 포트 개방이 필요 없습니다.","다른 네트워크에서 붙일 때는 매니저 PC 방화벽에서 TCP 5197 인바운드를 허용하고, 공유기에서는 TCP 5197을 매니저 PC로 전달합니다.","Screen Wall/API 포트 5179는 매니저 UI용입니다. 외부 브라우저에서 Wall을 직접 열 필요가 있을 때만 별도로 노출을 검토합니다.","공개 인터넷에 바로 열기보다 VPN, Tailscale, ZeroTier, 고정 IP allowlist를 우선합니다."],commandsTitle:"현재 사용 명령",commandsBody:"웹사이트를 찾아가 설치 파일을 받는 방식보다 터미널 한 줄로 모든 운영체제에서 거의 같은 흐름을 쓰는 것이 LiveDesk의 기본 방향입니다.",managerCommandLabel:"매니저 시작",clientCommandLabel:"워크스테이션 연결",slotCommandLabel:"3번 슬롯에 고정",manualCommandLabel:"고급 수동 연결"}),en:Mt({languageName:"English",languageLabel:"Document language",eyebrow:"LiveDesk Manual",title:"Open a local Screen Wall with one command",intro:"LiveDesk is an npm-first remote work deck for monitoring many workstations, AI boxes, Mac minis, and dev machines from one manager PC.",managerTitle:"1. Run the manager",managerBody:"Run LiveDesk on the computer that will watch the screens. The manager starts the UI and local server together, then opens http://127.0.0.1:5179.",managerPoints:["The command is npx -y livedesk.","The manager uses port 5179 for the Screen Wall/API and port 5197 for client connections.","If an old LiveDesk process still owns those ports, startup cleans it by default. Add --no-clean when you want to keep it."],clientTitle:"2. Connect a workstation",clientBody:"On each monitored computer, connect with Google sign-in or the 6-digit PIN shown on the Hub screen. If no manager is online yet, the client keeps running and retries every 5 seconds.",clientPoints:["Run npx -y livedesk client for first available placement.","Run npx -y livedesk client 3 to pin the machine to slot 3.","The browser connection page lets you choose Google or a 6-digit PIN."],syncTitle:"3. Sync Server and discovery",syncBody:"Sync Server publishes this manager as the active Screen Wall for the signed-in account. Clients read that Supabase record after Google sign-in and try the endpoint candidates in order.",syncPoints:["The record includes host instance, LAN/private addresses, public endpoint candidates, pair token, and a short lease.","LAN candidates are preferred first, then public candidates if needed.","Press Sync Server after manager moves, VPN/firewall/router changes, or when this development machine should take over as active manager.","Chrome Local Network Access on livedesk.pages.dev is no longer the default runtime path. The npm manager app is the real server."],platformTitle:"4. Current platform state",platformBody:"Windows has been verified with live screen transfer. macOS and Linux follow the same npm command path as support expands.",platformPoints:["Windows: verified working.","macOS: manager/client paths are prepared; screen capture and control require Screen Recording/Accessibility permissions.","Linux: linux-x64 runtime, grim/gnome-screenshot/import/scrot capture, and xdotool input backend are added. Audio is still disabled."],firewallTitle:"Firewall and remote locations",firewallBody:"On the same LAN, router forwarding is usually unnecessary. For another office, building, or country, clients must be able to reach the manager client port.",firewallPoints:["Client connection port: TCP 5197.","Client machines normally only need outbound access.","For remote networks, allow inbound TCP 5197 on the manager firewall and forward TCP 5197 from the router to the manager PC.","Screen Wall/API port 5179 is for the manager UI. Expose it only if a remote browser must open the Wall directly.","Prefer VPN, Tailscale, ZeroTier, or fixed-IP allowlists over public internet exposure."],commandsTitle:"Current commands",commandsBody:"The product direction is one terminal command across operating systems instead of finding a website, downloading, and installing manually.",managerCommandLabel:"Start manager",clientCommandLabel:"Connect workstation",slotCommandLabel:"Pin to slot 3",manualCommandLabel:"Advanced manual connection"}),ja:Mt({languageName:"日本語",languageLabel:"ドキュメント言語",eyebrow:"LiveDesk Manual",title:"1行でローカル Screen Wall を開く",intro:"LiveDesk は、複数の作業 PC、AI マシン、Mac mini、開発機を1台の manager PC から監視する npm-first のリモート作業デッキです。",managerTitle:"1. manager を実行",managerBody:"画面を集めて見るコンピューターで LiveDesk manager を実行します。UI とローカルサーバーが同時に起動し、http://127.0.0.1:5179 が開きます。",managerPoints:["コマンドは npx -y livedesk です。","Screen Wall/API は 5179、client 接続は 5197 を使います。","古い LiveDesk プロセスがポートを使っている場合は、基本的に自動で整理して起動します。"],clientTitle:"2. workstation を接続",clientBody:"監視される PC で同じ Google アカウントにログインします。manager がまだ無くても client は終了せず、5秒ごとに再試行します。",clientPoints:["空きスロットに入れるには npx -y livedesk client を実行します。","スロットを固定するには npx -y livedesk client 3 のように番号を付けます。","大量の PC でも再ログインなしで待ち続けます。"],syncTitle:"3. Sync Server と自動検出",syncBody:"Sync Server はこの manager を現在の Google アカウントの active Screen Wall として Supabase に登録します。",syncPoints:["host instance、LAN/private アドレス、public 候補、pair token、短い lease を登録します。","client は LAN 候補を優先し、必要なら public 候補も試します。","VPN、firewall、router、manager の場所が変わったら Sync Server を押します。","livedesk.pages.dev の Chrome Local Network Access は標準実行経路ではありません。npm manager アプリが実際のサーバーです。"],platformTitle:"4. 現在のプラットフォーム状態",platformBody:"Windows は live screen transfer まで確認済みです。macOS と Linux も同じ npm コマンド経路を目標に対応を広げています。",platformPoints:["Windows: 動作確認済み。","macOS: 画面取得と制御には Screen Recording/Accessibility 権限が必要です。","Linux: linux-x64 runtime、grim/gnome-screenshot/import/scrot capture、xdotool input backend を追加済み。audio は未対応です。"],firewallTitle:"Firewall と外部拠点",firewallBody:"同じ LAN なら通常 router forwarding は不要です。外部拠点では client が manager の接続ポートへ到達できる必要があります。",firewallPoints:["client 接続ポートは TCP 5197 です。","client 側は通常 outbound だけで足ります。","外部 network では manager PC の firewall で TCP 5197 inbound を許可し、router から manager PC へ forward します。","5179 は manager UI 用なので、外部ブラウザで Wall を開く必要がある時だけ公開を検討します。","公開 internet より VPN、Tailscale、ZeroTier、IP allowlist を優先してください。"],commandsTitle:"現在のコマンド",commandsBody:"Web サイトから installer を探すより、OS をまたいで terminal 1行で動かす方向です。",managerCommandLabel:"manager 起動",clientCommandLabel:"workstation 接続",slotCommandLabel:"slot 3 に固定",manualCommandLabel:"高度な手動接続"}),"zh-CN":Mt({languageName:"简体中文",languageLabel:"文档语言",eyebrow:"LiveDesk Manual",title:"用一条命令打开本地 Screen Wall",intro:"LiveDesk 是 npm-first 的远程工作台,用一台 manager PC 监控多台工作站、AI 主机、Mac mini 和开发机器。",managerTitle:"1. 运行 manager",managerBody:"在负责查看屏幕的电脑上运行 LiveDesk manager。它会同时启动 UI 和本地服务器,并打开 http://127.0.0.1:5179。",managerPoints:["命令是 npx -y livedesk。","Screen Wall/API 使用 5179,client 连接使用 5197。","如果旧的 LiveDesk 进程占用端口,默认会清理后重新启动。"],clientTitle:"2. 连接 workstation",clientBody:"在被监控的电脑上使用同一个 Google 账号登录。即使 manager 还没在线,client 也会继续运行并每 5 秒重试。",clientPoints:["自动放入空位: npx -y livedesk client。","固定到 3 号位置: npx -y livedesk client 3。","大量电脑也可以持续等待,不需要反复登录。"],syncTitle:"3. Sync Server 和自动发现",syncBody:"Sync Server 会把当前 manager 作为该账号的 active Screen Wall 写入 Supabase。client 登录后读取记录并依次尝试连接候选地址。",syncPoints:["记录包括 host instance、LAN/private 地址、public 候选、pair token 和短 lease。","优先尝试同一 LAN 地址,需要时再尝试外部地址。","manager 位置、VPN、防火墙或路由变化后请点击 Sync Server。","livedesk.pages.dev 的 Chrome Local Network Access 不再是默认运行方式。npm manager app 才是真正服务器。"],platformTitle:"4. 当前平台状态",platformBody:"Windows 已确认可传输实时画面。macOS 和 Linux 正按同一 npm 命令路径扩展支持。",platformPoints:["Windows: 已确认可用。","macOS: 画面捕获和控制需要 Screen Recording/Accessibility 权限。","Linux: 已加入 linux-x64 runtime、grim/gnome-screenshot/import/scrot 捕获、xdotool 输入后端。音频尚未启用。"],firewallTitle:"防火墙和外部地点",firewallBody:"同一 LAN 通常不需要路由端口转发。不同地点连接时,client 必须能访问 manager 的 client 连接端口。",firewallPoints:["client 连接端口是 TCP 5197。","client 机器通常只需要出站访问。","跨网络时,在 manager 防火墙放行 TCP 5197 入站,并在路由器转发到 manager PC。","5179 是 manager UI 端口,仅在需要远程浏览器直接打开 Wall 时考虑暴露。","优先使用 VPN、Tailscale、ZeroTier 或固定 IP allowlist。"],commandsTitle:"当前命令",commandsBody:"产品方向是跨操作系统使用一条终端命令,而不是先找网站、下载、安装。",managerCommandLabel:"启动 manager",clientCommandLabel:"连接 workstation",slotCommandLabel:"固定到 slot 3",manualCommandLabel:"高级手动连接"}),"zh-TW":Mt({languageName:"繁體中文",languageLabel:"文件語言",eyebrow:"LiveDesk Manual",title:"用一行指令開啟本機 Screen Wall",intro:"LiveDesk 是 npm-first 的遠端工作台,用一台 manager PC 監看多台工作站、AI 主機、Mac mini 與開發機。",managerTitle:"1. 執行 manager",managerBody:"在負責看畫面的電腦上執行 LiveDesk manager。它會同時啟動 UI 與本機伺服器,並開啟 http://127.0.0.1:5179。",managerPoints:["指令是 npx -y livedesk。","Screen Wall/API 使用 5179,client 連線使用 5197。","若舊的 LiveDesk 程序占用連接埠,預設會清理後重新啟動。"],clientTitle:"2. 連接 workstation",clientBody:"在被監看的電腦上使用同一個 Google 帳號登入。即使 manager 尚未上線,client 也會持續執行並每 5 秒重試。",clientPoints:["自動放入空位: npx -y livedesk client。","固定到 3 號位置: npx -y livedesk client 3。","大量電腦也能持續等待,不需要反覆登入。"],syncTitle:"3. Sync Server 與自動探索",syncBody:"Sync Server 會把目前 manager 登錄為此帳號的 active Screen Wall。client 登入後讀取 Supabase 記錄並依序嘗試連線候選地址。",syncPoints:["記錄包含 host instance、LAN/private 位址、public 候選、pair token 與短 lease。","優先嘗試 LAN 位址,需要時再嘗試外部位址。","manager 位置、VPN、防火牆或路由設定改變後請按 Sync Server。","livedesk.pages.dev 的 Chrome Local Network Access 不再是預設執行路徑。npm manager app 才是真正伺服器。"],platformTitle:"4. 目前平台狀態",platformBody:"Windows 已確認可傳輸即時畫面。macOS 與 Linux 也沿用相同 npm 指令路徑擴充支援。",platformPoints:["Windows: 已確認可用。","macOS: 畫面擷取與控制需要 Screen Recording/Accessibility 權限。","Linux: 已加入 linux-x64 runtime、grim/gnome-screenshot/import/scrot capture、xdotool input backend。音訊尚未啟用。"],firewallTitle:"防火牆與外部地點",firewallBody:"同一 LAN 通常不需要路由器轉發。不同地點連線時,client 必須能到達 manager 的 client 連線埠。",firewallPoints:["client 連線埠是 TCP 5197。","client 電腦通常只需要對外連線。","跨網路時,請在 manager 防火牆允許 TCP 5197 inbound,並從路由器轉發到 manager PC。","5179 是 manager UI 連接埠,只在需要遠端瀏覽器直接打開 Wall 時才考慮公開。","優先使用 VPN、Tailscale、ZeroTier 或固定 IP allowlist。"],commandsTitle:"目前指令",commandsBody:"產品方向是跨作業系統用一行 terminal 指令,而不是先找網站、下載、安裝。",managerCommandLabel:"啟動 manager",clientCommandLabel:"連接 workstation",slotCommandLabel:"固定到 slot 3",manualCommandLabel:"進階手動連線"}),es:Mt({languageName:"Español",languageLabel:"Idioma del documento",eyebrow:"LiveDesk Manual",title:"Abre un Screen Wall local con un comando",intro:"LiveDesk es una consola npm-first para vigilar muchas estaciones, cajas de IA, Mac mini y equipos de desarrollo desde un PC manager.",managerTitle:"1. Ejecuta el manager",managerBody:"Ejecuta LiveDesk en el equipo que verá las pantallas. El manager inicia la UI y el servidor local juntos y abre http://127.0.0.1:5179.",managerPoints:["El comando es npx -y livedesk.","El manager usa 5179 para Screen Wall/API y 5197 para conexiones client.","Si un proceso antiguo ocupa los puertos, el arranque lo limpia por defecto."],clientTitle:"2. Conecta una workstation",clientBody:"En cada equipo monitoreado, inicia sesión con la misma cuenta Google. Si el manager aún no está activo, el client sigue intentando cada 5 segundos.",clientPoints:["Usa npx -y livedesk client para el primer slot libre.","Usa npx -y livedesk client 3 para fijar el equipo al slot 3.","Los clients siguen esperando para no repetir login en muchas máquinas."],syncTitle:"3. Sync Server y descubrimiento",syncBody:"Sync Server publica este manager como Screen Wall activo para la cuenta. Los clients leen el registro en Supabase y prueban los endpoints.",syncPoints:["Incluye host instance, direcciones LAN/private, candidatos public, pair token y lease corto.","Primero se prueban candidatos LAN, luego públicos si hace falta.","Pulsa Sync Server después de cambios de manager, VPN, firewall o router.","Chrome Local Network Access en livedesk.pages.dev ya no es el flujo principal. La app npm manager es el servidor real."],platformTitle:"4. Estado de plataformas",platformBody:"Windows ya fue verificado con transferencia de pantalla. macOS y Linux siguen el mismo camino npm.",platformPoints:["Windows: verificado.","macOS: captura y control requieren permisos Screen Recording/Accessibility.","Linux: agregado linux-x64 runtime, captura grim/gnome-screenshot/import/scrot y entrada xdotool. Audio aún desactivado."],firewallTitle:"Firewall y sedes remotas",firewallBody:"En la misma LAN normalmente no hace falta port forwarding. Para otra red, los clients deben llegar al puerto client del manager.",firewallPoints:["Puerto de conexión client: TCP 5197.","Los equipos client normalmente solo necesitan salida.","Para redes remotas, permite TCP 5197 inbound en el manager y reenvía TCP 5197 al PC manager.","El puerto 5179 es para la UI del manager; expónlo solo si un navegador remoto debe abrir el Wall.","Prefiere VPN, Tailscale, ZeroTier o allowlist de IP fijas."],commandsTitle:"Comandos actuales",commandsBody:"La dirección del producto es un comando de terminal común entre sistemas, no descargar e instalar desde una web.",managerCommandLabel:"Iniciar manager",clientCommandLabel:"Conectar workstation",slotCommandLabel:"Fijar al slot 3",manualCommandLabel:"Conexión manual avanzada"}),fr:Mt({languageName:"Français",languageLabel:"Langue du document",eyebrow:"LiveDesk Manual",title:"Ouvrir un Screen Wall local en une commande",intro:"LiveDesk est un deck npm-first pour surveiller plusieurs postes, machines IA, Mac mini et machines dev depuis un PC manager.",managerTitle:"1. Lancer le manager",managerBody:"Lancez LiveDesk sur l’ordinateur qui observe les écrans. Le manager démarre l’UI et le serveur local, puis ouvre http://127.0.0.1:5179.",managerPoints:["La commande est npx -y livedesk.","Le manager utilise 5179 pour Screen Wall/API et 5197 pour les connexions client.","Si un ancien processus utilise les ports, le démarrage le nettoie par défaut."],clientTitle:"2. Connecter une workstation",clientBody:"Sur chaque ordinateur surveillé, connectez-vous avec le même compte Google. Si le manager n’est pas encore actif, le client réessaie toutes les 5 secondes.",clientPoints:["Utilisez npx -y livedesk client pour le premier slot libre.","Utilisez npx -y livedesk client 3 pour fixer la machine au slot 3.","Les clients continuent d’attendre pour éviter les reconnexions répétées."],syncTitle:"3. Sync Server et découverte",syncBody:"Sync Server publie ce manager comme Screen Wall actif du compte. Les clients lisent l’enregistrement Supabase et testent les endpoints.",syncPoints:["Il contient host instance, adresses LAN/private, candidats public, pair token et lease court.","Les candidats LAN sont essayés en premier, puis les candidats publics si besoin.","Cliquez Sync Server après un changement de manager, VPN, firewall ou routeur.","Chrome Local Network Access sur livedesk.pages.dev n’est plus le chemin par défaut. L’app npm manager est le vrai serveur."],platformTitle:"4. État des plateformes",platformBody:"Windows est vérifié avec transfert d’écran live. macOS et Linux suivent le même chemin npm.",platformPoints:["Windows: vérifié.","macOS: capture et contrôle nécessitent Screen Recording/Accessibility.","Linux: runtime linux-x64, capture grim/gnome-screenshot/import/scrot et entrée xdotool ajoutés. Audio désactivé."],firewallTitle:"Firewall et sites distants",firewallBody:"Sur le même LAN, le port forwarding est rarement nécessaire. Depuis un autre réseau, les clients doivent atteindre le port client du manager.",firewallPoints:["Port de connexion client: TCP 5197.","Les machines client ont normalement seulement besoin de sortie réseau.","Pour un réseau distant, autorisez TCP 5197 entrant sur le manager et redirigez TCP 5197 vers le PC manager.","Le port 5179 sert à l’UI manager; exposez-le seulement si un navigateur distant doit ouvrir le Wall.","Préférez VPN, Tailscale, ZeroTier ou allowlist IP fixes."],commandsTitle:"Commandes actuelles",commandsBody:"La direction produit est une commande terminal commune aux OS, plutôt qu’un téléchargement manuel depuis un site.",managerCommandLabel:"Démarrer manager",clientCommandLabel:"Connecter workstation",slotCommandLabel:"Fixer au slot 3",manualCommandLabel:"Connexion manuelle avancée"}),de:Mt({languageName:"Deutsch",languageLabel:"Dokumentsprache",eyebrow:"LiveDesk Manual",title:"Lokale Screen Wall mit einem Befehl öffnen",intro:"LiveDesk ist ein npm-first Arbeitsdeck, um viele Workstations, AI-Boxen, Mac minis und Dev-Rechner von einem Manager-PC zu überwachen.",managerTitle:"1. Manager starten",managerBody:"Starte LiveDesk auf dem Computer, der die Screens sieht. Der Manager startet UI und lokalen Server zusammen und öffnet http://127.0.0.1:5179.",managerPoints:["Der Befehl ist npx -y livedesk.","Der Manager nutzt 5179 für Screen Wall/API und 5197 für Client-Verbindungen.","Wenn alte LiveDesk-Prozesse Ports belegen, werden sie beim Start standardmäßig bereinigt."],clientTitle:"2. Workstation verbinden",clientBody:"Melde dich auf jedem überwachten Computer mit demselben Google-Konto an. Wenn kein Manager online ist, versucht der Client alle 5 Sekunden weiter.",clientPoints:["npx -y livedesk client nutzt den ersten freien Slot.","npx -y livedesk client 3 fixiert den Rechner auf Slot 3.","Clients warten weiter, damit große Setups kein wiederholtes Login brauchen."],syncTitle:"3. Sync Server und Discovery",syncBody:"Sync Server veröffentlicht diesen Manager als aktive Screen Wall des Kontos. Clients lesen den Supabase-Eintrag und testen Endpoints der Reihe nach.",syncPoints:["Enthält host instance, LAN/private Adressen, public Kandidaten, pair token und kurze lease.","LAN-Kandidaten werden zuerst versucht, danach public Kandidaten.","Nach Änderungen an Manager, VPN, Firewall oder Router Sync Server drücken.","Chrome Local Network Access auf livedesk.pages.dev ist nicht mehr der Standardpfad. Die npm Manager App ist der echte Server."],platformTitle:"4. Plattformstatus",platformBody:"Windows wurde mit Live-Screen-Transfer geprüft. macOS und Linux folgen demselben npm-Pfad.",platformPoints:["Windows: verifiziert.","macOS: Capture und Control brauchen Screen Recording/Accessibility Rechte.","Linux: linux-x64 Runtime, grim/gnome-screenshot/import/scrot Capture und xdotool Input Backend sind ergänzt. Audio ist deaktiviert."],firewallTitle:"Firewall und entfernte Standorte",firewallBody:"Im gleichen LAN ist Router-Forwarding meist unnötig. Aus anderen Netzwerken müssen Clients den Client-Port des Managers erreichen.",firewallPoints:["Client-Verbindungsport: TCP 5197.","Client-Rechner brauchen normalerweise nur ausgehenden Zugriff.","Für entfernte Netzwerke TCP 5197 inbound am Manager erlauben und vom Router zum Manager-PC forwarden.","Port 5179 ist für die Manager-UI; nur öffnen, wenn ein Remote-Browser die Wall direkt öffnen muss.","VPN, Tailscale, ZeroTier oder feste IP-Allowlists bevorzugen."],commandsTitle:"Aktuelle Befehle",commandsBody:"Die Produktlinie ist ein Terminalbefehl über Betriebssysteme hinweg, statt Website suchen, herunterladen und installieren.",managerCommandLabel:"Manager starten",clientCommandLabel:"Workstation verbinden",slotCommandLabel:"An Slot 3 fixieren",manualCommandLabel:"Erweiterte manuelle Verbindung"}),"pt-BR":Mt({languageName:"Português",languageLabel:"Idioma do documento",eyebrow:"LiveDesk Manual",title:"Abra um Screen Wall local com um comando",intro:"LiveDesk é um deck npm-first para monitorar várias estações, caixas de IA, Mac minis e máquinas dev a partir de um PC manager.",managerTitle:"1. Execute o manager",managerBody:"Rode LiveDesk no computador que verá as telas. O manager inicia a UI e o servidor local juntos e abre http://127.0.0.1:5179.",managerPoints:["O comando é npx -y livedesk.","O manager usa 5179 para Screen Wall/API e 5197 para conexões client.","Se um processo antigo ocupa as portas, a inicialização limpa por padrão."],clientTitle:"2. Conecte uma workstation",clientBody:"Em cada computador monitorado, entre com a mesma conta Google. Se o manager ainda não estiver online, o client tenta a cada 5 segundos.",clientPoints:["Use npx -y livedesk client para o primeiro slot livre.","Use npx -y livedesk client 3 para fixar no slot 3.","Clients continuam tentando para evitar login repetido em muitos PCs."],syncTitle:"3. Sync Server e descoberta",syncBody:"Sync Server publica este manager como Screen Wall ativo da conta. Clients leem o registro no Supabase e testam endpoints.",syncPoints:["Inclui host instance, endereços LAN/private, candidatos public, pair token e lease curto.","Candidatos LAN vêm primeiro; public depois se necessário.","Clique Sync Server após mudanças de manager, VPN, firewall ou roteador.","Chrome Local Network Access em livedesk.pages.dev não é mais o caminho padrão. O app npm manager é o servidor real."],platformTitle:"4. Estado das plataformas",platformBody:"Windows foi verificado com transferência de tela. macOS e Linux seguem o mesmo caminho npm.",platformPoints:["Windows: verificado.","macOS: captura e controle precisam de permissões Screen Recording/Accessibility.","Linux: runtime linux-x64, captura grim/gnome-screenshot/import/scrot e entrada xdotool adicionados. Áudio ainda desativado."],firewallTitle:"Firewall e locais remotos",firewallBody:"Na mesma LAN normalmente não é preciso port forwarding. Em outra rede, clients precisam alcançar a porta client do manager.",firewallPoints:["Porta client: TCP 5197.","Máquinas client normalmente só precisam de saída.","Para redes remotas, permita TCP 5197 inbound no manager e encaminhe TCP 5197 para o PC manager.","A porta 5179 é para a UI do manager; exponha apenas se um navegador remoto precisar abrir o Wall.","Prefira VPN, Tailscale, ZeroTier ou allowlist de IP fixo."],commandsTitle:"Comandos atuais",commandsBody:"A direção do produto é um comando de terminal comum entre sistemas, não baixar e instalar manualmente.",managerCommandLabel:"Iniciar manager",clientCommandLabel:"Conectar workstation",slotCommandLabel:"Fixar no slot 3",manualCommandLabel:"Conexão manual avançada"}),it:Mt({languageName:"Italiano",languageLabel:"Lingua documento",eyebrow:"LiveDesk Manual",title:"Apri uno Screen Wall locale con un comando",intro:"LiveDesk è un deck npm-first per monitorare workstation, box AI, Mac mini e macchine dev da un solo PC manager.",managerTitle:"1. Avvia il manager",managerBody:"Esegui LiveDesk sul computer che guarderà gli schermi. Il manager avvia UI e server locale e apre http://127.0.0.1:5179.",managerPoints:["Il comando è npx -y livedesk.","Il manager usa 5179 per Screen Wall/API e 5197 per connessioni client.","Se vecchi processi occupano le porte, l’avvio le pulisce di default."],clientTitle:"2. Connetti una workstation",clientBody:"Su ogni computer monitorato, accedi con lo stesso account Google. Se il manager non è online, il client riprova ogni 5 secondi.",clientPoints:["npx -y livedesk client usa il primo slot libero.","npx -y livedesk client 3 fissa la macchina allo slot 3.","I client continuano a provare per evitare login ripetuti."],syncTitle:"3. Sync Server e discovery",syncBody:"Sync Server pubblica questo manager come Screen Wall attivo dell’account. I client leggono Supabase e provano gli endpoint.",syncPoints:["Include host instance, indirizzi LAN/private, candidati public, pair token e lease breve.","Prima LAN, poi public se necessario.","Premi Sync Server dopo cambi di manager, VPN, firewall o router.","Chrome Local Network Access su livedesk.pages.dev non è più il percorso principale. L’app npm manager è il server reale."],platformTitle:"4. Stato piattaforme",platformBody:"Windows è verificato con trasferimento schermo live. macOS e Linux seguono lo stesso percorso npm.",platformPoints:["Windows: verificato.","macOS: capture e control richiedono permessi Screen Recording/Accessibility.","Linux: aggiunti runtime linux-x64, capture grim/gnome-screenshot/import/scrot e input xdotool. Audio disattivato."],firewallTitle:"Firewall e sedi remote",firewallBody:"Nella stessa LAN di solito non serve port forwarding. Da altre reti, i client devono raggiungere la porta client del manager.",firewallPoints:["Porta client: TCP 5197.","I client normalmente richiedono solo uscita.","Per reti remote, abilita TCP 5197 inbound sul manager e inoltra TCP 5197 al PC manager.","La porta 5179 è per la UI manager; esponila solo se un browser remoto deve aprire il Wall.","Preferisci VPN, Tailscale, ZeroTier o IP allowlist."],commandsTitle:"Comandi attuali",commandsBody:"La direzione è un comando terminale comune tra sistemi operativi, invece di download e install manuale.",managerCommandLabel:"Avvia manager",clientCommandLabel:"Connetti workstation",slotCommandLabel:"Fissa allo slot 3",manualCommandLabel:"Connessione manuale avanzata"}),id:Mt({languageName:"Bahasa Indonesia",languageLabel:"Bahasa dokumen",eyebrow:"LiveDesk Manual",title:"Buka Screen Wall lokal dengan satu perintah",intro:"LiveDesk adalah deck npm-first untuk memantau banyak workstation, AI box, Mac mini, dan mesin dev dari satu PC manager.",managerTitle:"1. Jalankan manager",managerBody:"Jalankan LiveDesk di komputer yang melihat layar. Manager membuka UI dan server lokal bersama, lalu membuka http://127.0.0.1:5179.",managerPoints:["Perintahnya npx -y livedesk.","Manager memakai 5179 untuk Screen Wall/API dan 5197 untuk koneksi client.","Jika proses lama memakai port itu, startup membersihkannya secara default."],clientTitle:"2. Hubungkan workstation",clientBody:"Di komputer yang dipantau, masuk dengan akun Google yang sama. Jika manager belum online, client tetap mencoba tiap 5 detik.",clientPoints:["npx -y livedesk client memakai slot kosong pertama.","npx -y livedesk client 3 mengunci mesin ke slot 3.","Client terus mencoba agar banyak PC tidak perlu login berulang."],syncTitle:"3. Sync Server dan discovery",syncBody:"Sync Server menerbitkan manager ini sebagai Screen Wall aktif untuk akun. Client membaca Supabase dan mencoba endpoint.",syncPoints:["Berisi host instance, alamat LAN/private, kandidat public, pair token, dan lease pendek.","Kandidat LAN dicoba lebih dulu, lalu public jika perlu.","Tekan Sync Server setelah perubahan manager, VPN, firewall, atau router.","Chrome Local Network Access di livedesk.pages.dev bukan jalur utama lagi. App npm manager adalah server sebenarnya."],platformTitle:"4. Status platform",platformBody:"Windows sudah diverifikasi dengan live screen transfer. macOS dan Linux mengikuti jalur npm yang sama.",platformPoints:["Windows: terverifikasi.","macOS: capture dan control perlu izin Screen Recording/Accessibility.","Linux: runtime linux-x64, capture grim/gnome-screenshot/import/scrot, dan input xdotool sudah ditambahkan. Audio belum aktif."],firewallTitle:"Firewall dan lokasi luar",firewallBody:"Di LAN yang sama biasanya tidak perlu port forwarding. Dari jaringan lain, client harus mencapai port client manager.",firewallPoints:["Port client: TCP 5197.","Mesin client biasanya hanya perlu akses keluar.","Untuk jaringan luar, izinkan TCP 5197 inbound di manager dan forward TCP 5197 ke PC manager.","Port 5179 untuk UI manager; buka hanya jika browser luar harus membuka Wall.","Utamakan VPN, Tailscale, ZeroTier, atau IP allowlist."],commandsTitle:"Perintah saat ini",commandsBody:"Arah produk adalah satu perintah terminal lintas OS, bukan download dan instal manual.",managerCommandLabel:"Mulai manager",clientCommandLabel:"Hubungkan workstation",slotCommandLabel:"Kunci ke slot 3",manualCommandLabel:"Koneksi manual lanjutan"}),vi:Mt({languageName:"Tiếng Việt",languageLabel:"Ngôn ngữ tài liệu",eyebrow:"LiveDesk Manual",title:"Mở Screen Wall cục bộ bằng một lệnh",intro:"LiveDesk là deck npm-first để giám sát nhiều workstation, máy AI, Mac mini và máy dev từ một PC manager.",managerTitle:"1. Chạy manager",managerBody:"Chạy LiveDesk trên máy dùng để xem màn hình. Manager khởi động UI và server cục bộ cùng lúc, rồi mở http://127.0.0.1:5179.",managerPoints:["Lệnh là npx -y livedesk.","Manager dùng 5179 cho Screen Wall/API và 5197 cho kết nối client.","Nếu tiến trình cũ giữ port, startup mặc định sẽ dọn và khởi động lại."],clientTitle:"2. Kết nối workstation",clientBody:"Trên mỗi máy được giám sát, đăng nhập cùng tài khoản Google. Nếu manager chưa online, client tiếp tục thử mỗi 5 giây.",clientPoints:["npx -y livedesk client dùng slot trống đầu tiên.","npx -y livedesk client 3 ghim máy vào slot 3.","Client tiếp tục chờ để nhiều máy không cần đăng nhập lại."],syncTitle:"3. Sync Server và tự phát hiện",syncBody:"Sync Server đăng manager này là Screen Wall đang hoạt động của tài khoản. Client đọc Supabase và thử các endpoint.",syncPoints:["Bao gồm host instance, địa chỉ LAN/private, public candidate, pair token và lease ngắn.","Ưu tiên LAN trước, sau đó thử public nếu cần.","Bấm Sync Server sau thay đổi manager, VPN, firewall hoặc router.","Chrome Local Network Access trên livedesk.pages.dev không còn là đường chạy chính. App npm manager mới là server thật."],platformTitle:"4. Trạng thái nền tảng",platformBody:"Windows đã được kiểm chứng với truyền màn hình live. macOS và Linux đi theo cùng đường npm.",platformPoints:["Windows: đã kiểm chứng.","macOS: capture và control cần quyền Screen Recording/Accessibility.","Linux: đã thêm runtime linux-x64, capture grim/gnome-screenshot/import/scrot và input xdotool. Audio chưa bật."],firewallTitle:"Firewall và địa điểm ngoài",firewallBody:"Trong cùng LAN thường không cần port forwarding. Từ mạng khác, client phải truy cập được port client của manager.",firewallPoints:["Port client: TCP 5197.","Máy client thường chỉ cần kết nối outbound.","Với mạng ngoài, cho phép TCP 5197 inbound trên manager và forward TCP 5197 tới PC manager.","Port 5179 dành cho UI manager; chỉ mở nếu trình duyệt từ xa cần mở Wall trực tiếp.","Ưu tiên VPN, Tailscale, ZeroTier hoặc allowlist IP cố định."],commandsTitle:"Lệnh hiện tại",commandsBody:"Hướng sản phẩm là một lệnh terminal dùng chung giữa các OS, thay vì tải và cài thủ công.",managerCommandLabel:"Khởi động manager",clientCommandLabel:"Kết nối workstation",slotCommandLabel:"Ghim vào slot 3",manualCommandLabel:"Kết nối thủ công nâng cao"}),th:Mt({languageName:"ไทย",languageLabel:"ภาษาของเอกสาร",eyebrow:"LiveDesk Manual",title:"เปิด Screen Wall ภายในด้วยคำสั่งเดียว",intro:"LiveDesk คือ deck แบบ npm-first สำหรับดู workstation, กล่อง AI, Mac mini และเครื่อง dev หลายเครื่องจาก manager PC เครื่องเดียว",managerTitle:"1. รัน manager",managerBody:"รัน LiveDesk บนเครื่องที่ใช้ดูหน้าจอ Manager จะเปิด UI และ local server พร้อมกัน แล้วเปิด http://127.0.0.1:5179",managerPoints:["คำสั่งคือ npx -y livedesk","Manager ใช้ 5179 สำหรับ Screen Wall/API และ 5197 สำหรับ client connection","ถ้า process เก่ายังใช้ port อยู่ startup จะล้างให้โดย default"],clientTitle:"2. เชื่อม workstation",clientBody:"บนเครื่องที่ต้อง monitor ให้ login ด้วย Google account เดียวกัน ถ้า manager ยังไม่ออนไลน์ client จะลองใหม่ทุก 5 วินาที",clientPoints:["npx -y livedesk client จะใช้ slot ว่างแรก","npx -y livedesk client 3 จะตรึงเครื่องไว้ที่ slot 3","Client จะรอต่อเนื่องเพื่อไม่ต้อง login ซ้ำเมื่อมีหลายเครื่อง"],syncTitle:"3. Sync Server และ discovery",syncBody:"Sync Server จะ publish manager นี้เป็น active Screen Wall ของ account แล้ว client อ่านข้อมูลจาก Supabase และลอง endpoint ต่างๆ",syncPoints:["มี host instance, LAN/private address, public candidate, pair token และ short lease","ลอง LAN ก่อน แล้วค่อยลอง public ถ้าจำเป็น","กด Sync Server หลังเปลี่ยน manager, VPN, firewall หรือ router","Chrome Local Network Access บน livedesk.pages.dev ไม่ใช่ runtime หลักแล้ว app npm manager คือ server จริง"],platformTitle:"4. สถานะ platform",platformBody:"Windows ตรวจสอบแล้วว่าส่งภาพ live ได้ macOS และ Linux ใช้เส้นทาง npm เดียวกัน",platformPoints:["Windows: verified","macOS: capture/control ต้องใช้สิทธิ์ Screen Recording/Accessibility","Linux: เพิ่ม linux-x64 runtime, grim/gnome-screenshot/import/scrot capture และ xdotool input แล้ว audio ยังปิดอยู่"],firewallTitle:"Firewall และเครื่องต่างสถานที่",firewallBody:"ใน LAN เดียวกันปกติไม่ต้อง port forwarding ถ้าอยู่คนละ network client ต้องเข้าถึง client port ของ manager ได้",firewallPoints:["Client port คือ TCP 5197","เครื่อง client ปกติต้องการ outbound เท่านั้น","ถ้าอยู่นอก network ให้เปิด TCP 5197 inbound ที่ manager และ forward TCP 5197 ไปยัง manager PC","Port 5179 เป็น UI ของ manager เปิดเฉพาะเมื่อ browser ระยะไกลต้องเปิด Wall โดยตรง","ควรใช้ VPN, Tailscale, ZeroTier หรือ IP allowlist ก่อนเปิดสู่ public internet"],commandsTitle:"คำสั่งปัจจุบัน",commandsBody:"ทิศทาง product คือคำสั่ง terminal เดียวข้าม OS ไม่ใช่ download/install จากเว็บไซต์",managerCommandLabel:"เริ่ม manager",clientCommandLabel:"เชื่อม workstation",slotCommandLabel:"ตรึง slot 3",manualCommandLabel:"manual connection ขั้นสูง"}),hi:Mt({languageName:"हिन्दी",languageLabel:"दस्तावेज़ भाषा",eyebrow:"LiveDesk Manual",title:"एक कमांड से local Screen Wall खोलें",intro:"LiveDesk एक npm-first remote work deck है जिससे एक manager PC से कई workstation, AI box, Mac mini और dev machines देखे जा सकते हैं।",managerTitle:"1. manager चलाएं",managerBody:"जिस computer से screens देखनी हैं उस पर LiveDesk manager चलाएं। यह UI और local server साथ में शुरू करता है और http://127.0.0.1:5179 खोलता है।",managerPoints:["कमांड है npx -y livedesk।","Manager Screen Wall/API के लिए 5179 और client connections के लिए 5197 इस्तेमाल करता है।","अगर पुराने LiveDesk ports बचे हों तो startup default रूप से साफ करता है।"],clientTitle:"2. workstation जोड़ें",clientBody:"हर monitored computer पर उसी Google account से sign in करें। Manager online न हो तब भी client बंद नहीं होता और हर 5 सेकंड retry करता है।",clientPoints:["npx -y livedesk client पहला खाली slot लेता है।","npx -y livedesk client 3 machine को slot 3 पर pin करता है।","बहुत सी machines हों तब भी बार-बार login की जरूरत नहीं रहती।"],syncTitle:"3. Sync Server और discovery",syncBody:"Sync Server इस manager को account का active Screen Wall बनाकर Supabase में publish करता है। Clients record पढ़कर endpoints try करते हैं।",syncPoints:["इसमें host instance, LAN/private addresses, public candidates, pair token और short lease होता है।","LAN candidates पहले try होते हैं, जरूरत हो तो public candidates।","Manager, VPN, firewall या router बदलने के बाद Sync Server दबाएं।","livedesk.pages.dev का Chrome Local Network Access अब default runtime नहीं है। npm manager app ही real server है।"],platformTitle:"4. Platform status",platformBody:"Windows live screen transfer के साथ verified है। macOS और Linux भी इसी npm path पर आगे बढ़ रहे हैं।",platformPoints:["Windows: verified.","macOS: capture/control के लिए Screen Recording/Accessibility permissions चाहिए।","Linux: linux-x64 runtime, grim/gnome-screenshot/import/scrot capture और xdotool input backend जोड़े गए हैं। Audio अभी disabled है।"],firewallTitle:"Firewall और remote locations",firewallBody:"Same LAN में आम तौर पर router forwarding जरूरी नहीं। दूसरे network से clients को manager client port तक पहुंचना होगा।",firewallPoints:["Client connection port: TCP 5197.","Client machines को आम तौर पर सिर्फ outbound access चाहिए।","Remote network के लिए manager firewall में TCP 5197 inbound allow करें और router से TCP 5197 manager PC पर forward करें।","5179 manager UI port है; इसे तभी expose करें जब remote browser को Wall खोलना हो।","Public internet से पहले VPN, Tailscale, ZeroTier या fixed IP allowlist बेहतर है।"],commandsTitle:"Current commands",commandsBody:"Product direction है OS के बीच एक terminal command, website से download/install नहीं।",managerCommandLabel:"Start manager",clientCommandLabel:"Connect workstation",slotCommandLabel:"Pin to slot 3",manualCommandLabel:"Advanced manual connection"}),ar:Mt({languageName:"العربية",languageLabel:"لغة المستند",eyebrow:"LiveDesk Manual",title:"افتح Screen Wall محلي بأمر واحد",intro:"LiveDesk هو deck بنمط npm-first لمراقبة عدة workstations وأجهزة AI وMac mini وأجهزة تطوير من كمبيوتر manager واحد.",managerTitle:"1. شغل manager",managerBody:"شغل LiveDesk على الكمبيوتر الذي سيعرض الشاشات. يبدأ manager الواجهة والخادم المحلي معا ويفتح http://127.0.0.1:5179.",managerPoints:["الأمر هو npx -y livedesk.","يستخدم manager المنفذ 5179 للواجهة/API والمنفذ 5197 لاتصالات client.","إذا بقيت عملية LiveDesk قديمة على المنافذ، يتم تنظيفها افتراضيا عند التشغيل."],clientTitle:"2. وصل workstation",clientBody:"على كل كمبيوتر تتم مراقبته، سجل الدخول بنفس حساب Google. إذا لم يكن manager متاحا، يبقى client يعمل ويحاول كل 5 ثوان.",clientPoints:["npx -y livedesk client يختار أول slot فارغ.","npx -y livedesk client 3 يثبت الجهاز في slot 3.","clients تستمر بالمحاولة لتجنب تكرار تسجيل الدخول عند كثرة الأجهزة."],syncTitle:"3. Sync Server والاكتشاف",syncBody:"Sync Server ينشر هذا manager كـ active Screen Wall للحساب. يقرأ clients سجل Supabase ويجربون endpoints بالترتيب.",syncPoints:["السجل يتضمن host instance وعناوين LAN/private وpublic candidates وpair token وlease قصير.","يتم تفضيل LAN أولا، ثم public عند الحاجة.","اضغط Sync Server بعد تغيير manager أو VPN أو firewall أو router.","Chrome Local Network Access على livedesk.pages.dev لم يعد مسار التشغيل الافتراضي. تطبيق npm manager هو الخادم الحقيقي."],platformTitle:"4. حالة المنصات",platformBody:"Windows تم التحقق منه مع نقل شاشة live. macOS وLinux يتبعان نفس مسار npm.",platformPoints:["Windows: تم التحقق.","macOS: capture/control يحتاجان أذونات Screen Recording/Accessibility.","Linux: تمت إضافة linux-x64 runtime وgrim/gnome-screenshot/import/scrot capture وxdotool input. الصوت ما زال معطلا."],firewallTitle:"Firewall والمواقع البعيدة",firewallBody:"داخل نفس LAN غالبا لا تحتاج port forwarding. من شبكة أخرى يجب أن يصل client إلى منفذ manager client.",firewallPoints:["منفذ client: TCP 5197.","أجهزة client تحتاج عادة اتصال outbound فقط.","للشبكات البعيدة، اسمح TCP 5197 inbound على manager ووجه TCP 5197 من router إلى manager PC.","المنفذ 5179 مخصص لواجهة manager؛ اكشفه فقط إذا كان متصفح بعيد يحتاج فتح Wall مباشرة.","يفضل VPN أو Tailscale أو ZeroTier أو fixed IP allowlist بدل التعريض العام."],commandsTitle:"الأوامر الحالية",commandsBody:"اتجاه المنتج هو أمر terminal واحد عبر الأنظمة، وليس تحميل وتثبيت يدوي من موقع.",managerCommandLabel:"Start manager",clientCommandLabel:"Connect workstation",slotCommandLabel:"Pin to slot 3",manualCommandLabel:"Advanced manual connection"}),tr:Mt({languageName:"Türkçe",languageLabel:"Belge dili",eyebrow:"LiveDesk Manual",title:"Yerel Screen Wall tek komutla açılsın",intro:"LiveDesk, tek bir manager PC üzerinden birçok workstation, AI box, Mac mini ve dev machine izlemek için npm-first bir çalışma deckidir.",managerTitle:"1. Manager çalıştır",managerBody:"Ekranları izleyecek bilgisayarda LiveDesk manager çalıştır. Manager UI ve local server birlikte başlar ve http://127.0.0.1:5179 açılır.",managerPoints:["Komut: npx -y livedesk.","Manager Screen Wall/API için 5179, client bağlantıları için 5197 kullanır.","Eski LiveDesk process portları tutuyorsa başlangıç varsayılan olarak temizler."],clientTitle:"2. Workstation bağla",clientBody:"İzlenecek bilgisayarda aynı Google hesabıyla giriş yap. Manager henüz online değilse client kapanmaz ve her 5 saniyede tekrar dener.",clientPoints:["npx -y livedesk client ilk boş slota yerleşir.","npx -y livedesk client 3 makineyi slot 3’e sabitler.","Çok makinede tekrar tekrar login gerekmesin diye client beklemeye devam eder."],syncTitle:"3. Sync Server ve discovery",syncBody:"Sync Server bu managerı hesabın active Screen Wall kaydı olarak Supabase’e yazar. Clients bu kaydı okuyup endpoint adaylarını dener.",syncPoints:["Host instance, LAN/private adresler, public adaylar, pair token ve kısa lease içerir.","Önce LAN adayları, gerekirse public adaylar denenir.","Manager, VPN, firewall veya router değişince Sync Server’a bas.","livedesk.pages.dev üzerindeki Chrome Local Network Access artık default runtime yolu değil. Gerçek server npm manager app."],platformTitle:"4. Platform durumu",platformBody:"Windows live screen transfer ile doğrulandı. macOS ve Linux aynı npm yolunu takip ediyor.",platformPoints:["Windows: doğrulandı.","macOS: capture/control için Screen Recording/Accessibility izinleri gerekir.","Linux: linux-x64 runtime, grim/gnome-screenshot/import/scrot capture ve xdotool input backend eklendi. Audio kapalı."],firewallTitle:"Firewall ve uzak konumlar",firewallBody:"Aynı LAN içinde genelde router forwarding gerekmez. Başka ağdan clients manager client portuna ulaşabilmelidir.",firewallPoints:["Client port: TCP 5197.","Client makineler normalde sadece outbound erişim ister.","Uzak ağ için manager firewall üzerinde TCP 5197 inbound aç ve routerdan TCP 5197yi manager PCye forward et.","5179 manager UI portudur; sadece uzak browser Wall açacaksa expose et.","Public internet yerine VPN, Tailscale, ZeroTier veya sabit IP allowlist tercih et."],commandsTitle:"Güncel komutlar",commandsBody:"Ürün yönü, webden indirip kurmak yerine işletim sistemleri arasında ortak tek terminal komutu.",managerCommandLabel:"Manager başlat",clientCommandLabel:"Workstation bağla",slotCommandLabel:"Slot 3’e sabitle",manualCommandLabel:"Gelişmiş manuel bağlantı"})},rT=Object.entries(fs).map(([i,n])=>({id:i,label:n.languageName}));function sT(){if(typeof navigator>"u")return"en";const i=navigator.languages?.length?navigator.languages:[navigator.language];for(const n of i){const r=n.toLowerCase();if(fs[n])return n;if(r.startsWith("zh-tw")||r.startsWith("zh-hk"))return"zh-TW";if(r.startsWith("pt"))return"pt-BR";const l=r.split("-")[0];if(fs[l])return l}return"en"}function Ny({index:i,selected:n,onSelect:r}){const l=i+1;return p.jsx("article",{className:`device-tile placeholder-tile ${n?"selected":""}`,children:p.jsxs("button",{className:"tile-screen",onClick:r,"aria-pressed":n,title:`Select slot ${l}`,type:"button",children:[p.jsx("span",{className:"slot-grid","aria-hidden":"true"}),p.jsxs("span",{className:"empty-screen",children:[p.jsx(cs,{size:24}),p.jsxs("strong",{children:["Slot ",String(l).padStart(3,"0")]})]})]})})}function Ly({device:i,frame:n,selected:r,controlEnabled:l,showStatus:c,monitorIndex:d,monitorCount:h,onSelect:m,onFocusDevice:f,onOpenControl:y,onCycleMonitor:w,onCanvasReady:S,sendInput:T}){const x=O.useRef(null),R=O.useRef(null),z=O.useRef(null),G=O.useRef(null),V=wv(i),I=Hn(d,h),F=h>1,ee=V1(i,n,I),we=ee>=wc?100:ee/wc*100,le=ee>=wc?wc/ee*100:100,Z={"--screen-aspect":ee.toFixed(5),"--screen-content-width":`${Math.max(1,Math.min(100,we)).toFixed(3)}%`,"--screen-content-height":`${Math.max(1,Math.min(100,le)).toFixed(3)}%`},je=O.useCallback(_=>{x.current=_,S(i.deviceId,_)},[i.deviceId,S]),Ee=_=>{const H=_.currentTarget.getBoundingClientRect();return{normalizedX:Math.max(0,Math.min(1,(_.clientX-H.left)/Math.max(1,H.width))),normalizedY:Math.max(0,Math.min(1,(_.clientY-H.top)/Math.max(1,H.height)))}},ve=_=>({shiftKey:_.shiftKey,ctrlKey:_.ctrlKey,altKey:_.altKey,metaKey:_.metaKey}),be=O.useCallback(()=>{G.current!==null&&(window.clearInterval(G.current),G.current=null)},[]),ue=O.useCallback((_=!1)=>{const H=R.current;if(!H){_&&be();return}const Q=Number(H.input.normalizedX),te=Number(H.input.normalizedY);if(!Number.isFinite(Q)||!Number.isFinite(te)){R.current=null,be();return}const pe=z.current,A=performance.now()-H.updatedAt,D=_||!pe||A>=Ty,J=D?Q:pe.x+(Q-pe.x)*_y,ae=D?te:pe.y+(te-pe.y)*_y,ye=Math.abs(J-Q)<ky?Q:J,Se=Math.abs(ae-te)<ky?te:ae;T(i.deviceId,{...H.input,normalizedX:ye,normalizedY:Se}),z.current={x:ye,y:Se},(D||ye===Q&&Se===te&&A>=Ty)&&(R.current=null,be())},[i.deviceId,T,be]),ge=O.useCallback(()=>{G.current===null&&(G.current=window.setInterval(()=>ue(!1),O1))},[ue]);O.useEffect(()=>()=>{be(),R.current=null,z.current=null},[be]);const X=(_,H)=>{if(!l)return;const Q={type:H,monitorIndex:I,...Ee(_),button:Z1(_.button),...ve(_)};if(H==="pointermove"){R.current={input:Q,updatedAt:performance.now()},ge();return}R.current&&ue(!0),T(i.deviceId,Q)},Le=O.useCallback(_=>{const H=document.activeElement;H instanceof HTMLElement&&_.contains(H)&&H.classList.contains("monitor-cycle-button")&&H.blur()},[]);return p.jsx("article",{className:`device-tile ${r?"selected":""} ${i.connected?"online":"offline"}`,"data-live-device-id":i.deviceId,style:Z,children:p.jsxs("div",{className:`tile-screen ${n?"has-frame":"is-empty"}`,role:"button",tabIndex:l?-1:0,"aria-pressed":r,onClick:()=>{l||m()},onKeyDown:_=>{l||(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),m())},onDoubleClick:_=>{_.preventDefault(),y()},onPointerLeave:_=>Le(_.currentTarget),children:[p.jsx("span",{className:`screen-content ${n?"has-frame":"is-empty"}`,children:p.jsx("canvas",{ref:je,className:`remote-canvas ${n?"has-frame":"is-empty"}`,tabIndex:l?0:-1,onPointerDown:_=>{l&&(_.preventDefault(),_.stopPropagation(),f(),_.currentTarget.focus(),_.currentTarget.setPointerCapture(_.pointerId),X(_,"pointerdown"))},onPointerMove:_=>{l&&_.preventDefault(),X(_,"pointermove")},onPointerUp:_=>{l&&(_.preventDefault(),_.stopPropagation(),X(_,"pointerup"),_.currentTarget.hasPointerCapture(_.pointerId)&&_.currentTarget.releasePointerCapture(_.pointerId))},onPointerCancel:_=>{_.currentTarget.hasPointerCapture(_.pointerId)&&_.currentTarget.releasePointerCapture(_.pointerId)},onWheel:_=>{l&&(_.preventDefault(),T(i.deviceId,{type:"wheel",monitorIndex:I,...Ee(_),deltaX:_.deltaX,deltaY:_.deltaY,...ve(_)}))},onKeyDown:_=>{l&&(_.preventDefault(),_.stopPropagation(),T(i.deviceId,{type:"keydown",monitorIndex:I,key:_.key,code:_.code,keyCode:_.keyCode||_.which||0,location:_.location,text:_.key.length===1?_.key:"",repeat:_.repeat,...ve(_)}))},onKeyUp:_=>{l&&(_.preventDefault(),_.stopPropagation(),T(i.deviceId,{type:"keyup",monitorIndex:I,key:_.key,code:_.code,keyCode:_.keyCode||_.which||0,location:_.location,text:_.key.length===1?_.key:"",repeat:!1,...ve(_)}))},onContextMenu:_=>l&&_.preventDefault()})}),!n&&p.jsx("span",{className:"empty-screen",children:p.jsx(cs,{size:26})}),c&&p.jsxs(p.Fragment,{children:[p.jsx("span",{className:`tile-health-pill state-${V.state}`,children:V.label}),p.jsx("span",{className:"tile-metrics","aria-label":`${Lc(i)} status`,children:V.metrics.slice(0,3).map(_=>p.jsxs("span",{className:`tile-metric state-${_.state}`,children:[p.jsx("b",{children:_.label}),p.jsx("em",{children:_.value}),_.ratio!==void 0&&p.jsx("i",{style:{width:`${Math.round(_.ratio*100)}%`}})]},_.id))})]}),F&&p.jsxs("span",{className:"monitor-cycle","aria-label":`${Lc(i)} display ${I+1} of ${h}`,children:[p.jsx("button",{className:"monitor-cycle-button previous",onClick:_=>{_.preventDefault(),_.stopPropagation(),w(-1),_.currentTarget.blur()},title:"Previous display",type:"button",children:p.jsx(Dy,{size:18})}),p.jsxs("span",{className:"monitor-cycle-count",children:["Screen ",I+1,"/",h]}),p.jsx("button",{className:"monitor-cycle-button next",onClick:_=>{_.preventDefault(),_.stopPropagation(),w(1),_.currentTarget.blur()},title:"Next display",type:"button",children:p.jsx(Uy,{size:18})})]})]})})}function lT({visible:i}){return O.useEffect(()=>{if(!i||!Th)return;if(!document.getElementById(wy)){const r=document.createElement("script");r.id=wy,r.async=!0,r.crossOrigin="anonymous",r.src=`https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=${encodeURIComponent(Yh)}`,document.head.appendChild(r)}const n=window.setTimeout(()=>{try{window.adsbygoogle=window.adsbygoogle||[],window.adsbygoogle.push({})}catch{}},120);return()=>window.clearTimeout(n)},[i]),i?p.jsxs("aside",{className:`free-ad-banner ${Th?"adsense-ready":"house-ad"}`,"aria-label":"Advertisement",children:[p.jsx("span",{className:"ad-label",children:"Advertisement"}),Th?p.jsx("ins",{className:"adsbygoogle livedesk-ad-unit",style:{display:"block"},"data-ad-client":Yh,"data-ad-slot":hv,"data-ad-format":"auto","data-full-width-responsive":"true"}):p.jsxs("div",{className:"house-ad-copy",children:[p.jsx("strong",{children:"Sponsored placement"}),p.jsx("span",{children:"Local AI gear, mini PCs, GPUs, NAS, and developer tools."})]})]}):null}function oT(){const{session:i,loading:n}=g1(),{target:r,error:l,refresh:c}=y1(i),d=O.useMemo(()=>{if(!r?.active)return null;const b=r.expires_at?Date.parse(r.expires_at):Number.POSITIVE_INFINITY;return Number.isFinite(b)&&b<=Date.now()?null:r},[r]),h=O.useMemo(()=>gy(d),[d]),m=O.useMemo(()=>h.length>0?[...new Set([...h,Ut])]:[Ut],[h]),[f,y]=O.useState($1),w=O.useMemo(()=>m.some(b=>!!Bl(b)),[m]),S=!w||f,{status:T,devices:x,error:R,refresh:z,hubBaseUrl:G}=p1(m,S),{entitlement:V,licensed:I,loading:F,error:ee,refresh:we}=v1(i),[le,Z]=O.useState([]),[je,Ee]=O.useState([]),[ve,be]=O.useState(""),[ue,ge]=O.useState(!1),[X,Le]=O.useState(!1),[_,H]=O.useState(""),[Q,te]=O.useState(""),[pe,A]=O.useState(""),[D,J]=O.useState("wall"),[ae,ye]=O.useState("large"),[Se,De]=O.useState(sT),[tt,nt]=O.useState(!1),[In,Cn]=O.useState(!1),[ir,rr]=O.useState(!1),[na,ps]=O.useState(!1),[La,Pc]=O.useState(H1),[re,sr]=O.useState(K1),[$t,bi]=O.useState({}),[ys,lr]=O.useState([]),[Pe,vs]=O.useState(re.fps),Si=O.useRef(new Map),or=O.useRef(new Map),[cr,Hc]=O.useState({}),ur=O.useRef(new Map),[$c,qc]=O.useState({}),aa=O.useRef(new Map),At=O.useRef(new Map),Qt=O.useRef(new Map),[wt,ia]=O.useState(null),[Ic,bs]=O.useState(!1),wi=O.useRef(null),_i=O.useRef(null),Ma=O.useRef(!1),Gn=O.useRef(0),ra=O.useRef(0),Zt=O.useRef(0),Jl=D==="settings",Ss=D==="pricing",dr=D==="doc",Da=!Ss&&!dr,rt=D==="control",He=O.useMemo(()=>x.filter(b=>b.connected),[x]),Xl=O.useMemo(()=>He.reduce((b,M)=>Math.max(b,Al(M.slotNumber)),0),[He]),en=Math.max(E1,He.length,Xl),Ua=O.useMemo(()=>{const b=Array(en).fill(null),M=[];for(const K of He){const B=Al(K.slotNumber);B>0&&B<=en&&!b[B-1]?b[B-1]=K:M.push(K)}for(const K of M){const B=b.findIndex(Y=>!Y);B<0?b.push(K):b[B]=K}return b},[He,en]),hr=O.useMemo(()=>He.map(b=>b.deviceId),[He]),fr=O.useMemo(()=>new Set(le),[le]),za=O.useMemo(()=>new Set(je),[je]),zt=O.useMemo(()=>He.filter(b=>fr.has(b.deviceId)||za.has(Al(b.slotNumber))),[He,fr,za]),W=O.useMemo(()=>x.find(b=>b.deviceId===ve)||zt[0]||null,[x,ve,zt]),Je=O.useMemo(()=>W?wv(W):null,[W]),Ba=W?Pl(W,"control"):!1,Ti=W?Pl(W,"audio")||Pl(W,"remoteAudio"):!1,st=I?V?.plan==="pro"?"pro":"ltd":"free",Ql=Xn[st],ws=Ql.limit,ki=st==="free"&&He.length<=jl,Ze=He.length<=ws,tn=st==="ltd"?`Plus includes up to ${Nl} workstations. Upgrade to Pro for commercial use and larger walls.`:`Free includes up to ${jl} workstations. Upgrade to Plus for ${Nl} devices and no ads.`,Pa=st==="free",Ha=Ze&&!!W,Bt=Ze&&!!W&&Ba,ut=Ze&&!!W&&Ti,Ai=O.useMemo(()=>Ua.filter(b=>!!b?.connected).slice(0,Y1(ae)).map(b=>b.deviceId),[Ua,ae]),mr=O.useMemo(()=>re.visibleOnlyLive?ys.length>0?ys:Ai:hr,[Ai,ys,re.visibleOnlyLive,hr]),_t=O.useMemo(()=>{if(!Ze)return[];const b=rt&&W?mr.filter(M=>M!==W.deviceId):mr;return xh(b)},[Ze,W,rt,mr]),nn=O.useMemo(()=>Ze&&rt&&W?[W.deviceId]:[],[Ze,W,rt]),Gc=O.useMemo(()=>xh([..._t,...nn]),[nn,_t]),sa=O.useMemo(()=>W1(re,ae),[re,ae]),_s=O.useCallback((b,M)=>{if(M){Si.current.set(b,M);return}Si.current.delete(b)},[]),Zl=O.useCallback((b,M)=>{const K=performance.now();At.current.set(M.deviceId,K);const B=or.current.get(M.deviceId)||{totalFrames:0,totalChangedFrames:0,sampleFrames:0,sampleChangedFrames:0,sampleStartedAt:K,intervalCount:0,intervalSumMs:0,minIntervalMs:Number.POSITIVE_INFINITY,maxIntervalMs:0,seqGapCount:0,maxSeqGap:0};B.totalFrames+=1,B.sampleFrames+=1,Ey(B,K,M.frameSeq),M.visualChanged&&(B.totalChangedFrames+=1,B.sampleChangedFrames+=1),B.lastInfo=M,or.current.set(M.deviceId,B)},[]);O.useEffect(()=>{const b=window.setInterval(()=>{const M=performance.now(),K={};for(const[B,Y]of or.current.entries()){const ne=Math.max(1,M-Y.sampleStartedAt);K[B]={totalFrames:Y.totalFrames,totalChangedFrames:Y.totalChangedFrames,framesPerSecond:Y.sampleFrames*1e3/ne,changedFramesPerSecond:Y.sampleChangedFrames*1e3/ne,averageIntervalMs:Y.intervalCount>0?Y.intervalSumMs/Y.intervalCount:0,minIntervalMs:Number.isFinite(Y.minIntervalMs)?Y.minIntervalMs:0,maxIntervalMs:Y.maxIntervalMs,intervalCount:Y.intervalCount,seqGapCount:Y.seqGapCount,maxSeqGap:Y.maxSeqGap,sampleMs:ne,lastInfo:Y.lastInfo},Y.sampleChangedFrames=0,Ay(Y,M)}Hc(K)},1e3);return()=>window.clearInterval(b)},[]);const Ei=O.useCallback(b=>{const M=performance.now();aa.current.set(b.deviceId,M);const K=ur.current.get(b.deviceId)||{totalFrames:0,sampleFrames:0,sampleStartedAt:M,intervalCount:0,intervalSumMs:0,minIntervalMs:Number.POSITIVE_INFINITY,maxIntervalMs:0,seqGapCount:0,maxSeqGap:0};K.totalFrames+=1,K.sampleFrames+=1,K.lastFrame=b,Ey(K,M,b.frameSeq),ur.current.set(b.deviceId,K)},[]);O.useEffect(()=>{const b=window.setInterval(()=>{const M=performance.now(),K={};for(const[B,Y]of ur.current.entries()){const ne=Math.max(1,M-Y.sampleStartedAt);K[B]={totalFrames:Y.totalFrames,framesPerSecond:Y.sampleFrames*1e3/ne,averageIntervalMs:Y.intervalCount>0?Y.intervalSumMs/Y.intervalCount:0,minIntervalMs:Number.isFinite(Y.minIntervalMs)?Y.minIntervalMs:0,maxIntervalMs:Y.maxIntervalMs,intervalCount:Y.intervalCount,seqGapCount:Y.seqGapCount,maxSeqGap:Y.maxSeqGap,sampleMs:ne,lastFrame:Y.lastFrame},Ay(Y,M)}qc(K)},1e3);return()=>window.clearInterval(b)},[]);const la=O.useCallback(b=>{Ei(b);const M=Si.current.get(b.deviceId);M&&r1(M,b,()=>Si.current.get(b.deviceId)!==M,Zl).catch(()=>{})},[Zl,Ei]),Rn=O.useMemo(()=>({fps:Pe,maxWidth:sa.maxWidth,maxHeight:sa.maxHeight,quality:re.quality,mode:re.frameMode,frameMode:re.frameMode,monitorSelections:$t,onFrame:la}),[Pe,la,sa,$t,re]),qt=O.useMemo(()=>({fps:Pe,maxWidth:kh.maxWidth,maxHeight:kh.maxHeight,quality:re.quality,mode:re.frameMode,frameMode:re.frameMode,monitorSelections:$t,onFrame:la}),[Pe,la,$t,re]),{frames:Ts,state:xi,stats:mn,restartLive:Ci}=Sy(_t,re.autoStartLive&&_t.length>0,G,Rn),{frames:Ri,state:Vc,stats:It,restartLive:gr}=Sy(nn,re.autoStartLive&&nn.length>0,G,qt),pr=O.useMemo(()=>{const b=new Map(Ts);for(const[M,K]of Ri.entries())b.set(M,K);return b},[Ri,Ts]),$a=rt&&nn.length>0?Vc:xi,oa=rt&&nn.length>0?It:mn,ks=O.useCallback((b,M="browser-stale")=>{const K=Ci(b,M),B=gr(b,M);return K||B},[gr,Ci]),{state:Oi,sendInput:On,stats:qa}=_1(Bt&&ue,G),{state:As,error:Es}=A1(W?.deviceId||"",ut&&X,G);O.useEffect(()=>{if(!rt||!ue||!Bt||!W)return;const b=(B,Y)=>{const ne=B.target,de=ne?.tagName?.toLowerCase();ne?.isContentEditable||de==="input"||de==="textarea"||de==="select"||(B.preventDefault(),B.stopPropagation(),On(W.deviceId,{type:Y,monitorIndex:Hn($t[W.deviceId],Bn(W)),key:B.key,code:B.code,keyCode:B.keyCode||B.which||0,location:B.location,text:B.key.length===1?B.key:"",repeat:Y==="keydown"?B.repeat:!1,shiftKey:B.shiftKey,ctrlKey:B.ctrlKey,altKey:B.altKey,metaKey:B.metaKey}))},M=B=>b(B,"keydown"),K=B=>b(B,"keyup");return window.addEventListener("keydown",M),window.addEventListener("keyup",K),()=>{window.removeEventListener("keydown",M),window.removeEventListener("keyup",K)}},[Bt,ue,$t,W,On,rt]),O.useEffect(()=>{if(!rt||!W||$a!=="open"||!re.autoStartLive)return;const b=W.deviceId,M=window.setInterval(()=>{const K=performance.now(),B=aa.current.get(b)||0,Y=At.current.get(b)||0,ne=Qt.current.get(b)||0;if(K-ne<L1)return;const de=B>0&&K-B>Oy,$e=B>0&&(Y<=0||K-Y>Oy);if(!de&&!$e)return;ks([b],de?"control-receive-stale":"control-paint-stale")&&Qt.current.set(b,K)},650);return()=>window.clearInterval(M)},[$a,ks,W,rt,re.autoStartLive]),O.useEffect(()=>{if(xi!=="open"||!re.autoStartLive||_t.length===0)return;const b=window.setInterval(()=>{const M=performance.now(),K=1e3/Math.max(1,Pe||re.fps||1),B=Math.max(M1,Math.ceil(K*4)),Y=[];for(const ne of _t){if(Y.length>=z1)break;const de=aa.current.get(ne)||0;if(de<=0)continue;const $e=Qt.current.get(ne)||0;if(M-$e<D1)continue;const Me=At.current.get(ne)||0,at=M-de>B,Tr=Me<=0||M-Me>B;(at||Tr)&&Y.push(ne)}if(Y.length>0&&Ci(Y,"wall-frame-stale"))for(const ne of Y)Qt.current.set(ne,M)},U1);return()=>window.clearInterval(b)},[Pe,Ci,re.autoStartLive,re.fps,_t,xi]),O.useEffect(()=>{vs(re.fps),ra.current=Date.now(),Zt.current=0},[re.fps,re.frameMode,re.adaptiveLoadShedding]),O.useEffect(()=>{Q_({h264DecodeAcceleration:re.h264DecodeAcceleration})},[re.h264DecodeAcceleration]),O.useEffect(()=>{if(!Ze||rt||!re.visibleOnlyLive){lr([]);return}const b=wi.current;if(!b||typeof IntersectionObserver>"u"){lr(Ai);return}const M=Array.from(b.querySelectorAll("[data-live-device-id]"));if(M.length===0){lr([]);return}const K=new Map,B=()=>{const ne=xh(M.map(de=>String(de.dataset.liveDeviceId||"")).filter(de=>(K.get(de)||0)>0));lr(de=>Eh(de,ne)?de:ne)},Y=new IntersectionObserver(ne=>{for(const de of ne){const $e=String(de.target.dataset.liveDeviceId||"");$e&&K.set($e,de.isIntersecting?de.intersectionRatio||.01:0)}B()},{root:null,rootMargin:Jt.visibleRootMargin,threshold:[0,.01,.2,.6,1]});return M.forEach(ne=>Y.observe(ne)),B(),()=>Y.disconnect()},[Ai,Ze,rt,Ua,re.visibleOnlyLive,ae]),O.useEffect(()=>{if(!re.adaptiveLoadShedding||!re.autoStartLive||_t.length===0||re.frameMode==="mode3-h264-hw"||xi!=="open"||mn.sampleMs<500)return;const b=Date.now(),M=re.fps,K=_t.length*Pe,B=mn.framesPerSecond,Y=mn.bytesPerSecond,ne=K>8&&B>0&&B<K*.72;if(B>Jt.maxWallFramesPerSecond||Y>Jt.maxWallBytesPerSecond||ne){if(Zt.current=0,b-ra.current>=Jt.downshiftCooldownMs&&Pe>Jt.minFps){const Me=Math.max(Jt.minFps,J1(Pe));Me<Pe&&(vs(Me),ra.current=b)}return}const $e=B<Jt.maxWallFramesPerSecond*Jt.lowLoadFrameRatio&&Y<Jt.maxWallBytesPerSecond*Jt.lowLoadByteRatio;if(!$e||Pe>=M){$e||(Zt.current=0);return}if(!Zt.current){Zt.current=b;return}if(b-Zt.current>=Jt.recoveryCooldownMs){const Me=Math.min(M,X1(Pe,M));Me>Pe&&(vs(Me),ra.current=b,Zt.current=0)}},[Pe,_t.length,xi,mn.bytesPerSecond,mn.framesPerSecond,mn.lastUpdatedAt,mn.sampleMs,re.adaptiveLoadShedding,re.autoStartLive,re.frameMode,re.fps]),O.useEffect(()=>{const b=new URLSearchParams(window.location.search).get("checkout");if(b==="success"){te("Checkout returned. Waiting for Dodo confirmation."),we();const M=window.setInterval(()=>{we()},4e3),K=window.setTimeout(()=>{window.clearInterval(M)},45e3);return()=>{window.clearInterval(M),window.clearTimeout(K)}}b==="cancelled"&&te("Checkout cancelled.")},[we]),O.useEffect(()=>{!Ze&&ue&&ge(!1),!Ze&&X&&Le(!1)},[X,ue,Ze]),O.useEffect(()=>{Le(!1)},[W?.deviceId]),O.useEffect(()=>{const b=He.map(B=>B.deviceId),M=new Set(b),K=new Map(He.map(B=>[B.deviceId,B]));Z(B=>{const Y=B.filter(ne=>M.has(ne));return Eh(B,Y)?B:Y}),be(B=>B&&M.has(B)?B:""),Ee(B=>{const Y=B.filter(ne=>ne>=1&&ne<=en);return Eh(B.map(String),Y.map(String))?B:Y}),bi(B=>{let Y=!1;const ne={};for(const[de,$e]of Object.entries(B)){if(!M.has(de)){Y=!0;continue}const Me=K.get(de),at=Hn($e,Me?Bn(Me):1);ne[de]=at,at!==$e&&(Y=!0)}return Y?ne:B})},[He,en]),O.useEffect(()=>{try{localStorage.setItem(cv,La)}catch{}},[La]),O.useEffect(()=>{F1(re)},[re]);const ji=O.useCallback(async()=>{const b=new Set(m);b.add(Ut);try{const ne=await xn("/api/remote/status",void 0,Ut);gy({endpoint:ne.agentEndpoint,endpoint_candidates:[...ne.agentEndpointCandidates||[],...ne.hostTargetEndpointCandidates||[]]}).forEach(de=>b.add(de))}catch{}const M=[...b].sort((ne,de)=>{const $e=Me=>{const at=Bl(Me);return at==="local"?0:at==="loopback"?1:2};return $e(ne)-$e(de)||ne.localeCompare(de)});let K=!1,B="",Y=!1;try{for(const ne of M){const de=Bl(ne);try{if(await xn("/api/health",void 0,ne),de==="local")return y(!0),ns(!0),ne;de==="loopback"&&(K=!0,B=ne)}catch{de==="local"&&(Y=!0)}}return K?(Y&&te("LiveDesk Hub is reachable on this PC, but not through the LAN address yet. Restart LiveDesk Hub to bind 5179 on the network."),y(!0),ns(!0),B||Ut):(y(!1),ns(!1),"")}catch{return y(!1),ns(!1),""}},[m]),yr=async()=>{H("auth"),Cn(!1),await ji();const{error:b}=await ea.auth.signInWithOAuth({provider:"google",options:{redirectTo:window.location.origin}});b&&(te(b.message),H(""))},Kc=async()=>{H("auth"),Cn(!1),await ea.auth.signOut(),H("")};O.useEffect(()=>{if(!In)return;const b=K=>{K.target instanceof Element&&(K.target.closest(".account-popover, .rail-account")||Cn(!1))},M=K=>{K.key==="Escape"&&Cn(!1)};return window.addEventListener("pointerdown",b),window.addEventListener("keydown",M),()=>{window.removeEventListener("pointerdown",b),window.removeEventListener("keydown",M)}},[In]);const jn=O.useCallback(async(b={})=>{const M=b.silent===!0,K=b.takeover===!0,B=b.requestLocalAccess===!0,Y=B?await ji():"";if(!i?.user){M||te("Sign in before publishing this host.");return}if(!Ma.current){Ma.current=!0,M||H("host");try{const ne=Y||G||Ut,de=T||await xn("/api/remote/status",void 0,ne);if(!de.started)throw new Error("Start LiveDesk on this computer before syncing the server.");const $e=`livedesk-${i.user.id}`,Me=await xn("/api/remote/host-target",{method:"POST",body:JSON.stringify({nodeId:$e,leaseMs:6e4,takeover:K})},ne);if(!Me.ok)throw new Error(Me.error||"host-target-failed");const at=await xn("/api/remote/status",void 0,ne),Tr=Me.hostTarget||{},du=at.hostTargetEndpointCandidates||at.agentEndpointCandidates||de.agentEndpointCandidates||[at.agentEndpoint||de.agentEndpoint].filter(Boolean),{data:Bs,error:co}=await ea.rpc("set_livedesk_remote_host_target",{p_node_id:$e,p_lease_id:String(Tr.leaseId||at.hostTargetLeaseId||crypto.randomUUID()),p_host_instance_id:at.hostInstanceId||$e,p_endpoint:at.hostTargetEndpoint||at.agentEndpoint||de.agentEndpoint,p_pair_token:at.pairToken||"",p_manager_package:"@livedesk/hub",p_manager_version:at.managerVersion||"0.1.0",p_agent_package:"@livedesk/client",p_activated_at:new Date().toISOString(),p_expires_at:new Date(Date.now()+6e4).toISOString(),p_takeover:K,p_endpoint_candidates:du,p_pairing_pin:at.pairingPin||""});if(co)throw co;const Ps=Array.isArray(Bs)?Bs[0]:Bs;if(Ps&&Ps.ok===!1)throw new Error(Ps.reason||"registry-rejected");M||(te("Host published."),(B||w)&&(y(!0),ns(!0)),z()),c()}catch(ne){if(!M){const de=ne instanceof Error?ne.message:String(ne);de.includes("local network access")&&(y(!1),ns(!1)),te(de)}}finally{Ma.current=!1,M||H("")}}},[G,w,z,c,ji,i,T]),Nn=O.useCallback(async()=>{if(!_){H("pin");try{const M=await xn("/api/remote/pairing-pin",{method:"POST"},G||Ut);if(!M.ok)throw new Error(M.error||"pin-rotation-failed");await z(),i?.user&&await jn({silent:!0,takeover:!0}),te("New PIN published.")}catch(b){te(b instanceof Error?b.message:String(b))}finally{H("")}}},[_,G,jn,z,i]);O.useEffect(()=>{if(!i?.user||!T?.started||R)return;const b=r?.expires_at?Date.parse(r.expires_at):Number.POSITIVE_INFINITY,M=r?.active===!0&&(!r.expires_at||!Number.isFinite(b)||b>Date.now()),K=!!r?.host_instance_id&&!!T.hostInstanceId&&r.host_instance_id===T.hostInstanceId;if(M&&!K)return;let B=!1;const Y=()=>{if(B)return;const de=Date.now();de-Gn.current<25e3||(Gn.current=de,jn({silent:!0}))};Y();const ne=window.setInterval(Y,3e4);return()=>{B=!0,window.clearInterval(ne)}},[R,jn,i?.user?.id,T?.agentEndpoint,T?.hostInstanceId,T?.started,r?.active,r?.expires_at,r?.host_instance_id]);const Ln=O.useCallback(b=>{b&&(be(b),Z(M=>M.includes(b)?M:[...M,b]))},[]),vr=O.useCallback(b=>{if(!b)return;const M=He.find(B=>B.deviceId===b),K=Al(M?.slotNumber);be(b),K>0&&Ee(B=>B.filter(Y=>Y!==K)),Z(B=>B.includes(b)?B:[...B,b])},[He]),ca=O.useCallback(b=>{!Number.isInteger(b)||b<1||b>en||(be(""),Ee(M=>M.includes(b)?M.filter(K=>K!==b):[...M,b].sort((K,B)=>K-B)))},[en]),gn=O.useCallback(()=>{Z([]),Ee([]),be(""),ge(!1),Le(!1)},[]),xs=O.useCallback(()=>{Z([]),be(""),ge(!1),Le(!1),Ee(Array.from({length:en},(b,M)=>M+1))},[en]),br=O.useCallback((b,M)=>{const K=He.find(Y=>Y.deviceId===b);if(!K)return;const B=Bn(K);B<=1||(bi(Y=>{const de=(Hn(Y[b],B)+M+B)%B;return{...Y,[b]:de}}),Ln(b))},[He,Ln]);O.useEffect(()=>{const b=M=>{if(rt&&ue&&Bt)return;const K=M.target,B=K?.tagName?.toLowerCase();K?.isContentEditable||B==="input"||B==="textarea"||B==="select"||((M.ctrlKey||M.metaKey)&&M.key.toLowerCase()==="a"&&(M.preventDefault(),xs()),M.key==="Escape"&&gn())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[Bt,gn,ue,xs,rt]);const Ia=async(b,M={})=>{if(!Ze){te(tn);return}Ln(b);try{const K=He.find(ne=>ne.deviceId===b),B=M.focused||rt?kh:sa,Y=Hn(M.monitorIndex??$t[b],K?Bn(K):1);await xn(`/api/remote/devices/${encodeURIComponent(b)}/live/start`,{method:"POST",body:JSON.stringify({fps:Pe,maxWidth:B.maxWidth,maxHeight:B.maxHeight,quality:re.quality,mode:re.frameMode,frameMode:re.frameMode,monitorIndex:Y})},G),te("Live stream requested."),z()}catch(K){te(K instanceof Error?K.message:String(K))}},Ni=(b,M)=>{const K=He.find(Y=>Y.deviceId===b),B=Hn(M,K?Bn(K):1);bi(Y=>({...Y,[b]:B})),Ln(b),rt&&!re.autoStartLive&&Ia(b,{focused:!0,monitorIndex:B})},pn=async b=>{if(Ln(b),J("control"),!Ze){ge(!1),te(tn);return}ge(!0),await Ia(b,{focused:!0})},Cs=async()=>{if(!W){te("Select a workstation before playing audio.");return}if(!Ze){te(tn);return}if(!Ti){te("Selected workstation does not report remote audio support yet.");return}const b=!X;Le(b);try{await xn(`/api/remote/devices/${encodeURIComponent(W.deviceId)}/audio/${b?"start":"stop"}`,{method:"POST",body:JSON.stringify({mimeType:"audio/webm;codecs=opus",sampleRate:48e3,channels:2})},G),te(b?"Remote audio requested.":"Remote audio stopped.")}catch(M){Le(!1),te(M instanceof Error?M.message:String(M))}},Ga=async b=>{const M=Array.from(b).filter(ne=>ne.size>=0);if(M.length===0)return;if(!Ze){te(tn);return}const K=zt.length>0?zt.map(ne=>ne.deviceId):W?[W.deviceId]:[];if(K.length===0){te("Select at least one workstation before dropping files.");return}const B=M.reduce((ne,de)=>ne+de.size,0),Y=crypto.randomUUID();if(B>R1){ia({id:Y,status:"failed",progress:100,message:`Transfer is too large (${Na(B)}).`});return}ia({id:Y,status:"reading",progress:2,message:`Preparing ${M.length} file${M.length===1?"":"s"}`});try{let ne=0;const de=[];for(const Me of M){const at=await Me.arrayBuffer();ne+=Me.size,ia({id:Y,status:"reading",progress:Math.max(4,Math.round(ne/Math.max(1,B)*58)),message:`Preparing ${Na(ne)} / ${Na(B)}`}),de.push({name:Me.name,relativePath:Me.webkitRelativePath||Me.name,size:Me.size,type:Me.type,lastModified:Me.lastModified,dataBase64:Q1(at)})}ia({id:Y,status:"sending",progress:72,message:`Sending to ${K.length} workstation${K.length===1?"":"s"}`});const $e=await xn("/api/remote/files/transfer",{method:"POST",body:JSON.stringify({transferId:Y,deviceIds:K,remoteDirectory:La.trim(),files:de})},G);if(!$e.ok)throw new Error($e.error||"file-transfer-not-queued");ia({id:Y,status:"queued",progress:100,message:`Queued ${M.length} file${M.length===1?"":"s"} to ${$e.queued}/${$e.total}`}),window.setTimeout(()=>{ia(Me=>Me?.id===Y&&Me.status==="queued"?null:Me)},4500)}catch(ne){ia({id:Y,status:"failed",progress:100,message:ne instanceof Error?ne.message:String(ne)})}},Vn=b=>{b.preventDefault(),b.stopPropagation(),bs(!1),Ga(b.dataTransfer.files)},Rs=async()=>{const b=pe.trim();if(b){if(!Ze){te(tn);return}H("task");try{await xn("/api/remote/tasks",{method:"POST",body:JSON.stringify({instruction:b,allConnected:!0,approvalLevel:"task-only"})},G),A(""),te("Task queued."),z()}catch(M){te(M instanceof Error?M.message:String(M))}finally{H("")}}},ua=async(b="ltd")=>{if(!i){te("Sign in with Google before checkout.");return}if(I&&b===st){te("LiveDesk license is already active.");return}if(I&&st==="pro"){te("LiveDesk Pro is already active.");return}H("checkout");try{const{data:M,error:K}=await ea.functions.invoke("dodo-checkout",{body:{plan:b}});if(K)throw K;if(!M?.checkout_url)throw new Error("Checkout function did not return a checkout URL.");window.location.assign(M.checkout_url)}catch(M){te(M instanceof Error?M.message:String(M)),H("")}},Kn=B1(),Li=P1(),Sr=He.length,Os=Gc.filter(b=>pr.has(b)).length,Et=$a==="open"&&oa.sampleMs>0?`${oa.framesPerSecond.toFixed(1)} fps`:$a,_e=W?pr.get(W.deviceId):void 0,da=W?Hn($t[W.deviceId],Bn(W)):0,Va=W?I1(W):[],Fc=typeof _e?.monitorIndex=="number"?Hn(_e.monitorIndex,Math.max(1,_e.monitorCount||1)):da,Mi=(_e&&Fc===da?bv(_e):null)||(W?vv(W,da):null),Di=Mi?`${Mi.width}x${Mi.height}`:"-",an=W?$c[W.deviceId]:void 0,rn=W?cr[W.deviceId]:void 0,Nt=rn?.lastInfo,Yc=an&&an.sampleMs>0?`${an.framesPerSecond.toFixed(1)} fps`:"waiting",Wc=an?`#${an.totalFrames} / ${Yc}`:"waiting",js=rn&&rn.sampleMs>0?`${rn.framesPerSecond.toFixed(1)} fps`:"waiting",Jc=rn&&rn.sampleMs>0?`${rn.changedFramesPerSecond.toFixed(1)} fps`:"waiting",Xc=Nt?`#${Nt.frameSeq} ${Nt.h264DecodeAcceleration} q${Nt.queueSize} r${Nt.renderQueueSize} d${Nt.droppedForLatency} ${Nt.visualChanged?"changed":"same"}`:"waiting",Qc=Nt?`${Math.round(Nt.queuedForMs)}ms total / ${Math.round(Nt.decodedForMs)}ms decode / ${Math.round(Nt.scheduledForMs)}ms pace / ${Nt.drawMs.toFixed(1)}ms draw`:"-",Zc=xy(an),eu=xy(rn),to=an&&rn?`rx ${Cy(an)} / paint ${Cy(rn)}`:"waiting",Ns=_e?_e.frameMode||_e.mode||_e.codec||_e.mimeType:re.frameMode,Ls=re.frameMode,tu=Ns!==Ls?`${Ls} -> ${Ns}`:Ls,nu=_e?`${_e.width}x${_e.height} ${Na(_e.byteLength)}`:`${re.maxWidth}x${re.maxHeight}`,Ms=_e?`${_e.isKeyFrame?"key":String(_e.chunkType||"delta")}`:"-",au=_e&&_e.monitorCount?`${(_e.monitorIndex??0)+1}/${_e.monitorCount}`:"-",iu=_e?[`src ${Math.round(_e.sourceGapMs||0)}ms`,`send ${Math.round(_e.agentSendGapMs||0)}ms`,`pace ${Math.round(_e.agentPaceMs||0)}ms`,_e.droppedByAgent?`drop ${_e.droppedByAgent}`:"",_e.platformProfile||_e.hardwareEncoder||"-",_e.contentHash?`bit ${_e.contentHash.slice(0,6)}`:"",Nt?.visualHash?`pix ${Nt.visualHash.slice(0,6)}`:""].filter(Boolean).join(" / "):"-",ru=Oi==="open"?[`${qa.sentPerSecond.toFixed(1)} hz`,qa.droppedPerSecond>0?`drop ${qa.droppedPerSecond.toFixed(1)}/s`:"",qa.bufferedAmount>0?`buf ${Na(qa.bufferedAmount)}`:"",qa.lastInputType||"ready"].filter(Boolean).join(" / "):Oi,no=_e?`#${_e.frameSeq} ${py(_e.receivedAt||_e.capturedAt)}`:"waiting",ao=R?"offline":T?.started?"online":"starting",wr=zt.length+je.filter(b=>!He.some(M=>Al(M.slotNumber)===b)).length,su=je.length===1?`Slot ${String(je[0]).padStart(3,"0")}`:`${je.length} slots selected`,lu=wr===0?"No workstation":wr>1?`${wr} selected`:W?Lc(W):su,xt=fs[Se]||fs.en,_r=xt.sync||fs.en.sync,Ds=n||F?"checking":I?st==="pro"?"Pro LTD active":`Plus LTD ${He.length}/${Nl}`:ki?`Free ${He.length}/${jl}`:`Upgrade ${He.length}/${jl}`,ou=st==="pro"?"Pro active":_==="checkout"?"Opening":st==="ltd"?"Pro $199":"Plus $79",Us=I?st==="pro"?"Pro active":"Upgrade to Pro LTD":i?_==="checkout"?"Opening checkout":st==="ltd"?"Buy Pro LTD":"Buy Plus LTD":_==="auth"?"Opening Google":"Sign in to buy",Ui=st==="pro"||_==="checkout"||_==="auth"||n||F,io=i?.user.user_metadata,zi=jy(io,"avatar_url","picture"),Ka=jy(io,"full_name","name")||i?.user.email||"Google",zs=Ka.slice(0,1).toUpperCase(),ro=T?.started?"Local app ready":"Start LiveDesk",so=r?.active?"Published":i?"Not published":"Sign in required",Fa=/^\d{6}$/.test(T?.pairingPin||"")?T?.pairingPin:"------",cu=Ah.find(b=>b.width===re.maxWidth&&b.height===re.maxHeight)?.id||`${re.maxWidth}x${re.maxHeight}`,uu=kc.find(b=>b.id===re.frameMode)||kc[0],yn=b=>{sr(M=>{const K=b.frameMode?Wh(b.frameMode):M.frameMode,B=b.frameMode!==void 0&&K!==M.frameMode;return{...M,...b,frameMode:K,fps:b.fps??(B?pv(K):M.fps)}})},lo=b=>{const M=Ah.find(K=>K.id===b);M&&yn({maxWidth:M.width,maxHeight:M.height})},oo=b=>{if(b==="control"){if(J(b),!Ze){ge(!1),te(tn);return}ge(!0),W&&Ia(W.deviceId,{focused:!0});return}J(b),ge(!1)};return p.jsxs("main",{className:"app-shell",children:[p.jsxs("aside",{className:"tool-rail","aria-label":"LiveDesk tools",children:[p.jsx("div",{className:"rail-brand",title:"LiveDesk",children:p.jsx(cs,{size:22})}),p.jsx("nav",{className:"rail-tools",children:iT.map(b=>{const M=b.icon;return p.jsxs("button",{className:`rail-tool ${D===b.id?"active":""} accent-${b.accent}`,onClick:()=>oo(b.id),title:b.label,type:"button",children:[p.jsx(M,{size:19}),p.jsx("span",{children:b.label})]},b.id)})}),p.jsxs("div",{className:"rail-footer",children:[p.jsxs("button",{className:"rail-tool compact sync-server",onClick:()=>jn({takeover:!0,requestLocalAccess:!0}),title:"Sync Server",type:"button",children:[p.jsx(uh,{size:18}),p.jsx("span",{children:"Sync Server"})]}),p.jsxs("button",{className:`rail-tool compact local-settings ${ir?"active":""}`,onClick:()=>{rr(b=>!b),Cn(!1)},title:"Local Settings",type:"button",children:[p.jsx(By,{size:18}),p.jsx("span",{children:"Settings"})]}),ir&&p.jsxs("section",{className:"local-settings-popover",role:"dialog","aria-label":"LiveDesk local settings",children:[p.jsxs("div",{className:"local-settings-head",children:[p.jsxs("div",{children:[p.jsx("strong",{children:"Local Settings"}),p.jsx("p",{children:"Saved on this browser"})]}),p.jsx("button",{className:"icon-button",onClick:()=>rr(!1),title:"Close settings",type:"button",children:p.jsx(jp,{size:15})})]}),p.jsxs("label",{className:"local-setting-row",children:[p.jsx("span",{children:"Frame mode"}),p.jsx("select",{value:re.frameMode,onChange:b=>yn({frameMode:Wh(b.target.value)}),children:kc.map(b=>p.jsxs("option",{value:b.id,children:[b.label," - ",b.detail]},b.id))})]}),p.jsxs("label",{className:"local-setting-row",children:[p.jsx("span",{children:"H.264 decode"}),p.jsx("select",{value:re.h264DecodeAcceleration,onChange:b=>yn({h264DecodeAcceleration:gv(b.target.value)}),children:mv.map(b=>p.jsx("option",{value:b.id,children:b.label},b.id))})]}),p.jsxs("div",{className:"local-setting-grid",children:[p.jsxs("label",{className:"local-setting-row",children:[p.jsx("span",{children:"FPS"}),p.jsx("select",{value:re.fps,onChange:b=>yn({fps:ds(b.target.value,1,30,Ht.fps)}),children:ef.map(b=>p.jsx("option",{value:b,children:b},b))})]}),p.jsxs("label",{className:"local-setting-row",children:[p.jsx("span",{children:"Size"}),p.jsx("select",{value:cu,onChange:b=>lo(b.target.value),children:Ah.map(b=>p.jsx("option",{value:b.id,children:b.label},b.id))})]})]}),p.jsxs("label",{className:"local-setting-row",children:[p.jsx("span",{children:"Quality"}),p.jsx("select",{value:re.quality,onChange:b=>yn({quality:ds(b.target.value,20,95,Ht.quality)}),children:N1.map(b=>p.jsx("option",{value:b,children:b},b))})]}),p.jsxs("label",{className:"local-setting-toggle",children:[p.jsx("input",{type:"checkbox",checked:re.autoStartLive,onChange:b=>yn({autoStartLive:b.target.checked})}),p.jsx("span",{children:"Auto live on connected screens"})]}),p.jsxs("label",{className:"local-setting-toggle",children:[p.jsx("input",{type:"checkbox",checked:re.visibleOnlyLive,onChange:b=>yn({visibleOnlyLive:b.target.checked})}),p.jsx("span",{children:"Stream visible tiles first"})]}),p.jsxs("label",{className:"local-setting-toggle",children:[p.jsx("input",{type:"checkbox",checked:re.adaptiveSizeByWall,onChange:b=>yn({adaptiveSizeByWall:b.target.checked})}),p.jsx("span",{children:"Fit stream size to wall"})]}),p.jsxs("label",{className:"local-setting-toggle",children:[p.jsx("input",{type:"checkbox",checked:re.adaptiveLoadShedding,onChange:b=>yn({adaptiveLoadShedding:b.target.checked})}),p.jsx("span",{children:"Reduce FPS under load"})]}),p.jsxs("label",{className:"local-setting-toggle",children:[p.jsx("input",{type:"checkbox",checked:re.showScreenStatus,onChange:b=>yn({showScreenStatus:b.target.checked})}),p.jsx("span",{children:"Screen status overlay"})]}),p.jsxs("div",{className:"local-settings-summary",children:[p.jsx("span",{children:uu.label}),p.jsxs("strong",{children:[sa.maxWidth,"x",sa.maxHeight," / ",Pe,"fps"]})]}),p.jsx("button",{className:"local-settings-reset",onClick:()=>sr(Ht),type:"button",children:"Reset local settings"})]}),p.jsxs("button",{className:`rail-account ${i?"signed-in":""}`,onClick:()=>{Cn(b=>!b),rr(!1)},disabled:n||_==="auth","aria-expanded":In,title:i?`Account: ${i.user.email||Ka}`:"Sign in with Google",type:"button",children:[i?zi?p.jsx("img",{src:zi,alt:Ka,referrerPolicy:"no-referrer"}):p.jsx("span",{className:"avatar-fallback",children:zs}):p.jsx(hh,{size:18}),p.jsx("span",{children:i?"Account":"Google"})]}),In&&p.jsxs("section",{className:"account-popover",role:"dialog","aria-label":"LiveDesk account",children:[p.jsxs("div",{className:"account-popover-head",children:[p.jsx("div",{className:"account-popover-avatar",children:i&&zi?p.jsx("img",{src:zi,alt:Ka,referrerPolicy:"no-referrer"}):i?p.jsx("span",{children:zs}):p.jsx(hh,{size:18})}),p.jsxs("div",{children:[p.jsx("strong",{children:i?Ka:"Account"}),p.jsx("p",{children:i?.user.email||"Not signed in"})]})]}),p.jsxs("dl",{className:"account-popover-facts",children:[p.jsx("dt",{children:"User"}),p.jsx("dd",{children:i?.user.email||"Not signed in"}),p.jsx("dt",{children:"Network"}),p.jsx("dd",{children:ro}),p.jsx("dt",{children:"Access"}),p.jsx("dd",{children:so}),p.jsx("dt",{children:"Plan"}),p.jsx("dd",{children:Ds}),p.jsx("dt",{children:"Ads"}),p.jsx("dd",{children:st==="free"?"Standard banner":"Removed"})]}),i?p.jsxs("button",{className:"account-popover-action",onClick:Kc,disabled:_==="auth",type:"button",children:[p.jsx(kb,{size:16}),"Logout"]}):p.jsxs("button",{className:"account-popover-action primary",onClick:yr,disabled:_==="auth",type:"button",children:[p.jsx(hh,{size:16}),"Sign in with Google"]})]})]})]}),p.jsxs("section",{className:`desk-stage ${Da&&!tt?"dock-open":""} ${rt?"control-stage":""}`,children:[p.jsxs("header",{className:"topbar",children:[p.jsxs("div",{className:"brand",children:[p.jsx("span",{className:"brand-mark",children:p.jsx(ch,{size:18})}),p.jsxs("div",{children:[p.jsx("h1",{children:"LiveDesk"}),p.jsx("p",{children:"Control wall for local machines"})]})]}),Da&&!rt&&p.jsx("div",{className:"top-actions",children:p.jsx("div",{className:"segmented-control","aria-label":"Screen size",children:aT.map(b=>p.jsx("button",{className:ae===b.id?"active":"",onClick:()=>ye(b.id),type:"button",children:b.label},b.id))})})]}),dr?p.jsxs("section",{className:"doc-page",lang:Se,dir:Se==="ar"?"rtl":"ltr",children:[p.jsxs("section",{className:"doc-hero",children:[p.jsxs("div",{className:"doc-hero-copy",children:[p.jsxs("span",{className:"pricing-eyebrow",children:[p.jsx(Oh,{size:16}),xt.eyebrow]}),p.jsx("h2",{children:xt.title}),p.jsx("p",{children:xt.intro})]}),p.jsxs("label",{className:"doc-language-picker",children:[p.jsxs("span",{children:[p.jsx(yb,{size:17}),xt.languageLabel]}),p.jsx("select",{value:Se,onChange:b=>De(b.target.value),children:rT.map(b=>p.jsx("option",{value:b.id,children:b.label},b.id))})]})]}),p.jsx("section",{className:"doc-grid",children:xt.sections.map((b,M)=>{const B=[mh,rs,zy,Op][M]||Oh;return p.jsxs("article",{className:"doc-card",children:[p.jsx("div",{className:"doc-card-icon",children:p.jsx(B,{size:19})}),p.jsxs("div",{children:[p.jsx("h3",{children:b.title}),p.jsx("p",{children:b.body}),p.jsx("ul",{children:b.points.map(Y=>p.jsx("li",{children:Y},Y))})]})]},b.title)})}),_r&&p.jsxs("section",{className:"doc-sync",children:[p.jsxs("div",{className:"doc-sync-head",children:[p.jsx(uh,{size:20}),p.jsxs("div",{children:[p.jsx("h3",{children:_r.title}),p.jsx("p",{children:_r.body})]})]}),p.jsx("ul",{children:_r.points.map(b=>p.jsx("li",{children:b},b))})]}),p.jsxs("section",{className:"doc-firewall",children:[p.jsxs("div",{className:"doc-firewall-head",children:[p.jsx(Cp,{size:20}),p.jsxs("div",{children:[p.jsx("h3",{children:xt.firewall.title}),p.jsx("p",{children:xt.firewall.body})]})]}),p.jsx("ul",{children:xt.firewall.points.map(b=>p.jsx("li",{children:b},b))})]}),p.jsxs("section",{className:"doc-command-panel",children:[p.jsxs("div",{className:"doc-command-head",children:[p.jsx(rs,{size:20}),p.jsxs("div",{children:[p.jsx("h3",{children:xt.commands.title}),p.jsx("p",{children:xt.commands.body})]})]}),p.jsxs("div",{className:"doc-command-list",children:[xt.commands.manager&&p.jsxs("div",{className:"doc-command-row",children:[p.jsx("span",{children:xt.commands.manager}),p.jsx("code",{children:Li}),p.jsx("button",{className:"icon-button",onClick:()=>kl(Li),title:"Copy command",type:"button",children:p.jsx(_l,{size:16})})]}),p.jsxs("div",{className:"doc-command-row",children:[p.jsx("span",{children:xt.commands.primary}),p.jsx("code",{children:Kn}),p.jsx("button",{className:"icon-button",onClick:()=>kl(Kn),title:"Copy command",type:"button",children:p.jsx(_l,{size:16})})]}),p.jsxs("div",{className:"doc-command-row",children:[p.jsx("span",{children:xt.commands.slot}),p.jsx("code",{children:`${Kn} 3`}),p.jsx("button",{className:"icon-button",onClick:()=>kl(`${Kn} 3`),title:"Copy command",type:"button",children:p.jsx(_l,{size:16})})]})]})]})]}):Ss?p.jsxs("section",{className:"pricing-page",children:[(ee||Q)&&p.jsx("section",{className:"notice-band",children:ee||Q}),p.jsxs("section",{className:"pricing-offer",children:[p.jsx("button",{className:"pricing-close",onClick:()=>J("wall"),title:"Close pricing",type:"button",children:p.jsx(jp,{size:18})}),p.jsxs("div",{className:"pricing-offer-head",children:[p.jsxs("span",{className:"pricing-eyebrow",children:[p.jsx(zb,{size:15}),"LiveDesk plans"]}),p.jsxs("div",{className:"deal-price-line",children:[p.jsx("strong",{children:"$5"}),p.jsx("span",{className:"deal-arrow",children:"/mo"}),p.jsxs("span",{className:"deal-badge",children:[p.jsx(lb,{size:15}),"Plus LTD $79"]})]}),p.jsx("p",{children:"Start free with 5 devices and a standard ad banner. Plus removes ads for 30 personal devices; Pro covers commercial workstation walls."})]}),p.jsxs("div",{className:"deal-table",role:"table","aria-label":"LiveDesk launch pricing",children:[p.jsxs("div",{className:"deal-row deal-row-head",role:"row",children:[p.jsx("span",{role:"columnheader",children:"Plan"}),p.jsx("span",{role:"columnheader",children:"Best fit"}),p.jsx("span",{role:"columnheader",children:"Price"})]}),p.jsxs("div",{className:"deal-row",role:"row",children:[p.jsx("strong",{role:"cell",children:"Free"}),p.jsx("span",{role:"cell",children:"5 personal devices, standard ad banner"}),p.jsx("strong",{role:"cell",children:"$0"})]}),p.jsxs("div",{className:"deal-row deal-row-highlight",role:"row",children:[p.jsx("strong",{role:"cell",children:"Plus"}),p.jsx("span",{role:"cell",children:"Creators, homelabs, AI workstations"}),p.jsx("strong",{role:"cell",children:"$5/mo / $40/yr / $79 LTD"})]}),p.jsxs("div",{className:"deal-row",role:"row",children:[p.jsx("strong",{role:"cell",children:"Pro"}),p.jsx("span",{role:"cell",children:"Business, studios, client work"}),p.jsx("strong",{role:"cell",children:"$15/mo / $120/yr / $199 LTD"})]})]}),p.jsxs("div",{className:"deal-card-grid","aria-label":"LiveDesk plan cards",children:[p.jsxs("section",{className:"deal-plan-card",children:[p.jsx("span",{children:Xn.free.audience}),p.jsx("h3",{children:"Free"}),p.jsx("strong",{children:Xn.free.price}),p.jsx("p",{children:Xn.free.note}),p.jsxs("ul",{children:[p.jsx("li",{children:"Core screen wall"}),p.jsx("li",{children:"Live view and control"}),p.jsx("li",{children:"Personal use only"})]})]}),p.jsxs("section",{className:"deal-plan-card featured",children:[p.jsx("span",{children:Xn.ltd.audience}),p.jsx("h3",{children:"Plus"}),p.jsx("strong",{children:Xn.ltd.ltd}),p.jsxs("p",{children:["$5/mo or $40/year. ",Xn.ltd.note]}),p.jsxs("ul",{children:[p.jsxs("li",{children:["Up to ",Nl," devices"]}),p.jsx("li",{children:"No standard ad banner"}),p.jsx("li",{children:"Personal, creator, homelab use"})]}),p.jsxs("button",{className:"deal-card-button",onClick:i?()=>ua("ltd"):yr,disabled:st!=="free"||_==="checkout"||_==="auth"||n||F,type:"button",children:[p.jsx(xl,{size:16}),st==="free"?i?"Buy Plus LTD":"Sign in for Plus":"Plus active"]})]}),p.jsxs("section",{className:"deal-plan-card",children:[p.jsx("span",{children:Xn.pro.audience}),p.jsx("h3",{children:"Pro"}),p.jsx("strong",{children:Xn.pro.ltd}),p.jsxs("p",{children:["$15/mo or $120/year. ",Xn.pro.note]}),p.jsxs("ul",{children:[p.jsx("li",{children:"30+ device walls"}),p.jsx("li",{children:"Commercial use included"}),p.jsx("li",{children:"Future team and advanced controls"})]}),p.jsxs("button",{className:"deal-card-button",onClick:i?()=>ua("pro"):yr,disabled:st==="pro"||_==="checkout"||_==="auth"||n||F,type:"button",children:[p.jsx(xl,{size:16}),st==="pro"?"Pro active":i?"Buy Pro LTD":"Sign in for Pro"]})]})]}),p.jsxs("section",{className:"deal-module",children:[p.jsxs("div",{className:"deal-module-title",children:[p.jsx("strong",{children:"LiveDesk includes"}),p.jsx("span",{children:Ds})]}),p.jsxs("ul",{className:"deal-feature-list",children:[p.jsxs("li",{children:[p.jsx(cs,{size:16}),p.jsx("span",{children:"Screen wall slots"}),p.jsx("b",{children:"120+"})]}),p.jsxs("li",{children:[p.jsx(jh,{size:16}),p.jsx("span",{children:"Focused control"}),p.jsx("b",{children:"Local"})]}),p.jsxs("li",{children:[p.jsx(Rp,{size:16}),p.jsx("span",{children:"Remote PC audio"}),p.jsx("b",{children:"PCM"})]}),p.jsxs("li",{children:[p.jsx(dh,{size:16}),p.jsx("span",{children:"File transfer"}),p.jsx("b",{children:"24MB"})]})]})]}),p.jsxs("section",{className:"deal-open-price",children:[p.jsx("span",{children:"Current plan"}),p.jsx("strong",{children:Ql.name}),p.jsxs("small",{children:[He.length,"/",j1(ws)," devices. Cloud relay, hosted services, and future paid add-ons may require a subscription."]})]}),p.jsxs("p",{className:"deal-note",children:[p.jsx(hb,{size:15}),"Commercial use requires Pro. Plus LTD is for personal, creator, and homelab use."]}),p.jsxs("button",{className:"deal-cta",onClick:i?()=>ua(st==="ltd"?"pro":"ltd"):yr,disabled:Ui,type:"button",children:[p.jsx(xl,{size:18}),Us]}),p.jsx("button",{className:"deal-later",onClick:()=>J("wall"),type:"button",children:"Later"})]})]}):p.jsx(p.Fragment,{children:p.jsxs("section",{className:`monitor-layout ${tt?"dock-collapsed":""}`,children:[p.jsxs("section",{ref:wi,className:`screen-wall-panel ${Ic?"drop-active":""}`,onClick:b=>{b.currentTarget===b.target&&gn()},onDragEnter:b=>{b.preventDefault(),bs(!0)},onDragOver:b=>{b.preventDefault(),b.dataTransfer.dropEffect="copy"},onDragLeave:b=>{b.currentTarget===b.target&&bs(!1)},onDrop:Vn,children:[rt?p.jsx("section",{className:"control-focus",children:p.jsxs("div",{className:"control-wall",onClick:b=>{b.currentTarget===b.target&&gn()},children:[W&&Va.length>1&&p.jsx("div",{className:"control-monitor-tabs","aria-label":"Select monitor",children:Va.map(b=>p.jsxs("button",{className:b.index===da?"active":"",onClick:()=>Ni(W.deviceId,b.index),title:G1(b),type:"button",children:[p.jsx("span",{children:b.name||`Display ${b.index+1}`}),b.width>0&&b.height>0&&p.jsxs("small",{children:[b.width,"x",b.height]})]},b.index))}),W?p.jsx(Ly,{device:W,frame:_e,selected:!0,controlEnabled:Bt&&ue,showStatus:re.showScreenStatus,monitorIndex:Hn($t[W.deviceId],Bn(W)),monitorCount:Bn(W),onSelect:()=>vr(W.deviceId),onFocusDevice:()=>Ln(W.deviceId),onOpenControl:()=>pn(W.deviceId),onCycleMonitor:b=>br(W.deviceId,b),onCanvasReady:_s,sendInput:On},W.deviceId):p.jsx(Ny,{index:0,selected:za.has(1),onSelect:()=>ca(1)})]})}):p.jsx("div",{className:`screen-wall size-${ae}`,onClick:b=>{b.currentTarget===b.target&&gn()},children:Ua.map((b,M)=>{const K=M+1;return b?p.jsx(Ly,{device:b,frame:pr.get(b.deviceId),selected:fr.has(b.deviceId)||za.has(K),controlEnabled:Bt&&ue&&W?.deviceId===b.deviceId,showStatus:re.showScreenStatus,monitorIndex:Hn($t[b.deviceId],Bn(b)),monitorCount:Bn(b),onSelect:()=>vr(b.deviceId),onFocusDevice:()=>Ln(b.deviceId),onOpenControl:()=>pn(b.deviceId),onCycleMonitor:B=>br(b.deviceId,B),onCanvasReady:_s,sendInput:On},b.deviceId):p.jsx(Ny,{index:M,selected:za.has(K),onSelect:()=>ca(K)},`slot-${M}`)})}),p.jsx(lT,{visible:Pa&&!rt})]}),p.jsxs("aside",{className:`right-dock ${Jl?"settings-mode":"actions-mode"} ${tt?"collapsed":""}`,"aria-label":"LiveDesk tools",children:[p.jsx("button",{className:"dock-toggle",onClick:()=>nt(b=>!b),"aria-label":tt?"Show control panel":"Hide control panel",title:tt?"Show control panel":"Hide control panel",type:"button",children:tt?p.jsx(Dy,{size:18}):p.jsx(Uy,{size:18})}),!tt&&(Jl?p.jsxs(p.Fragment,{children:[(R||l||ee||Q)&&p.jsx("section",{className:"notice-band",children:R||l||ee||Q}),p.jsxs("section",{className:"command-deck",children:[p.jsxs("div",{className:"setup-card",children:[p.jsxs("div",{className:"setup-head",children:[p.jsx("span",{className:"setup-icon",children:p.jsx(cs,{size:18})}),p.jsxs("div",{children:[p.jsx("strong",{children:"Add workstation"}),p.jsx("span",{children:"Connect another local PC to this wall."})]})]}),p.jsxs("div",{className:"setup-pin-row",children:[p.jsxs("div",{children:[p.jsx("span",{children:"Pairing PIN"}),p.jsx("strong",{children:Fa})]}),p.jsxs("button",{className:"text-button ghost compact",onClick:Nn,disabled:!T?.started||_==="pin",type:"button",children:[p.jsx(wb,{size:15}),"New PIN"]})]}),p.jsxs("button",{className:"text-button primary full",onClick:()=>kl(Kn),type:"button",children:[p.jsx(_l,{size:16}),"Copy setup"]}),p.jsxs("button",{className:"setup-disclosure",onClick:()=>ps(b=>!b),type:"button",children:[p.jsx(rs,{size:15}),"Advanced setup"]}),na&&p.jsxs("div",{className:"setup-code-row",children:[p.jsx("code",{children:Kn}),p.jsx("button",{className:"icon-button",onClick:()=>kl(Kn),title:"Copy setup command",type:"button",children:p.jsx(_l,{size:16})})]})]}),p.jsxs("div",{className:"settings-card",children:[p.jsxs("div",{className:"panel-title",children:[p.jsx(dh,{size:17}),p.jsx("h2",{children:"Files"})]}),p.jsxs("label",{className:"field-row",children:[p.jsx("span",{children:"Remote folder"}),p.jsx("input",{value:La,onChange:b=>Pc(b.target.value),placeholder:"Desktop/LiveDeskFiles"})]}),p.jsx("p",{className:"muted",children:"Blank uses Desktop/LiveDeskFiles on each workstation."})]}),p.jsxs("div",{className:"deck-actions",children:[p.jsxs("button",{className:"text-button primary",onClick:()=>jn({takeover:!0,requestLocalAccess:!0}),disabled:!i||_==="host",type:"button",children:[p.jsx(uh,{size:16}),"Sync access"]}),p.jsxs("button",{className:"text-button buy",onClick:()=>ua(st==="ltd"?"pro":"ltd"),disabled:_==="checkout"||st==="pro",type:"button",children:[p.jsx(xl,{size:16}),ou]})]})]}),p.jsxs("section",{className:"status-strip",children:[p.jsxs("div",{className:`status-item state-${ao}`,children:[p.jsx(mh,{size:18}),p.jsx("span",{children:"Local app"}),p.jsx("strong",{children:ao})]}),p.jsxs("div",{className:"status-item",children:[p.jsx(Op,{size:18}),p.jsx("span",{children:"Slots"}),p.jsxs("strong",{children:[Sr,"/",en]})]}),p.jsxs("div",{className:"status-item",children:[p.jsx(ch,{size:18}),p.jsx("span",{children:"Frames"}),p.jsxs("strong",{children:[Os," / ",Et]})]}),p.jsxs("div",{className:"status-item",children:[p.jsx(Cp,{size:18}),p.jsx("span",{children:"Plan"}),p.jsx("strong",{children:Ds})]})]})]}):p.jsxs(p.Fragment,{children:[p.jsxs("section",{className:"action-dock",children:[p.jsxs("div",{className:"action-context",children:[p.jsx("span",{children:wr>0?"Selection":"No selection"}),p.jsx("strong",{children:lu})]}),p.jsx("input",{ref:_i,className:"hidden-file-input",type:"file",multiple:!0,onChange:b=>{b.currentTarget.files&&Ga(b.currentTarget.files),b.currentTarget.value=""}}),(R||Q)&&p.jsx("div",{className:"notice-band compact",children:p.jsx("span",{children:R||Q})}),p.jsxs("div",{className:"action-grid",children:[p.jsxs("button",{className:"action-tile primary",onClick:()=>W&&Ia(W.deviceId),disabled:!Ha,type:"button",children:[p.jsx(xp,{size:21}),p.jsx("span",{children:"Live"})]}),p.jsxs("button",{className:`action-tile ${ue?"active":""}`,onClick:()=>ge(b=>!b),disabled:!Bt,type:"button",children:[p.jsx(jh,{size:21}),p.jsx("span",{children:Oi!=="idle"?Oi:"Control"})]}),p.jsxs("button",{className:`action-tile ${X?"active":""}`,onClick:Cs,disabled:!ut,type:"button",title:Ti?"Remote PC audio":"Remote audio is not supported by this workstation yet",children:[p.jsx(Rp,{size:21}),p.jsx("span",{children:X&&As!=="idle"?As:"Audio"})]}),p.jsxs("button",{className:"action-tile",onClick:()=>_i.current?.click(),disabled:!Ze||zt.length===0,type:"button",title:"File transfer",children:[p.jsx(dh,{size:21}),p.jsx("span",{children:"Files"})]}),p.jsxs("button",{className:"action-tile",disabled:!0,type:"button",title:"Reboot",children:[p.jsx(jb,{size:21}),p.jsx("span",{children:"Reboot"})]}),p.jsxs("button",{className:"action-tile",disabled:!0,type:"button",title:"Power",children:[p.jsx(Rb,{size:21}),p.jsx("span",{children:"Power"})]}),p.jsxs("button",{className:"action-tile",disabled:!0,type:"button",title:"Terminal",children:[p.jsx(rs,{size:21}),p.jsx("span",{children:"Shell"})]})]})]}),W&&Je&&p.jsxs("section",{className:"side-panel selected-panel",children:[p.jsxs("div",{className:"machine-detail-head",children:[p.jsxs("div",{className:"panel-title",children:[p.jsx(cs,{size:17}),p.jsx("h2",{children:"Machine detail"})]}),p.jsx("span",{className:`machine-health state-${Je.state}`,children:Je.label})]}),p.jsxs("div",{className:"machine-title",children:[p.jsx("strong",{children:Lc(W)}),p.jsx("span",{children:Je.role})]}),p.jsx("div",{className:"machine-metric-grid",children:Je.metrics.map(b=>p.jsxs("article",{className:`machine-metric state-${b.state}`,children:[p.jsx("span",{children:b.label}),p.jsx("strong",{children:b.value}),p.jsx("small",{children:b.detail}),b.ratio!==void 0&&p.jsx("i",{children:p.jsx("b",{style:{width:`${Math.round(b.ratio*100)}%`}})})]},b.id))}),p.jsxs("section",{className:"machine-section",children:[p.jsxs("div",{className:"machine-section-title",children:[p.jsx(ch,{size:15}),p.jsx("span",{children:"Stream"})]}),p.jsxs("dl",{className:"facts compact",children:[p.jsx("dt",{children:"Frames"}),p.jsx("dd",{children:Wc}),p.jsx("dt",{children:"Wall RX"}),p.jsxs("dd",{children:[Os," screens / ",Et]}),p.jsx("dt",{children:"Painted"}),p.jsx("dd",{children:js}),p.jsx("dt",{children:"Changed"}),p.jsx("dd",{children:Jc}),p.jsx("dt",{children:"Decoder"}),p.jsx("dd",{children:Xc}),p.jsx("dt",{children:"Latency"}),p.jsx("dd",{children:Qc}),p.jsx("dt",{children:"Receive gap"}),p.jsx("dd",{children:Zc}),p.jsx("dt",{children:"Paint gap"}),p.jsx("dd",{children:eu}),p.jsx("dt",{children:"Seq gap"}),p.jsx("dd",{children:to}),p.jsx("dt",{children:"Selected"}),p.jsx("dd",{children:no}),p.jsx("dt",{children:"Requested"}),p.jsx("dd",{children:tu}),p.jsx("dt",{children:"Mode"}),p.jsx("dd",{children:Ns}),p.jsx("dt",{children:"Chunk"}),p.jsx("dd",{children:Ms}),p.jsx("dt",{children:"Size"}),p.jsx("dd",{children:nu}),p.jsx("dt",{children:"Native"}),p.jsx("dd",{children:Di}),p.jsx("dt",{children:"Monitor"}),p.jsx("dd",{children:au}),p.jsx("dt",{children:"Source"}),p.jsx("dd",{children:iu}),p.jsx("dt",{children:"Input"}),p.jsx("dd",{children:ru})]})]}),p.jsxs("section",{className:"machine-section",children:[p.jsxs("div",{className:"machine-section-title",children:[p.jsx(rs,{size:15}),p.jsx("span",{children:"Local services"})]}),p.jsx("div",{className:"tool-probe-list",children:Je.tools.map(b=>p.jsxs("span",{className:`tool-probe state-${b.status}`,children:[p.jsx("b",{children:b.label}),p.jsx("em",{children:b.detail})]},b.id))})]}),p.jsxs("section",{className:"machine-section",children:[p.jsxs("div",{className:"machine-section-title",children:[p.jsx(fh,{size:15}),p.jsx("span",{children:"Workload"})]}),p.jsxs("div",{className:"workload-card",children:[p.jsx("strong",{children:Je.taskLabel}),p.jsx("span",{children:Je.taskStatus}),Je.taskSummary&&p.jsx("p",{children:Je.taskSummary})]})]}),p.jsxs("div",{className:"machine-section",children:[p.jsxs("div",{className:"machine-section-title",children:[p.jsx(mh,{size:15}),p.jsx("span",{children:"System"})]}),p.jsxs("dl",{className:"facts compact",children:[p.jsx("dt",{children:"Platform"}),p.jsxs("dd",{children:[W.platform||"-"," ",W.arch||""]}),p.jsx("dt",{children:"Release"}),p.jsx("dd",{children:Xt(W.status,"release")||"-"}),p.jsx("dt",{children:"Uptime"}),p.jsx("dd",{children:Sv(it(W.status,"uptimeSec"))}),p.jsx("dt",{children:"Last seen"}),p.jsx("dd",{children:py(W.lastSeenAt||W.connectedAt)}),p.jsx("dt",{children:"Agent"}),p.jsx("dd",{children:W.agentVersion||"-"}),p.jsx("dt",{children:"Address"}),p.jsx("dd",{children:W.remoteAddress||"-"})]})]}),Es&&p.jsx("p",{className:"panel-warning",children:Es}),p.jsxs("button",{className:"text-button full",onClick:()=>W&&Ia(W.deviceId),disabled:!Ha,type:"button",children:[p.jsx(xp,{size:16}),"Start live"]})]}),p.jsxs("section",{className:"side-panel task-panel",children:[p.jsxs("div",{className:"panel-title",children:[p.jsx(fh,{size:17}),p.jsx("h2",{children:"Task"})]}),p.jsx("textarea",{value:pe,onChange:b=>A(b.target.value),placeholder:"Prepare a short status report.",rows:4}),p.jsxs("button",{className:"text-button full primary",onClick:Rs,disabled:_==="task"||!pe.trim()||!Ze,type:"button",children:[p.jsx(fh,{size:16}),"Send to connected"]})]})]}))]})]})})]}),wt&&p.jsxs("aside",{className:`transfer-bar state-${wt.status}`,"aria-live":"polite",children:[p.jsx("div",{className:"transfer-bar-track",children:p.jsx("span",{style:{width:`${Math.max(0,Math.min(100,wt.progress))}%`}})}),p.jsx("p",{children:wt.message})]})]})}Z0.createRoot(document.getElementById("root")).render(p.jsx(O.StrictMode,{children:p.jsx(oT,{})}));
|
|
36
|
+
${V}`}class bt extends Error{constructor({message:n,code:r,cause:l,name:c}){var d;super(n,{cause:l}),this.__isWebAuthnError=!0,this.name=(d=c??(l instanceof Error?l.name:void 0))!==null&&d!==void 0?d:"Unknown Error",this.code=r}toJSON(){return{name:this.name,message:this.message,code:this.code}}}class Rc extends bt{constructor(n,r){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:r,message:n}),this.name="WebAuthnUnknownError",this.originalError=r}}function d_({error:i,options:n}){var r,l,c;const{publicKey:d}=n;if(!d)throw Error("options was missing required publicKey property");if(i.name==="AbortError"){if(n.signal instanceof AbortSignal)return new bt({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:i})}else if(i.name==="ConstraintError"){if(((r=d.authenticatorSelection)===null||r===void 0?void 0:r.requireResidentKey)===!0)return new bt({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:i});if(n.mediation==="conditional"&&((l=d.authenticatorSelection)===null||l===void 0?void 0:l.userVerification)==="required")return new bt({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:i});if(((c=d.authenticatorSelection)===null||c===void 0?void 0:c.userVerification)==="required")return new bt({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:i})}else{if(i.name==="InvalidStateError")return new bt({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:i});if(i.name==="NotAllowedError")return new bt({message:i.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:i});if(i.name==="NotSupportedError")return d.pubKeyCredParams.filter(m=>m.type==="public-key").length===0?new bt({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:i}):new bt({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:i});if(i.name==="SecurityError"){const h=window.location.hostname;if(iv(h)){if(d.rp.id!==h)return new bt({message:`The RP ID "${d.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:i})}else return new bt({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:i})}else if(i.name==="TypeError"){if(d.user.id.byteLength<1||d.user.id.byteLength>64)return new bt({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:i})}else if(i.name==="UnknownError")return new bt({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:i})}return new bt({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:i})}function h_({error:i,options:n}){const{publicKey:r}=n;if(!r)throw Error("options was missing required publicKey property");if(i.name==="AbortError"){if(n.signal instanceof AbortSignal)return new bt({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:i})}else{if(i.name==="NotAllowedError")return new bt({message:i.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:i});if(i.name==="SecurityError"){const l=window.location.hostname;if(iv(l)){if(r.rpId!==l)return new bt({message:`The RP ID "${r.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:i})}else return new bt({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:i})}else if(i.name==="UnknownError")return new bt({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:i})}return new bt({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:i})}class f_{createNewAbortSignal(){if(this.controller){const r=new Error("Cancelling existing WebAuthn API call for new one");r.name="AbortError",this.controller.abort(r)}const n=new AbortController;return this.controller=n,n.signal}cancelCeremony(){if(this.controller){const n=new Error("Manually cancelling existing WebAuthn API call");n.name="AbortError",this.controller.abort(n),this.controller=void 0}}}const qh=new f_;function ly(i){if(!i)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(i);const{challenge:n,user:r,excludeCredentials:l}=i,c=Mc(i,["challenge","user","excludeCredentials"]),d=ds(n).buffer,h=Object.assign(Object.assign({},r),{id:ds(r.id).buffer}),m=Object.assign(Object.assign({},c),{challenge:d,user:h});if(l&&l.length>0){m.excludeCredentials=new Array(l.length);for(let f=0;f<l.length;f++){const y=l[f];m.excludeCredentials[f]=Object.assign(Object.assign({},y),{id:ds(y.id).buffer,type:y.type||"public-key",transports:y.transports})}}return m}function oy(i){if(!i)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(i);const{challenge:n,allowCredentials:r}=i,l=Mc(i,["challenge","allowCredentials"]),c=ds(n).buffer,d=Object.assign(Object.assign({},l),{challenge:c});if(r&&r.length>0){d.allowCredentials=new Array(r.length);for(let h=0;h<r.length;h++){const m=r[h];d.allowCredentials[h]=Object.assign(Object.assign({},m),{id:ds(m.id).buffer,type:m.type||"public-key",transports:m.transports})}}return d}function cy(i){var n;if("toJSON"in i&&typeof i.toJSON=="function")return i.toJSON();const r=i;return{id:i.id,rawId:i.id,response:{attestationObject:nr(new Uint8Array(i.response.attestationObject)),clientDataJSON:nr(new Uint8Array(i.response.clientDataJSON))},type:"public-key",clientExtensionResults:i.getClientExtensionResults(),authenticatorAttachment:(n=r.authenticatorAttachment)!==null&&n!==void 0?n:void 0}}function uy(i){var n;if("toJSON"in i&&typeof i.toJSON=="function")return i.toJSON();const r=i,l=i.getClientExtensionResults(),c=i.response;return{id:i.id,rawId:i.id,response:{authenticatorData:nr(new Uint8Array(c.authenticatorData)),clientDataJSON:nr(new Uint8Array(c.clientDataJSON)),signature:nr(new Uint8Array(c.signature)),userHandle:c.userHandle?nr(new Uint8Array(c.userHandle)):void 0},type:"public-key",clientExtensionResults:l,authenticatorAttachment:(n=r.authenticatorAttachment)!==null&&n!==void 0?n:void 0}}function iv(i){return i==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(i)}function Oc(){var i,n;return!!(Dt()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((i=navigator?.credentials)===null||i===void 0?void 0:i.create)=="function"&&typeof((n=navigator?.credentials)===null||n===void 0?void 0:n.get)=="function")}async function rv(i){try{const n=await navigator.credentials.create(i);return n?n instanceof PublicKeyCredential?{data:n,error:null}:{data:null,error:new Rc("Browser returned unexpected credential type",n)}:{data:null,error:new Rc("Empty credential response",n)}}catch(n){return{data:null,error:d_({error:n,options:i})}}}async function sv(i){try{const n=await navigator.credentials.get(i);return n?n instanceof PublicKeyCredential?{data:n,error:null}:{data:null,error:new Rc("Browser returned unexpected credential type",n)}:{data:null,error:new Rc("Empty credential response",n)}}catch(n){return{data:null,error:h_({error:n,options:i})}}}const m_={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},g_={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function jc(...i){const n=c=>c!==null&&typeof c=="object"&&!Array.isArray(c),r=c=>c instanceof ArrayBuffer||ArrayBuffer.isView(c),l={};for(const c of i)if(c)for(const d in c){const h=c[d];if(h!==void 0)if(Array.isArray(h))l[d]=h;else if(r(h))l[d]=h;else if(n(h)){const m=l[d];n(m)?l[d]=jc(m,h):l[d]=jc(h)}else l[d]=h}return l}function p_(i,n){return jc(m_,i,n||{})}function y_(i,n){return jc(g_,i,n||{})}class v_{constructor(n){this.client=n,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(n){return this.client.mfa.enroll(Object.assign(Object.assign({},n),{factorType:"webauthn"}))}async _challenge({factorId:n,webauthn:r,friendlyName:l,signal:c},d){var h;try{const{data:m,error:f}=await this.client.mfa.challenge({factorId:n,webauthn:r});if(!m)return{data:null,error:f};const y=c??qh.createNewAbortSignal();if(m.webauthn.type==="create"){const{user:w}=m.webauthn.credential_options.publicKey;if(!w.name){const S=l;if(S)w.name=`${w.id}:${S}`;else{const x=(await this.client.getUser()).data.user,R=((h=x?.user_metadata)===null||h===void 0?void 0:h.name)||x?.email||x?.id||"User";w.name=`${w.id}:${R}`}}w.displayName||(w.displayName=w.name)}switch(m.webauthn.type){case"create":{const w=p_(m.webauthn.credential_options.publicKey,d?.create),{data:S,error:T}=await rv({publicKey:w,signal:y});return S?{data:{factorId:n,challengeId:m.id,webauthn:{type:m.webauthn.type,credential_response:S}},error:null}:{data:null,error:T}}case"request":{const w=y_(m.webauthn.credential_options.publicKey,d?.request),{data:S,error:T}=await sv(Object.assign(Object.assign({},m.webauthn.credential_options),{publicKey:w,signal:y}));return S?{data:{factorId:n,challengeId:m.id,webauthn:{type:m.webauthn.type,credential_response:S}},error:null}:{data:null,error:T}}}}catch(m){return ie(m)?{data:null,error:m}:{data:null,error:new qn("Unexpected error in challenge",m)}}}async _verify({challengeId:n,factorId:r,webauthn:l}){return this.client.mfa.verify({factorId:r,challengeId:n,webauthn:l})}async _authenticate({factorId:n,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:l=typeof window<"u"?[window.location.origin]:void 0,signal:c}={}},d){if(!r)return{data:null,error:new Vl("rpId is required for WebAuthn authentication")};try{if(!Oc())return{data:null,error:new qn("Browser does not support WebAuthn",null)};const{data:h,error:m}=await this.challenge({factorId:n,webauthn:{rpId:r,rpOrigins:l},signal:c},{request:d});if(!h)return{data:null,error:m};const{webauthn:f}=h;return this._verify({factorId:n,challengeId:h.challengeId,webauthn:{type:f.type,rpId:r,rpOrigins:l,credential_response:f.credential_response}})}catch(h){return ie(h)?{data:null,error:h}:{data:null,error:new qn("Unexpected error in authenticate",h)}}}async _register({friendlyName:n,webauthn:{rpId:r=typeof window<"u"?window.location.hostname:void 0,rpOrigins:l=typeof window<"u"?[window.location.origin]:void 0,signal:c}={}},d){if(!r)return{data:null,error:new Vl("rpId is required for WebAuthn registration")};try{if(!Oc())return{data:null,error:new qn("Browser does not support WebAuthn",null)};const{data:h,error:m}=await this._enroll({friendlyName:n});if(!h)return await this.client.mfa.listFactors().then(w=>{var S;return(S=w.data)===null||S===void 0?void 0:S.all.find(T=>T.factor_type==="webauthn"&&T.friendly_name===n&&T.status!=="unverified")}).then(w=>w?this.client.mfa.unenroll({factorId:w?.id}):void 0),{data:null,error:m};const{data:f,error:y}=await this._challenge({factorId:h.id,friendlyName:h.friendly_name,webauthn:{rpId:r,rpOrigins:l},signal:c},{create:d});return f?this._verify({factorId:h.id,challengeId:f.challengeId,webauthn:{rpId:r,rpOrigins:l,type:f.webauthn.type,credential_response:f.webauthn.credential_response}}):{data:null,error:y}}catch(h){return ie(h)?{data:null,error:h}:{data:null,error:new qn("Unexpected error in register",h)}}}}l_();const b_={url:_w,storageKey:Tw,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:kw,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}},ts={};class Kl{get jwks(){var n,r;return(r=(n=ts[this.storageKey])===null||n===void 0?void 0:n.jwks)!==null&&r!==void 0?r:{keys:[]}}set jwks(n){ts[this.storageKey]=Object.assign(Object.assign({},ts[this.storageKey]),{jwks:n})}get jwks_cached_at(){var n,r;return(r=(n=ts[this.storageKey])===null||n===void 0?void 0:n.cachedAt)!==null&&r!==void 0?r:Number.MIN_SAFE_INTEGER}set jwks_cached_at(n){ts[this.storageKey]=Object.assign(Object.assign({},ts[this.storageKey]),{cachedAt:n})}constructor(n){var r,l,c;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.lastRefreshFailure=null,this._sessionRemovalEpoch=0,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lock=null,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const d=Object.assign(Object.assign({},b_),n);if(this.storageKey=d.storageKey,this.instanceID=(r=Kl.nextInstanceID[this.storageKey])!==null&&r!==void 0?r:0,Kl.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!d.debug,typeof d.debug=="function"&&(this.logger=d.debug),this.instanceID>0&&Dt()){const h=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(h),this.logDebugMessages&&console.trace(h)}if(this.persistSession=d.persistSession,this.autoRefreshToken=d.autoRefreshToken,this.experimental=(l=d.experimental)!==null&&l!==void 0?l:{},this.admin=new r_({url:d.url,headers:d.headers,fetch:d.fetch,experimental:this.experimental}),this.url=d.url,this.headers=d.headers,this.fetch=nv(d.fetch),this.detectSessionInUrl=d.detectSessionInUrl,this.flowType=d.flowType,this.hasCustomAuthorizationHeader=d.hasCustomAuthorizationHeader,this.throwOnError=d.throwOnError,this.lockAcquireTimeout=d.lockAcquireTimeout,d.lock!=null&&(this.lock=d.lock),this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new v_(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(d.storage?this.storage=d.storage:tv()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=sy(this.memoryStorage)),d.userStorage&&(this.userStorage=d.userStorage)):(this.memoryStorage={},this.storage=sy(this.memoryStorage)),Dt()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(h){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",h)}(c=this.broadcastChannel)===null||c===void 0||c.addEventListener("message",async h=>{this._debug("received broadcast notification from other tab or client",h),(h.data.event==="TOKEN_REFRESHED"||h.data.event==="SIGNED_IN")&&(this.lastRefreshFailure=null);try{await this._notifyAllSubscribers(h.data.event,h.data.session,!1)}catch(m){this._debug("#broadcastChannel","error",m)}})}d.skipAutoInitialize||this.initialize().catch(h=>{this._debug("#initialize()","error",h)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(n){if(this.throwOnError&&n&&n.error)throw n.error;return n}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Qy}) ${new Date().toISOString()}`}_debug(...n){return this.logDebugMessages&&this.logger(this._logPrefix(),...n),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()):await this._initialize())(),await this.initializePromise)}async _initialize(){var n;try{let r={},l="none";if(Dt()&&(r=Pw(window.location.href),this._isImplicitGrantCallback(r)?l="implicit":await this._isPKCECallback(r)&&(l="pkce")),Dt()&&this.detectSessionInUrl&&l!=="none"){const{data:c,error:d}=await this._getSessionFromURL(r,l);if(d){if(this._debug("#_initialize()","error detecting session from URL",d),Rw(d)){const f=(n=d.details)===null||n===void 0?void 0:n.code;if(f==="identity_already_exists"||f==="identity_not_found"||f==="single_identity_not_deletable")return{error:d}}return{error:d}}const{session:h,redirectType:m}=c;return this._debug("#_initialize()","detected session in URL",h,"redirect type",m),await this._saveSession(h),setTimeout(async()=>{m==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",h):await this._notifyAllSubscribers("SIGNED_IN",h)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(r){return ie(r)?this._returnResult({error:r}):this._returnResult({error:new qn("Unexpected error during initialization",r)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(n){var r,l,c;try{const d=await oe(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(l=(r=n?.options)===null||r===void 0?void 0:r.data)!==null&&l!==void 0?l:{},gotrue_meta_security:{captcha_token:(c=n?.options)===null||c===void 0?void 0:c.captchaToken}},xform:En}),{data:h,error:m}=d;if(m||!h)return this._returnResult({data:{user:null,session:null},error:m});const f=h.session,y=h.user;return h.session&&(await this._saveSession(h.session),await this._notifyAllSubscribers("SIGNED_IN",f)),this._returnResult({data:{user:y,session:f},error:null})}catch(d){if(ie(d))return this._returnResult({data:{user:null,session:null},error:d});throw d}}async signUp(n){var r,l,c;try{let d;if("email"in n){const{email:w,password:S,options:T}=n;let x=null,R=null;this.flowType==="pkce"&&([x,R]=await er(this.storage,this.storageKey)),d=await oe(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:T?.emailRedirectTo,body:{email:w,password:S,data:(r=T?.data)!==null&&r!==void 0?r:{},gotrue_meta_security:{captcha_token:T?.captchaToken},code_challenge:x,code_challenge_method:R},xform:En})}else if("phone"in n){const{phone:w,password:S,options:T}=n;d=await oe(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:w,password:S,data:(l=T?.data)!==null&&l!==void 0?l:{},channel:(c=T?.channel)!==null&&c!==void 0?c:"sms",gotrue_meta_security:{captcha_token:T?.captchaToken}},xform:En})}else throw new vc("You must provide either an email or phone number and a password");const{data:h,error:m}=d;if(m||!h)return await ft(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:m});const f=h.session,y=h.user;return h.session&&(await this._saveSession(h.session),await this._notifyAllSubscribers("SIGNED_IN",f)),this._returnResult({data:{user:y,session:f},error:null})}catch(d){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(d))return this._returnResult({data:{user:null,session:null},error:d});throw d}}async signInWithPassword(n){try{let r;if("email"in n){const{email:d,password:h,options:m}=n;r=await oe(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:d,password:h,gotrue_meta_security:{captcha_token:m?.captchaToken}},xform:iy})}else if("phone"in n){const{phone:d,password:h,options:m}=n;r=await oe(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:d,password:h,gotrue_meta_security:{captcha_token:m?.captchaToken}},xform:iy})}else throw new vc("You must provide either an email or phone number and a password");const{data:l,error:c}=r;if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l||!l.session||!l.user){const d=new es;return this._returnResult({data:{user:null,session:null},error:d})}return l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers("SIGNED_IN",l.session)),this._returnResult({data:Object.assign({user:l.user,session:l.session},l.weak_password?{weakPassword:l.weak_password}:null),error:c})}catch(r){if(ie(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOAuth(n){var r,l,c,d;return await this._handleProviderSignIn(n.provider,{redirectTo:(r=n.options)===null||r===void 0?void 0:r.redirectTo,scopes:(l=n.options)===null||l===void 0?void 0:l.scopes,queryParams:(c=n.options)===null||c===void 0?void 0:c.queryParams,skipBrowserRedirect:(d=n.options)===null||d===void 0?void 0:d.skipBrowserRedirect})}async exchangeCodeForSession(n){return await this.initializePromise,this.lock!=null?this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(n)):this._exchangeCodeForSession(n)}async signInWithWeb3(n){const{chain:r}=n;switch(r){case"ethereum":return await this.signInWithEthereum(n);case"solana":return await this.signInWithSolana(n);default:throw new Error(`@supabase/auth-js: Unsupported chain "${r}"`)}}async signInWithEthereum(n){var r,l,c,d,h,m,f,y,w,S,T;let x,R;if("message"in n)x=n.message,R=n.signature;else{const{chain:z,wallet:G,statement:V,options:I}=n;let F;if(Dt())if(typeof G=="object")F=G;else{const Ee=window;if("ethereum"in Ee&&typeof Ee.ethereum=="object"&&"request"in Ee.ethereum&&typeof Ee.ethereum.request=="function")F=Ee.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof G!="object"||!I?.url)throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");F=G}const ee=new URL((r=I?.url)!==null&&r!==void 0?r:window.location.href),we=await F.request({method:"eth_requestAccounts"}).then(Ee=>Ee).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!we||we.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const le=av(we[0]);let Z=(l=I?.signInWithEthereum)===null||l===void 0?void 0:l.chainId;if(!Z){const Ee=await F.request({method:"eth_chainId"});Z=o_(Ee)}const je={domain:ee.host,address:le,statement:V,uri:ee.href,version:"1",chainId:Z,nonce:(c=I?.signInWithEthereum)===null||c===void 0?void 0:c.nonce,issuedAt:(h=(d=I?.signInWithEthereum)===null||d===void 0?void 0:d.issuedAt)!==null&&h!==void 0?h:new Date,expirationTime:(m=I?.signInWithEthereum)===null||m===void 0?void 0:m.expirationTime,notBefore:(f=I?.signInWithEthereum)===null||f===void 0?void 0:f.notBefore,requestId:(y=I?.signInWithEthereum)===null||y===void 0?void 0:y.requestId,resources:(w=I?.signInWithEthereum)===null||w===void 0?void 0:w.resources};x=u_(je),R=await F.request({method:"personal_sign",params:[c_(x),le]})}try{const{data:z,error:G}=await oe(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:x,signature:R},!((S=n.options)===null||S===void 0)&&S.captchaToken?{gotrue_meta_security:{captcha_token:(T=n.options)===null||T===void 0?void 0:T.captchaToken}}:null),xform:En});if(G)throw G;if(!z||!z.session||!z.user){const V=new es;return this._returnResult({data:{user:null,session:null},error:V})}return z.session&&(await this._saveSession(z.session),await this._notifyAllSubscribers("SIGNED_IN",z.session)),this._returnResult({data:Object.assign({},z),error:G})}catch(z){if(ie(z))return this._returnResult({data:{user:null,session:null},error:z});throw z}}async signInWithSolana(n){var r,l,c,d,h,m,f,y,w,S,T,x;let R,z;if("message"in n)R=n.message,z=n.signature;else{const{chain:G,wallet:V,statement:I,options:F}=n;let ee;if(Dt())if(typeof V=="object")ee=V;else{const le=window;if("solana"in le&&typeof le.solana=="object"&&("signIn"in le.solana&&typeof le.solana.signIn=="function"||"signMessage"in le.solana&&typeof le.solana.signMessage=="function"))ee=le.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof V!="object"||!F?.url)throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");ee=V}const we=new URL((r=F?.url)!==null&&r!==void 0?r:window.location.href);if("signIn"in ee&&ee.signIn){const le=await ee.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},F?.signInWithSolana),{version:"1",domain:we.host,uri:we.href}),I?{statement:I}:null));let Z;if(Array.isArray(le)&&le[0]&&typeof le[0]=="object")Z=le[0];else if(le&&typeof le=="object"&&"signedMessage"in le&&"signature"in le)Z=le;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in Z&&"signature"in Z&&(typeof Z.signedMessage=="string"||Z.signedMessage instanceof Uint8Array)&&Z.signature instanceof Uint8Array)R=typeof Z.signedMessage=="string"?Z.signedMessage:new TextDecoder().decode(Z.signedMessage),z=Z.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in ee)||typeof ee.signMessage!="function"||!("publicKey"in ee)||typeof ee!="object"||!ee.publicKey||!("toBase58"in ee.publicKey)||typeof ee.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");R=[`${we.host} wants you to sign in with your Solana account:`,ee.publicKey.toBase58(),...I?["",I,""]:[""],"Version: 1",`URI: ${we.href}`,`Issued At: ${(c=(l=F?.signInWithSolana)===null||l===void 0?void 0:l.issuedAt)!==null&&c!==void 0?c:new Date().toISOString()}`,...!((d=F?.signInWithSolana)===null||d===void 0)&&d.notBefore?[`Not Before: ${F.signInWithSolana.notBefore}`]:[],...!((h=F?.signInWithSolana)===null||h===void 0)&&h.expirationTime?[`Expiration Time: ${F.signInWithSolana.expirationTime}`]:[],...!((m=F?.signInWithSolana)===null||m===void 0)&&m.chainId?[`Chain ID: ${F.signInWithSolana.chainId}`]:[],...!((f=F?.signInWithSolana)===null||f===void 0)&&f.nonce?[`Nonce: ${F.signInWithSolana.nonce}`]:[],...!((y=F?.signInWithSolana)===null||y===void 0)&&y.requestId?[`Request ID: ${F.signInWithSolana.requestId}`]:[],...!((S=(w=F?.signInWithSolana)===null||w===void 0?void 0:w.resources)===null||S===void 0)&&S.length?["Resources",...F.signInWithSolana.resources.map(Z=>`- ${Z}`)]:[]].join(`
|
|
37
|
+
`);const le=await ee.signMessage(new TextEncoder().encode(R),"utf8");if(!le||!(le instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");z=le}}try{const{data:G,error:V}=await oe(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:R,signature:nr(z)},!((T=n.options)===null||T===void 0)&&T.captchaToken?{gotrue_meta_security:{captcha_token:(x=n.options)===null||x===void 0?void 0:x.captchaToken}}:null),xform:En});if(V)throw V;if(!G||!G.session||!G.user){const I=new es;return this._returnResult({data:{user:null,session:null},error:I})}return G.session&&(await this._saveSession(G.session),await this._notifyAllSubscribers("SIGNED_IN",G.session)),this._returnResult({data:Object.assign({},G),error:V})}catch(G){if(ie(G))return this._returnResult({data:{user:null,session:null},error:G});throw G}}async _exchangeCodeForSession(n){const r=await zn(this.storage,`${this.storageKey}-code-verifier`),[l,c]=(r??"").split("/");try{if(!l&&this.flowType==="pkce")throw new Ow;const{data:d,error:h}=await oe(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:n,code_verifier:l},xform:En});if(await ft(this.storage,`${this.storageKey}-code-verifier`),h)throw h;if(!d||!d.session||!d.user){const m=new es;return this._returnResult({data:{user:null,session:null,redirectType:null},error:m})}return d.session&&(await this._saveSession(d.session),await this._notifyAllSubscribers(c==="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",d.session)),this._returnResult({data:Object.assign(Object.assign({},d),{redirectType:c??null}),error:h})}catch(d){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(d))return this._returnResult({data:{user:null,session:null,redirectType:null},error:d});throw d}}async signInWithIdToken(n){try{const{options:r,provider:l,token:c,access_token:d,nonce:h}=n,m=await oe(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:l,id_token:c,access_token:d,nonce:h,gotrue_meta_security:{captcha_token:r?.captchaToken}},xform:En}),{data:f,error:y}=m;if(y)return this._returnResult({data:{user:null,session:null},error:y});if(!f||!f.session||!f.user){const w=new es;return this._returnResult({data:{user:null,session:null},error:w})}return f.session&&(await this._saveSession(f.session),await this._notifyAllSubscribers("SIGNED_IN",f.session)),this._returnResult({data:f,error:y})}catch(r){if(ie(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithOtp(n){var r,l,c,d,h;try{if("email"in n){const{email:m,options:f}=n;let y=null,w=null;this.flowType==="pkce"&&([y,w]=await er(this.storage,this.storageKey));const{error:S}=await oe(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:m,data:(r=f?.data)!==null&&r!==void 0?r:{},create_user:(l=f?.shouldCreateUser)!==null&&l!==void 0?l:!0,gotrue_meta_security:{captcha_token:f?.captchaToken},code_challenge:y,code_challenge_method:w},redirectTo:f?.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:S})}if("phone"in n){const{phone:m,options:f}=n,{data:y,error:w}=await oe(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:m,data:(c=f?.data)!==null&&c!==void 0?c:{},create_user:(d=f?.shouldCreateUser)!==null&&d!==void 0?d:!0,gotrue_meta_security:{captcha_token:f?.captchaToken},channel:(h=f?.channel)!==null&&h!==void 0?h:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:y?.message_id},error:w})}throw new vc("You must provide either an email or phone number.")}catch(m){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(m))return this._returnResult({data:{user:null,session:null},error:m});throw m}}async verifyOtp(n){var r,l;try{let c,d;"options"in n&&(c=(r=n.options)===null||r===void 0?void 0:r.redirectTo,d=(l=n.options)===null||l===void 0?void 0:l.captchaToken);const{data:h,error:m}=await oe(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},n),{gotrue_meta_security:{captcha_token:d}}),redirectTo:c,xform:En});if(m)throw m;if(!h)throw new Error("An error occurred on token verification.");const f=h.session,y=h.user;return f?.access_token&&(await this._saveSession(f),await this._notifyAllSubscribers(n.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",f)),this._returnResult({data:{user:y,session:f},error:null})}catch(c){if(ie(c))return this._returnResult({data:{user:null,session:null},error:c});throw c}}async signInWithSSO(n){var r,l,c,d,h;try{let m=null,f=null;this.flowType==="pkce"&&([m,f]=await er(this.storage,this.storageKey));const y=await oe(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in n?{provider_id:n.providerId}:null),"domain"in n?{domain:n.domain}:null),{redirect_to:(l=(r=n.options)===null||r===void 0?void 0:r.redirectTo)!==null&&l!==void 0?l:void 0}),!((c=n?.options)===null||c===void 0)&&c.captchaToken?{gotrue_meta_security:{captcha_token:n.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:m,code_challenge_method:f}),headers:this.headers,xform:n_});return!((d=y.data)===null||d===void 0)&&d.url&&Dt()&&!(!((h=n.options)===null||h===void 0)&&h.skipBrowserRedirect)&&window.location.assign(y.data.url),this._returnResult(y)}catch(m){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(m))return this._returnResult({data:null,error:m});throw m}}async reauthenticate(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate()):await this._reauthenticate()}async _reauthenticate(){try{return await this._useSession(async n=>{const{data:{session:r},error:l}=n;if(l)throw l;if(!r)throw new kt;const{error:c}=await oe(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:r.access_token});return this._returnResult({data:{user:null,session:null},error:c})})}catch(n){if(ie(n))return this._returnResult({data:{user:null,session:null},error:n});throw n}}async resend(n){try{const r=`${this.url}/resend`;if("email"in n){const{email:l,type:c,options:d}=n;let h=null,m=null;this.flowType==="pkce"&&([h,m]=await er(this.storage,this.storageKey));const{error:f}=await oe(this.fetch,"POST",r,{headers:this.headers,body:{email:l,type:c,gotrue_meta_security:{captcha_token:d?.captchaToken},code_challenge:h,code_challenge_method:m},redirectTo:d?.emailRedirectTo});return f&&await ft(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:f})}else if("phone"in n){const{phone:l,type:c,options:d}=n,{data:h,error:m}=await oe(this.fetch,"POST",r,{headers:this.headers,body:{phone:l,type:c,gotrue_meta_security:{captcha_token:d?.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:h?.message_id},error:m})}throw new vc("You must provide either an email or phone number and a type")}catch(r){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async getSession(){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async n=>n)):await this._useSession(async n=>n)}async _acquireLock(n,r){this._debug("#_acquireLock","begin",n);try{if(this.lockAcquired){const l=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),c=(async()=>(await l,await r()))();return this.pendingInLock.push((async()=>{try{await c}catch{}})()),c}return await this.lock(`lock:${this.storageKey}`,n,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const l=r();for(this.pendingInLock.push((async()=>{try{await l}catch{}})()),await l;this.pendingInLock.length;){const c=[...this.pendingInLock];await Promise.all(c),this.pendingInLock.splice(0,c.length)}return await l}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(n){this._debug("#_useSession","begin");try{const r=await this.__loadSession();return await n(r)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lock!=null&&!this.lockAcquired&&this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let n=null;const r=await zn(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",r),r!==null&&(this._isValidSession(r)?n=r:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!n)return{data:{session:null},error:null};const l=n.expires_at?n.expires_at*1e3-Date.now()<ph:!1;if(this._debug("#__loadSession()",`session has${l?"":" not"} expired`,"expires_at",n.expires_at),!l){if(this.userStorage){const h=await zn(this.userStorage,this.storageKey+"-user");h?.user?n.user=h.user:n.user=yh()}if(this.storage.isServer&&n.user&&!n.user.__isUserNotAvailableProxy){const h={value:this.suppressGetSessionWarning};n.user=Qw(n.user,h),h.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:n},error:null}}const{data:c,error:d}=await this._callRefreshToken(n.refresh_token);if(d){if(!!(n.expires_at&&n.expires_at*1e3>Date.now())){const m=await zn(this.storage,this.storageKey);if(m&&m.refresh_token===n.refresh_token)return this._returnResult({data:{session:n},error:null})}return this._returnResult({data:{session:null},error:d})}return this._returnResult({data:{session:c},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(n){if(n)return await this._getUser(n);await this.initializePromise;let r;return this.lock!=null?r=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser()):r=await this._getUser(),r.data.user&&(this.suppressGetSessionWarning=!0),r}async _getUser(n){try{return n?await oe(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:n,xform:yi}):await this._useSession(async r=>{var l,c,d;const{data:h,error:m}=r;if(m)throw m;return!(!((l=h.session)===null||l===void 0)&&l.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new kt}:await oe(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(d=(c=h.session)===null||c===void 0?void 0:c.access_token)!==null&&d!==void 0?d:void 0,xform:yi})})}catch(r){if(ie(r))return yc(r)&&(await this._removeSession(),await ft(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:r});throw r}}async updateUser(n,r={}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(n,r)):await this._updateUser(n,r)}async _updateUser(n,r={}){try{return await this._useSession(async l=>{const{data:c,error:d}=l;if(d)throw d;if(!c.session)throw new kt;const h=c.session;let m=null,f=null;this.flowType==="pkce"&&n.email!=null&&([m,f]=await er(this.storage,this.storageKey));const{data:y,error:w}=await oe(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:r?.emailRedirectTo,body:Object.assign(Object.assign({},n),{code_challenge:m,code_challenge_method:f}),jwt:h.access_token,xform:yi});if(w)throw w;return h.user=y.user,await this._saveSession(h),await this._notifyAllSubscribers("USER_UPDATED",h),this._returnResult({data:{user:h.user},error:null})})}catch(l){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(l))return this._returnResult({data:{user:null},error:l});throw l}}async setSession(n){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(n)):await this._setSession(n)}async _setSession(n){try{if(!n.access_token||!n.refresh_token)throw new kt;const r=Date.now()/1e3;let l=r,c=!0,d=null;const{payload:h}=Sc(n.access_token);if(h.exp&&(l=h.exp,c=l<=r),c){const{data:m,error:f}=await this._callRefreshToken(n.refresh_token);if(f)return this._returnResult({data:{user:null,session:null},error:f});if(!m)return{data:{user:null,session:null},error:null};d=m}else{const{data:m,error:f}=await this._getUser(n.access_token);if(f)return this._returnResult({data:{user:null,session:null},error:f});d={access_token:n.access_token,refresh_token:n.refresh_token,user:m.user,token_type:"bearer",expires_in:l-r,expires_at:l},await this._saveSession(d),await this._notifyAllSubscribers("SIGNED_IN",d)}return this._returnResult({data:{user:d.user,session:d},error:null})}catch(r){if(ie(r))return this._returnResult({data:{session:null,user:null},error:r});throw r}}async refreshSession(n){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(n)):await this._refreshSession(n)}async _refreshSession(n){try{return await this._useSession(async r=>{var l;if(!n){const{data:h,error:m}=r;if(m)throw m;n=(l=h.session)!==null&&l!==void 0?l:void 0}if(!n?.refresh_token)throw new kt;const{data:c,error:d}=await this._callRefreshToken(n.refresh_token);return d?this._returnResult({data:{user:null,session:null},error:d}):c?this._returnResult({data:{user:c.user,session:c},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(r){if(ie(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async _getSessionFromURL(n,r){var l;try{if(!Dt())throw new bc("No browser detected.");if(n.error||n.error_description||n.error_code)throw new bc(n.error_description||"Error in URL with unspecified error_description",{error:n.error||"unspecified_error",code:n.error_code||"unspecified_code"});switch(r){case"implicit":if(this.flowType==="pkce")throw new Wp("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new bc("Not a valid implicit grant flow url.");break;default:}if(r==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!n.code)throw new Wp("No code detected.");const{data:F,error:ee}=await this._exchangeCodeForSession(n.code);if(ee)throw ee;const we=new URL(window.location.href);return we.searchParams.delete("code"),window.history.replaceState(window.history.state,"",we.toString()),{data:{session:F.session,redirectType:(l=F.redirectType)!==null&&l!==void 0?l:null},error:null}}const{provider_token:c,provider_refresh_token:d,access_token:h,refresh_token:m,expires_in:f,expires_at:y,token_type:w}=n;if(!h||!f||!m||!w)throw new bc("No session defined in URL");const S=Math.round(Date.now()/1e3),T=parseInt(f);let x=S+T;y&&(x=parseInt(y));const R=x-S;R*1e3<=ja&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${R}s, should have been closer to ${T}s`);const z=x-T;S-z>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",z,x,S):S-z<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",z,x,S);const{data:G,error:V}=await this._getUser(h);if(V)throw V;const I={provider_token:c,provider_refresh_token:d,access_token:h,expires_in:T,expires_at:x,refresh_token:m,token_type:w,user:G.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:I,redirectType:n.type},error:null})}catch(c){if(ie(c))return this._returnResult({data:{session:null,redirectType:null},error:c});throw c}}_isImplicitGrantCallback(n){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),n):!!(n.access_token||n.error||n.error_description||n.error_code)}async _isPKCECallback(n){const r=await zn(this.storage,`${this.storageKey}-code-verifier`);return!!(n.code&&r)}async signOut(n={scope:"global"}){return await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(n)):await this._signOut(n)}async _signOut({scope:n}={scope:"global"}){return await this._useSession(async r=>{var l;const{data:c,error:d}=r;if(d&&!yc(d))return this._returnResult({error:d});const h=(l=c.session)===null||l===void 0?void 0:l.access_token;if(h){const{error:m}=await this.admin.signOut(h,n);if(m&&!(Cw(m)&&(m.status===404||m.status===401||m.status===403)||yc(m)))return this._returnResult({error:m})}return n!=="others"&&(await this._removeSession(),await ft(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(n){const r=Bw(),l={id:r,callback:n,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",r),this.stateChangeEmitters.delete(r)}};return this._debug("#onAuthStateChange()","registered callback with id",r),this.stateChangeEmitters.set(r,l),(async()=>(await this.initializePromise,this.lock!=null?await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(r)}):await this._emitInitialSession(r)))(),{data:{subscription:l}}}async _emitInitialSession(n){return await this._useSession(async r=>{var l,c;try{const{data:{session:d},error:h}=r;if(h)throw h;await((l=this.stateChangeEmitters.get(n))===null||l===void 0?void 0:l.callback("INITIAL_SESSION",d)),this._debug("INITIAL_SESSION","callback id",n,"session",d)}catch(d){await((c=this.stateChangeEmitters.get(n))===null||c===void 0?void 0:c.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",n,"error",d),yc(d)?console.warn(d):console.error(d)}})}async resetPasswordForEmail(n,r={}){let l=null,c=null;this.flowType==="pkce"&&([l,c]=await er(this.storage,this.storageKey,!0));try{return await oe(this.fetch,"POST",`${this.url}/recover`,{body:{email:n,code_challenge:l,code_challenge_method:c,gotrue_meta_security:{captcha_token:r.captchaToken}},headers:this.headers,redirectTo:r.redirectTo})}catch(d){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(d))return this._returnResult({data:null,error:d});throw d}}async getUserIdentities(){var n;try{const{data:r,error:l}=await this.getUser();if(l)throw l;return this._returnResult({data:{identities:(n=r.user.identities)!==null&&n!==void 0?n:[]},error:null})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async linkIdentity(n){return"token"in n?this.linkIdentityIdToken(n):this.linkIdentityOAuth(n)}async linkIdentityOAuth(n){var r;try{const{data:l,error:c}=await this._useSession(async d=>{var h,m,f,y,w;const{data:S,error:T}=d;if(T)throw T;const x=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,n.provider,{redirectTo:(h=n.options)===null||h===void 0?void 0:h.redirectTo,scopes:(m=n.options)===null||m===void 0?void 0:m.scopes,queryParams:(f=n.options)===null||f===void 0?void 0:f.queryParams,skipBrowserRedirect:!0});return await oe(this.fetch,"GET",x,{headers:this.headers,jwt:(w=(y=S.session)===null||y===void 0?void 0:y.access_token)!==null&&w!==void 0?w:void 0})});if(c)throw c;return Dt()&&!(!((r=n.options)===null||r===void 0)&&r.skipBrowserRedirect)&&window.location.assign(l?.url),this._returnResult({data:{provider:n.provider,url:l?.url},error:null})}catch(l){if(ie(l))return this._returnResult({data:{provider:n.provider,url:null},error:l});throw l}}async linkIdentityIdToken(n){return await this._useSession(async r=>{var l;try{const{error:c,data:{session:d}}=r;if(c)throw c;const{options:h,provider:m,token:f,access_token:y,nonce:w}=n,S=await oe(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(l=d?.access_token)!==null&&l!==void 0?l:void 0,body:{provider:m,id_token:f,access_token:y,nonce:w,link_identity:!0,gotrue_meta_security:{captcha_token:h?.captchaToken}},xform:En}),{data:T,error:x}=S;return x?this._returnResult({data:{user:null,session:null},error:x}):!T||!T.session||!T.user?this._returnResult({data:{user:null,session:null},error:new es}):(T.session&&(await this._saveSession(T.session),await this._notifyAllSubscribers("USER_UPDATED",T.session)),this._returnResult({data:T,error:x}))}catch(c){if(await ft(this.storage,`${this.storageKey}-code-verifier`),ie(c))return this._returnResult({data:{user:null,session:null},error:c});throw c}})}async unlinkIdentity(n){try{return await this._useSession(async r=>{var l,c;const{data:d,error:h}=r;if(h)throw h;return await oe(this.fetch,"DELETE",`${this.url}/user/identities/${n.identity_id}`,{headers:this.headers,jwt:(c=(l=d.session)===null||l===void 0?void 0:l.access_token)!==null&&c!==void 0?c:void 0})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _refreshAccessToken(n){const r="#_refreshAccessToken()";this._debug(r,"begin");try{const l=Date.now();return await qw(async c=>(c>0&&await $w(200*Math.pow(2,c-1)),this._debug(r,"refreshing attempt",c),await oe(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:n},headers:this.headers,xform:En})),(c,d)=>{const h=200*Math.pow(2,c);return d&&Jp(d)&&Date.now()+h-l<ja})}catch(l){if(this._debug(r,"error",l),ie(l))return this._returnResult({data:{session:null,user:null},error:l});throw l}finally{this._debug(r,"end")}}_isValidSession(n){return typeof n=="object"&&n!==null&&"access_token"in n&&"refresh_token"in n&&"expires_at"in n}async _handleProviderSignIn(n,r){const l=await this._getUrlForProvider(`${this.url}/authorize`,n,{redirectTo:r.redirectTo,scopes:r.scopes,queryParams:r.queryParams});return this._debug("#_handleProviderSignIn()","provider",n,"options",r,"url",l),Dt()&&!r.skipBrowserRedirect&&window.location.assign(l),{data:{provider:n,url:l},error:null}}async _recoverAndRefresh(){var n,r;const l="#_recoverAndRefresh()";this._debug(l,"begin");try{const c=await zn(this.storage,this.storageKey);if(c&&this.userStorage){let h=await zn(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!h&&(h={user:c.user},await os(this.userStorage,this.storageKey+"-user",h)),c.user=(n=h?.user)!==null&&n!==void 0?n:yh()}else if(c&&!c.user&&!c.user){const h=await zn(this.storage,this.storageKey+"-user");h&&h?.user?(c.user=h.user,await ft(this.storage,this.storageKey+"-user"),await os(this.storage,this.storageKey,c)):c.user=yh()}if(this._debug(l,"session from storage",c),!this._isValidSession(c)){this._debug(l,"session is not valid"),c!==null&&await this._removeSession();return}const d=((r=c.expires_at)!==null&&r!==void 0?r:1/0)*1e3-Date.now()<ph;if(this._debug(l,`session has${d?"":" not"} expired with margin of ${ph}s`),d){if(this.autoRefreshToken&&c.refresh_token){const{error:h}=await this._callRefreshToken(c.refresh_token);h&&(jw(h)?this._debug(l,"refresh discarded by commit guard",h):this._debug(l,"refresh failed",h))}}else if(c.user&&c.user.__isUserNotAvailableProxy===!0)try{const{data:h,error:m}=await this._getUser(c.access_token);!m&&h?.user?(c.user=h.user,await this._saveSession(c),await this._notifyAllSubscribers("SIGNED_IN",c)):this._debug(l,"could not get user data, skipping SIGNED_IN notification")}catch(h){console.error("Error getting user data:",h),this._debug(l,"error getting user data, skipping SIGNED_IN notification",h)}else await this._notifyAllSubscribers("SIGNED_IN",c)}catch(c){this._debug(l,"error",c),console.error(c);return}finally{this._debug(l,"end")}}async _callRefreshToken(n){var r,l;if(!n)throw new kt;if(this.refreshingDeferred)return this.refreshingDeferred.promise;if(this.lastRefreshFailure&&this.lastRefreshFailure.refreshToken===n&&Date.now()<this.lastRefreshFailure.expiresAt)return this._debug("#_callRefreshToken()","returning cached failure (cooldown active)"),this.lastRefreshFailure.result;const c="#_callRefreshToken()";this._debug(c,"begin");try{this.refreshingDeferred=new zc;const d=await zn(this.storage,this.storageKey),{data:h,error:m}=await this._refreshAccessToken(n);if(m)throw m;if(!h.session)throw new kt;const f=await zn(this.storage,this.storageKey);if(d!==null&&(f===null||f.refresh_token!==d.refresh_token)){this._debug(c,"commit guard: storage changed since refresh started, discarding rotated tokens",{startedWith:"present",nowHolds:f?"replaced":"cleared"});const T={data:null,error:new Xp};return this.refreshingDeferred.resolve(T),T}const w=this._sessionRemovalEpoch;if(await this._saveSession(h.session),this._sessionRemovalEpoch!==w){this._debug(c,"commit guard (post-save): _removeSession ran during _saveSession, undoing write"),await ft(this.storage,this.storageKey),this.userStorage&&await ft(this.userStorage,this.storageKey+"-user");const T={data:null,error:new Xp};return this.refreshingDeferred.resolve(T),T}await this._notifyAllSubscribers("TOKEN_REFRESHED",h.session);const S={data:h.session,error:null};return this.lastRefreshFailure=null,this.refreshingDeferred.resolve(S),S}catch(d){if(this._debug(c,"error",d),ie(d)){const h={data:null,error:d};if(!Jp(d)){const m=await zn(this.storage,this.storageKey);!!(m?.expires_at&&m.expires_at*1e3>Date.now())?this._debug(c,"proactive refresh failed, access token still valid — preserving session"):await this._removeSession()}return this.lastRefreshFailure={refreshToken:n,result:h,expiresAt:Date.now()+ww},(r=this.refreshingDeferred)===null||r===void 0||r.resolve(h),h}throw(l=this.refreshingDeferred)===null||l===void 0||l.reject(d),d}finally{this.refreshingDeferred=null,this._debug(c,"end")}}async _notifyAllSubscribers(n,r,l=!0){const c=`#_notifyAllSubscribers(${n})`;this._debug(c,"begin",r,`broadcast = ${l}`);try{this.broadcastChannel&&l&&this.broadcastChannel.postMessage({event:n,session:r});const d=[],h=Array.from(this.stateChangeEmitters.values()).map(async m=>{try{await m.callback(n,r)}catch(f){d.push(f)}});if(await Promise.all(h),d.length>0){for(let m=0;m<d.length;m+=1)console.error(d[m]);throw d[0]}}finally{this._debug(c,"end")}}async _saveSession(n){this._debug("#_saveSession()",n),this.suppressGetSessionWarning=!0,await ft(this.storage,`${this.storageKey}-code-verifier`);const r=Object.assign({},n),l=r.user&&r.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!l&&r.user&&await os(this.userStorage,this.storageKey+"-user",{user:r.user});const c=Object.assign({},r);delete c.user;const d=ny(c);await os(this.storage,this.storageKey,d)}else{const c=ny(r);await os(this.storage,this.storageKey,c)}}async _removeSession(){this._sessionRemovalEpoch+=1,this._debug("#_removeSession()"),this.lastRefreshFailure=null,this.suppressGetSessionWarning=!1,await ft(this.storage,this.storageKey),await ft(this.storage,this.storageKey+"-code-verifier"),await ft(this.storage,this.storageKey+"-user"),this.userStorage&&await ft(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const n=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{n&&Dt()&&window?.removeEventListener&&window.removeEventListener("visibilitychange",n)}catch(r){console.error("removing visibilitychange callback failed",r)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const n=setInterval(()=>this._autoRefreshTokenTick(),ja);this.autoRefreshTicker=n,n&&typeof n=="object"&&typeof n.unref=="function"?n.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(n);const r=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=r,r&&typeof r=="object"&&typeof r.unref=="function"?r.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(r)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const n=this.autoRefreshTicker;this.autoRefreshTicker=null,n&&clearInterval(n);const r=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,r&&clearTimeout(r)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async dispose(){var n;this._removeVisibilityChangedCallback(),await this._stopAutoRefresh(),(n=this.broadcastChannel)===null||n===void 0||n.close(),this.broadcastChannel=null,this.stateChangeEmitters.clear()}async _autoRefreshTokenTick(){if(this._debug("#_autoRefreshTokenTick()","begin"),this.lock!=null){try{await this._acquireLock(0,async()=>{try{const n=Date.now();try{return await this._useSession(async r=>{const{data:{session:l}}=r;if(!l||!l.refresh_token||!l.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const c=Math.floor((l.expires_at*1e3-n)/ja);this._debug("#_autoRefreshTokenTick()",`access token expires in ${c} ticks, a tick lasts ${ja}ms, refresh threshold is ${Cl} ticks`),c<=Cl&&await this._callRefreshToken(l.refresh_token)})}catch(r){console.error("Auto refresh tick failed with error. This is likely a transient error.",r)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(n){if(n instanceof s_)this._debug("auto refresh token tick lock not available");else throw n}return}if(this.refreshingDeferred!==null){this._debug("#_autoRefreshTokenTick()","refresh already in flight, skipping");return}try{const n=Date.now();try{await this._useSession(async r=>{const{data:{session:l}}=r;if(!l||!l.refresh_token||!l.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const c=Math.floor((l.expires_at*1e3-n)/ja);this._debug("#_autoRefreshTokenTick()",`access token expires in ${c} ticks, a tick lasts ${ja}ms, refresh threshold is ${Cl} ticks`),c<=Cl&&await this._callRefreshToken(l.refresh_token)})}catch(r){console.error("Auto refresh tick failed with error. This is likely a transient error.",r)}}finally{this._debug("#_autoRefreshTokenTick()","end")}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!Dt()||!window?.addEventListener)return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(n){this._debug("#visibilityChangedCallback","error",n)}},window?.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(n){console.error("_handleVisibilityChange",n)}}async _onVisibilityChanged(n){const r=`#_onVisibilityChanged(${n})`;if(this._debug(r,"visibilityState",document.visibilityState),document.visibilityState==="visible"){if(this.autoRefreshToken&&this._startAutoRefresh(),!n)if(await this.initializePromise,this.lock!=null)await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(r,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()});else{if(document.visibilityState!=="visible"){this._debug(r,"visibilityState is no longer visible, skipping recovery");return}await this._recoverAndRefresh()}}else document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(n,r,l){const c=[`provider=${encodeURIComponent(r)}`];if(l?.redirectTo&&c.push(`redirect_to=${encodeURIComponent(l.redirectTo)}`),l?.scopes&&c.push(`scopes=${encodeURIComponent(l.scopes)}`),this.flowType==="pkce"){const[d,h]=await er(this.storage,this.storageKey),m=new URLSearchParams({code_challenge:`${encodeURIComponent(d)}`,code_challenge_method:`${encodeURIComponent(h)}`});c.push(m.toString())}if(l?.queryParams){const d=new URLSearchParams(l.queryParams);c.push(d.toString())}return l?.skipBrowserRedirect&&c.push(`skip_http_redirect=${l.skipBrowserRedirect}`),`${n}?${c.join("&")}`}async _unenroll(n){try{return await this._useSession(async r=>{var l;const{data:c,error:d}=r;return d?this._returnResult({data:null,error:d}):await oe(this.fetch,"DELETE",`${this.url}/factors/${n.factorId}`,{headers:this.headers,jwt:(l=c?.session)===null||l===void 0?void 0:l.access_token})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _enroll(n){try{return await this._useSession(async r=>{var l,c;const{data:d,error:h}=r;if(h)return this._returnResult({data:null,error:h});const m=Object.assign({friendly_name:n.friendlyName,factor_type:n.factorType},n.factorType==="phone"?{phone:n.phone}:n.factorType==="totp"?{issuer:n.issuer}:{}),{data:f,error:y}=await oe(this.fetch,"POST",`${this.url}/factors`,{body:m,headers:this.headers,jwt:(l=d?.session)===null||l===void 0?void 0:l.access_token});return y?this._returnResult({data:null,error:y}):(n.factorType==="totp"&&f.type==="totp"&&(!((c=f?.totp)===null||c===void 0)&&c.qr_code)&&(f.totp.qr_code=`data:image/svg+xml;utf-8,${f.totp.qr_code}`),this._returnResult({data:f,error:null}))})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _verify(n){const r=async()=>{try{return await this._useSession(async l=>{var c;const{data:d,error:h}=l;if(h)return this._returnResult({data:null,error:h});const m=Object.assign({challenge_id:n.challengeId},"webauthn"in n?{webauthn:Object.assign(Object.assign({},n.webauthn),{credential_response:n.webauthn.type==="create"?cy(n.webauthn.credential_response):uy(n.webauthn.credential_response)})}:{code:n.code}),{data:f,error:y}=await oe(this.fetch,"POST",`${this.url}/factors/${n.factorId}/verify`,{body:m,headers:this.headers,jwt:(c=d?.session)===null||c===void 0?void 0:c.access_token});return y?this._returnResult({data:null,error:y}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+f.expires_in},f)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",f),this._returnResult({data:f,error:y}))})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,r):r()}async _challenge(n){const r=async()=>{try{return await this._useSession(async l=>{var c;const{data:d,error:h}=l;if(h)return this._returnResult({data:null,error:h});const m=await oe(this.fetch,"POST",`${this.url}/factors/${n.factorId}/challenge`,{body:n,headers:this.headers,jwt:(c=d?.session)===null||c===void 0?void 0:c.access_token});if(m.error)return m;const{data:f}=m;if(f.type!=="webauthn")return{data:f,error:null};switch(f.webauthn.type){case"create":return{data:Object.assign(Object.assign({},f),{webauthn:Object.assign(Object.assign({},f.webauthn),{credential_options:Object.assign(Object.assign({},f.webauthn.credential_options),{publicKey:ly(f.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},f),{webauthn:Object.assign(Object.assign({},f.webauthn),{credential_options:Object.assign(Object.assign({},f.webauthn.credential_options),{publicKey:oy(f.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}};return this.lock!=null?this._acquireLock(this.lockAcquireTimeout,r):r()}async _challengeAndVerify(n){const{data:r,error:l}=await this._challenge({factorId:n.factorId});return l?this._returnResult({data:null,error:l}):await this._verify({factorId:n.factorId,challengeId:r.id,code:n.code})}async _listFactors(){var n;const{data:{user:r},error:l}=await this.getUser();if(l)return{data:null,error:l};const c={all:[],phone:[],totp:[],webauthn:[]};for(const d of(n=r?.factors)!==null&&n!==void 0?n:[])c.all.push(d),d.status==="verified"&&c[d.factor_type].push(d);return{data:c,error:null}}async _getAuthenticatorAssuranceLevel(n){var r,l,c,d;if(n)try{const{payload:x}=Sc(n);let R=null;x.aal&&(R=x.aal);let z=R;const{data:{user:G},error:V}=await this.getUser(n);if(V)return this._returnResult({data:null,error:V});((l=(r=G?.factors)===null||r===void 0?void 0:r.filter(ee=>ee.status==="verified"))!==null&&l!==void 0?l:[]).length>0&&(z="aal2");const F=x.amr||[];return{data:{currentLevel:R,nextLevel:z,currentAuthenticationMethods:F},error:null}}catch(x){if(ie(x))return this._returnResult({data:null,error:x});throw x}const{data:{session:h},error:m}=await this.getSession();if(m)return this._returnResult({data:null,error:m});if(!h)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:f}=Sc(h.access_token);let y=null;f.aal&&(y=f.aal);let w=y;((d=(c=h.user.factors)===null||c===void 0?void 0:c.filter(x=>x.status==="verified"))!==null&&d!==void 0?d:[]).length>0&&(w="aal2");const T=f.amr||[];return{data:{currentLevel:y,nextLevel:w,currentAuthenticationMethods:T},error:null}}async _getAuthorizationDetails(n){try{return await this._useSession(async r=>{const{data:{session:l},error:c}=r;return c?this._returnResult({data:null,error:c}):l?await oe(this.fetch,"GET",`${this.url}/oauth/authorizations/${n}`,{headers:this.headers,jwt:l.access_token,xform:d=>({data:d,error:null})}):this._returnResult({data:null,error:new kt})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _approveAuthorization(n,r){try{return await this._useSession(async l=>{const{data:{session:c},error:d}=l;if(d)return this._returnResult({data:null,error:d});if(!c)return this._returnResult({data:null,error:new kt});const h=await oe(this.fetch,"POST",`${this.url}/oauth/authorizations/${n}/consent`,{headers:this.headers,jwt:c.access_token,body:{action:"approve"},xform:m=>({data:m,error:null})});return h.data&&h.data.redirect_url&&Dt()&&!r?.skipBrowserRedirect&&window.location.assign(h.data.redirect_url),h})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}}async _denyAuthorization(n,r){try{return await this._useSession(async l=>{const{data:{session:c},error:d}=l;if(d)return this._returnResult({data:null,error:d});if(!c)return this._returnResult({data:null,error:new kt});const h=await oe(this.fetch,"POST",`${this.url}/oauth/authorizations/${n}/consent`,{headers:this.headers,jwt:c.access_token,body:{action:"deny"},xform:m=>({data:m,error:null})});return h.data&&h.data.redirect_url&&Dt()&&!r?.skipBrowserRedirect&&window.location.assign(h.data.redirect_url),h})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}}async _listOAuthGrants(){try{return await this._useSession(async n=>{const{data:{session:r},error:l}=n;return l?this._returnResult({data:null,error:l}):r?await oe(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:r.access_token,xform:c=>({data:c,error:null})}):this._returnResult({data:null,error:new kt})})}catch(n){if(ie(n))return this._returnResult({data:null,error:n});throw n}}async _revokeOAuthGrant(n){try{return await this._useSession(async r=>{const{data:{session:l},error:c}=r;return c?this._returnResult({data:null,error:c}):l?(await oe(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:l.access_token,query:{client_id:n.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new kt})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async fetchJwk(n,r={keys:[]}){let l=r.keys.find(m=>m.kid===n);if(l)return l;const c=Date.now();if(l=this.jwks.keys.find(m=>m.kid===n),l&&this.jwks_cached_at+Ew>c)return l;const{data:d,error:h}=await oe(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(h)throw h;return!d.keys||d.keys.length===0||(this.jwks=d,this.jwks_cached_at=c,l=d.keys.find(m=>m.kid===n),!l)?null:l}async getClaims(n,r={}){try{let l=n;if(!l){const{data:x,error:R}=await this.getSession();if(R||!x.session)return this._returnResult({data:null,error:R});l=x.session.access_token}const{header:c,payload:d,signature:h,raw:{header:m,payload:f}}=Sc(l);if(!r?.allowExpired)try{Ww(d.exp)}catch(x){throw new xc(x instanceof Error?x.message:"JWT validation failed")}const y=!c.alg||c.alg.startsWith("HS")||!c.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(c.kid,r?.keys?{keys:r.keys}:r?.jwks);if(!y){const{error:x}=await this.getUser(l);if(x)throw x;return{data:{claims:d,header:c,signature:h},error:null}}const w=Jw(c.alg),S=await crypto.subtle.importKey("jwk",y,w,!0,["verify"]);if(!await crypto.subtle.verify(w,S,h,Uw(`${m}.${f}`)))throw new xc("Invalid JWT signature");return{data:{claims:d,header:c,signature:h},error:null}}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}}async signInWithPasskey(n){var r,l,c;Pn(this.experimental);try{if(!Oc())return this._returnResult({data:null,error:new qn("Browser does not support WebAuthn",null)});const{data:d,error:h}=await this._startPasskeyAuthentication({options:{captchaToken:(r=n?.options)===null||r===void 0?void 0:r.captchaToken}});if(h||!d)return this._returnResult({data:null,error:h});const m=oy(d.options),f=(c=(l=n?.options)===null||l===void 0?void 0:l.signal)!==null&&c!==void 0?c:qh.createNewAbortSignal(),{data:y,error:w}=await sv({publicKey:m,signal:f});if(w||!y)return this._returnResult({data:null,error:w??new qn("WebAuthn ceremony failed",null)});const S=uy(y);return this._verifyPasskeyAuthentication({challengeId:d.challenge_id,credential:S})}catch(d){if(ie(d))return this._returnResult({data:null,error:d});throw d}}async registerPasskey(n){var r,l;Pn(this.experimental);try{if(!Oc())return this._returnResult({data:null,error:new qn("Browser does not support WebAuthn",null)});const{data:c,error:d}=await this._startPasskeyRegistration();if(d||!c)return this._returnResult({data:null,error:d});const h=ly(c.options),m=(l=(r=n?.options)===null||r===void 0?void 0:r.signal)!==null&&l!==void 0?l:qh.createNewAbortSignal(),{data:f,error:y}=await rv({publicKey:h,signal:m});if(y||!f)return this._returnResult({data:null,error:y??new qn("WebAuthn ceremony failed",null)});const w=cy(f);return this._verifyPasskeyRegistration({challengeId:c.challenge_id,credential:w})}catch(c){if(ie(c))return this._returnResult({data:null,error:c});throw c}}async _startPasskeyRegistration(){Pn(this.experimental);try{return await this._useSession(async n=>{const{data:{session:r},error:l}=n;if(l)return this._returnResult({data:null,error:l});if(!r)return this._returnResult({data:null,error:new kt});const{data:c,error:d}=await oe(this.fetch,"POST",`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:r.access_token,body:{}});return d?this._returnResult({data:null,error:d}):this._returnResult({data:c,error:null})})}catch(n){if(ie(n))return this._returnResult({data:null,error:n});throw n}}async _verifyPasskeyRegistration(n){Pn(this.experimental);try{return await this._useSession(async r=>{const{data:{session:l},error:c}=r;if(c)return this._returnResult({data:null,error:c});if(!l)return this._returnResult({data:null,error:new kt});const{data:d,error:h}=await oe(this.fetch,"POST",`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:l.access_token,body:{challenge_id:n.challengeId,credential:n.credential}});return h?this._returnResult({data:null,error:h}):this._returnResult({data:d,error:null})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _startPasskeyAuthentication(n){var r;Pn(this.experimental);try{const{data:l,error:c}=await oe(this.fetch,"POST",`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:(r=n?.options)===null||r===void 0?void 0:r.captchaToken}}});return c?this._returnResult({data:null,error:c}):this._returnResult({data:l,error:null})}catch(l){if(ie(l))return this._returnResult({data:null,error:l});throw l}}async _verifyPasskeyAuthentication(n){Pn(this.experimental);try{const{data:r,error:l}=await oe(this.fetch,"POST",`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:n.challengeId,credential:n.credential},xform:En});return l?this._returnResult({data:null,error:l}):(r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",r.session)),this._returnResult({data:r,error:null}))}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _listPasskeys(){Pn(this.experimental);try{return await this._useSession(async n=>{const{data:{session:r},error:l}=n;if(l)return this._returnResult({data:null,error:l});if(!r)return this._returnResult({data:null,error:new kt});const{data:c,error:d}=await oe(this.fetch,"GET",`${this.url}/passkeys`,{headers:this.headers,jwt:r.access_token,xform:h=>({data:h,error:null})});return d?this._returnResult({data:null,error:d}):this._returnResult({data:c,error:null})})}catch(n){if(ie(n))return this._returnResult({data:null,error:n});throw n}}async _updatePasskey(n){Pn(this.experimental);try{return await this._useSession(async r=>{const{data:{session:l},error:c}=r;if(c)return this._returnResult({data:null,error:c});if(!l)return this._returnResult({data:null,error:new kt});const{data:d,error:h}=await oe(this.fetch,"PATCH",`${this.url}/passkeys/${n.passkeyId}`,{headers:this.headers,jwt:l.access_token,body:{friendly_name:n.friendlyName}});return h?this._returnResult({data:null,error:h}):this._returnResult({data:d,error:null})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}async _deletePasskey(n){Pn(this.experimental);try{return await this._useSession(async r=>{const{data:{session:l},error:c}=r;if(c)return this._returnResult({data:null,error:c});if(!l)return this._returnResult({data:null,error:new kt});const{error:d}=await oe(this.fetch,"DELETE",`${this.url}/passkeys/${n.passkeyId}`,{headers:this.headers,jwt:l.access_token,noResolveJson:!0});return d?this._returnResult({data:null,error:d}):this._returnResult({data:null,error:null})})}catch(r){if(ie(r))return this._returnResult({data:null,error:r});throw r}}}Kl.nextInstanceID={};const S_=Kl,w_="2.110.0";let Rl="",Nc;if(typeof Deno<"u"){var bh;Rl="deno",Nc=(bh=Deno.version)===null||bh===void 0?void 0:bh.deno}else if(typeof document<"u")Rl="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")Rl="react-native";else{var Sh;Rl="node",Nc=typeof process<"u"?(Sh=process.version)===null||Sh===void 0?void 0:Sh.replace(/^v/,""):void 0}const lv=[`runtime=${Rl}`];Nc&&lv.push(`runtime-version=${Nc}`);const __={"X-Client-Info":`supabase-js/${w_}; ${lv.join("; ")}`},T_={headers:__},k_={schema:"public"},A_={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},E_={},x_={enabled:!1,respectSamplingDecision:!0};function C_(i,n,r,l){function c(d){return d instanceof r?d:new r(function(h){h(d)})}return new(r||(r=Promise))(function(d,h){function m(w){try{y(l.next(w))}catch(S){h(S)}}function f(w){try{y(l.throw(w))}catch(S){h(S)}}function y(w){w.done?d(w.value):c(w.value).then(m,f)}y((l=l.apply(i,[])).next())})}let wh=null;const R_="@opentelemetry/api";function O_(){return wh===null&&(wh=import(R_).catch(()=>null)),wh}function j_(){return C_(this,void 0,void 0,function*(){try{const i=yield O_();if(!i||!i.propagation||!i.context)return null;const n={};i.propagation.inject(i.context.active(),n);const r=n.traceparent;return r?{traceparent:r,tracestate:n.tracestate,baggage:n.baggage}:null}catch{return null}})}function N_(i){if(!i||typeof i!="string")return null;const n=i.split("-");if(n.length!==4)return null;const[r,l,c,d]=n;if(r.length!==2||l.length!==32||c.length!==16||d.length!==2)return null;const h=/^[0-9a-f]+$/i;return!h.test(r)||!h.test(l)||!h.test(c)||!h.test(d)||l==="00000000000000000000000000000000"||c==="0000000000000000"?null:{version:r,traceId:l,parentId:c,traceFlags:d,isSampled:(parseInt(d,16)&1)===1}}function L_(i,n){if(!i||!n||n.length===0)return!1;let r;if(i instanceof URL)r=i;else try{r=new URL(i)}catch{return!1}for(const l of n)try{if(typeof l=="string"){if(M_(r.hostname,l))return!0}else if(l instanceof RegExp){if(l.test(r.hostname))return!0}else if(typeof l=="function"&&l(r))return!0}catch{continue}return!1}function M_(i,n){if(n===i)return!0;if(n.startsWith("*.")){const r=n.slice(2);if(i.endsWith(r)&&(i===r||i.endsWith("."+r)))return!0}return!1}function D_(i){const n=[];try{const r=new URL(i);n.push(r.hostname)}catch{}return n.push("*.supabase.co","*.supabase.in"),n.push("localhost","127.0.0.1","[::1]"),n}function Fl(i){"@babel/helpers - typeof";return Fl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Fl(i)}function U_(i,n){if(Fl(i)!="object"||!i)return i;var r=i[Symbol.toPrimitive];if(r!==void 0){var l=r.call(i,n);if(Fl(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(i)}function z_(i){var n=U_(i,"string");return Fl(n)=="symbol"?n:n+""}function B_(i,n,r){return(n=z_(n))in i?Object.defineProperty(i,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[n]=r,i}function dy(i,n){var r=Object.keys(i);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(i);n&&(l=l.filter(function(c){return Object.getOwnPropertyDescriptor(i,c).enumerable})),r.push.apply(r,l)}return r}function ct(i){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?dy(Object(r),!0).forEach(function(l){B_(i,l,r[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(r)):dy(Object(r)).forEach(function(l){Object.defineProperty(i,l,Object.getOwnPropertyDescriptor(r,l))})}return i}const P_=i=>i?(...n)=>i(...n):(...n)=>fetch(...n),H_=()=>Headers,$_=(i,n,r,l,c)=>{const d=P_(l),h=H_(),m=c?.enabled===!0,f=c?.respectSamplingDecision!==!1,y=m?D_(n):null;return async(w,S)=>{var T;const x=(T=await r())!==null&&T!==void 0?T:i;let R=new h(S?.headers);if(R.has("apikey")||R.set("apikey",i),R.has("Authorization")||R.set("Authorization",`Bearer ${x}`),y){const z=await q_(w,y,f);z&&(z.traceparent&&!R.has("traceparent")&&R.set("traceparent",z.traceparent),z.tracestate&&!R.has("tracestate")&&R.set("tracestate",z.tracestate),z.baggage&&!R.has("baggage")&&R.set("baggage",z.baggage))}return d(w,ct(ct({},S),{},{headers:R}))}};async function q_(i,n,r){if(!L_(typeof i=="string"||i instanceof URL?i:i.url,n))return null;const l=await j_();if(!l||!l.traceparent)return null;if(r){const c=N_(l.traceparent);if(c&&!c.isSampled)return null}return l}function hy(i){return typeof i=="boolean"?{enabled:i}:i}function I_(i){return i.endsWith("/")?i:i+"/"}function G_(i,n){var r,l,c,d,h,m;const{db:f,auth:y,realtime:w,global:S}=i,{db:T,auth:x,realtime:R,global:z}=n,G=hy(i.tracePropagation),V=hy(n.tracePropagation),I={db:ct(ct({},T),f),auth:ct(ct({},x),y),realtime:ct(ct({},R),w),storage:{},global:ct(ct(ct({},z),S),{},{headers:ct(ct({},(r=z?.headers)!==null&&r!==void 0?r:{}),(l=S?.headers)!==null&&l!==void 0?l:{})}),tracePropagation:{enabled:(c=(d=G?.enabled)!==null&&d!==void 0?d:V?.enabled)!==null&&c!==void 0?c:!1,respectSamplingDecision:(h=(m=G?.respectSamplingDecision)!==null&&m!==void 0?m:V?.respectSamplingDecision)!==null&&h!==void 0?h:!0},accessToken:async()=>""};return i.accessToken?I.accessToken=i.accessToken:delete I.accessToken,I}function V_(i){const n=i?.trim();if(!n)throw new Error("supabaseUrl is required.");if(!n.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(I_(n))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var K_=class extends S_{constructor(i){super(i)}},F_=class{constructor(i,n,r){var l,c;this.supabaseUrl=i,this.supabaseKey=n;const d=V_(i);if(!n)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",d),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",d),this.storageUrl=new URL("storage/v1",d),this.functionsUrl=new URL("functions/v1",d);const h=`sb-${d.hostname.split(".")[0]}-auth-token`,m={db:k_,realtime:E_,auth:ct(ct({},A_),{},{storageKey:h}),global:T_,tracePropagation:x_},f=G_(r??{},m);if(this.settings=f,this.storageKey=(l=f.auth.storageKey)!==null&&l!==void 0?l:"",this.headers=(c=f.global.headers)!==null&&c!==void 0?c:{},f.accessToken)this.accessToken=f.accessToken,this.auth=new Proxy({},{get:(w,S)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(S)} is not possible`)}});else{var y;this.auth=this._initSupabaseAuthClient((y=f.auth)!==null&&y!==void 0?y:{},this.headers,f.global.fetch)}this.fetch=$_(n,i,this._getAccessToken.bind(this),f.global.fetch,f.tracePropagation),this.realtime=this._initRealtimeClient(ct({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},f.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(w=>this.realtime.setAuth(w)).catch(w=>console.warn("Failed to set initial Realtime auth token:",w)),this.rest=new nS(new URL("rest/v1",d).href,{headers:this.headers,schema:f.db.schema,fetch:this.fetch,timeout:f.db.timeout,urlLengthLimit:f.db.urlLengthLimit}),this.storage=new Sw(this.storageUrl.href,this.headers,this.fetch,r?.storage),f.accessToken||this._listenForAuthEvents()}get functions(){return new Fb(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(i){return this.rest.from(i)}schema(i){return this.rest.schema(i)}rpc(i,n={},r={head:!1,get:!1,count:void 0}){return this.rest.rpc(i,n,r)}channel(i,n={config:{}}){return this.realtime.channel(i,n)}getChannels(){return this.realtime.getChannels()}removeChannel(i){return this.realtime.removeChannel(i)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var i=this,n,r;if(i.accessToken)return await i.accessToken();const{data:l}=await i.auth.getSession();return(n=(r=l.session)===null||r===void 0?void 0:r.access_token)!==null&&n!==void 0?n:i.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:i,persistSession:n,detectSessionInUrl:r,storage:l,userStorage:c,storageKey:d,flowType:h,lock:m,debug:f,throwOnError:y,experimental:w,lockAcquireTimeout:S,skipAutoInitialize:T},x,R){const z={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new K_({url:this.authUrl.href,headers:ct(ct({},z),x),storageKey:d,autoRefreshToken:i,persistSession:n,detectSessionInUrl:r,storage:l,userStorage:c,flowType:h,lock:m,debug:f,throwOnError:y,experimental:w,fetch:R,lockAcquireTimeout:S,skipAutoInitialize:T,hasCustomAuthorizationHeader:Object.keys(this.headers).some(G=>G.toLowerCase()==="authorization")})}_initRealtimeClient(i){return new GS(this.realtimeUrl.href,ct(ct({},i),{},{params:ct(ct({},{apikey:this.supabaseKey}),i?.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((i,n)=>{this._handleTokenChanged(i,"CLIENT",n?.access_token)})}_handleTokenChanged(i,n,r){(i==="TOKEN_REFRESHED"||i==="SIGNED_IN")&&this.changedAccessToken!==r?(this.changedAccessToken=r,this.realtime.setAuth(r)):i==="SIGNED_OUT"&&(this.realtime.setAuth(),n=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const Y_=(i,n,r)=>new F_(i,n,r);function W_(){if(typeof window<"u")return!1;const i=globalThis.process;if(!i)return!1;const n=i.version;if(n==null)return!1;const r=n.match(/^v(\d+)\./);return r?parseInt(r[1],10)<=20:!1}W_()&&console.warn("⚠️ Node.js 20 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 22 or later. For more information, visit: https://github.com/orgs/supabase/discussions/45715");const J_="https://otbyfkjxrkngvjziawki.supabase.co",X_="sb_publishable_NpUs0RDJH2YnllsqTKO6TQ_1jTdSsNQ",ea=Y_(J_,X_,{auth:{autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"pkce",storageKey:"livedesk.mindexec.supabase.auth"}}),Dl=new WeakMap,fy=new WeakMap,Ih=2,Q_=0,Z_=250;let fs={h264DecodeAcceleration:"prefer-software"};function e1(i){i.h264DecodeAcceleration&&(fs={...fs,h264DecodeAcceleration:i.h264DecodeAcceleration})}function Gh(i,n,r){try{let l=fy.get(i);l||(l={canvas:document.createElement("canvas"),lastHash:"",initialized:!1},fy.set(i,l));const c=64,d=Math.max(1,Math.round(c*Math.max(1,r)/Math.max(1,n)));(l.canvas.width!==c||l.canvas.height!==d)&&(l.canvas.width=c,l.canvas.height=d);const h=l.canvas.getContext("2d",{willReadFrequently:!0});if(!h)return{visualHash:"",visualChanged:!0};h.drawImage(i,0,0,Math.max(1,n),Math.max(1,r),0,0,c,d);const m=h.getImageData(0,0,c,d).data;let f=2166136261;for(let S=0;S<m.length;S+=4)f^=m[S],f=Math.imul(f,16777619),f^=m[S+1],f=Math.imul(f,16777619),f^=m[S+2],f=Math.imul(f,16777619);const y=(f>>>0).toString(16).padStart(8,"0"),w=!l.initialized||y!==l.lastHash;return l.initialized=!0,l.lastHash=y,{visualHash:y,visualChanged:w}}catch{return{visualHash:"",visualChanged:!0}}}function t1(i){return String(i.frameMode||i.mode||"").toLowerCase()==="mode2-lz4"||String(i.compression||"").toLowerCase()==="lz4"||String(i.mimeType||"").toLowerCase()==="application/vnd.livedesk.lz4-raw"}function n1(i){return String(i.frameMode||i.mode||"").toLowerCase()==="mode3-h264-hw"||String(i.codec||"").toLowerCase()==="h264"||String(i.mimeType||"").toLowerCase()==="video/h264"}function my(i,n,r){let l=r,c=n;if(l===15){let d=255;for(;d===255;){if(c>=i.length)throw new Error("Invalid LZ4 block: length overrun.");d=i[c],c+=1,l+=d}}return{length:l,cursor:c}}function a1(i,n){const r=new Uint8Array(n);let l=0,c=0;for(;l<i.length;){const d=i[l];l+=1;const h=my(i,l,d>>4);l=h.cursor;const m=h.length;if(l+m>i.length||c+m>r.length)throw new Error("Invalid LZ4 block: literal overrun.");if(r.set(i.subarray(l,l+m),c),l+=m,c+=m,l>=i.length)break;if(l+2>i.length)throw new Error("Invalid LZ4 block: missing offset.");const f=i[l]|i[l+1]<<8;if(l+=2,f<=0||f>c)throw new Error("Invalid LZ4 block: bad match offset.");const y=my(i,l,d&15);l=y.cursor;const w=y.length+4;if(c+w>r.length)throw new Error("Invalid LZ4 block: match overrun.");let S=c-f;for(let T=0;T<w;T+=1)r[c]=r[S],c+=1,S+=1}if(c!==r.length)throw new Error("Invalid LZ4 block: incomplete output.");return r}function i1(i){const n=Math.max(1,Math.floor(i.width||0)),r=Math.max(1,Math.floor(i.height||0)),l=Math.max(1,Math.floor(i.bytesPerPixel||4)),c=Math.max(n*r*l,Math.floor(i.uncompressedByteLength||0)),d=a1(new Uint8Array(i.payload),c),h=String(i.pixelFormat||i.codec||"").toLowerCase();if(l!==4)throw new Error(`Unsupported mode2 pixel size: ${l}`);const m=new Uint8ClampedArray(n*r*4);if(h==="rgba32"||h==="rgba")m.set(d.subarray(0,m.length));else for(let f=0,y=0;y<m.length;f+=4,y+=4)m[y]=d[f+2],m[y+1]=d[f+1],m[y+2]=d[f],m[y+3]=d[f+3];return new ImageData(m,n,r)}function gy(i){const n=window.VideoDecoder;if(!n||!window.EncodedVideoChunk)throw new Error("WebCodecs H.264 decode is not supported in this browser.");const r=Dl.get(i);if(r&&r.decoder.state!=="closed")return r;let l;return l={decoder:new n({output:d=>{const h=Number(d.timestamp||0),m=l.pendingFrames.get(h);m&&l.pendingFrames.delete(h);const f=d.displayWidth||d.codedWidth||i.width||960,y=d.displayHeight||d.codedHeight||i.height||540,w=Math.max(16,Math.min(250,Number(d.duration||m?.frame.durationUs||83333)/1e3));for(l.targetPaintIntervalMs=w,l.decodedFrames.push({videoFrame:d,pending:m,decodedAt:performance.now(),width:f,height:y,durationMs:w});l.decodedFrames.length>Ih;)Vh(l,l.decodedFrames.shift());ov(l),l.renderTimer!==null&&l.decodedFrames.length>=Ih&&(window.cancelAnimationFrame(l.renderTimer),l.renderTimer=null),cv(i,l)},error:()=>{Zh(l),Dl.delete(i)}}),configured:!1,configKey:"",hardwareAcceleration:fs.h264DecodeAcceleration,keyFrameSeen:!1,droppedForLatency:0,pendingFrames:new Map,decodedFrames:[],renderTimer:null,lastPaintAt:0,targetPaintIntervalMs:1e3/12,nextChunkTimestampUs:0},Dl.set(i,l),l}function Zh(i){i.renderTimer!==null&&(window.cancelAnimationFrame(i.renderTimer),i.renderTimer=null);for(const n of i.decodedFrames)n.videoFrame.close();i.decodedFrames=[]}function Vh(i,n){n&&(n.videoFrame.close(),i.droppedForLatency+=1)}function ov(i,n=performance.now()){for(;i.decodedFrames.length>1;)Vh(i,i.decodedFrames.shift());const r=i.decodedFrames[0];r?.pending&&n-r.pending.queuedAt>Z_&&(Vh(i,i.decodedFrames.shift()),i.lastPaintAt=0)}function r1(i,n,r){const l=performance.now();try{if((i.width!==r.width||i.height!==r.height)&&(i.width=r.width,i.height=r.height),i.getContext("2d")?.drawImage(r.videoFrame,0,0,r.width,r.height),r.pending){const d=performance.now(),h=Gh(i,r.width,r.height);n.onPaint?.(r.pending.frame,{deviceId:r.pending.frame.deviceId,frameSeq:r.pending.frame.frameSeq,mode:r.pending.frame.frameMode||r.pending.frame.mode||r.pending.frame.codec||r.pending.frame.mimeType,width:r.width,height:r.height,byteLength:r.pending.frame.byteLength,queuedForMs:Math.max(0,l-r.pending.queuedAt),decodedForMs:Math.max(0,r.decodedAt-r.pending.queuedAt),scheduledForMs:Math.max(0,l-r.decodedAt),drawMs:Math.max(0,d-l),queueSize:r.pending.queueSize,renderQueueSize:n.decodedFrames.length,droppedForLatency:n.droppedForLatency,h264DecodeAcceleration:n.hardwareAcceleration,visualHash:h.visualHash,visualChanged:h.visualChanged,paintedAt:d})}n.lastPaintAt=performance.now()}finally{r.videoFrame.close()}}function cv(i,n){if(n.renderTimer!==null||n.decodedFrames.length===0)return;const r=Math.max(16,Math.min(250,n.targetPaintIntervalMs||1e3/12)),l=()=>{if(n.renderTimer=null,n.decodedFrames.length===0)return;const c=performance.now();if(ov(n,c),n.decodedFrames.length===0)return;const d=n.lastPaintAt>0?n.lastPaintAt+r:c+Q_;if(!(c>=d||n.decodedFrames.length>=Ih-1)){n.renderTimer=window.requestAnimationFrame(l);return}const m=n.decodedFrames.shift();m&&r1(i,n,m),cv(i,n)};n.renderTimer=window.requestAnimationFrame(l)}function Kh(i){const n=Dl.get(i);if(n){try{Zh(n),n.decoder.state!=="closed"&&n.decoder.close()}catch{}Dl.delete(i)}}function s1(i,n,r){const l=String(n.h264Format||"").toLowerCase()==="avc"?"avc":"annexb",c=Math.max(1,Math.floor(n.width||960)),d=Math.max(1,Math.floor(n.height||540)),h=fs.h264DecodeAcceleration,m=[n.streamId||"",n.commandId||"",c,d,l,h].join("|");let f=gy(i);if(f.onPaint=r,f.configured&&f.configKey!==m&&(Kh(i),f=gy(i),f.onPaint=r),!f.configured){const R={codec:"avc1.42E01E",codedWidth:c,codedHeight:d,hardwareAcceleration:h,optimizeForLatency:!0,avc:{format:l}};f.decoder.configure(R),f.configured=!0,f.configKey=m,f.hardwareAcceleration=h,f.keyFrameSeen=!1,f.nextChunkTimestampUs=0}const y=n.isKeyFrame===!0||String(n.chunkType||"").toLowerCase()==="key";if(!y&&!f.keyFrameSeen)return;y&&(f.keyFrameSeen=!0);const w=Number(f.decoder.decodeQueueSize||0);if(w>8){if(f.decoder.reset(),f.keyFrameSeen=!1,f.droppedForLatency+=1,f.pendingFrames.clear(),Zh(f),f.lastPaintAt=0,f.nextChunkTimestampUs=0,!y)return;f.keyFrameSeen=!0}const S=Math.max(1,Math.floor(n.durationUs||1e6/12)),T=f.nextChunkTimestampUs;f.nextChunkTimestampUs+=S,f.pendingFrames.set(T,{frame:n,queuedAt:performance.now(),queueSize:w});const x=new EncodedVideoChunk({type:y?"key":"delta",timestamp:T,duration:S,data:n.payload});f.decoder.decode(x)}async function l1(i,n,r,l){if(n1(n)){r()||s1(i,n,l);return}if(t1(n)){Kh(i);const y=i1(n);if(r())return;(i.width!==y.width||i.height!==y.height)&&(i.width=y.width,i.height=y.height);const w=i.getContext("2d"),S=performance.now();w?.putImageData(y,0,0);const T=performance.now(),x=Gh(i,y.width,y.height);l?.(n,{deviceId:n.deviceId,frameSeq:n.frameSeq,mode:n.frameMode||n.mode||n.codec||n.mimeType,width:y.width,height:y.height,byteLength:n.byteLength,queuedForMs:0,decodedForMs:0,scheduledForMs:0,drawMs:Math.max(0,T-S),queueSize:0,renderQueueSize:0,droppedForLatency:0,h264DecodeAcceleration:fs.h264DecodeAcceleration,visualHash:x.visualHash,visualChanged:x.visualChanged,paintedAt:T});return}Kh(i);const c=new Blob([n.payload],{type:n.mimeType}),d=await createImageBitmap(c);if(r()){d.close();return}const h=n.width||d.width||960,m=n.height||d.height||540;(i.width!==h||i.height!==m)&&(i.width=h,i.height=m);const f=i.getContext("2d");if(f){const y=performance.now();f.clearRect(0,0,h,m),f.drawImage(d,0,0,h,m);const w=performance.now(),S=Gh(i,h,m);l?.(n,{deviceId:n.deviceId,frameSeq:n.frameSeq,mode:n.frameMode||n.mode||n.codec||n.mimeType,width:h,height:m,byteLength:n.byteLength,queuedForMs:0,decodedForMs:0,scheduledForMs:0,drawMs:Math.max(0,w-y),queueSize:0,renderQueueSize:0,droppedForLatency:0,h264DecodeAcceleration:fs.h264DecodeAcceleration,visualHash:S.visualHash,visualChanged:S.visualChanged,paintedAt:w})}d.close()}const Ul=5179,Ut=Wl(`http://127.0.0.1:${Ul}`);function o1(i){const n=i.split(".").map(r=>Number(r));return n.length===4&&n.every(r=>Number.isInteger(r)&&r>=0&&r<=255)?n:[]}function c1(i){const n=i.trim().toLowerCase();return n==="localhost"||n==="127.0.0.1"||n==="::1"||n==="[::1]"}function u1(i){const n=i.trim().toLowerCase();return!n||n==="0.0.0.0"||n==="::"||n==="[::]"}function d1(i){const n=o1(i);return n.length===0?!1:n[0]===10||n[0]===172&&n[1]>=16&&n[1]<=31||n[0]===192&&n[1]===168}function h1(i){return i.includes(":")&&!i.startsWith("[")?`[${i}]`:i}function f1(i){const n=String(i||"").trim();if(!n)return null;const r=/^[a-z][a-z\d+.-]*:\/\//i.test(n)?n:`tcp://${n}`;try{const l=new URL(r),c=l.hostname.replace(/^\[|\]$/g,""),d=Number(l.port);return!c||!Number.isInteger(d)||d<1||d>65535||u1(c)?null:{host:c,port:d}}catch{return null}}function Wl(i){const n=String(i||"").trim()||`http://127.0.0.1:${Ul}`,r=/^[a-z][a-z\d+.-]*:\/\//i.test(n)?n:`http://${n}`;try{const l=new URL(r);return l.port||(l.port=String(Ul)),l.hash="",l.search="",l.toString().replace(/\/+$/,"")}catch{return`http://127.0.0.1:${Ul}`}}function m1(i){const n=f1(i);return n?Wl(`http://${h1(n.host)}:${Ul}`):""}function py(i){const r=[i?.endpoint,...Array.isArray(i?.endpoint_candidates)?i.endpoint_candidates:[]].map(l=>m1(String(l||""))).filter(Boolean);return[...new Set(r)]}function zl(i=Ut){if(!(typeof window>"u"||window.location.protocol!=="https:"))try{const n=new URL(i);if(n.protocol!=="http:")return;if(c1(n.hostname))return"loopback";if(d1(n.hostname))return"local"}catch{return}}function ef(i,n=Ut){const r=new URL(i,Wl(n));return r.protocol=r.protocol==="https:"?"wss:":"ws:",r.toString()}async function xn(i,n,r=Ut){const l=Wl(r),c={...n,headers:{"Content-Type":"application/json",...n?.headers||{}},cache:"no-store"},d=zl(l);d&&(c.targetAddressSpace=d);let h;try{h=await fetch(`${l}${i}`,c)}catch(m){throw d?new Error("LiveDesk Hub is not reachable at this local network address. If Chrome shows a local network prompt, allow it; otherwise restart the Hub so port 5179 is open on the network."):m}if(!h.ok)throw new Error(`${h.status} ${h.statusText}`);return await h.json()}function yy(i){if(!i)return"-";const n=Date.now()-Date.parse(i);return Number.isFinite(n)?n<1e3?"now":n<6e4?`${Math.round(n/1e3)}s`:n<36e5?`${Math.round(n/6e4)}m`:`${Math.round(n/36e5)}h`:"-"}async function Tl(i){await navigator.clipboard.writeText(i)}const vy="livedesk_remote_host_targets",g1="livedesk_entitlements";function p1(i){const r=(Array.isArray(i)?i:[i||Ut]).map(l=>Wl(l||Ut));return[...new Set(r.filter(Boolean))]}function y1(){const[i,n]=O.useState(null),[r,l]=O.useState(!0);return O.useEffect(()=>{let c=!0;ea.auth.getSession().then(({data:h})=>{c&&(n(h.session??null),l(!1))});const{data:{subscription:d}}=ea.auth.onAuthStateChange((h,m)=>{n(m),l(!1)});return()=>{c=!1,d.unsubscribe()}},[]),{session:i,loading:r}}function v1(i,n=!0){const[r,l]=O.useState(null),[c,d]=O.useState([]),[h,m]=O.useState(""),[f,y]=O.useState(""),[w,S]=O.useState(0),T=Array.isArray(i)?i.join(`
|
|
38
|
+
`):String(i||""),x=O.useMemo(()=>p1(i),[T]),R=O.useMemo(()=>x.find(V=>zl(V)==="loopback")||x[0]||Ut,[x]),z=O.useCallback(async()=>{if(!n){l(null),d([]),y(""),m("");return}let V=null;for(const I of x)try{const[F,ee]=await Promise.all([xn("/api/remote/status",void 0,I),xn("/api/remote/devices",void 0,I)]);l(F),d(ee.devices||[]),y(I),m("");return}catch(F){V=F}throw y(""),V||new Error("No LiveDesk Hub endpoint is reachable.")},[n,x]),G=O.useCallback(()=>{z().catch(V=>{m(V instanceof Error?V.message:String(V))}),S(V=>V+1)},[z]);return O.useEffect(()=>{if(!n){l(null),d([]),y(""),m("");return}let V=!0;const I=async()=>{try{await z()}catch(ee){V&&m(ee instanceof Error?ee.message:String(ee))}};I();const F=window.setInterval(I,2500);return()=>{V=!1,window.clearInterval(F)}},[n,z,w]),{status:r,devices:c,error:h,refresh:G,hubBaseUrl:f||R,hubCandidates:x}}function b1(i){const[n,r]=O.useState(null),[l,c]=O.useState(""),d=i?.user?.id||"",h=O.useCallback(async()=>{if(!d){r(null);return}const{data:m,error:f}=await ea.from(vy).select("*").eq("user_id",d).maybeSingle();if(f){c(f.message);return}r(m),c("")},[d]);return O.useEffect(()=>{h()},[h]),O.useEffect(()=>{if(!d)return;const m=ea.channel(`livedesk-remote-host-targets-${d.replace(/[^a-zA-Z0-9]/g,"")}`).on("postgres_changes",{event:"*",schema:"public",table:vy,filter:`user_id=eq.${d}`},f=>r(f.new)).subscribe();return()=>{ea.removeChannel(m)}},[d]),{target:n,error:l,refresh:h}}function S1(i){const[n,r]=O.useState(null),[l,c]=O.useState(!1),[d,h]=O.useState(""),m=i?.user?.id||"",f=O.useCallback(async()=>{if(!m){r(null),h(""),c(!1);return}c(!0);const{data:w,error:S}=await ea.from(g1).select("*").eq("user_id",m).eq("product_key","livedesk").maybeSingle();if(S){h(S.message),c(!1);return}r(w),h(""),c(!1)},[m]);O.useEffect(()=>{f()},[f]);const y=O.useMemo(()=>!n||n.status!=="active"?!1:n.expires_at?new Date(n.expires_at).getTime()>Date.now():!0,[n]);return{entitlement:n,licensed:y,loading:l,error:d,refresh:f}}const _h={totalFrames:0,totalBytes:0,framesPerSecond:0,bytesPerSecond:0,sampleMs:0,lastUpdatedAt:0},w1=2500,_1=3e4,T1=64*1024,by={totalSent:0,totalDropped:0,sentPerSecond:0,droppedPerSecond:0,bufferedAmount:0,lastInputType:"",lastUpdatedAt:0};function Sy(i){const n=Date.parse(String(i||""));if(!Number.isFinite(n))return 0;const r=Date.now()-n;return r>0&&r<=_1?r:0}function wy(i,n,r=Ut,l={}){const[c,d]=O.useState(new Map),[h,m]=O.useState("idle"),[f,y]=O.useState(_h),w=O.useRef(new Map),S=O.useRef(new Map),T=O.useRef(0),x=O.useRef(l.onFrame),R=O.useRef({totalFrames:0,totalBytes:0,sampleFrames:0,sampleBytes:0,sampleStartedAt:0}),z=O.useMemo(()=>[...i].sort().join(","),[i]),G=Number.isFinite(l.fps)?Number(l.fps):2,V=Number.isFinite(l.maxWidth)?Number(l.maxWidth):640,I=Number.isFinite(l.maxHeight)?Number(l.maxHeight):360,F=Number.isFinite(l.quality)?Number(l.quality):45,ee=String(l.frameMode||l.mode||"mode3-h264-hw").trim()||"mode3-h264-hw",we=O.useMemo(()=>{const ve=Object.entries(l.monitorSelections||{}).filter(([be])=>!!be).sort(([be],[ue])=>be.localeCompare(ue));return JSON.stringify(Object.fromEntries(ve))},[l.monitorSelections]);O.useEffect(()=>{x.current=l.onFrame},[l.onFrame]);const le=O.useCallback((ve,be="livedesk-frame-socket-release")=>{ve.disposed=!0;try{ve.socket.readyState===WebSocket.CONNECTING||ve.socket.readyState===WebSocket.OPEN?ve.socket.close(1e3,be):ve.socket.close()}catch{}},[]),Z=O.useCallback(()=>{const ve=[...S.current.values()].map(be=>be.socket);if(ve.length===0){m("idle");return}if(ve.some(be=>be.readyState===WebSocket.OPEN)){m("open");return}if(ve.some(be=>be.readyState===WebSocket.CONNECTING)){m("connecting");return}m("closed")},[]),je=O.useCallback(ve=>{if(!ve||ve.byteLength<5)return;const ue=new DataView(ve).getUint32(0,!1);if(ue<=0||ue+4>ve.byteLength)return;const ge=new Uint8Array(ve.slice(4,4+ue)),X=JSON.parse(new TextDecoder().decode(ge));if(Math.max(Sy(X.receivedAt),Sy(X.capturedAt))>w1)return;const _=ve.slice(4+ue),H=R.current;H.totalFrames+=1,H.totalBytes+=_.byteLength,H.sampleFrames+=1,H.sampleBytes+=_.byteLength;const Q={deviceId:String(X.deviceId||""),kind:X.kind==="thumbnail"?"thumbnail":"live",frameSeq:Number(X.frameSeq||0),streamId:String(X.streamId||""),commandId:X.commandId?String(X.commandId):void 0,width:Number(X.width||0),height:Number(X.height||0),sourceWidth:Number(X.sourceWidth||0)||void 0,sourceHeight:Number(X.sourceHeight||0)||void 0,mimeType:String(X.mimeType||"image/jpeg"),mode:X.mode?String(X.mode):void 0,frameMode:X.frameMode?String(X.frameMode):void 0,frameProfile:X.frameProfile?String(X.frameProfile):void 0,encoding:X.encoding?String(X.encoding):void 0,codec:X.codec?String(X.codec):void 0,compression:X.compression?String(X.compression):void 0,pixelFormat:X.pixelFormat?String(X.pixelFormat):void 0,bytesPerPixel:Number(X.bytesPerPixel||0)||0,uncompressedByteLength:Number(X.uncompressedByteLength||0)||0,h264Format:X.h264Format?String(X.h264Format):void 0,isKeyFrame:X.isKeyFrame===!0,chunkType:X.chunkType?String(X.chunkType):void 0,timestampUs:Number(X.timestampUs||0)||0,durationUs:Number(X.durationUs||0)||0,sourceGapMs:Number(X.sourceGapMs||0)||0,agentSendGapMs:Number(X.agentSendGapMs||0)||0,agentPaceMs:Number(X.agentPaceMs||0)||0,droppedByAgent:Number(X.droppedByAgent||0)||0,hardwareEncoder:X.hardwareEncoder?String(X.hardwareEncoder):void 0,platformProfile:X.platformProfile?String(X.platformProfile):void 0,monitorIndex:Number.isFinite(Number(X.monitorIndex))?Number(X.monitorIndex):void 0,monitorCount:Number.isFinite(Number(X.monitorCount))?Number(X.monitorCount):void 0,capturedAt:String(X.capturedAt||""),receivedAt:String(X.receivedAt||""),byteLength:Number(X.byteLength||_.byteLength),contentHash:X.contentHash?String(X.contentHash):void 0,payload:_};if(!Q.deviceId)return;const te=w.current.get(Q.deviceId);te&&te.frameSeq>Q.frameSeq||(w.current.set(Q.deviceId,Q),x.current?.(Q))},[]);O.useEffect(()=>{const ve=window.setInterval(()=>{const be=performance.now(),ue=R.current,ge=Math.max(1,be-ue.sampleStartedAt);y({totalFrames:ue.totalFrames,totalBytes:ue.totalBytes,framesPerSecond:ue.sampleFrames*1e3/ge,bytesPerSecond:ue.sampleBytes*1e3/ge,sampleMs:ge,lastUpdatedAt:Date.now()}),d(new Map(w.current)),ue.sampleFrames=0,ue.sampleBytes=0,ue.sampleStartedAt=be},2e3);return()=>{window.clearInterval(ve)}},[]),O.useEffect(()=>{const ve=z?z.split(",").filter(Boolean):[],be=new Set(ve),ue=performance.now();for(const[ge,X]of S.current.entries())be.has(ge)||(le(X,"livedesk-device-unsubscribed"),S.current.delete(ge),w.current.delete(ge));if(ve.length===0){for(const ge of S.current.values())le(ge,"livedesk-no-devices");S.current.clear(),w.current=new Map,d(new Map),R.current={totalFrames:0,totalBytes:0,sampleFrames:0,sampleBytes:0,sampleStartedAt:0},y(_h),Z();return}R.current.sampleStartedAt<=0&&(R.current.sampleStartedAt=ue,y({..._h,lastUpdatedAt:Date.now()}));for(const ge of ve){const X=l.monitorSelections?.[ge],Le=Number.isFinite(Number(X))?{[ge]:Number(X)}:{},_={type:"subscribe",deviceIds:[ge],autoStartLive:n,fps:G,maxWidth:V,maxHeight:I,quality:F,mode:ee,frameMode:ee,monitorSelections:Le},H=JSON.stringify(_),Q=S.current.get(ge),te=!!Q&&Q.payloadKey!==H;if(Q){const J=Q.socket.readyState===WebSocket.CONNECTING||Q.socket.readyState===WebSocket.OPEN;if(Q.payloadKey===H&&J&&!Q.disposed)continue;le(Q,Q.payloadKey===H?"livedesk-frame-socket-refresh":"livedesk-subscription-replaced"),S.current.delete(ge)}const pe=new WebSocket(ef(`/api/remote/frames/ws?devices=${encodeURIComponent(ge)}`,r));pe.binaryType="arraybuffer";const A=te?{..._,forceRestart:!0,restartReason:"subscription-options-changed",restartToken:`${Date.now()}-${Math.random().toString(36).slice(2)}`}:_,D={socket:pe,payload:A,payloadKey:H,generation:T.current+1,disposed:!1};T.current=D.generation,S.current.set(ge,D),pe.addEventListener("open",()=>{if(D.disposed||S.current.get(ge)!==D){le(D,"livedesk-stale-frame-socket");return}pe.send(JSON.stringify(D.payload)),Z()}),pe.addEventListener("message",J=>{if(D.disposed||S.current.get(ge)!==D||typeof J.data=="string")return;const ae=J.data instanceof ArrayBuffer?J.data:null;ae&&je(ae)}),pe.addEventListener("error",()=>{D.disposed||S.current.get(ge)!==D||m("error")}),pe.addEventListener("close",()=>{D.disposed=!0,S.current.get(ge)===D&&S.current.delete(ge),Z()})}Z()},[n,le,z,G,ee,je,r,I,V,we,l.monitorSelections,F,Z]),O.useEffect(()=>()=>{for(const ve of S.current.values())le(ve,"livedesk-hook-unmount");S.current.clear()},[le]);const Ee=O.useCallback((ve,be="browser-stale")=>{const ue=Array.isArray(ve)&&ve.length>0?ve:z.split(",").filter(Boolean);if(ue.length===0)return!1;let ge=!1;for(const X of ue){const Le=S.current.get(X);!Le||Le.socket.readyState!==WebSocket.OPEN||(Le.socket.send(JSON.stringify({...Le.payload,type:"restart-live",deviceIds:[X],forceRestart:!0,restartReason:be,restartToken:`${Date.now()}-${Math.random().toString(36).slice(2)}`})),ge=!0)}return ge},[z]);return{frames:c,state:h,stats:f,restartLive:Ee}}function k1(i,n=Ut){const r=O.useRef(null),[l,c]=O.useState("idle"),[d,h]=O.useState(by),m=O.useRef({totalSent:0,totalDropped:0,sampleSent:0,sampleDropped:0,sampleStartedAt:0,lastInputType:""});O.useEffect(()=>{if(!i){r.current?.close(),r.current=null,c("idle"),h(by);return}const y=new WebSocket(ef("/api/remote/input/ws",n));return r.current=y,m.current.sampleStartedAt=performance.now(),c("connecting"),y.addEventListener("open",()=>c("open")),y.addEventListener("close",()=>c("closed")),y.addEventListener("error",()=>c("error")),()=>{y.close(),r.current===y&&(r.current=null)}},[i,n]),O.useEffect(()=>{if(!i)return;const y=window.setInterval(()=>{const w=performance.now(),S=m.current,T=Math.max(1,w-S.sampleStartedAt);h({totalSent:S.totalSent,totalDropped:S.totalDropped,sentPerSecond:S.sampleSent*1e3/T,droppedPerSecond:S.sampleDropped*1e3/T,bufferedAmount:r.current?.bufferedAmount||0,lastInputType:S.lastInputType,lastUpdatedAt:Date.now()}),S.sampleSent=0,S.sampleDropped=0,S.sampleStartedAt=w},1e3);return()=>window.clearInterval(y)},[i]);const f=O.useCallback((y,w)=>{const S=r.current;if(!S||S.readyState!==WebSocket.OPEN||!y)return!1;const T=String(w.type||"").toLowerCase(),x=T==="pointermove",R=m.current;return x&&S.bufferedAmount>T1?(R.totalDropped+=1,R.sampleDropped+=1,R.lastInputType="pointermove-drop",!1):(S.send(JSON.stringify({type:"input",requestId:x?"":crypto.randomUUID(),fireAndForget:x,deviceId:y,input:{...w,issuedAt:new Date().toISOString()}})),R.totalSent+=1,R.sampleSent+=1,R.lastInputType=T||"input",!0)},[]);return{state:l,sendInput:f,stats:d}}function A1(i){const n=String(i||"").toLowerCase();return n.includes("audio/pcm")||n.includes("audio/l16")||n.includes("f32le")||n.includes("s16le")}function E1(i,n,r){const l=Math.max(1,Math.min(8,Math.floor(n.channels||2))),c=Math.max(8e3,Math.min(192e3,Math.floor(n.sampleRate||48e3))),d=String(n.mimeType||"").toLowerCase(),h=d.includes("s16le")||d.includes("audio/l16"),m=h?2:4,f=Math.floor(r.byteLength/m),y=Math.floor(f/l),w=i.createBuffer(l,y,c),S=new DataView(r);for(let T=0;T<l;T+=1){const x=w.getChannelData(T);for(let R=0;R<y;R+=1){const G=(R*l+T)*m;x[R]=h?Math.max(-1,Math.min(1,S.getInt16(G,!0)/32768)):Math.max(-1,Math.min(1,S.getFloat32(G,!0)))}}return w}function x1(i,n,r=Ut){const l=O.useRef(null),c=O.useRef(0),[d,h]=O.useState("idle"),[m,f]=O.useState(null),[y,w]=O.useState("");return O.useEffect(()=>{if(!n||!i){h("idle"),f(null),w("");return}const S=window.AudioContext||window.webkitAudioContext;if(!S){h("unsupported"),w("Audio playback is not supported in this browser.");return}const T=new S;l.current=T,c.current=T.currentTime;const x=new WebSocket(ef(`/api/remote/audio/ws?devices=${encodeURIComponent(i)}`,r));x.binaryType="arraybuffer";let R=!1;return h("connecting"),w(""),x.addEventListener("open",()=>{R||(h("open"),x.send(JSON.stringify({type:"subscribe",deviceIds:[i]})),T.resume())}),x.addEventListener("message",z=>{if(typeof z.data=="string")return;const G=z.data instanceof ArrayBuffer?z.data:null;!G||G.byteLength<5||(async()=>{try{const I=new DataView(G).getUint32(0,!1);if(I<=0||I+4>G.byteLength)return;const F=new Uint8Array(G.slice(4,4+I)),ee=JSON.parse(new TextDecoder().decode(F)),we=G.slice(4+I),le={deviceId:String(ee.deviceId||""),frameSeq:Number(ee.frameSeq||0),streamId:String(ee.streamId||""),mimeType:String(ee.mimeType||"audio/webm;codecs=opus"),sampleRate:Number(ee.sampleRate||48e3),channels:Number(ee.channels||2),capturedAt:String(ee.capturedAt||""),receivedAt:String(ee.receivedAt||""),byteLength:Number(ee.byteLength||we.byteLength),payload:we};if(!le.deviceId||R)return;const Z=A1(le.mimeType)?E1(T,le,we):await T.decodeAudioData(we.slice(0));if(R)return;const je=T.createBufferSource();je.buffer=Z,je.connect(T.destination);const Ee=Math.max(T.currentTime+.02,c.current);je.start(Ee),c.current=Ee+Z.duration,f(le),h("playing")}catch(V){R||(h("error"),w(V instanceof Error?V.message:String(V)))}})()}),x.addEventListener("error",()=>{R||h("error")}),x.addEventListener("close",()=>{R||h("closed")}),()=>{R=!0,x.close(),T.close().catch(()=>{}),l.current===T&&(l.current=null)}},[i,n,r]),{state:d,lastFrame:m,error:y}}const C1=120,R1=999,Ol=5,jl=30,O1=Number.POSITIVE_INFINITY,uv="livedesk.remoteDirectory",Fh="livedesk.localHubAccessEnabled",dv="livedesk.streamSettings",hv=9,j1=24*1024*1024,Yh="".trim(),fv="".trim(),_y="livedesk-adsense-script",Th=!!Yh&&!!fv,N1=33,Ty=.82,ky=45,Ay=.001,Xn={free:{name:"Free",price:"$0",limit:Ol,audience:"Personal trial",note:"5 devices with a standard ad banner."},ltd:{name:"Plus",price:"$5/mo",yearly:"$40/year",ltd:"$79 LTD",limit:jl,audience:"Creators and homelabs",note:"30 devices, no ads, personal use."},pro:{name:"Pro",price:"$15/mo",yearly:"$120/year",ltd:"$199 LTD",limit:O1,audience:"Business and studios",note:"Commercial use and larger workstation walls."}},mv={"mode1-jpeg":5,"mode2-lz4":5,"mode3-h264-hw":20},Jt={frameMode:"mode3-h264-hw",h264DecodeAcceleration:"prefer-software",fps:mv["mode3-h264-hw"],maxWidth:960,maxHeight:540,quality:60,autoStartLive:!0,showScreenStatus:!0,visibleOnlyLive:!0,adaptiveLoadShedding:!0,adaptiveSizeByWall:!0},kh={maxWidth:3840,maxHeight:2160};function Ey(i,n){i.sampleFrames=0,i.sampleStartedAt=n,i.intervalCount=0,i.intervalSumMs=0,i.minIntervalMs=Number.POSITIVE_INFINITY,i.maxIntervalMs=0,i.seqGapCount=0,i.maxSeqGap=0}function xy(i,n,r){if(i.lastAt!==void 0){const l=Math.max(0,n-i.lastAt);i.intervalCount+=1,i.intervalSumMs+=l,i.minIntervalMs=Math.min(i.minIntervalMs,l),i.maxIntervalMs=Math.max(i.maxIntervalMs,l)}if(i.lastFrameSeq!==void 0){const l=r-i.lastFrameSeq;l!==1&&(i.seqGapCount+=1,i.maxSeqGap=Math.max(i.maxSeqGap,Math.abs(l)))}i.lastAt=n,i.lastFrameSeq=r}function Cy(i){return!i||i.intervalCount<=0?"waiting":`${Math.round(i.averageIntervalMs)}ms avg / ${Math.round(i.minIntervalMs)}-${Math.round(i.maxIntervalMs)}ms`}function Ry(i){return!i||i.seqGapCount<=0?"none":`${i.seqGapCount} gaps / max ${i.maxSeqGap}`}function L1(i){return Number.isFinite(i)?String(i):"30+"}const kc=[{id:"mode3-h264-hw",label:"Mode 3",detail:"H.264 hardware"},{id:"mode2-lz4",label:"Mode 2",detail:"LZ4 raw"},{id:"mode1-jpeg",label:"Mode 1",detail:"JPEG test"}],gv=[{id:"prefer-software",label:"Software low latency"},{id:"prefer-hardware",label:"Hardware decode"},{id:"no-preference",label:"Browser auto"}],Ah=[{id:"640x360",label:"Compact",width:640,height:360},{id:"960x540",label:"Standard",width:960,height:540},{id:"1280x720",label:"HD",width:1280,height:720},{id:"1920x1080",label:"Full HD",width:1920,height:1080},{id:"3840x2160",label:"4K",width:3840,height:2160}],tf=[1,2,5,8,12,20],M1=[45,60,75,90],Oy={large:{maxWidth:1280,maxHeight:720},medium:{maxWidth:960,maxHeight:540},small:{maxWidth:640,maxHeight:360}},Wt={visibleRootMargin:"520px 0px 760px 0px",fallbackVisibleCounts:{large:12,medium:18,small:32},maxWallFramesPerSecond:1800,maxWallBytesPerSecond:80*1024*1024,lowLoadFrameRatio:.58,lowLoadByteRatio:.52,downshiftCooldownMs:4500,recoveryCooldownMs:14e3,minFps:1},jy=2200,D1=3500,U1=2600,z1=4200,B1=750,P1=8;function Bl(i,n){const r=i.capabilities?.[n];return typeof r=="boolean"?r:/^(1|true|yes|on)$/i.test(String(r||"").trim())}function Lc(i){return i.deviceName||i.hostname||i.deviceId}function H1(){return"npx -y livedesk client"}function $1(){return"npx -y livedesk"}function q1(){try{return localStorage.getItem(uv)||""}catch{return""}}function I1(){try{return localStorage.getItem(Fh)==="1"}catch{return!1}}function ns(i){try{i?localStorage.setItem(Fh,"1"):localStorage.removeItem(Fh)}catch{}}function Pl(i,n,r,l){const c=Number(i);return Number.isFinite(c)?Math.max(n,Math.min(r,Math.round(c))):l}function Wh(i){const n=String(i||"").trim();return kc.some(r=>r.id===n)?n:Jt.frameMode}function pv(i){const n=String(i||"").trim();return gv.some(r=>r.id===n)?n:Jt.h264DecodeAcceleration}function yv(i){return mv[i]||12}function vv(i){return i==="mode3-h264-hw"?20:30}function Jh(i,n){return Pl(i,1,vv(n),yv(n))}function ar(i){return i&&typeof i=="object"&&!Array.isArray(i)?i:{}}function Bn(i){const n=ar(i.status),r=ar(n.screens),l=ar(i.capabilities),c=[n.monitorCount,n.screenCount,r.count,l.monitorCount,l.screenCount];for(const d of c){const h=Number(d);if(Number.isFinite(h)&&h>0)return Math.max(1,Math.min(64,Math.floor(h)))}return 1}function vi(i){const n=Number(i);return Number.isFinite(n)&&n>0?Math.floor(n):0}function G1(i){const n=ar(i.status),l=[ar(n.screens).displays,n.displays,n.monitors];for(const c of l)if(!(!Array.isArray(c)||c.length===0))return c.map(d=>ar(d));return[]}function bv(i,n){const r=G1(i),l=r.find(f=>Number(f.index)===n)||r[n]||r[0]||{},c=vi(l.width),d=vi(l.height),h=[l.name,l.displayName,l.deviceName,l.id].find(f=>typeof f=="string"&&f.trim()),m=typeof h=="string"?h.trim():`Display ${n+1}`;return{index:n,name:m,width:c,height:d,primary:l.primary===!0||l.isPrimary===!0}}function V1(i){const n=Bn(i);return Array.from({length:n},(r,l)=>bv(i,l))}function K1(i){const n=[i.name||`Display ${i.index+1}`];return i.width>0&&i.height>0&&n.push(`${i.width}x${i.height}`),i.primary&&n.push("Primary"),n.join(" - ")}function Sv(i,n){const r=bv(i,n);if(r.width>0&&r.height>0)return{width:r.width,height:r.height};const l=ar(i.status),c=vi(l.screenWidth||l.width),d=vi(l.screenHeight||l.height);return c>0&&d>0?{width:c,height:d}:null}function wv(i){if(!i)return null;const n=vi(i.sourceWidth)||vi(i.width),r=vi(i.sourceHeight)||vi(i.height);return n>0&&r>0?{width:n,height:r}:null}function F1(i,n,r){const d=((typeof n?.monitorIndex=="number"?Hn(n.monitorIndex,Math.max(1,n.monitorCount||1)):r)===r?wv(n):null)||Sv(i,r);return d?Math.max(.25,Math.min(4,d.width/d.height)):16/9}const wc=16/9;function Hn(i,n){const r=Math.max(1,Math.min(64,Math.floor(Number(n)||1))),l=Math.floor(Number(i));return Number.isFinite(l)?Math.max(0,Math.min(r-1,l)):0}function Y1(){try{const i=JSON.parse(localStorage.getItem(dv)||"{}");if(i.version!==hv)return Jt;const n=Wh(i.frameMode),r=Pl(i.maxWidth,320,3840,Jt.maxWidth),l=Pl(i.maxHeight,180,2160,Jt.maxHeight);return{frameMode:n,h264DecodeAcceleration:pv(i.h264DecodeAcceleration),fps:Jh(i.fps,n),maxWidth:r,maxHeight:l,quality:Pl(i.quality,20,95,Jt.quality),autoStartLive:typeof i.autoStartLive=="boolean"?i.autoStartLive:Jt.autoStartLive,showScreenStatus:typeof i.showScreenStatus=="boolean"?i.showScreenStatus:Jt.showScreenStatus,visibleOnlyLive:typeof i.visibleOnlyLive=="boolean"?i.visibleOnlyLive:Jt.visibleOnlyLive,adaptiveLoadShedding:typeof i.adaptiveLoadShedding=="boolean"?i.adaptiveLoadShedding:Jt.adaptiveLoadShedding,adaptiveSizeByWall:typeof i.adaptiveSizeByWall=="boolean"?i.adaptiveSizeByWall:Jt.adaptiveSizeByWall}}catch{return Jt}}function W1(i){try{localStorage.setItem(dv,JSON.stringify({...i,version:hv}))}catch{}}function Eh(i,n){return i.length!==n.length?!1:i.every((r,l)=>r===n[l])}function xh(i){return[...new Set(i.filter(Boolean))].sort()}function J1(i){return Wt.fallbackVisibleCounts[i]||Wt.fallbackVisibleCounts.large}function X1(i,n,r){if(!i.adaptiveSizeByWall)return{maxWidth:i.maxWidth,maxHeight:i.maxHeight};const l=Oy[n]||Oy.large;return{maxWidth:Math.min(i.maxWidth,l.maxWidth),maxHeight:Math.min(i.maxHeight,l.maxHeight)}}function Q1(i){const n=[...tf].sort((l,c)=>l-c),r=Math.max(Wt.minFps,Math.floor(i/2));return[...n].reverse().find(l=>l<i)||r}function Z1(i,n){return[...tf].sort((l,c)=>l-c).find(l=>l>i&&l<=n)||n}function Na(i){if(!Number.isFinite(i)||i<=0)return"0 B";const n=["B","KB","MB","GB","TB"];let r=i,l=0;for(;r>=1024&&l<n.length-1;)r/=1024,l+=1;const c=l===0||r>=100?0:1;return`${r.toFixed(c)} ${n[l]}`}function eT(i){const n=new Uint8Array(i),r=32768;let l="";for(let c=0;c<n.length;c+=r){const d=n.subarray(c,c+r);l+=String.fromCharCode(...d)}return btoa(l)}function tT(i){return i===1?"middle":i===2?"right":"left"}function Ny(i,...n){for(const r of n){const l=i?.[r];if(typeof l=="string"&&l.trim())return l.trim()}return""}function kl(i){const n=Number(i);return Number.isInteger(n)&&n>=1&&n<=R1?n:0}const nT={cpu:"CPU",memory:"MEM",disk:"Disk",gpu:"GPU",npu:"NPU",temp:"Temp",network:"Net"};function aT(i,n,r){if(i==="online")return"Online";if(i==="busy")return"Busy";if(i==="stale")return"Stale";if(i==="offline")return"Offline";if(r==="failed")return"Task failed";const l=i==="critical"?"critical":"warn",c=n.find(h=>h.state===l)||n.find(h=>h.state==="critical"||h.state==="warn");if(!c)return i==="critical"?"Issue":"Check";const d=nT[c.id]||c.label;return c.value&&c.value!=="-"?`${d} ${c.value}`:d}function Bc(i,n){const r=n.split(".");let l=i;for(const c of r){if(l==null)return;if(Array.isArray(l)){const d=Number(c);l=Number.isInteger(d)?l[d]:void 0;continue}if(typeof l=="object"){l=l[c];continue}return}return l}function it(i,...n){for(const r of n){const l=Bc(i,r),c=Number(l);if(Number.isFinite(c))return c}}function Xt(i,...n){for(const r of n){const l=Bc(i,r);if(typeof l=="string"&&l.trim())return l.trim();if(typeof l=="number"&&Number.isFinite(l))return String(l)}return""}function iT(i,...n){for(const r of n){const l=Bc(i,r);if(typeof l=="boolean")return l;if(/^(1|true|yes|on|online|running|ready)$/i.test(String(l||"").trim()))return!0;if(/^(0|false|no|off|offline|stopped|missing)$/i.test(String(l||"").trim()))return!1}}function Ca(i){const n=Number(i);if(Number.isFinite(n))return Math.max(0,Math.min(1,n>1?n/100:n))}function Ch(i,n){if(!(typeof i!="number"||typeof n!="number"||!Number.isFinite(i)||!Number.isFinite(n)||i<=0))return Ca((i-Math.max(0,n))/i)}function Al(i){return i===void 0?"-":`${Math.round(i*100)}%`}function Rh(i){return i===void 0||!Number.isFinite(i)?"":i>=1e3?`${(i/1e3).toFixed(i>=1e4?0:1)}Gb/s`:`${Math.round(i)}Mb/s`}function as(i,n=.92,r=.78){return i===void 0?"unknown":i>=n?"critical":i>=r?"warn":"good"}function _v(i){return!Number.isFinite(i)||!i||i<=0?"-":i<3600?`${Math.round(i/60)}m`:i<86400?`${Math.round(i/3600)}h`:`${Math.round(i/86400)}d`}function _c(i,n,r){const l=Bc(i,`tools.${n}`),c=Xt(i,`tools.${n}.status`,`tooling.${n}.status`,`${n}.status`).toLowerCase(),d=iT(i,`tools.${n}.running`,`tooling.${n}.running`,`${n}.running`),h=Xt(i,`tools.${n}.version`,`tooling.${n}.version`,`${n}.version`),m=Xt(i,`tools.${n}.port`,`tooling.${n}.port`,`${n}.port`);let f="unknown";return c==="busy"?f="busy":["online","running","ready","active"].includes(c)||d===!0?f="online":(["offline","stopped","missing","not-found"].includes(c)||d===!1||l===!1)&&(f="offline"),{id:n,label:r,status:f,detail:f==="offline"?"offline":h||(m?`:${m}`:f==="unknown"?"not reported":f)}}function Tv(i){const n=i.status||{},r=it(n,"cpu.cores","cpuCores","processorCount"),l=it(n,"loadavg.0","cpu.load1"),c=Ca(it(n,"cpu.usedRatio","cpu.usageRatio","cpu.ratio","cpu.usedPct","cpu.usagePct","cpu.percent")??(r&&l!==void 0?l/Math.max(1,r):void 0)),d=it(n,"memory.totalBytes","totalMem"),h=it(n,"memory.freeBytes","freeMem"),m=Ca(it(n,"memory.usedRatio","memory.usedPct","usedMemRatio"))??Ch(d,h),f=it(n,"disk.totalBytes","rootDisk.totalBytes","storage.totalBytes"),y=it(n,"disk.freeBytes","rootDisk.freeBytes","storage.freeBytes"),w=Ca(it(n,"disk.usedRatio","disk.usedPct","rootDisk.usedRatio","storage.usedRatio"))??Ch(f,y),S=it(n,"thermal.cpuC","temperatureC","cpu.temperatureC","gpu.temperatureC"),T=Ca(it(n,"gpu.usedRatio","gpu.usageRatio","gpu.usedPct","gpu.usagePct","gpu.percent","accelerators.gpu.usageRatio")),x=Xt(n,"gpu.name","gpu.model","accelerators.gpu.name"),R=it(n,"gpu.memory.totalBytes","gpu.totalMemoryBytes","gpu.vramTotalBytes"),z=it(n,"gpu.memory.freeBytes","gpu.freeMemoryBytes","gpu.vramFreeBytes"),G=Ca(it(n,"gpu.memory.usedRatio","gpu.vramUsedRatio"))??Ch(R,z),V=it(n,"gpu.temperatureC","thermal.gpuC"),I=Ca(it(n,"npu.usedRatio","npu.usageRatio","npu.usedPct","npu.usagePct","npu.percent","accelerators.npu.usageRatio")),F=Xt(n,"npu.name","npu.model","accelerators.npu.name"),ee=it(n,"npu.tops","npu.topsInt8","accelerators.npu.tops"),we=it(n,"network.rxMbps","network.receiveMbps","network.downMbps"),le=it(n,"network.txMbps","network.transmitMbps","network.upMbps"),Z=it(n,"network.latencyMs","network.rttMs"),je=Ca(it(n,"network.usedRatio","network.usageRatio","network.saturationRatio")),Ee=Xt(n,"network.link","network.interface","network.name"),ve=S===void 0?void 0:Ca((S-35)/60),be=Xt(n,"workload.role","role","lane")||(Bl(i,"aiAssist")?"Agent worker":Bl(i,"taskDispatch")?"Task worker":"Local machine"),ue=Xt(i.latestTask,"status")||Xt(n,"workload.status")||"idle",ge=Xt(i.latestTask,"title","instructionPreview")||Xt(n,"workload.title"),X=Xt(i.latestTask,"resultSummary","error","instructionPreview")||Xt(n,"workload.summary"),Le=[_c(n,"ollama","Ollama"),_c(n,"lmStudio","LM Studio"),_c(n,"comfyui","ComfyUI"),_c(n,"stableDiffusion","Stable Diffusion")],_=Le.some(D=>D.status!=="unknown"),H=Date.parse(i.lastSeenAt||i.connectedAt||""),Q=Number.isFinite(H)?Date.now()-H:0;let te="online";i.connected?Q>5*6e4?te="stale":(S??0)>=86||(V??0)>=88||(c??0)>=.94||(T??0)>=.96||(I??0)>=.96||(m??0)>=.94||(w??0)>=.94||(Z??0)>=200||ue==="failed"?te="critical":(S??0)>=78||(V??0)>=80||(c??0)>=.82||(T??0)>=.86||(I??0)>=.86||(m??0)>=.82||(w??0)>=.86||(Z??0)>=80?te="warn":(["queued","running","targeted"].includes(ue)||Le.some(D=>D.status==="busy"))&&(te="busy"):te="offline";const pe=Le.filter(D=>D.status==="online"||D.status==="busy").length,A=[{id:"cpu",label:"CPU",value:Al(c),detail:r?`${r} cores`:l!==void 0?`load ${l.toFixed(1)}`:"not reported",ratio:c,state:as(c,.92,.78)},{id:"memory",label:"RAM",value:Al(m),detail:d?`${Na(d-(h||0))} / ${Na(d)}`:"not reported",ratio:m,state:as(m,.92,.78)},{id:"disk",label:"DISK",value:Al(w),detail:f&&y!==void 0?`${Na(y)} free`:"not reported",ratio:w,state:as(w,.92,.82)},{id:"gpu",label:"GPU",value:Al(T??G),detail:x||(R&&z!==void 0?`${Na(z)} VRAM free`:V!==void 0?`${Math.round(V)}C`:"not reported"),ratio:T??G,state:V!==void 0&&V>=88?"critical":V!==void 0&&V>=80?"warn":as(T??G,.96,.86)},{id:"npu",label:"NPU",value:I!==void 0?Al(I):ee!==void 0?`${Math.round(ee)} TOPS`:"-",detail:F||(ee!==void 0?"neural engine":"not reported"),ratio:I,state:as(I,.96,.86)},{id:"temp",label:"TEMP",value:S===void 0?"-":`${Math.round(S)}C`,detail:pe>0?`${pe} local tools`:`uptime ${_v(it(n,"uptimeSec"))}`,ratio:ve,state:S===void 0?"unknown":S>=86?"critical":S>=78?"warn":"good"},{id:"network",label:"NET",value:Rh(we)||(Z!==void 0?`${Math.round(Z)}ms`:Ee||"-"),detail:Rh(le)?`${Rh(le)} up`:Ee||"not reported",ratio:je,state:Z!==void 0&&Z>=200?"critical":Z!==void 0&&Z>=80?"warn":as(je,.9,.75)}];return{state:te,label:aT(te,A,ue),role:be,taskLabel:ge||(ue==="idle"?"idle":ue),taskStatus:ue,taskSummary:X,tools:_?Le:Le.map(D=>({...D,detail:"not reported"})),metrics:A}}const rT=[{id:"small",label:"Small"},{id:"medium",label:"Medium"},{id:"large",label:"Large"}],sT=[{id:"wall",label:"Wall",icon:By,accent:"blue"},{id:"control",label:"Control",icon:jh,accent:"red"},{id:"agents",label:"Agents",icon:rs,accent:"violet"},{id:"doc",label:"Doc",icon:Oh,accent:"amber"},{id:"pricing",label:"Pricing",icon:El,accent:"green"},{id:"settings",label:"Settings",icon:Py,accent:"gray"}];function mt(i){return i.replace(/\bRemoteHub\b/g,"Hub client endpoint").replace(/\bManagers\b/g,"Hubs").replace(/\bManager\b/g,"Hub").replace(/\bmanager\b/g,"Hub").replace(/\bMANAGER\b/g,"HUB").replace(/매니저/g,"Hub")}function is(i){return i.map(n=>mt(n))}function Mt(i){return{languageName:i.languageName,languageLabel:i.languageLabel,eyebrow:i.eyebrow,title:mt(i.title),intro:mt(i.intro),sections:[{title:mt(i.managerTitle),body:mt(i.managerBody),points:is(i.managerPoints)},{title:mt(i.clientTitle),body:mt(i.clientBody),points:is(i.clientPoints)},{title:mt(i.syncTitle),body:mt(i.syncBody),points:is(i.syncPoints)},{title:mt(i.platformTitle),body:mt(i.platformBody),points:is(i.platformPoints)}],sync:{title:mt(i.syncTitle),body:mt(i.syncBody),points:is(i.syncPoints)},firewall:{title:mt(i.firewallTitle),body:mt(i.firewallBody),points:is(i.firewallPoints)},commands:{title:mt(i.commandsTitle),body:mt(i.commandsBody),manager:mt(i.managerCommandLabel),primary:mt(i.clientCommandLabel),slot:mt(i.slotCommandLabel),manual:mt(i.manualCommandLabel)}}}const hs={ko:Mt({languageName:"한국어",languageLabel:"문서 언어",eyebrow:"LiveDesk Manual",title:"한 줄로 여는 로컬 Screen Wall",intro:"LiveDesk는 매니저 PC 한 대에서 여러 작업 PC, AI 박스, 맥미니, 개발 장비를 한 화면에 모니터링하고 필요한 제어를 실행하는 npm-first 원격 작업 데크입니다.",managerTitle:"1. 매니저 실행",managerBody:"화면을 모아 볼 컴퓨터에서 LiveDesk 매니저를 실행합니다. 매니저는 UI와 로컬 서버를 같이 열고 브라우저를 http://127.0.0.1:5179 로 띄웁니다.",managerPoints:["명령은 npx -y livedesk 입니다.","매니저는 Screen Wall/API 포트 5179와 클라이언트 접속 포트 5197을 사용합니다.","기존 LiveDesk 포트가 남아 있으면 기본적으로 정리하고 새로 시작합니다. 필요하면 --no-clean 을 붙입니다."],clientTitle:"2. 워크스테이션 연결",clientBody:"모니터링할 PC에서는 Google 로그인 또는 Hub 화면의 6자리 PIN으로 연결합니다. Hub가 켜져 있지 않아도 클라이언트는 종료하지 않고 5초마다 계속 찾습니다.",clientPoints:["빈 자리에 자동 배치하려면 npx -y livedesk client 를 실행합니다.","자리 번호를 고정하려면 npx -y livedesk client 3 처럼 번호를 붙입니다.","브라우저 연결 페이지에서 Google 버튼 또는 6자리 PIN 입력 중 하나를 선택합니다."],syncTitle:"3. Sync Server와 자동 발견",syncBody:"Sync Server는 이 매니저를 현재 계정의 활성 Screen Wall로 Supabase에 등록합니다. 클라이언트는 같은 Google 계정으로 로그인한 뒤 그 기록을 읽고 접속 후보들을 순서대로 시도합니다.",syncPoints:["등록 정보에는 host instance, LAN/private 주소, public 후보 주소, pair token, 짧은 lease가 포함됩니다.","같은 LAN 후보를 먼저 쓰고, 필요하면 외부 주소 후보를 시도합니다.","매니저 위치, VPN, 방화벽, 공유기 설정이 바뀌었거나 개발 중 활성 매니저를 바꿀 때 Sync Server를 누릅니다.","이제 livedesk.pages.dev의 Chrome Local Network Access 허용은 기본 실행 경로가 아닙니다. npm 매니저 앱이 실제 서버입니다."],platformTitle:"4. 현재 플랫폼 상태",platformBody:"Windows는 실제 화면 전송까지 확인되었습니다. macOS와 Linux도 npm 구조로 같은 명령을 목표로 지원을 넓히고 있습니다.",platformPoints:["Windows: 현재 작동 확인.","macOS: manager/client 경로는 준비되어 있으며 화면 캡처와 제어에는 Screen Recording/Accessibility 권한이 필요합니다.","Linux: linux-x64 runtime, grim/gnome-screenshot/import/scrot 캡처, xdotool 입력 백엔드가 추가되었습니다. 오디오는 아직 비활성입니다."],firewallTitle:"방화벽과 외부 장소 연결",firewallBody:"같은 LAN 안에서는 보통 공유기 포트포워딩이 필요 없습니다. 다른 장소의 PC를 붙이려면 클라이언트가 매니저의 클라이언트 접속 포트에 도달할 수 있어야 합니다.",firewallPoints:["클라이언트 접속 포트는 TCP 5197입니다.","클라이언트 쪽은 나가는 연결이므로 보통 인바운드 포트 개방이 필요 없습니다.","다른 네트워크에서 붙일 때는 매니저 PC 방화벽에서 TCP 5197 인바운드를 허용하고, 공유기에서는 TCP 5197을 매니저 PC로 전달합니다.","Screen Wall/API 포트 5179는 매니저 UI용입니다. 외부 브라우저에서 Wall을 직접 열 필요가 있을 때만 별도로 노출을 검토합니다.","공개 인터넷에 바로 열기보다 VPN, Tailscale, ZeroTier, 고정 IP allowlist를 우선합니다."],commandsTitle:"현재 사용 명령",commandsBody:"웹사이트를 찾아가 설치 파일을 받는 방식보다 터미널 한 줄로 모든 운영체제에서 거의 같은 흐름을 쓰는 것이 LiveDesk의 기본 방향입니다.",managerCommandLabel:"매니저 시작",clientCommandLabel:"워크스테이션 연결",slotCommandLabel:"3번 슬롯에 고정",manualCommandLabel:"고급 수동 연결"}),en:Mt({languageName:"English",languageLabel:"Document language",eyebrow:"LiveDesk Manual",title:"Open a local Screen Wall with one command",intro:"LiveDesk is an npm-first remote work deck for monitoring many workstations, AI boxes, Mac minis, and dev machines from one manager PC.",managerTitle:"1. Run the manager",managerBody:"Run LiveDesk on the computer that will watch the screens. The manager starts the UI and local server together, then opens http://127.0.0.1:5179.",managerPoints:["The command is npx -y livedesk.","The manager uses port 5179 for the Screen Wall/API and port 5197 for client connections.","If an old LiveDesk process still owns those ports, startup cleans it by default. Add --no-clean when you want to keep it."],clientTitle:"2. Connect a workstation",clientBody:"On each monitored computer, connect with Google sign-in or the 6-digit PIN shown on the Hub screen. If no manager is online yet, the client keeps running and retries every 5 seconds.",clientPoints:["Run npx -y livedesk client for first available placement.","Run npx -y livedesk client 3 to pin the machine to slot 3.","The browser connection page lets you choose Google or a 6-digit PIN."],syncTitle:"3. Sync Server and discovery",syncBody:"Sync Server publishes this manager as the active Screen Wall for the signed-in account. Clients read that Supabase record after Google sign-in and try the endpoint candidates in order.",syncPoints:["The record includes host instance, LAN/private addresses, public endpoint candidates, pair token, and a short lease.","LAN candidates are preferred first, then public candidates if needed.","Press Sync Server after manager moves, VPN/firewall/router changes, or when this development machine should take over as active manager.","Chrome Local Network Access on livedesk.pages.dev is no longer the default runtime path. The npm manager app is the real server."],platformTitle:"4. Current platform state",platformBody:"Windows has been verified with live screen transfer. macOS and Linux follow the same npm command path as support expands.",platformPoints:["Windows: verified working.","macOS: manager/client paths are prepared; screen capture and control require Screen Recording/Accessibility permissions.","Linux: linux-x64 runtime, grim/gnome-screenshot/import/scrot capture, and xdotool input backend are added. Audio is still disabled."],firewallTitle:"Firewall and remote locations",firewallBody:"On the same LAN, router forwarding is usually unnecessary. For another office, building, or country, clients must be able to reach the manager client port.",firewallPoints:["Client connection port: TCP 5197.","Client machines normally only need outbound access.","For remote networks, allow inbound TCP 5197 on the manager firewall and forward TCP 5197 from the router to the manager PC.","Screen Wall/API port 5179 is for the manager UI. Expose it only if a remote browser must open the Wall directly.","Prefer VPN, Tailscale, ZeroTier, or fixed-IP allowlists over public internet exposure."],commandsTitle:"Current commands",commandsBody:"The product direction is one terminal command across operating systems instead of finding a website, downloading, and installing manually.",managerCommandLabel:"Start manager",clientCommandLabel:"Connect workstation",slotCommandLabel:"Pin to slot 3",manualCommandLabel:"Advanced manual connection"}),ja:Mt({languageName:"日本語",languageLabel:"ドキュメント言語",eyebrow:"LiveDesk Manual",title:"1行でローカル Screen Wall を開く",intro:"LiveDesk は、複数の作業 PC、AI マシン、Mac mini、開発機を1台の manager PC から監視する npm-first のリモート作業デッキです。",managerTitle:"1. manager を実行",managerBody:"画面を集めて見るコンピューターで LiveDesk manager を実行します。UI とローカルサーバーが同時に起動し、http://127.0.0.1:5179 が開きます。",managerPoints:["コマンドは npx -y livedesk です。","Screen Wall/API は 5179、client 接続は 5197 を使います。","古い LiveDesk プロセスがポートを使っている場合は、基本的に自動で整理して起動します。"],clientTitle:"2. workstation を接続",clientBody:"監視される PC で同じ Google アカウントにログインします。manager がまだ無くても client は終了せず、5秒ごとに再試行します。",clientPoints:["空きスロットに入れるには npx -y livedesk client を実行します。","スロットを固定するには npx -y livedesk client 3 のように番号を付けます。","大量の PC でも再ログインなしで待ち続けます。"],syncTitle:"3. Sync Server と自動検出",syncBody:"Sync Server はこの manager を現在の Google アカウントの active Screen Wall として Supabase に登録します。",syncPoints:["host instance、LAN/private アドレス、public 候補、pair token、短い lease を登録します。","client は LAN 候補を優先し、必要なら public 候補も試します。","VPN、firewall、router、manager の場所が変わったら Sync Server を押します。","livedesk.pages.dev の Chrome Local Network Access は標準実行経路ではありません。npm manager アプリが実際のサーバーです。"],platformTitle:"4. 現在のプラットフォーム状態",platformBody:"Windows は live screen transfer まで確認済みです。macOS と Linux も同じ npm コマンド経路を目標に対応を広げています。",platformPoints:["Windows: 動作確認済み。","macOS: 画面取得と制御には Screen Recording/Accessibility 権限が必要です。","Linux: linux-x64 runtime、grim/gnome-screenshot/import/scrot capture、xdotool input backend を追加済み。audio は未対応です。"],firewallTitle:"Firewall と外部拠点",firewallBody:"同じ LAN なら通常 router forwarding は不要です。外部拠点では client が manager の接続ポートへ到達できる必要があります。",firewallPoints:["client 接続ポートは TCP 5197 です。","client 側は通常 outbound だけで足ります。","外部 network では manager PC の firewall で TCP 5197 inbound を許可し、router から manager PC へ forward します。","5179 は manager UI 用なので、外部ブラウザで Wall を開く必要がある時だけ公開を検討します。","公開 internet より VPN、Tailscale、ZeroTier、IP allowlist を優先してください。"],commandsTitle:"現在のコマンド",commandsBody:"Web サイトから installer を探すより、OS をまたいで terminal 1行で動かす方向です。",managerCommandLabel:"manager 起動",clientCommandLabel:"workstation 接続",slotCommandLabel:"slot 3 に固定",manualCommandLabel:"高度な手動接続"}),"zh-CN":Mt({languageName:"简体中文",languageLabel:"文档语言",eyebrow:"LiveDesk Manual",title:"用一条命令打开本地 Screen Wall",intro:"LiveDesk 是 npm-first 的远程工作台,用一台 manager PC 监控多台工作站、AI 主机、Mac mini 和开发机器。",managerTitle:"1. 运行 manager",managerBody:"在负责查看屏幕的电脑上运行 LiveDesk manager。它会同时启动 UI 和本地服务器,并打开 http://127.0.0.1:5179。",managerPoints:["命令是 npx -y livedesk。","Screen Wall/API 使用 5179,client 连接使用 5197。","如果旧的 LiveDesk 进程占用端口,默认会清理后重新启动。"],clientTitle:"2. 连接 workstation",clientBody:"在被监控的电脑上使用同一个 Google 账号登录。即使 manager 还没在线,client 也会继续运行并每 5 秒重试。",clientPoints:["自动放入空位: npx -y livedesk client。","固定到 3 号位置: npx -y livedesk client 3。","大量电脑也可以持续等待,不需要反复登录。"],syncTitle:"3. Sync Server 和自动发现",syncBody:"Sync Server 会把当前 manager 作为该账号的 active Screen Wall 写入 Supabase。client 登录后读取记录并依次尝试连接候选地址。",syncPoints:["记录包括 host instance、LAN/private 地址、public 候选、pair token 和短 lease。","优先尝试同一 LAN 地址,需要时再尝试外部地址。","manager 位置、VPN、防火墙或路由变化后请点击 Sync Server。","livedesk.pages.dev 的 Chrome Local Network Access 不再是默认运行方式。npm manager app 才是真正服务器。"],platformTitle:"4. 当前平台状态",platformBody:"Windows 已确认可传输实时画面。macOS 和 Linux 正按同一 npm 命令路径扩展支持。",platformPoints:["Windows: 已确认可用。","macOS: 画面捕获和控制需要 Screen Recording/Accessibility 权限。","Linux: 已加入 linux-x64 runtime、grim/gnome-screenshot/import/scrot 捕获、xdotool 输入后端。音频尚未启用。"],firewallTitle:"防火墙和外部地点",firewallBody:"同一 LAN 通常不需要路由端口转发。不同地点连接时,client 必须能访问 manager 的 client 连接端口。",firewallPoints:["client 连接端口是 TCP 5197。","client 机器通常只需要出站访问。","跨网络时,在 manager 防火墙放行 TCP 5197 入站,并在路由器转发到 manager PC。","5179 是 manager UI 端口,仅在需要远程浏览器直接打开 Wall 时考虑暴露。","优先使用 VPN、Tailscale、ZeroTier 或固定 IP allowlist。"],commandsTitle:"当前命令",commandsBody:"产品方向是跨操作系统使用一条终端命令,而不是先找网站、下载、安装。",managerCommandLabel:"启动 manager",clientCommandLabel:"连接 workstation",slotCommandLabel:"固定到 slot 3",manualCommandLabel:"高级手动连接"}),"zh-TW":Mt({languageName:"繁體中文",languageLabel:"文件語言",eyebrow:"LiveDesk Manual",title:"用一行指令開啟本機 Screen Wall",intro:"LiveDesk 是 npm-first 的遠端工作台,用一台 manager PC 監看多台工作站、AI 主機、Mac mini 與開發機。",managerTitle:"1. 執行 manager",managerBody:"在負責看畫面的電腦上執行 LiveDesk manager。它會同時啟動 UI 與本機伺服器,並開啟 http://127.0.0.1:5179。",managerPoints:["指令是 npx -y livedesk。","Screen Wall/API 使用 5179,client 連線使用 5197。","若舊的 LiveDesk 程序占用連接埠,預設會清理後重新啟動。"],clientTitle:"2. 連接 workstation",clientBody:"在被監看的電腦上使用同一個 Google 帳號登入。即使 manager 尚未上線,client 也會持續執行並每 5 秒重試。",clientPoints:["自動放入空位: npx -y livedesk client。","固定到 3 號位置: npx -y livedesk client 3。","大量電腦也能持續等待,不需要反覆登入。"],syncTitle:"3. Sync Server 與自動探索",syncBody:"Sync Server 會把目前 manager 登錄為此帳號的 active Screen Wall。client 登入後讀取 Supabase 記錄並依序嘗試連線候選地址。",syncPoints:["記錄包含 host instance、LAN/private 位址、public 候選、pair token 與短 lease。","優先嘗試 LAN 位址,需要時再嘗試外部位址。","manager 位置、VPN、防火牆或路由設定改變後請按 Sync Server。","livedesk.pages.dev 的 Chrome Local Network Access 不再是預設執行路徑。npm manager app 才是真正伺服器。"],platformTitle:"4. 目前平台狀態",platformBody:"Windows 已確認可傳輸即時畫面。macOS 與 Linux 也沿用相同 npm 指令路徑擴充支援。",platformPoints:["Windows: 已確認可用。","macOS: 畫面擷取與控制需要 Screen Recording/Accessibility 權限。","Linux: 已加入 linux-x64 runtime、grim/gnome-screenshot/import/scrot capture、xdotool input backend。音訊尚未啟用。"],firewallTitle:"防火牆與外部地點",firewallBody:"同一 LAN 通常不需要路由器轉發。不同地點連線時,client 必須能到達 manager 的 client 連線埠。",firewallPoints:["client 連線埠是 TCP 5197。","client 電腦通常只需要對外連線。","跨網路時,請在 manager 防火牆允許 TCP 5197 inbound,並從路由器轉發到 manager PC。","5179 是 manager UI 連接埠,只在需要遠端瀏覽器直接打開 Wall 時才考慮公開。","優先使用 VPN、Tailscale、ZeroTier 或固定 IP allowlist。"],commandsTitle:"目前指令",commandsBody:"產品方向是跨作業系統用一行 terminal 指令,而不是先找網站、下載、安裝。",managerCommandLabel:"啟動 manager",clientCommandLabel:"連接 workstation",slotCommandLabel:"固定到 slot 3",manualCommandLabel:"進階手動連線"}),es:Mt({languageName:"Español",languageLabel:"Idioma del documento",eyebrow:"LiveDesk Manual",title:"Abre un Screen Wall local con un comando",intro:"LiveDesk es una consola npm-first para vigilar muchas estaciones, cajas de IA, Mac mini y equipos de desarrollo desde un PC manager.",managerTitle:"1. Ejecuta el manager",managerBody:"Ejecuta LiveDesk en el equipo que verá las pantallas. El manager inicia la UI y el servidor local juntos y abre http://127.0.0.1:5179.",managerPoints:["El comando es npx -y livedesk.","El manager usa 5179 para Screen Wall/API y 5197 para conexiones client.","Si un proceso antiguo ocupa los puertos, el arranque lo limpia por defecto."],clientTitle:"2. Conecta una workstation",clientBody:"En cada equipo monitoreado, inicia sesión con la misma cuenta Google. Si el manager aún no está activo, el client sigue intentando cada 5 segundos.",clientPoints:["Usa npx -y livedesk client para el primer slot libre.","Usa npx -y livedesk client 3 para fijar el equipo al slot 3.","Los clients siguen esperando para no repetir login en muchas máquinas."],syncTitle:"3. Sync Server y descubrimiento",syncBody:"Sync Server publica este manager como Screen Wall activo para la cuenta. Los clients leen el registro en Supabase y prueban los endpoints.",syncPoints:["Incluye host instance, direcciones LAN/private, candidatos public, pair token y lease corto.","Primero se prueban candidatos LAN, luego públicos si hace falta.","Pulsa Sync Server después de cambios de manager, VPN, firewall o router.","Chrome Local Network Access en livedesk.pages.dev ya no es el flujo principal. La app npm manager es el servidor real."],platformTitle:"4. Estado de plataformas",platformBody:"Windows ya fue verificado con transferencia de pantalla. macOS y Linux siguen el mismo camino npm.",platformPoints:["Windows: verificado.","macOS: captura y control requieren permisos Screen Recording/Accessibility.","Linux: agregado linux-x64 runtime, captura grim/gnome-screenshot/import/scrot y entrada xdotool. Audio aún desactivado."],firewallTitle:"Firewall y sedes remotas",firewallBody:"En la misma LAN normalmente no hace falta port forwarding. Para otra red, los clients deben llegar al puerto client del manager.",firewallPoints:["Puerto de conexión client: TCP 5197.","Los equipos client normalmente solo necesitan salida.","Para redes remotas, permite TCP 5197 inbound en el manager y reenvía TCP 5197 al PC manager.","El puerto 5179 es para la UI del manager; expónlo solo si un navegador remoto debe abrir el Wall.","Prefiere VPN, Tailscale, ZeroTier o allowlist de IP fijas."],commandsTitle:"Comandos actuales",commandsBody:"La dirección del producto es un comando de terminal común entre sistemas, no descargar e instalar desde una web.",managerCommandLabel:"Iniciar manager",clientCommandLabel:"Conectar workstation",slotCommandLabel:"Fijar al slot 3",manualCommandLabel:"Conexión manual avanzada"}),fr:Mt({languageName:"Français",languageLabel:"Langue du document",eyebrow:"LiveDesk Manual",title:"Ouvrir un Screen Wall local en une commande",intro:"LiveDesk est un deck npm-first pour surveiller plusieurs postes, machines IA, Mac mini et machines dev depuis un PC manager.",managerTitle:"1. Lancer le manager",managerBody:"Lancez LiveDesk sur l’ordinateur qui observe les écrans. Le manager démarre l’UI et le serveur local, puis ouvre http://127.0.0.1:5179.",managerPoints:["La commande est npx -y livedesk.","Le manager utilise 5179 pour Screen Wall/API et 5197 pour les connexions client.","Si un ancien processus utilise les ports, le démarrage le nettoie par défaut."],clientTitle:"2. Connecter une workstation",clientBody:"Sur chaque ordinateur surveillé, connectez-vous avec le même compte Google. Si le manager n’est pas encore actif, le client réessaie toutes les 5 secondes.",clientPoints:["Utilisez npx -y livedesk client pour le premier slot libre.","Utilisez npx -y livedesk client 3 pour fixer la machine au slot 3.","Les clients continuent d’attendre pour éviter les reconnexions répétées."],syncTitle:"3. Sync Server et découverte",syncBody:"Sync Server publie ce manager comme Screen Wall actif du compte. Les clients lisent l’enregistrement Supabase et testent les endpoints.",syncPoints:["Il contient host instance, adresses LAN/private, candidats public, pair token et lease court.","Les candidats LAN sont essayés en premier, puis les candidats publics si besoin.","Cliquez Sync Server après un changement de manager, VPN, firewall ou routeur.","Chrome Local Network Access sur livedesk.pages.dev n’est plus le chemin par défaut. L’app npm manager est le vrai serveur."],platformTitle:"4. État des plateformes",platformBody:"Windows est vérifié avec transfert d’écran live. macOS et Linux suivent le même chemin npm.",platformPoints:["Windows: vérifié.","macOS: capture et contrôle nécessitent Screen Recording/Accessibility.","Linux: runtime linux-x64, capture grim/gnome-screenshot/import/scrot et entrée xdotool ajoutés. Audio désactivé."],firewallTitle:"Firewall et sites distants",firewallBody:"Sur le même LAN, le port forwarding est rarement nécessaire. Depuis un autre réseau, les clients doivent atteindre le port client du manager.",firewallPoints:["Port de connexion client: TCP 5197.","Les machines client ont normalement seulement besoin de sortie réseau.","Pour un réseau distant, autorisez TCP 5197 entrant sur le manager et redirigez TCP 5197 vers le PC manager.","Le port 5179 sert à l’UI manager; exposez-le seulement si un navigateur distant doit ouvrir le Wall.","Préférez VPN, Tailscale, ZeroTier ou allowlist IP fixes."],commandsTitle:"Commandes actuelles",commandsBody:"La direction produit est une commande terminal commune aux OS, plutôt qu’un téléchargement manuel depuis un site.",managerCommandLabel:"Démarrer manager",clientCommandLabel:"Connecter workstation",slotCommandLabel:"Fixer au slot 3",manualCommandLabel:"Connexion manuelle avancée"}),de:Mt({languageName:"Deutsch",languageLabel:"Dokumentsprache",eyebrow:"LiveDesk Manual",title:"Lokale Screen Wall mit einem Befehl öffnen",intro:"LiveDesk ist ein npm-first Arbeitsdeck, um viele Workstations, AI-Boxen, Mac minis und Dev-Rechner von einem Manager-PC zu überwachen.",managerTitle:"1. Manager starten",managerBody:"Starte LiveDesk auf dem Computer, der die Screens sieht. Der Manager startet UI und lokalen Server zusammen und öffnet http://127.0.0.1:5179.",managerPoints:["Der Befehl ist npx -y livedesk.","Der Manager nutzt 5179 für Screen Wall/API und 5197 für Client-Verbindungen.","Wenn alte LiveDesk-Prozesse Ports belegen, werden sie beim Start standardmäßig bereinigt."],clientTitle:"2. Workstation verbinden",clientBody:"Melde dich auf jedem überwachten Computer mit demselben Google-Konto an. Wenn kein Manager online ist, versucht der Client alle 5 Sekunden weiter.",clientPoints:["npx -y livedesk client nutzt den ersten freien Slot.","npx -y livedesk client 3 fixiert den Rechner auf Slot 3.","Clients warten weiter, damit große Setups kein wiederholtes Login brauchen."],syncTitle:"3. Sync Server und Discovery",syncBody:"Sync Server veröffentlicht diesen Manager als aktive Screen Wall des Kontos. Clients lesen den Supabase-Eintrag und testen Endpoints der Reihe nach.",syncPoints:["Enthält host instance, LAN/private Adressen, public Kandidaten, pair token und kurze lease.","LAN-Kandidaten werden zuerst versucht, danach public Kandidaten.","Nach Änderungen an Manager, VPN, Firewall oder Router Sync Server drücken.","Chrome Local Network Access auf livedesk.pages.dev ist nicht mehr der Standardpfad. Die npm Manager App ist der echte Server."],platformTitle:"4. Plattformstatus",platformBody:"Windows wurde mit Live-Screen-Transfer geprüft. macOS und Linux folgen demselben npm-Pfad.",platformPoints:["Windows: verifiziert.","macOS: Capture und Control brauchen Screen Recording/Accessibility Rechte.","Linux: linux-x64 Runtime, grim/gnome-screenshot/import/scrot Capture und xdotool Input Backend sind ergänzt. Audio ist deaktiviert."],firewallTitle:"Firewall und entfernte Standorte",firewallBody:"Im gleichen LAN ist Router-Forwarding meist unnötig. Aus anderen Netzwerken müssen Clients den Client-Port des Managers erreichen.",firewallPoints:["Client-Verbindungsport: TCP 5197.","Client-Rechner brauchen normalerweise nur ausgehenden Zugriff.","Für entfernte Netzwerke TCP 5197 inbound am Manager erlauben und vom Router zum Manager-PC forwarden.","Port 5179 ist für die Manager-UI; nur öffnen, wenn ein Remote-Browser die Wall direkt öffnen muss.","VPN, Tailscale, ZeroTier oder feste IP-Allowlists bevorzugen."],commandsTitle:"Aktuelle Befehle",commandsBody:"Die Produktlinie ist ein Terminalbefehl über Betriebssysteme hinweg, statt Website suchen, herunterladen und installieren.",managerCommandLabel:"Manager starten",clientCommandLabel:"Workstation verbinden",slotCommandLabel:"An Slot 3 fixieren",manualCommandLabel:"Erweiterte manuelle Verbindung"}),"pt-BR":Mt({languageName:"Português",languageLabel:"Idioma do documento",eyebrow:"LiveDesk Manual",title:"Abra um Screen Wall local com um comando",intro:"LiveDesk é um deck npm-first para monitorar várias estações, caixas de IA, Mac minis e máquinas dev a partir de um PC manager.",managerTitle:"1. Execute o manager",managerBody:"Rode LiveDesk no computador que verá as telas. O manager inicia a UI e o servidor local juntos e abre http://127.0.0.1:5179.",managerPoints:["O comando é npx -y livedesk.","O manager usa 5179 para Screen Wall/API e 5197 para conexões client.","Se um processo antigo ocupa as portas, a inicialização limpa por padrão."],clientTitle:"2. Conecte uma workstation",clientBody:"Em cada computador monitorado, entre com a mesma conta Google. Se o manager ainda não estiver online, o client tenta a cada 5 segundos.",clientPoints:["Use npx -y livedesk client para o primeiro slot livre.","Use npx -y livedesk client 3 para fixar no slot 3.","Clients continuam tentando para evitar login repetido em muitos PCs."],syncTitle:"3. Sync Server e descoberta",syncBody:"Sync Server publica este manager como Screen Wall ativo da conta. Clients leem o registro no Supabase e testam endpoints.",syncPoints:["Inclui host instance, endereços LAN/private, candidatos public, pair token e lease curto.","Candidatos LAN vêm primeiro; public depois se necessário.","Clique Sync Server após mudanças de manager, VPN, firewall ou roteador.","Chrome Local Network Access em livedesk.pages.dev não é mais o caminho padrão. O app npm manager é o servidor real."],platformTitle:"4. Estado das plataformas",platformBody:"Windows foi verificado com transferência de tela. macOS e Linux seguem o mesmo caminho npm.",platformPoints:["Windows: verificado.","macOS: captura e controle precisam de permissões Screen Recording/Accessibility.","Linux: runtime linux-x64, captura grim/gnome-screenshot/import/scrot e entrada xdotool adicionados. Áudio ainda desativado."],firewallTitle:"Firewall e locais remotos",firewallBody:"Na mesma LAN normalmente não é preciso port forwarding. Em outra rede, clients precisam alcançar a porta client do manager.",firewallPoints:["Porta client: TCP 5197.","Máquinas client normalmente só precisam de saída.","Para redes remotas, permita TCP 5197 inbound no manager e encaminhe TCP 5197 para o PC manager.","A porta 5179 é para a UI do manager; exponha apenas se um navegador remoto precisar abrir o Wall.","Prefira VPN, Tailscale, ZeroTier ou allowlist de IP fixo."],commandsTitle:"Comandos atuais",commandsBody:"A direção do produto é um comando de terminal comum entre sistemas, não baixar e instalar manualmente.",managerCommandLabel:"Iniciar manager",clientCommandLabel:"Conectar workstation",slotCommandLabel:"Fixar no slot 3",manualCommandLabel:"Conexão manual avançada"}),it:Mt({languageName:"Italiano",languageLabel:"Lingua documento",eyebrow:"LiveDesk Manual",title:"Apri uno Screen Wall locale con un comando",intro:"LiveDesk è un deck npm-first per monitorare workstation, box AI, Mac mini e macchine dev da un solo PC manager.",managerTitle:"1. Avvia il manager",managerBody:"Esegui LiveDesk sul computer che guarderà gli schermi. Il manager avvia UI e server locale e apre http://127.0.0.1:5179.",managerPoints:["Il comando è npx -y livedesk.","Il manager usa 5179 per Screen Wall/API e 5197 per connessioni client.","Se vecchi processi occupano le porte, l’avvio le pulisce di default."],clientTitle:"2. Connetti una workstation",clientBody:"Su ogni computer monitorato, accedi con lo stesso account Google. Se il manager non è online, il client riprova ogni 5 secondi.",clientPoints:["npx -y livedesk client usa il primo slot libero.","npx -y livedesk client 3 fissa la macchina allo slot 3.","I client continuano a provare per evitare login ripetuti."],syncTitle:"3. Sync Server e discovery",syncBody:"Sync Server pubblica questo manager come Screen Wall attivo dell’account. I client leggono Supabase e provano gli endpoint.",syncPoints:["Include host instance, indirizzi LAN/private, candidati public, pair token e lease breve.","Prima LAN, poi public se necessario.","Premi Sync Server dopo cambi di manager, VPN, firewall o router.","Chrome Local Network Access su livedesk.pages.dev non è più il percorso principale. L’app npm manager è il server reale."],platformTitle:"4. Stato piattaforme",platformBody:"Windows è verificato con trasferimento schermo live. macOS e Linux seguono lo stesso percorso npm.",platformPoints:["Windows: verificato.","macOS: capture e control richiedono permessi Screen Recording/Accessibility.","Linux: aggiunti runtime linux-x64, capture grim/gnome-screenshot/import/scrot e input xdotool. Audio disattivato."],firewallTitle:"Firewall e sedi remote",firewallBody:"Nella stessa LAN di solito non serve port forwarding. Da altre reti, i client devono raggiungere la porta client del manager.",firewallPoints:["Porta client: TCP 5197.","I client normalmente richiedono solo uscita.","Per reti remote, abilita TCP 5197 inbound sul manager e inoltra TCP 5197 al PC manager.","La porta 5179 è per la UI manager; esponila solo se un browser remoto deve aprire il Wall.","Preferisci VPN, Tailscale, ZeroTier o IP allowlist."],commandsTitle:"Comandi attuali",commandsBody:"La direzione è un comando terminale comune tra sistemi operativi, invece di download e install manuale.",managerCommandLabel:"Avvia manager",clientCommandLabel:"Connetti workstation",slotCommandLabel:"Fissa allo slot 3",manualCommandLabel:"Connessione manuale avanzata"}),id:Mt({languageName:"Bahasa Indonesia",languageLabel:"Bahasa dokumen",eyebrow:"LiveDesk Manual",title:"Buka Screen Wall lokal dengan satu perintah",intro:"LiveDesk adalah deck npm-first untuk memantau banyak workstation, AI box, Mac mini, dan mesin dev dari satu PC manager.",managerTitle:"1. Jalankan manager",managerBody:"Jalankan LiveDesk di komputer yang melihat layar. Manager membuka UI dan server lokal bersama, lalu membuka http://127.0.0.1:5179.",managerPoints:["Perintahnya npx -y livedesk.","Manager memakai 5179 untuk Screen Wall/API dan 5197 untuk koneksi client.","Jika proses lama memakai port itu, startup membersihkannya secara default."],clientTitle:"2. Hubungkan workstation",clientBody:"Di komputer yang dipantau, masuk dengan akun Google yang sama. Jika manager belum online, client tetap mencoba tiap 5 detik.",clientPoints:["npx -y livedesk client memakai slot kosong pertama.","npx -y livedesk client 3 mengunci mesin ke slot 3.","Client terus mencoba agar banyak PC tidak perlu login berulang."],syncTitle:"3. Sync Server dan discovery",syncBody:"Sync Server menerbitkan manager ini sebagai Screen Wall aktif untuk akun. Client membaca Supabase dan mencoba endpoint.",syncPoints:["Berisi host instance, alamat LAN/private, kandidat public, pair token, dan lease pendek.","Kandidat LAN dicoba lebih dulu, lalu public jika perlu.","Tekan Sync Server setelah perubahan manager, VPN, firewall, atau router.","Chrome Local Network Access di livedesk.pages.dev bukan jalur utama lagi. App npm manager adalah server sebenarnya."],platformTitle:"4. Status platform",platformBody:"Windows sudah diverifikasi dengan live screen transfer. macOS dan Linux mengikuti jalur npm yang sama.",platformPoints:["Windows: terverifikasi.","macOS: capture dan control perlu izin Screen Recording/Accessibility.","Linux: runtime linux-x64, capture grim/gnome-screenshot/import/scrot, dan input xdotool sudah ditambahkan. Audio belum aktif."],firewallTitle:"Firewall dan lokasi luar",firewallBody:"Di LAN yang sama biasanya tidak perlu port forwarding. Dari jaringan lain, client harus mencapai port client manager.",firewallPoints:["Port client: TCP 5197.","Mesin client biasanya hanya perlu akses keluar.","Untuk jaringan luar, izinkan TCP 5197 inbound di manager dan forward TCP 5197 ke PC manager.","Port 5179 untuk UI manager; buka hanya jika browser luar harus membuka Wall.","Utamakan VPN, Tailscale, ZeroTier, atau IP allowlist."],commandsTitle:"Perintah saat ini",commandsBody:"Arah produk adalah satu perintah terminal lintas OS, bukan download dan instal manual.",managerCommandLabel:"Mulai manager",clientCommandLabel:"Hubungkan workstation",slotCommandLabel:"Kunci ke slot 3",manualCommandLabel:"Koneksi manual lanjutan"}),vi:Mt({languageName:"Tiếng Việt",languageLabel:"Ngôn ngữ tài liệu",eyebrow:"LiveDesk Manual",title:"Mở Screen Wall cục bộ bằng một lệnh",intro:"LiveDesk là deck npm-first để giám sát nhiều workstation, máy AI, Mac mini và máy dev từ một PC manager.",managerTitle:"1. Chạy manager",managerBody:"Chạy LiveDesk trên máy dùng để xem màn hình. Manager khởi động UI và server cục bộ cùng lúc, rồi mở http://127.0.0.1:5179.",managerPoints:["Lệnh là npx -y livedesk.","Manager dùng 5179 cho Screen Wall/API và 5197 cho kết nối client.","Nếu tiến trình cũ giữ port, startup mặc định sẽ dọn và khởi động lại."],clientTitle:"2. Kết nối workstation",clientBody:"Trên mỗi máy được giám sát, đăng nhập cùng tài khoản Google. Nếu manager chưa online, client tiếp tục thử mỗi 5 giây.",clientPoints:["npx -y livedesk client dùng slot trống đầu tiên.","npx -y livedesk client 3 ghim máy vào slot 3.","Client tiếp tục chờ để nhiều máy không cần đăng nhập lại."],syncTitle:"3. Sync Server và tự phát hiện",syncBody:"Sync Server đăng manager này là Screen Wall đang hoạt động của tài khoản. Client đọc Supabase và thử các endpoint.",syncPoints:["Bao gồm host instance, địa chỉ LAN/private, public candidate, pair token và lease ngắn.","Ưu tiên LAN trước, sau đó thử public nếu cần.","Bấm Sync Server sau thay đổi manager, VPN, firewall hoặc router.","Chrome Local Network Access trên livedesk.pages.dev không còn là đường chạy chính. App npm manager mới là server thật."],platformTitle:"4. Trạng thái nền tảng",platformBody:"Windows đã được kiểm chứng với truyền màn hình live. macOS và Linux đi theo cùng đường npm.",platformPoints:["Windows: đã kiểm chứng.","macOS: capture và control cần quyền Screen Recording/Accessibility.","Linux: đã thêm runtime linux-x64, capture grim/gnome-screenshot/import/scrot và input xdotool. Audio chưa bật."],firewallTitle:"Firewall và địa điểm ngoài",firewallBody:"Trong cùng LAN thường không cần port forwarding. Từ mạng khác, client phải truy cập được port client của manager.",firewallPoints:["Port client: TCP 5197.","Máy client thường chỉ cần kết nối outbound.","Với mạng ngoài, cho phép TCP 5197 inbound trên manager và forward TCP 5197 tới PC manager.","Port 5179 dành cho UI manager; chỉ mở nếu trình duyệt từ xa cần mở Wall trực tiếp.","Ưu tiên VPN, Tailscale, ZeroTier hoặc allowlist IP cố định."],commandsTitle:"Lệnh hiện tại",commandsBody:"Hướng sản phẩm là một lệnh terminal dùng chung giữa các OS, thay vì tải và cài thủ công.",managerCommandLabel:"Khởi động manager",clientCommandLabel:"Kết nối workstation",slotCommandLabel:"Ghim vào slot 3",manualCommandLabel:"Kết nối thủ công nâng cao"}),th:Mt({languageName:"ไทย",languageLabel:"ภาษาของเอกสาร",eyebrow:"LiveDesk Manual",title:"เปิด Screen Wall ภายในด้วยคำสั่งเดียว",intro:"LiveDesk คือ deck แบบ npm-first สำหรับดู workstation, กล่อง AI, Mac mini และเครื่อง dev หลายเครื่องจาก manager PC เครื่องเดียว",managerTitle:"1. รัน manager",managerBody:"รัน LiveDesk บนเครื่องที่ใช้ดูหน้าจอ Manager จะเปิด UI และ local server พร้อมกัน แล้วเปิด http://127.0.0.1:5179",managerPoints:["คำสั่งคือ npx -y livedesk","Manager ใช้ 5179 สำหรับ Screen Wall/API และ 5197 สำหรับ client connection","ถ้า process เก่ายังใช้ port อยู่ startup จะล้างให้โดย default"],clientTitle:"2. เชื่อม workstation",clientBody:"บนเครื่องที่ต้อง monitor ให้ login ด้วย Google account เดียวกัน ถ้า manager ยังไม่ออนไลน์ client จะลองใหม่ทุก 5 วินาที",clientPoints:["npx -y livedesk client จะใช้ slot ว่างแรก","npx -y livedesk client 3 จะตรึงเครื่องไว้ที่ slot 3","Client จะรอต่อเนื่องเพื่อไม่ต้อง login ซ้ำเมื่อมีหลายเครื่อง"],syncTitle:"3. Sync Server และ discovery",syncBody:"Sync Server จะ publish manager นี้เป็น active Screen Wall ของ account แล้ว client อ่านข้อมูลจาก Supabase และลอง endpoint ต่างๆ",syncPoints:["มี host instance, LAN/private address, public candidate, pair token และ short lease","ลอง LAN ก่อน แล้วค่อยลอง public ถ้าจำเป็น","กด Sync Server หลังเปลี่ยน manager, VPN, firewall หรือ router","Chrome Local Network Access บน livedesk.pages.dev ไม่ใช่ runtime หลักแล้ว app npm manager คือ server จริง"],platformTitle:"4. สถานะ platform",platformBody:"Windows ตรวจสอบแล้วว่าส่งภาพ live ได้ macOS และ Linux ใช้เส้นทาง npm เดียวกัน",platformPoints:["Windows: verified","macOS: capture/control ต้องใช้สิทธิ์ Screen Recording/Accessibility","Linux: เพิ่ม linux-x64 runtime, grim/gnome-screenshot/import/scrot capture และ xdotool input แล้ว audio ยังปิดอยู่"],firewallTitle:"Firewall และเครื่องต่างสถานที่",firewallBody:"ใน LAN เดียวกันปกติไม่ต้อง port forwarding ถ้าอยู่คนละ network client ต้องเข้าถึง client port ของ manager ได้",firewallPoints:["Client port คือ TCP 5197","เครื่อง client ปกติต้องการ outbound เท่านั้น","ถ้าอยู่นอก network ให้เปิด TCP 5197 inbound ที่ manager และ forward TCP 5197 ไปยัง manager PC","Port 5179 เป็น UI ของ manager เปิดเฉพาะเมื่อ browser ระยะไกลต้องเปิด Wall โดยตรง","ควรใช้ VPN, Tailscale, ZeroTier หรือ IP allowlist ก่อนเปิดสู่ public internet"],commandsTitle:"คำสั่งปัจจุบัน",commandsBody:"ทิศทาง product คือคำสั่ง terminal เดียวข้าม OS ไม่ใช่ download/install จากเว็บไซต์",managerCommandLabel:"เริ่ม manager",clientCommandLabel:"เชื่อม workstation",slotCommandLabel:"ตรึง slot 3",manualCommandLabel:"manual connection ขั้นสูง"}),hi:Mt({languageName:"हिन्दी",languageLabel:"दस्तावेज़ भाषा",eyebrow:"LiveDesk Manual",title:"एक कमांड से local Screen Wall खोलें",intro:"LiveDesk एक npm-first remote work deck है जिससे एक manager PC से कई workstation, AI box, Mac mini और dev machines देखे जा सकते हैं।",managerTitle:"1. manager चलाएं",managerBody:"जिस computer से screens देखनी हैं उस पर LiveDesk manager चलाएं। यह UI और local server साथ में शुरू करता है और http://127.0.0.1:5179 खोलता है।",managerPoints:["कमांड है npx -y livedesk।","Manager Screen Wall/API के लिए 5179 और client connections के लिए 5197 इस्तेमाल करता है।","अगर पुराने LiveDesk ports बचे हों तो startup default रूप से साफ करता है।"],clientTitle:"2. workstation जोड़ें",clientBody:"हर monitored computer पर उसी Google account से sign in करें। Manager online न हो तब भी client बंद नहीं होता और हर 5 सेकंड retry करता है।",clientPoints:["npx -y livedesk client पहला खाली slot लेता है।","npx -y livedesk client 3 machine को slot 3 पर pin करता है।","बहुत सी machines हों तब भी बार-बार login की जरूरत नहीं रहती।"],syncTitle:"3. Sync Server और discovery",syncBody:"Sync Server इस manager को account का active Screen Wall बनाकर Supabase में publish करता है। Clients record पढ़कर endpoints try करते हैं।",syncPoints:["इसमें host instance, LAN/private addresses, public candidates, pair token और short lease होता है।","LAN candidates पहले try होते हैं, जरूरत हो तो public candidates।","Manager, VPN, firewall या router बदलने के बाद Sync Server दबाएं।","livedesk.pages.dev का Chrome Local Network Access अब default runtime नहीं है। npm manager app ही real server है।"],platformTitle:"4. Platform status",platformBody:"Windows live screen transfer के साथ verified है। macOS और Linux भी इसी npm path पर आगे बढ़ रहे हैं।",platformPoints:["Windows: verified.","macOS: capture/control के लिए Screen Recording/Accessibility permissions चाहिए।","Linux: linux-x64 runtime, grim/gnome-screenshot/import/scrot capture और xdotool input backend जोड़े गए हैं। Audio अभी disabled है।"],firewallTitle:"Firewall और remote locations",firewallBody:"Same LAN में आम तौर पर router forwarding जरूरी नहीं। दूसरे network से clients को manager client port तक पहुंचना होगा।",firewallPoints:["Client connection port: TCP 5197.","Client machines को आम तौर पर सिर्फ outbound access चाहिए।","Remote network के लिए manager firewall में TCP 5197 inbound allow करें और router से TCP 5197 manager PC पर forward करें।","5179 manager UI port है; इसे तभी expose करें जब remote browser को Wall खोलना हो।","Public internet से पहले VPN, Tailscale, ZeroTier या fixed IP allowlist बेहतर है।"],commandsTitle:"Current commands",commandsBody:"Product direction है OS के बीच एक terminal command, website से download/install नहीं।",managerCommandLabel:"Start manager",clientCommandLabel:"Connect workstation",slotCommandLabel:"Pin to slot 3",manualCommandLabel:"Advanced manual connection"}),ar:Mt({languageName:"العربية",languageLabel:"لغة المستند",eyebrow:"LiveDesk Manual",title:"افتح Screen Wall محلي بأمر واحد",intro:"LiveDesk هو deck بنمط npm-first لمراقبة عدة workstations وأجهزة AI وMac mini وأجهزة تطوير من كمبيوتر manager واحد.",managerTitle:"1. شغل manager",managerBody:"شغل LiveDesk على الكمبيوتر الذي سيعرض الشاشات. يبدأ manager الواجهة والخادم المحلي معا ويفتح http://127.0.0.1:5179.",managerPoints:["الأمر هو npx -y livedesk.","يستخدم manager المنفذ 5179 للواجهة/API والمنفذ 5197 لاتصالات client.","إذا بقيت عملية LiveDesk قديمة على المنافذ، يتم تنظيفها افتراضيا عند التشغيل."],clientTitle:"2. وصل workstation",clientBody:"على كل كمبيوتر تتم مراقبته، سجل الدخول بنفس حساب Google. إذا لم يكن manager متاحا، يبقى client يعمل ويحاول كل 5 ثوان.",clientPoints:["npx -y livedesk client يختار أول slot فارغ.","npx -y livedesk client 3 يثبت الجهاز في slot 3.","clients تستمر بالمحاولة لتجنب تكرار تسجيل الدخول عند كثرة الأجهزة."],syncTitle:"3. Sync Server والاكتشاف",syncBody:"Sync Server ينشر هذا manager كـ active Screen Wall للحساب. يقرأ clients سجل Supabase ويجربون endpoints بالترتيب.",syncPoints:["السجل يتضمن host instance وعناوين LAN/private وpublic candidates وpair token وlease قصير.","يتم تفضيل LAN أولا، ثم public عند الحاجة.","اضغط Sync Server بعد تغيير manager أو VPN أو firewall أو router.","Chrome Local Network Access على livedesk.pages.dev لم يعد مسار التشغيل الافتراضي. تطبيق npm manager هو الخادم الحقيقي."],platformTitle:"4. حالة المنصات",platformBody:"Windows تم التحقق منه مع نقل شاشة live. macOS وLinux يتبعان نفس مسار npm.",platformPoints:["Windows: تم التحقق.","macOS: capture/control يحتاجان أذونات Screen Recording/Accessibility.","Linux: تمت إضافة linux-x64 runtime وgrim/gnome-screenshot/import/scrot capture وxdotool input. الصوت ما زال معطلا."],firewallTitle:"Firewall والمواقع البعيدة",firewallBody:"داخل نفس LAN غالبا لا تحتاج port forwarding. من شبكة أخرى يجب أن يصل client إلى منفذ manager client.",firewallPoints:["منفذ client: TCP 5197.","أجهزة client تحتاج عادة اتصال outbound فقط.","للشبكات البعيدة، اسمح TCP 5197 inbound على manager ووجه TCP 5197 من router إلى manager PC.","المنفذ 5179 مخصص لواجهة manager؛ اكشفه فقط إذا كان متصفح بعيد يحتاج فتح Wall مباشرة.","يفضل VPN أو Tailscale أو ZeroTier أو fixed IP allowlist بدل التعريض العام."],commandsTitle:"الأوامر الحالية",commandsBody:"اتجاه المنتج هو أمر terminal واحد عبر الأنظمة، وليس تحميل وتثبيت يدوي من موقع.",managerCommandLabel:"Start manager",clientCommandLabel:"Connect workstation",slotCommandLabel:"Pin to slot 3",manualCommandLabel:"Advanced manual connection"}),tr:Mt({languageName:"Türkçe",languageLabel:"Belge dili",eyebrow:"LiveDesk Manual",title:"Yerel Screen Wall tek komutla açılsın",intro:"LiveDesk, tek bir manager PC üzerinden birçok workstation, AI box, Mac mini ve dev machine izlemek için npm-first bir çalışma deckidir.",managerTitle:"1. Manager çalıştır",managerBody:"Ekranları izleyecek bilgisayarda LiveDesk manager çalıştır. Manager UI ve local server birlikte başlar ve http://127.0.0.1:5179 açılır.",managerPoints:["Komut: npx -y livedesk.","Manager Screen Wall/API için 5179, client bağlantıları için 5197 kullanır.","Eski LiveDesk process portları tutuyorsa başlangıç varsayılan olarak temizler."],clientTitle:"2. Workstation bağla",clientBody:"İzlenecek bilgisayarda aynı Google hesabıyla giriş yap. Manager henüz online değilse client kapanmaz ve her 5 saniyede tekrar dener.",clientPoints:["npx -y livedesk client ilk boş slota yerleşir.","npx -y livedesk client 3 makineyi slot 3’e sabitler.","Çok makinede tekrar tekrar login gerekmesin diye client beklemeye devam eder."],syncTitle:"3. Sync Server ve discovery",syncBody:"Sync Server bu managerı hesabın active Screen Wall kaydı olarak Supabase’e yazar. Clients bu kaydı okuyup endpoint adaylarını dener.",syncPoints:["Host instance, LAN/private adresler, public adaylar, pair token ve kısa lease içerir.","Önce LAN adayları, gerekirse public adaylar denenir.","Manager, VPN, firewall veya router değişince Sync Server’a bas.","livedesk.pages.dev üzerindeki Chrome Local Network Access artık default runtime yolu değil. Gerçek server npm manager app."],platformTitle:"4. Platform durumu",platformBody:"Windows live screen transfer ile doğrulandı. macOS ve Linux aynı npm yolunu takip ediyor.",platformPoints:["Windows: doğrulandı.","macOS: capture/control için Screen Recording/Accessibility izinleri gerekir.","Linux: linux-x64 runtime, grim/gnome-screenshot/import/scrot capture ve xdotool input backend eklendi. Audio kapalı."],firewallTitle:"Firewall ve uzak konumlar",firewallBody:"Aynı LAN içinde genelde router forwarding gerekmez. Başka ağdan clients manager client portuna ulaşabilmelidir.",firewallPoints:["Client port: TCP 5197.","Client makineler normalde sadece outbound erişim ister.","Uzak ağ için manager firewall üzerinde TCP 5197 inbound aç ve routerdan TCP 5197yi manager PCye forward et.","5179 manager UI portudur; sadece uzak browser Wall açacaksa expose et.","Public internet yerine VPN, Tailscale, ZeroTier veya sabit IP allowlist tercih et."],commandsTitle:"Güncel komutlar",commandsBody:"Ürün yönü, webden indirip kurmak yerine işletim sistemleri arasında ortak tek terminal komutu.",managerCommandLabel:"Manager başlat",clientCommandLabel:"Workstation bağla",slotCommandLabel:"Slot 3’e sabitle",manualCommandLabel:"Gelişmiş manuel bağlantı"})},lT=Object.entries(hs).map(([i,n])=>({id:i,label:n.languageName}));function oT(){if(typeof navigator>"u")return"en";const i=navigator.languages?.length?navigator.languages:[navigator.language];for(const n of i){const r=n.toLowerCase();if(hs[n])return n;if(r.startsWith("zh-tw")||r.startsWith("zh-hk"))return"zh-TW";if(r.startsWith("pt"))return"pt-BR";const l=r.split("-")[0];if(hs[l])return l}return"en"}function Ly({index:i,selected:n,onSelect:r}){const l=i+1;return p.jsx("article",{className:`device-tile placeholder-tile ${n?"selected":""}`,children:p.jsxs("button",{className:"tile-screen",onClick:r,"aria-pressed":n,title:`Select slot ${l}`,type:"button",children:[p.jsx("span",{className:"slot-grid","aria-hidden":"true"}),p.jsxs("span",{className:"empty-screen",children:[p.jsx(cs,{size:24}),p.jsxs("strong",{children:["Slot ",String(l).padStart(3,"0")]})]})]})})}function My({device:i,frame:n,selected:r,controlEnabled:l,showStatus:c,monitorIndex:d,monitorCount:h,onSelect:m,onFocusDevice:f,onOpenControl:y,onCycleMonitor:w,onCanvasReady:S,sendInput:T}){const x=O.useRef(null),R=O.useRef(null),z=O.useRef(null),G=O.useRef(null),V=Tv(i),I=Hn(d,h),F=h>1,ee=F1(i,n,I),we=ee>=wc?100:ee/wc*100,le=ee>=wc?wc/ee*100:100,Z={"--screen-aspect":ee.toFixed(5),"--screen-content-width":`${Math.max(1,Math.min(100,we)).toFixed(3)}%`,"--screen-content-height":`${Math.max(1,Math.min(100,le)).toFixed(3)}%`},je=O.useCallback(_=>{x.current=_,S(i.deviceId,_)},[i.deviceId,S]),Ee=_=>{const H=_.currentTarget.getBoundingClientRect();return{normalizedX:Math.max(0,Math.min(1,(_.clientX-H.left)/Math.max(1,H.width))),normalizedY:Math.max(0,Math.min(1,(_.clientY-H.top)/Math.max(1,H.height)))}},ve=_=>({shiftKey:_.shiftKey,ctrlKey:_.ctrlKey,altKey:_.altKey,metaKey:_.metaKey}),be=O.useCallback(()=>{G.current!==null&&(window.clearInterval(G.current),G.current=null)},[]),ue=O.useCallback((_=!1)=>{const H=R.current;if(!H){_&&be();return}const Q=Number(H.input.normalizedX),te=Number(H.input.normalizedY);if(!Number.isFinite(Q)||!Number.isFinite(te)){R.current=null,be();return}const pe=z.current,A=performance.now()-H.updatedAt,D=_||!pe||A>=ky,J=D?Q:pe.x+(Q-pe.x)*Ty,ae=D?te:pe.y+(te-pe.y)*Ty,ye=Math.abs(J-Q)<Ay?Q:J,Se=Math.abs(ae-te)<Ay?te:ae;T(i.deviceId,{...H.input,normalizedX:ye,normalizedY:Se}),z.current={x:ye,y:Se},(D||ye===Q&&Se===te&&A>=ky)&&(R.current=null,be())},[i.deviceId,T,be]),ge=O.useCallback(()=>{G.current===null&&(G.current=window.setInterval(()=>ue(!1),N1))},[ue]);O.useEffect(()=>()=>{be(),R.current=null,z.current=null},[be]);const X=(_,H)=>{if(!l)return;const Q={type:H,monitorIndex:I,...Ee(_),button:tT(_.button),...ve(_)};if(H==="pointermove"){R.current={input:Q,updatedAt:performance.now()},ge();return}R.current&&ue(!0),T(i.deviceId,Q)},Le=O.useCallback(_=>{const H=document.activeElement;H instanceof HTMLElement&&_.contains(H)&&H.classList.contains("monitor-cycle-button")&&H.blur()},[]);return p.jsx("article",{className:`device-tile ${r?"selected":""} ${i.connected?"online":"offline"}`,"data-live-device-id":i.deviceId,style:Z,children:p.jsxs("div",{className:`tile-screen ${n?"has-frame":"is-empty"}`,role:"button",tabIndex:l?-1:0,"aria-pressed":r,onClick:()=>{l||m()},onKeyDown:_=>{l||(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),m())},onDoubleClick:_=>{_.preventDefault(),y()},onPointerLeave:_=>Le(_.currentTarget),children:[p.jsx("span",{className:`screen-content ${n?"has-frame":"is-empty"}`,children:p.jsx("canvas",{ref:je,className:`remote-canvas ${n?"has-frame":"is-empty"}`,tabIndex:l?0:-1,onPointerDown:_=>{l&&(_.preventDefault(),_.stopPropagation(),f(),_.currentTarget.focus(),_.currentTarget.setPointerCapture(_.pointerId),X(_,"pointerdown"))},onPointerMove:_=>{l&&_.preventDefault(),X(_,"pointermove")},onPointerUp:_=>{l&&(_.preventDefault(),_.stopPropagation(),X(_,"pointerup"),_.currentTarget.hasPointerCapture(_.pointerId)&&_.currentTarget.releasePointerCapture(_.pointerId))},onPointerCancel:_=>{_.currentTarget.hasPointerCapture(_.pointerId)&&_.currentTarget.releasePointerCapture(_.pointerId)},onWheel:_=>{l&&(_.preventDefault(),T(i.deviceId,{type:"wheel",monitorIndex:I,...Ee(_),deltaX:_.deltaX,deltaY:_.deltaY,...ve(_)}))},onKeyDown:_=>{l&&(_.preventDefault(),_.stopPropagation(),T(i.deviceId,{type:"keydown",monitorIndex:I,key:_.key,code:_.code,keyCode:_.keyCode||_.which||0,location:_.location,text:_.key.length===1?_.key:"",repeat:_.repeat,...ve(_)}))},onKeyUp:_=>{l&&(_.preventDefault(),_.stopPropagation(),T(i.deviceId,{type:"keyup",monitorIndex:I,key:_.key,code:_.code,keyCode:_.keyCode||_.which||0,location:_.location,text:_.key.length===1?_.key:"",repeat:!1,...ve(_)}))},onContextMenu:_=>l&&_.preventDefault()})}),!n&&p.jsx("span",{className:"empty-screen",children:p.jsx(cs,{size:26})}),c&&p.jsxs(p.Fragment,{children:[p.jsx("span",{className:`tile-health-pill state-${V.state}`,children:V.label}),p.jsx("span",{className:"tile-metrics","aria-label":`${Lc(i)} status`,children:V.metrics.slice(0,3).map(_=>p.jsxs("span",{className:`tile-metric state-${_.state}`,children:[p.jsx("b",{children:_.label}),p.jsx("em",{children:_.value}),_.ratio!==void 0&&p.jsx("i",{style:{width:`${Math.round(_.ratio*100)}%`}})]},_.id))})]}),F&&p.jsxs("span",{className:"monitor-cycle","aria-label":`${Lc(i)} display ${I+1} of ${h}`,children:[p.jsx("button",{className:"monitor-cycle-button previous",onClick:_=>{_.preventDefault(),_.stopPropagation(),w(-1),_.currentTarget.blur()},title:"Previous display",type:"button",children:p.jsx(Uy,{size:18})}),p.jsxs("span",{className:"monitor-cycle-count",children:["Screen ",I+1,"/",h]}),p.jsx("button",{className:"monitor-cycle-button next",onClick:_=>{_.preventDefault(),_.stopPropagation(),w(1),_.currentTarget.blur()},title:"Next display",type:"button",children:p.jsx(zy,{size:18})})]})]})})}function cT({visible:i}){return O.useEffect(()=>{if(!i||!Th)return;if(!document.getElementById(_y)){const r=document.createElement("script");r.id=_y,r.async=!0,r.crossOrigin="anonymous",r.src=`https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=${encodeURIComponent(Yh)}`,document.head.appendChild(r)}const n=window.setTimeout(()=>{try{window.adsbygoogle=window.adsbygoogle||[],window.adsbygoogle.push({})}catch{}},120);return()=>window.clearTimeout(n)},[i]),i?p.jsxs("aside",{className:`free-ad-banner ${Th?"adsense-ready":"house-ad"}`,"aria-label":"Advertisement",children:[p.jsx("span",{className:"ad-label",children:"Advertisement"}),Th?p.jsx("ins",{className:"adsbygoogle livedesk-ad-unit",style:{display:"block"},"data-ad-client":Yh,"data-ad-slot":fv,"data-ad-format":"auto","data-full-width-responsive":"true"}):p.jsxs("div",{className:"house-ad-copy",children:[p.jsx("strong",{children:"Sponsored placement"}),p.jsx("span",{children:"Local AI gear, mini PCs, GPUs, NAS, and developer tools."})]})]}):null}function uT(){const{session:i,loading:n}=y1(),{target:r,error:l,refresh:c}=b1(i),d=O.useMemo(()=>{if(!r?.active)return null;const b=r.expires_at?Date.parse(r.expires_at):Number.POSITIVE_INFINITY;return Number.isFinite(b)&&b<=Date.now()?null:r},[r]),h=O.useMemo(()=>py(d),[d]),m=O.useMemo(()=>h.length>0?[...new Set([...h,Ut])]:[Ut],[h]),[f,y]=O.useState(I1),w=O.useMemo(()=>m.some(b=>!!zl(b)),[m]),S=!w||f,{status:T,devices:x,error:R,refresh:z,hubBaseUrl:G}=v1(m,S),{entitlement:V,licensed:I,loading:F,error:ee,refresh:we}=S1(i),[le,Z]=O.useState([]),[je,Ee]=O.useState([]),[ve,be]=O.useState(""),[ue,ge]=O.useState(!1),[X,Le]=O.useState(!1),[_,H]=O.useState(""),[Q,te]=O.useState(""),[pe,A]=O.useState(""),[D,J]=O.useState("wall"),[ae,ye]=O.useState("large"),[Se,De]=O.useState(oT),[tt,nt]=O.useState(!1),[In,Cn]=O.useState(!1),[ir,rr]=O.useState(!1),[na,gs]=O.useState(!1),[La,Pc]=O.useState(q1),[re,sr]=O.useState(Y1),[Ht,bi]=O.useState({}),[ps,lr]=O.useState([]),[Pe,ys]=O.useState(re.fps),Si=O.useRef(new Map),or=O.useRef(new Map),[cr,Hc]=O.useState({}),ur=O.useRef(new Map),[$c,qc]=O.useState({}),aa=O.useRef(new Map),At=O.useRef(new Map),Qt=O.useRef(new Map),[wt,ia]=O.useState(null),[Ic,vs]=O.useState(!1),wi=O.useRef(null),_i=O.useRef(null),Ma=O.useRef(!1),Gn=O.useRef(0),ra=O.useRef(0),Zt=O.useRef(0),Jl=D==="settings",bs=D==="pricing",dr=D==="doc",Da=!bs&&!dr,rt=D==="control",He=O.useMemo(()=>x.filter(b=>b.connected),[x]),Xl=O.useMemo(()=>He.reduce((b,M)=>Math.max(b,kl(M.slotNumber)),0),[He]),en=Math.max(C1,He.length,Xl),Ua=O.useMemo(()=>{const b=Array(en).fill(null),M=[];for(const K of He){const B=kl(K.slotNumber);B>0&&B<=en&&!b[B-1]?b[B-1]=K:M.push(K)}for(const K of M){const B=b.findIndex(Y=>!Y);B<0?b.push(K):b[B]=K}return b},[He,en]),hr=O.useMemo(()=>He.map(b=>b.deviceId),[He]),fr=O.useMemo(()=>new Set(le),[le]),za=O.useMemo(()=>new Set(je),[je]),zt=O.useMemo(()=>He.filter(b=>fr.has(b.deviceId)||za.has(kl(b.slotNumber))),[He,fr,za]),W=O.useMemo(()=>x.find(b=>b.deviceId===ve)||zt[0]||null,[x,ve,zt]),Je=O.useMemo(()=>W?Tv(W):null,[W]),Ba=W?Bl(W,"control"):!1,Ti=W?Bl(W,"audio")||Bl(W,"remoteAudio"):!1,st=I?V?.plan==="pro"?"pro":"ltd":"free",Ql=Xn[st],Ss=Ql.limit,ki=st==="free"&&He.length<=Ol,Ze=He.length<=Ss,tn=st==="ltd"?`Plus includes up to ${jl} workstations. Upgrade to Pro for commercial use and larger walls.`:`Free includes up to ${Ol} workstations. Upgrade to Plus for ${jl} devices and no ads.`,Pa=st==="free",Ha=Ze&&!!W,Bt=Ze&&!!W&&Ba,ut=Ze&&!!W&&Ti,Ai=O.useMemo(()=>Ua.filter(b=>!!b?.connected).slice(0,J1(ae)).map(b=>b.deviceId),[Ua,ae]),mr=O.useMemo(()=>re.visibleOnlyLive?ps.length>0?ps:Ai:hr,[Ai,ps,re.visibleOnlyLive,hr]),_t=O.useMemo(()=>{if(!Ze)return[];const b=rt&&W?mr.filter(M=>M!==W.deviceId):mr;return xh(b)},[Ze,W,rt,mr]),nn=O.useMemo(()=>Ze&&rt&&W?[W.deviceId]:[],[Ze,W,rt]),Gc=O.useMemo(()=>xh([..._t,...nn]),[nn,_t]),sa=O.useMemo(()=>X1(re,ae),[re,ae]),ws=O.useCallback((b,M)=>{if(M){Si.current.set(b,M);return}Si.current.delete(b)},[]),Zl=O.useCallback((b,M)=>{const K=performance.now();At.current.set(M.deviceId,K);const B=or.current.get(M.deviceId)||{totalFrames:0,totalChangedFrames:0,sampleFrames:0,sampleChangedFrames:0,sampleStartedAt:K,intervalCount:0,intervalSumMs:0,minIntervalMs:Number.POSITIVE_INFINITY,maxIntervalMs:0,seqGapCount:0,maxSeqGap:0};B.totalFrames+=1,B.sampleFrames+=1,xy(B,K,M.frameSeq),M.visualChanged&&(B.totalChangedFrames+=1,B.sampleChangedFrames+=1),B.lastInfo=M,or.current.set(M.deviceId,B)},[]);O.useEffect(()=>{const b=window.setInterval(()=>{const M=performance.now(),K={};for(const[B,Y]of or.current.entries()){const ne=Math.max(1,M-Y.sampleStartedAt);K[B]={totalFrames:Y.totalFrames,totalChangedFrames:Y.totalChangedFrames,framesPerSecond:Y.sampleFrames*1e3/ne,changedFramesPerSecond:Y.sampleChangedFrames*1e3/ne,averageIntervalMs:Y.intervalCount>0?Y.intervalSumMs/Y.intervalCount:0,minIntervalMs:Number.isFinite(Y.minIntervalMs)?Y.minIntervalMs:0,maxIntervalMs:Y.maxIntervalMs,intervalCount:Y.intervalCount,seqGapCount:Y.seqGapCount,maxSeqGap:Y.maxSeqGap,sampleMs:ne,lastInfo:Y.lastInfo},Y.sampleChangedFrames=0,Ey(Y,M)}Hc(K)},1e3);return()=>window.clearInterval(b)},[]);const Ei=O.useCallback(b=>{const M=performance.now();aa.current.set(b.deviceId,M);const K=ur.current.get(b.deviceId)||{totalFrames:0,sampleFrames:0,sampleStartedAt:M,intervalCount:0,intervalSumMs:0,minIntervalMs:Number.POSITIVE_INFINITY,maxIntervalMs:0,seqGapCount:0,maxSeqGap:0};K.totalFrames+=1,K.sampleFrames+=1,K.lastFrame=b,xy(K,M,b.frameSeq),ur.current.set(b.deviceId,K)},[]);O.useEffect(()=>{const b=window.setInterval(()=>{const M=performance.now(),K={};for(const[B,Y]of ur.current.entries()){const ne=Math.max(1,M-Y.sampleStartedAt);K[B]={totalFrames:Y.totalFrames,framesPerSecond:Y.sampleFrames*1e3/ne,averageIntervalMs:Y.intervalCount>0?Y.intervalSumMs/Y.intervalCount:0,minIntervalMs:Number.isFinite(Y.minIntervalMs)?Y.minIntervalMs:0,maxIntervalMs:Y.maxIntervalMs,intervalCount:Y.intervalCount,seqGapCount:Y.seqGapCount,maxSeqGap:Y.maxSeqGap,sampleMs:ne,lastFrame:Y.lastFrame},Ey(Y,M)}qc(K)},1e3);return()=>window.clearInterval(b)},[]);const la=O.useCallback(b=>{Ei(b);const M=Si.current.get(b.deviceId);M&&l1(M,b,()=>Si.current.get(b.deviceId)!==M,Zl).catch(()=>{})},[Zl,Ei]),Rn=O.useMemo(()=>({fps:Pe,maxWidth:sa.maxWidth,maxHeight:sa.maxHeight,quality:re.quality,mode:re.frameMode,frameMode:re.frameMode,monitorSelections:Ht,onFrame:la}),[Pe,la,sa,Ht,re]),$t=O.useMemo(()=>({fps:Pe,maxWidth:kh.maxWidth,maxHeight:kh.maxHeight,quality:re.quality,mode:re.frameMode,frameMode:re.frameMode,monitorSelections:Ht,onFrame:la}),[Pe,la,Ht,re]),{frames:_s,state:xi,stats:mn,restartLive:Ci}=wy(_t,re.autoStartLive&&_t.length>0,G,Rn),{frames:Ri,state:Vc,stats:qt,restartLive:gr}=wy(nn,re.autoStartLive&&nn.length>0,G,$t),pr=O.useMemo(()=>{const b=new Map(_s);for(const[M,K]of Ri.entries())b.set(M,K);return b},[Ri,_s]),$a=rt&&nn.length>0?Vc:xi,oa=rt&&nn.length>0?qt:mn,Ts=O.useCallback((b,M="browser-stale")=>{const K=Ci(b,M),B=gr(b,M);return K||B},[gr,Ci]),{state:Oi,sendInput:On,stats:qa}=k1(Bt&&ue,G),{state:ks,error:As}=x1(W?.deviceId||"",ut&&X,G);O.useEffect(()=>{if(!rt||!ue||!Bt||!W)return;const b=(B,Y)=>{const ne=B.target,de=ne?.tagName?.toLowerCase();ne?.isContentEditable||de==="input"||de==="textarea"||de==="select"||(B.preventDefault(),B.stopPropagation(),On(W.deviceId,{type:Y,monitorIndex:Hn(Ht[W.deviceId],Bn(W)),key:B.key,code:B.code,keyCode:B.keyCode||B.which||0,location:B.location,text:B.key.length===1?B.key:"",repeat:Y==="keydown"?B.repeat:!1,shiftKey:B.shiftKey,ctrlKey:B.ctrlKey,altKey:B.altKey,metaKey:B.metaKey}))},M=B=>b(B,"keydown"),K=B=>b(B,"keyup");return window.addEventListener("keydown",M),window.addEventListener("keyup",K),()=>{window.removeEventListener("keydown",M),window.removeEventListener("keyup",K)}},[Bt,ue,Ht,W,On,rt]),O.useEffect(()=>{if(!rt||!W||$a!=="open"||!re.autoStartLive)return;const b=W.deviceId,M=window.setInterval(()=>{const K=performance.now(),B=aa.current.get(b)||0,Y=At.current.get(b)||0,ne=Qt.current.get(b)||0;if(K-ne<D1)return;const de=B>0&&K-B>jy,$e=B>0&&(Y<=0||K-Y>jy);if(!de&&!$e)return;Ts([b],de?"control-receive-stale":"control-paint-stale")&&Qt.current.set(b,K)},650);return()=>window.clearInterval(M)},[$a,Ts,W,rt,re.autoStartLive]),O.useEffect(()=>{if(xi!=="open"||!re.autoStartLive||_t.length===0)return;const b=window.setInterval(()=>{const M=performance.now(),K=1e3/Math.max(1,Pe||re.fps||1),B=Math.max(U1,Math.ceil(K*4)),Y=[];for(const ne of _t){if(Y.length>=P1)break;const de=aa.current.get(ne)||0;if(de<=0)continue;const $e=Qt.current.get(ne)||0;if(M-$e<z1)continue;const Me=At.current.get(ne)||0,at=M-de>B,Tr=Me<=0||M-Me>B;(at||Tr)&&Y.push(ne)}if(Y.length>0&&Ci(Y,"wall-frame-stale"))for(const ne of Y)Qt.current.set(ne,M)},B1);return()=>window.clearInterval(b)},[Pe,Ci,re.autoStartLive,re.fps,_t,xi]),O.useEffect(()=>{ys(re.fps),ra.current=Date.now(),Zt.current=0},[re.fps,re.frameMode,re.adaptiveLoadShedding]),O.useEffect(()=>{e1({h264DecodeAcceleration:re.h264DecodeAcceleration})},[re.h264DecodeAcceleration]),O.useEffect(()=>{if(!Ze||rt||!re.visibleOnlyLive){lr([]);return}const b=wi.current;if(!b||typeof IntersectionObserver>"u"){lr(Ai);return}const M=Array.from(b.querySelectorAll("[data-live-device-id]"));if(M.length===0){lr([]);return}const K=new Map,B=()=>{const ne=xh(M.map(de=>String(de.dataset.liveDeviceId||"")).filter(de=>(K.get(de)||0)>0));lr(de=>Eh(de,ne)?de:ne)},Y=new IntersectionObserver(ne=>{for(const de of ne){const $e=String(de.target.dataset.liveDeviceId||"");$e&&K.set($e,de.isIntersecting?de.intersectionRatio||.01:0)}B()},{root:null,rootMargin:Wt.visibleRootMargin,threshold:[0,.01,.2,.6,1]});return M.forEach(ne=>Y.observe(ne)),B(),()=>Y.disconnect()},[Ai,Ze,rt,Ua,re.visibleOnlyLive,ae]),O.useEffect(()=>{if(!re.adaptiveLoadShedding||!re.autoStartLive||_t.length===0||re.frameMode==="mode3-h264-hw"||xi!=="open"||mn.sampleMs<500)return;const b=Date.now(),M=re.fps,K=_t.length*Pe,B=mn.framesPerSecond,Y=mn.bytesPerSecond,ne=K>8&&B>0&&B<K*.72;if(B>Wt.maxWallFramesPerSecond||Y>Wt.maxWallBytesPerSecond||ne){if(Zt.current=0,b-ra.current>=Wt.downshiftCooldownMs&&Pe>Wt.minFps){const Me=Math.max(Wt.minFps,Q1(Pe));Me<Pe&&(ys(Me),ra.current=b)}return}const $e=B<Wt.maxWallFramesPerSecond*Wt.lowLoadFrameRatio&&Y<Wt.maxWallBytesPerSecond*Wt.lowLoadByteRatio;if(!$e||Pe>=M){$e||(Zt.current=0);return}if(!Zt.current){Zt.current=b;return}if(b-Zt.current>=Wt.recoveryCooldownMs){const Me=Math.min(M,Z1(Pe,M));Me>Pe&&(ys(Me),ra.current=b,Zt.current=0)}},[Pe,_t.length,xi,mn.bytesPerSecond,mn.framesPerSecond,mn.lastUpdatedAt,mn.sampleMs,re.adaptiveLoadShedding,re.autoStartLive,re.frameMode,re.fps]),O.useEffect(()=>{const b=new URLSearchParams(window.location.search).get("checkout");if(b==="success"){te("Checkout returned. Waiting for Dodo confirmation."),we();const M=window.setInterval(()=>{we()},4e3),K=window.setTimeout(()=>{window.clearInterval(M)},45e3);return()=>{window.clearInterval(M),window.clearTimeout(K)}}b==="cancelled"&&te("Checkout cancelled.")},[we]),O.useEffect(()=>{!Ze&&ue&&ge(!1),!Ze&&X&&Le(!1)},[X,ue,Ze]),O.useEffect(()=>{Le(!1)},[W?.deviceId]),O.useEffect(()=>{const b=He.map(B=>B.deviceId),M=new Set(b),K=new Map(He.map(B=>[B.deviceId,B]));Z(B=>{const Y=B.filter(ne=>M.has(ne));return Eh(B,Y)?B:Y}),be(B=>B&&M.has(B)?B:""),Ee(B=>{const Y=B.filter(ne=>ne>=1&&ne<=en);return Eh(B.map(String),Y.map(String))?B:Y}),bi(B=>{let Y=!1;const ne={};for(const[de,$e]of Object.entries(B)){if(!M.has(de)){Y=!0;continue}const Me=K.get(de),at=Hn($e,Me?Bn(Me):1);ne[de]=at,at!==$e&&(Y=!0)}return Y?ne:B})},[He,en]),O.useEffect(()=>{try{localStorage.setItem(uv,La)}catch{}},[La]),O.useEffect(()=>{W1(re)},[re]);const ji=O.useCallback(async()=>{const b=new Set(m);b.add(Ut);try{const ne=await xn("/api/remote/status",void 0,Ut);py({endpoint:ne.agentEndpoint,endpoint_candidates:[...ne.agentEndpointCandidates||[],...ne.hostTargetEndpointCandidates||[]]}).forEach(de=>b.add(de))}catch{}const M=[...b].sort((ne,de)=>{const $e=Me=>{const at=zl(Me);return at==="local"?0:at==="loopback"?1:2};return $e(ne)-$e(de)||ne.localeCompare(de)});let K=!1,B="",Y=!1;try{for(const ne of M){const de=zl(ne);try{if(await xn("/api/health",void 0,ne),de==="local")return y(!0),ns(!0),ne;de==="loopback"&&(K=!0,B=ne)}catch{de==="local"&&(Y=!0)}}return K?(Y&&te("LiveDesk Hub is reachable on this PC, but not through the LAN address yet. Restart LiveDesk Hub to bind 5179 on the network."),y(!0),ns(!0),B||Ut):(y(!1),ns(!1),"")}catch{return y(!1),ns(!1),""}},[m]),yr=async()=>{H("auth"),Cn(!1),await ji();const{error:b}=await ea.auth.signInWithOAuth({provider:"google",options:{redirectTo:window.location.origin}});b&&(te(b.message),H(""))},Kc=async()=>{H("auth"),Cn(!1),await ea.auth.signOut(),H("")};O.useEffect(()=>{if(!In)return;const b=K=>{K.target instanceof Element&&(K.target.closest(".account-popover, .rail-account")||Cn(!1))},M=K=>{K.key==="Escape"&&Cn(!1)};return window.addEventListener("pointerdown",b),window.addEventListener("keydown",M),()=>{window.removeEventListener("pointerdown",b),window.removeEventListener("keydown",M)}},[In]);const jn=O.useCallback(async(b={})=>{const M=b.silent===!0,K=b.takeover===!0,B=b.requestLocalAccess===!0,Y=B?await ji():"";if(!i?.user){M||te("Sign in before publishing this host.");return}if(!Ma.current){Ma.current=!0,M||H("host");try{const ne=Y||G||Ut,de=T||await xn("/api/remote/status",void 0,ne);if(!de.started)throw new Error("Start LiveDesk on this computer before syncing the server.");const $e=`livedesk-${i.user.id}`,Me=await xn("/api/remote/host-target",{method:"POST",body:JSON.stringify({nodeId:$e,leaseMs:6e4,takeover:K})},ne);if(!Me.ok)throw new Error(Me.error||"host-target-failed");const at=await xn("/api/remote/status",void 0,ne),Tr=Me.hostTarget||{},du=at.hostTargetEndpointCandidates||at.agentEndpointCandidates||de.agentEndpointCandidates||[at.agentEndpoint||de.agentEndpoint].filter(Boolean),{data:zs,error:co}=await ea.rpc("set_livedesk_remote_host_target",{p_node_id:$e,p_lease_id:String(Tr.leaseId||at.hostTargetLeaseId||crypto.randomUUID()),p_host_instance_id:at.hostInstanceId||$e,p_endpoint:at.hostTargetEndpoint||at.agentEndpoint||de.agentEndpoint,p_pair_token:at.pairToken||"",p_manager_package:"@livedesk/hub",p_manager_version:at.managerVersion||"0.1.0",p_agent_package:"@livedesk/client",p_activated_at:new Date().toISOString(),p_expires_at:new Date(Date.now()+6e4).toISOString(),p_takeover:K,p_endpoint_candidates:du,p_pairing_pin:at.pairingPin||""});if(co)throw co;const Bs=Array.isArray(zs)?zs[0]:zs;if(Bs&&Bs.ok===!1)throw new Error(Bs.reason||"registry-rejected");M||(te("Host published."),(B||w)&&(y(!0),ns(!0)),z()),c()}catch(ne){if(!M){const de=ne instanceof Error?ne.message:String(ne);de.includes("local network access")&&(y(!1),ns(!1)),te(de)}}finally{Ma.current=!1,M||H("")}}},[G,w,z,c,ji,i,T]),Nn=O.useCallback(async()=>{if(!_){H("pin");try{const M=await xn("/api/remote/pairing-pin",{method:"POST"},G||Ut);if(!M.ok)throw new Error(M.error||"pin-rotation-failed");await z(),i?.user&&await jn({silent:!0,takeover:!0}),te("New PIN published.")}catch(b){te(b instanceof Error?b.message:String(b))}finally{H("")}}},[_,G,jn,z,i]);O.useEffect(()=>{if(!i?.user||!T?.started||R)return;const b=r?.expires_at?Date.parse(r.expires_at):Number.POSITIVE_INFINITY,M=r?.active===!0&&(!r.expires_at||!Number.isFinite(b)||b>Date.now()),K=!!r?.host_instance_id&&!!T.hostInstanceId&&r.host_instance_id===T.hostInstanceId;if(M&&!K)return;let B=!1;const Y=()=>{if(B)return;const de=Date.now();de-Gn.current<25e3||(Gn.current=de,jn({silent:!0}))};Y();const ne=window.setInterval(Y,3e4);return()=>{B=!0,window.clearInterval(ne)}},[R,jn,i?.user?.id,T?.agentEndpoint,T?.hostInstanceId,T?.started,r?.active,r?.expires_at,r?.host_instance_id]);const Ln=O.useCallback(b=>{b&&(be(b),Z(M=>M.includes(b)?M:[...M,b]))},[]),vr=O.useCallback(b=>{if(!b)return;const M=He.find(B=>B.deviceId===b),K=kl(M?.slotNumber);be(b),K>0&&Ee(B=>B.filter(Y=>Y!==K)),Z(B=>B.includes(b)?B:[...B,b])},[He]),ca=O.useCallback(b=>{!Number.isInteger(b)||b<1||b>en||(be(""),Ee(M=>M.includes(b)?M.filter(K=>K!==b):[...M,b].sort((K,B)=>K-B)))},[en]),gn=O.useCallback(()=>{Z([]),Ee([]),be(""),ge(!1),Le(!1)},[]),Es=O.useCallback(()=>{Z([]),be(""),ge(!1),Le(!1),Ee(Array.from({length:en},(b,M)=>M+1))},[en]),br=O.useCallback((b,M)=>{const K=He.find(Y=>Y.deviceId===b);if(!K)return;const B=Bn(K);B<=1||(bi(Y=>{const de=(Hn(Y[b],B)+M+B)%B;return{...Y,[b]:de}}),Ln(b))},[He,Ln]);O.useEffect(()=>{const b=M=>{if(rt&&ue&&Bt)return;const K=M.target,B=K?.tagName?.toLowerCase();K?.isContentEditable||B==="input"||B==="textarea"||B==="select"||((M.ctrlKey||M.metaKey)&&M.key.toLowerCase()==="a"&&(M.preventDefault(),Es()),M.key==="Escape"&&gn())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[Bt,gn,ue,Es,rt]);const Ia=async(b,M={})=>{if(!Ze){te(tn);return}Ln(b);try{const K=He.find(ne=>ne.deviceId===b),B=M.focused||rt?kh:sa,Y=Hn(M.monitorIndex??Ht[b],K?Bn(K):1);await xn(`/api/remote/devices/${encodeURIComponent(b)}/live/start`,{method:"POST",body:JSON.stringify({fps:Pe,maxWidth:B.maxWidth,maxHeight:B.maxHeight,quality:re.quality,mode:re.frameMode,frameMode:re.frameMode,monitorIndex:Y})},G),te("Live stream requested."),z()}catch(K){te(K instanceof Error?K.message:String(K))}},Ni=(b,M)=>{const K=He.find(Y=>Y.deviceId===b),B=Hn(M,K?Bn(K):1);bi(Y=>({...Y,[b]:B})),Ln(b),rt&&!re.autoStartLive&&Ia(b,{focused:!0,monitorIndex:B})},pn=async b=>{if(Ln(b),J("control"),!Ze){ge(!1),te(tn);return}ge(!0),await Ia(b,{focused:!0})},xs=async()=>{if(!W){te("Select a workstation before playing audio.");return}if(!Ze){te(tn);return}if(!Ti){te("Selected workstation does not report remote audio support yet.");return}const b=!X;Le(b);try{await xn(`/api/remote/devices/${encodeURIComponent(W.deviceId)}/audio/${b?"start":"stop"}`,{method:"POST",body:JSON.stringify({mimeType:"audio/webm;codecs=opus",sampleRate:48e3,channels:2})},G),te(b?"Remote audio requested.":"Remote audio stopped.")}catch(M){Le(!1),te(M instanceof Error?M.message:String(M))}},Ga=async b=>{const M=Array.from(b).filter(ne=>ne.size>=0);if(M.length===0)return;if(!Ze){te(tn);return}const K=zt.length>0?zt.map(ne=>ne.deviceId):W?[W.deviceId]:[];if(K.length===0){te("Select at least one workstation before dropping files.");return}const B=M.reduce((ne,de)=>ne+de.size,0),Y=crypto.randomUUID();if(B>j1){ia({id:Y,status:"failed",progress:100,message:`Transfer is too large (${Na(B)}).`});return}ia({id:Y,status:"reading",progress:2,message:`Preparing ${M.length} file${M.length===1?"":"s"}`});try{let ne=0;const de=[];for(const Me of M){const at=await Me.arrayBuffer();ne+=Me.size,ia({id:Y,status:"reading",progress:Math.max(4,Math.round(ne/Math.max(1,B)*58)),message:`Preparing ${Na(ne)} / ${Na(B)}`}),de.push({name:Me.name,relativePath:Me.webkitRelativePath||Me.name,size:Me.size,type:Me.type,lastModified:Me.lastModified,dataBase64:eT(at)})}ia({id:Y,status:"sending",progress:72,message:`Sending to ${K.length} workstation${K.length===1?"":"s"}`});const $e=await xn("/api/remote/files/transfer",{method:"POST",body:JSON.stringify({transferId:Y,deviceIds:K,remoteDirectory:La.trim(),files:de})},G);if(!$e.ok)throw new Error($e.error||"file-transfer-not-queued");ia({id:Y,status:"queued",progress:100,message:`Queued ${M.length} file${M.length===1?"":"s"} to ${$e.queued}/${$e.total}`}),window.setTimeout(()=>{ia(Me=>Me?.id===Y&&Me.status==="queued"?null:Me)},4500)}catch(ne){ia({id:Y,status:"failed",progress:100,message:ne instanceof Error?ne.message:String(ne)})}},Vn=b=>{b.preventDefault(),b.stopPropagation(),vs(!1),Ga(b.dataTransfer.files)},Cs=async()=>{const b=pe.trim();if(b){if(!Ze){te(tn);return}H("task");try{await xn("/api/remote/tasks",{method:"POST",body:JSON.stringify({instruction:b,allConnected:!0,approvalLevel:"task-only"})},G),A(""),te("Task queued."),z()}catch(M){te(M instanceof Error?M.message:String(M))}finally{H("")}}},ua=async(b="ltd")=>{if(!i){te("Sign in with Google before checkout.");return}if(I&&b===st){te("LiveDesk license is already active.");return}if(I&&st==="pro"){te("LiveDesk Pro is already active.");return}H("checkout");try{const{data:M,error:K}=await ea.functions.invoke("dodo-checkout",{body:{plan:b}});if(K)throw K;if(!M?.checkout_url)throw new Error("Checkout function did not return a checkout URL.");window.location.assign(M.checkout_url)}catch(M){te(M instanceof Error?M.message:String(M)),H("")}},Kn=H1(),Li=$1(),Sr=He.length,Rs=Gc.filter(b=>pr.has(b)).length,Et=$a==="open"&&oa.sampleMs>0?`${oa.framesPerSecond.toFixed(1)} fps`:$a,_e=W?pr.get(W.deviceId):void 0,da=W?Hn(Ht[W.deviceId],Bn(W)):0,Va=W?V1(W):[],Fc=typeof _e?.monitorIndex=="number"?Hn(_e.monitorIndex,Math.max(1,_e.monitorCount||1)):da,Mi=(_e&&Fc===da?wv(_e):null)||(W?Sv(W,da):null),Di=Mi?`${Mi.width}x${Mi.height}`:"-",an=W?$c[W.deviceId]:void 0,rn=W?cr[W.deviceId]:void 0,Nt=rn?.lastInfo,Yc=an&&an.sampleMs>0?`${an.framesPerSecond.toFixed(1)} fps`:"waiting",Wc=an?`#${an.totalFrames} / ${Yc}`:"waiting",Os=rn&&rn.sampleMs>0?`${rn.framesPerSecond.toFixed(1)} fps`:"waiting",Jc=rn&&rn.sampleMs>0?`${rn.changedFramesPerSecond.toFixed(1)} fps`:"waiting",Xc=Nt?`#${Nt.frameSeq} ${Nt.h264DecodeAcceleration} q${Nt.queueSize} r${Nt.renderQueueSize} d${Nt.droppedForLatency} ${Nt.visualChanged?"changed":"same"}`:"waiting",Qc=Nt?`${Math.round(Nt.queuedForMs)}ms total / ${Math.round(Nt.decodedForMs)}ms decode / ${Math.round(Nt.scheduledForMs)}ms pace / ${Nt.drawMs.toFixed(1)}ms draw`:"-",Zc=Cy(an),eu=Cy(rn),to=an&&rn?`rx ${Ry(an)} / paint ${Ry(rn)}`:"waiting",js=_e?_e.frameMode||_e.mode||_e.codec||_e.mimeType:re.frameMode,Ns=re.frameMode,tu=js!==Ns?`${Ns} -> ${js}`:Ns,nu=_e?`${_e.width}x${_e.height} ${Na(_e.byteLength)}`:`${re.maxWidth}x${re.maxHeight}`,Ls=_e?`${_e.isKeyFrame?"key":String(_e.chunkType||"delta")}`:"-",au=_e&&_e.monitorCount?`${(_e.monitorIndex??0)+1}/${_e.monitorCount}`:"-",iu=_e?[`src ${Math.round(_e.sourceGapMs||0)}ms`,`send ${Math.round(_e.agentSendGapMs||0)}ms`,`pace ${Math.round(_e.agentPaceMs||0)}ms`,_e.droppedByAgent?`drop ${_e.droppedByAgent}`:"",_e.platformProfile||_e.hardwareEncoder||"-",_e.contentHash?`bit ${_e.contentHash.slice(0,6)}`:"",Nt?.visualHash?`pix ${Nt.visualHash.slice(0,6)}`:""].filter(Boolean).join(" / "):"-",ru=Oi==="open"?[`${qa.sentPerSecond.toFixed(1)} hz`,qa.droppedPerSecond>0?`drop ${qa.droppedPerSecond.toFixed(1)}/s`:"",qa.bufferedAmount>0?`buf ${Na(qa.bufferedAmount)}`:"",qa.lastInputType||"ready"].filter(Boolean).join(" / "):Oi,no=_e?`#${_e.frameSeq} ${yy(_e.receivedAt||_e.capturedAt)}`:"waiting",ao=R?"offline":T?.started?"online":"starting",wr=zt.length+je.filter(b=>!He.some(M=>kl(M.slotNumber)===b)).length,su=je.length===1?`Slot ${String(je[0]).padStart(3,"0")}`:`${je.length} slots selected`,lu=wr===0?"No workstation":wr>1?`${wr} selected`:W?Lc(W):su,xt=hs[Se]||hs.en,_r=xt.sync||hs.en.sync,Ms=n||F?"checking":I?st==="pro"?"Pro LTD active":`Plus LTD ${He.length}/${jl}`:ki?`Free ${He.length}/${Ol}`:`Upgrade ${He.length}/${Ol}`,ou=st==="pro"?"Pro active":_==="checkout"?"Opening":st==="ltd"?"Pro $199":"Plus $79",Ds=I?st==="pro"?"Pro active":"Upgrade to Pro LTD":i?_==="checkout"?"Opening checkout":st==="ltd"?"Buy Pro LTD":"Buy Plus LTD":_==="auth"?"Opening Google":"Sign in to buy",Ui=st==="pro"||_==="checkout"||_==="auth"||n||F,io=i?.user.user_metadata,zi=Ny(io,"avatar_url","picture"),Ka=Ny(io,"full_name","name")||i?.user.email||"Google",Us=Ka.slice(0,1).toUpperCase(),ro=T?.started?"Local app ready":"Start LiveDesk",so=r?.active?"Published":i?"Not published":"Sign in required",Fa=/^\d{6}$/.test(T?.pairingPin||"")?T?.pairingPin:"------",cu=Ah.find(b=>b.width===re.maxWidth&&b.height===re.maxHeight)?.id||`${re.maxWidth}x${re.maxHeight}`,uu=kc.find(b=>b.id===re.frameMode)||kc[0],yn=b=>{sr(M=>{const K=b.frameMode?Wh(b.frameMode):M.frameMode,B=b.frameMode!==void 0&&K!==M.frameMode;return{...M,...b,frameMode:K,fps:Jh(b.fps??(B?yv(K):M.fps),K)}})},lo=b=>{const M=Ah.find(K=>K.id===b);M&&yn({maxWidth:M.width,maxHeight:M.height})},oo=b=>{if(b==="control"){if(J(b),!Ze){ge(!1),te(tn);return}ge(!0),W&&Ia(W.deviceId,{focused:!0});return}J(b),ge(!1)};return p.jsxs("main",{className:"app-shell",children:[p.jsxs("aside",{className:"tool-rail","aria-label":"LiveDesk tools",children:[p.jsx("div",{className:"rail-brand",title:"LiveDesk",children:p.jsx(cs,{size:22})}),p.jsx("nav",{className:"rail-tools",children:sT.map(b=>{const M=b.icon;return p.jsxs("button",{className:`rail-tool ${D===b.id?"active":""} accent-${b.accent}`,onClick:()=>oo(b.id),title:b.label,type:"button",children:[p.jsx(M,{size:19}),p.jsx("span",{children:b.label})]},b.id)})}),p.jsxs("div",{className:"rail-footer",children:[p.jsxs("button",{className:"rail-tool compact sync-server",onClick:()=>jn({takeover:!0,requestLocalAccess:!0}),title:"Sync Server",type:"button",children:[p.jsx(uh,{size:18}),p.jsx("span",{children:"Sync Server"})]}),p.jsxs("button",{className:`rail-tool compact local-settings ${ir?"active":""}`,onClick:()=>{rr(b=>!b),Cn(!1)},title:"Local Settings",type:"button",children:[p.jsx(Py,{size:18}),p.jsx("span",{children:"Settings"})]}),ir&&p.jsxs("section",{className:"local-settings-popover",role:"dialog","aria-label":"LiveDesk local settings",children:[p.jsxs("div",{className:"local-settings-head",children:[p.jsxs("div",{children:[p.jsx("strong",{children:"Local Settings"}),p.jsx("p",{children:"Saved on this browser"})]}),p.jsx("button",{className:"icon-button",onClick:()=>rr(!1),title:"Close settings",type:"button",children:p.jsx(Np,{size:15})})]}),p.jsxs("label",{className:"local-setting-row",children:[p.jsx("span",{children:"Frame mode"}),p.jsx("select",{value:re.frameMode,onChange:b=>yn({frameMode:Wh(b.target.value)}),children:kc.map(b=>p.jsxs("option",{value:b.id,children:[b.label," - ",b.detail]},b.id))})]}),p.jsxs("label",{className:"local-setting-row",children:[p.jsx("span",{children:"H.264 decode"}),p.jsx("select",{value:re.h264DecodeAcceleration,onChange:b=>yn({h264DecodeAcceleration:pv(b.target.value)}),children:gv.map(b=>p.jsx("option",{value:b.id,children:b.label},b.id))})]}),p.jsxs("div",{className:"local-setting-grid",children:[p.jsxs("label",{className:"local-setting-row",children:[p.jsx("span",{children:"FPS"}),p.jsx("select",{value:re.fps,onChange:b=>yn({fps:Jh(b.target.value,re.frameMode)}),children:tf.filter(b=>b<=vv(re.frameMode)).map(b=>p.jsx("option",{value:b,children:b},b))})]}),p.jsxs("label",{className:"local-setting-row",children:[p.jsx("span",{children:"Size"}),p.jsx("select",{value:cu,onChange:b=>lo(b.target.value),children:Ah.map(b=>p.jsx("option",{value:b.id,children:b.label},b.id))})]})]}),p.jsxs("label",{className:"local-setting-row",children:[p.jsx("span",{children:"Quality"}),p.jsx("select",{value:re.quality,onChange:b=>yn({quality:Pl(b.target.value,20,95,Jt.quality)}),children:M1.map(b=>p.jsx("option",{value:b,children:b},b))})]}),p.jsxs("label",{className:"local-setting-toggle",children:[p.jsx("input",{type:"checkbox",checked:re.autoStartLive,onChange:b=>yn({autoStartLive:b.target.checked})}),p.jsx("span",{children:"Auto live on connected screens"})]}),p.jsxs("label",{className:"local-setting-toggle",children:[p.jsx("input",{type:"checkbox",checked:re.visibleOnlyLive,onChange:b=>yn({visibleOnlyLive:b.target.checked})}),p.jsx("span",{children:"Stream visible tiles first"})]}),p.jsxs("label",{className:"local-setting-toggle",children:[p.jsx("input",{type:"checkbox",checked:re.adaptiveSizeByWall,onChange:b=>yn({adaptiveSizeByWall:b.target.checked})}),p.jsx("span",{children:"Fit stream size to wall"})]}),p.jsxs("label",{className:"local-setting-toggle",children:[p.jsx("input",{type:"checkbox",checked:re.adaptiveLoadShedding,onChange:b=>yn({adaptiveLoadShedding:b.target.checked})}),p.jsx("span",{children:"Reduce FPS under load"})]}),p.jsxs("label",{className:"local-setting-toggle",children:[p.jsx("input",{type:"checkbox",checked:re.showScreenStatus,onChange:b=>yn({showScreenStatus:b.target.checked})}),p.jsx("span",{children:"Screen status overlay"})]}),p.jsxs("div",{className:"local-settings-summary",children:[p.jsx("span",{children:uu.label}),p.jsxs("strong",{children:[sa.maxWidth,"x",sa.maxHeight," / ",Pe,"fps"]})]}),p.jsx("button",{className:"local-settings-reset",onClick:()=>sr(Jt),type:"button",children:"Reset local settings"})]}),p.jsxs("button",{className:`rail-account ${i?"signed-in":""}`,onClick:()=>{Cn(b=>!b),rr(!1)},disabled:n||_==="auth","aria-expanded":In,title:i?`Account: ${i.user.email||Ka}`:"Sign in with Google",type:"button",children:[i?zi?p.jsx("img",{src:zi,alt:Ka,referrerPolicy:"no-referrer"}):p.jsx("span",{className:"avatar-fallback",children:Us}):p.jsx(hh,{size:18}),p.jsx("span",{children:i?"Account":"Google"})]}),In&&p.jsxs("section",{className:"account-popover",role:"dialog","aria-label":"LiveDesk account",children:[p.jsxs("div",{className:"account-popover-head",children:[p.jsx("div",{className:"account-popover-avatar",children:i&&zi?p.jsx("img",{src:zi,alt:Ka,referrerPolicy:"no-referrer"}):i?p.jsx("span",{children:Us}):p.jsx(hh,{size:18})}),p.jsxs("div",{children:[p.jsx("strong",{children:i?Ka:"Account"}),p.jsx("p",{children:i?.user.email||"Not signed in"})]})]}),p.jsxs("dl",{className:"account-popover-facts",children:[p.jsx("dt",{children:"User"}),p.jsx("dd",{children:i?.user.email||"Not signed in"}),p.jsx("dt",{children:"Network"}),p.jsx("dd",{children:ro}),p.jsx("dt",{children:"Access"}),p.jsx("dd",{children:so}),p.jsx("dt",{children:"Plan"}),p.jsx("dd",{children:Ms}),p.jsx("dt",{children:"Ads"}),p.jsx("dd",{children:st==="free"?"Standard banner":"Removed"})]}),i?p.jsxs("button",{className:"account-popover-action",onClick:Kc,disabled:_==="auth",type:"button",children:[p.jsx(Eb,{size:16}),"Logout"]}):p.jsxs("button",{className:"account-popover-action primary",onClick:yr,disabled:_==="auth",type:"button",children:[p.jsx(hh,{size:16}),"Sign in with Google"]})]})]})]}),p.jsxs("section",{className:`desk-stage ${Da&&!tt?"dock-open":""} ${rt?"control-stage":""}`,children:[p.jsxs("header",{className:"topbar",children:[p.jsxs("div",{className:"brand",children:[p.jsx("span",{className:"brand-mark",children:p.jsx(ch,{size:18})}),p.jsxs("div",{children:[p.jsx("h1",{children:"LiveDesk"}),p.jsx("p",{children:"Control wall for local machines"})]})]}),Da&&!rt&&p.jsx("div",{className:"top-actions",children:p.jsx("div",{className:"segmented-control","aria-label":"Screen size",children:rT.map(b=>p.jsx("button",{className:ae===b.id?"active":"",onClick:()=>ye(b.id),type:"button",children:b.label},b.id))})})]}),dr?p.jsxs("section",{className:"doc-page",lang:Se,dir:Se==="ar"?"rtl":"ltr",children:[p.jsxs("section",{className:"doc-hero",children:[p.jsxs("div",{className:"doc-hero-copy",children:[p.jsxs("span",{className:"pricing-eyebrow",children:[p.jsx(Oh,{size:16}),xt.eyebrow]}),p.jsx("h2",{children:xt.title}),p.jsx("p",{children:xt.intro})]}),p.jsxs("label",{className:"doc-language-picker",children:[p.jsxs("span",{children:[p.jsx(bb,{size:17}),xt.languageLabel]}),p.jsx("select",{value:Se,onChange:b=>De(b.target.value),children:lT.map(b=>p.jsx("option",{value:b.id,children:b.label},b.id))})]})]}),p.jsx("section",{className:"doc-grid",children:xt.sections.map((b,M)=>{const B=[mh,rs,By,jp][M]||Oh;return p.jsxs("article",{className:"doc-card",children:[p.jsx("div",{className:"doc-card-icon",children:p.jsx(B,{size:19})}),p.jsxs("div",{children:[p.jsx("h3",{children:b.title}),p.jsx("p",{children:b.body}),p.jsx("ul",{children:b.points.map(Y=>p.jsx("li",{children:Y},Y))})]})]},b.title)})}),_r&&p.jsxs("section",{className:"doc-sync",children:[p.jsxs("div",{className:"doc-sync-head",children:[p.jsx(uh,{size:20}),p.jsxs("div",{children:[p.jsx("h3",{children:_r.title}),p.jsx("p",{children:_r.body})]})]}),p.jsx("ul",{children:_r.points.map(b=>p.jsx("li",{children:b},b))})]}),p.jsxs("section",{className:"doc-firewall",children:[p.jsxs("div",{className:"doc-firewall-head",children:[p.jsx(Rp,{size:20}),p.jsxs("div",{children:[p.jsx("h3",{children:xt.firewall.title}),p.jsx("p",{children:xt.firewall.body})]})]}),p.jsx("ul",{children:xt.firewall.points.map(b=>p.jsx("li",{children:b},b))})]}),p.jsxs("section",{className:"doc-command-panel",children:[p.jsxs("div",{className:"doc-command-head",children:[p.jsx(rs,{size:20}),p.jsxs("div",{children:[p.jsx("h3",{children:xt.commands.title}),p.jsx("p",{children:xt.commands.body})]})]}),p.jsxs("div",{className:"doc-command-list",children:[xt.commands.manager&&p.jsxs("div",{className:"doc-command-row",children:[p.jsx("span",{children:xt.commands.manager}),p.jsx("code",{children:Li}),p.jsx("button",{className:"icon-button",onClick:()=>Tl(Li),title:"Copy command",type:"button",children:p.jsx(wl,{size:16})})]}),p.jsxs("div",{className:"doc-command-row",children:[p.jsx("span",{children:xt.commands.primary}),p.jsx("code",{children:Kn}),p.jsx("button",{className:"icon-button",onClick:()=>Tl(Kn),title:"Copy command",type:"button",children:p.jsx(wl,{size:16})})]}),p.jsxs("div",{className:"doc-command-row",children:[p.jsx("span",{children:xt.commands.slot}),p.jsx("code",{children:`${Kn} 3`}),p.jsx("button",{className:"icon-button",onClick:()=>Tl(`${Kn} 3`),title:"Copy command",type:"button",children:p.jsx(wl,{size:16})})]})]})]})]}):bs?p.jsxs("section",{className:"pricing-page",children:[(ee||Q)&&p.jsx("section",{className:"notice-band",children:ee||Q}),p.jsxs("section",{className:"pricing-offer",children:[p.jsx("button",{className:"pricing-close",onClick:()=>J("wall"),title:"Close pricing",type:"button",children:p.jsx(Np,{size:18})}),p.jsxs("div",{className:"pricing-offer-head",children:[p.jsxs("span",{className:"pricing-eyebrow",children:[p.jsx(Pb,{size:15}),"LiveDesk plans"]}),p.jsxs("div",{className:"deal-price-line",children:[p.jsx("strong",{children:"$5"}),p.jsx("span",{className:"deal-arrow",children:"/mo"}),p.jsxs("span",{className:"deal-badge",children:[p.jsx(cb,{size:15}),"Plus LTD $79"]})]}),p.jsx("p",{children:"Start free with 5 devices and a standard ad banner. Plus removes ads for 30 personal devices; Pro covers commercial workstation walls."})]}),p.jsxs("div",{className:"deal-table",role:"table","aria-label":"LiveDesk launch pricing",children:[p.jsxs("div",{className:"deal-row deal-row-head",role:"row",children:[p.jsx("span",{role:"columnheader",children:"Plan"}),p.jsx("span",{role:"columnheader",children:"Best fit"}),p.jsx("span",{role:"columnheader",children:"Price"})]}),p.jsxs("div",{className:"deal-row",role:"row",children:[p.jsx("strong",{role:"cell",children:"Free"}),p.jsx("span",{role:"cell",children:"5 personal devices, standard ad banner"}),p.jsx("strong",{role:"cell",children:"$0"})]}),p.jsxs("div",{className:"deal-row deal-row-highlight",role:"row",children:[p.jsx("strong",{role:"cell",children:"Plus"}),p.jsx("span",{role:"cell",children:"Creators, homelabs, AI workstations"}),p.jsx("strong",{role:"cell",children:"$5/mo / $40/yr / $79 LTD"})]}),p.jsxs("div",{className:"deal-row",role:"row",children:[p.jsx("strong",{role:"cell",children:"Pro"}),p.jsx("span",{role:"cell",children:"Business, studios, client work"}),p.jsx("strong",{role:"cell",children:"$15/mo / $120/yr / $199 LTD"})]})]}),p.jsxs("div",{className:"deal-card-grid","aria-label":"LiveDesk plan cards",children:[p.jsxs("section",{className:"deal-plan-card",children:[p.jsx("span",{children:Xn.free.audience}),p.jsx("h3",{children:"Free"}),p.jsx("strong",{children:Xn.free.price}),p.jsx("p",{children:Xn.free.note}),p.jsxs("ul",{children:[p.jsx("li",{children:"Core screen wall"}),p.jsx("li",{children:"Live view and control"}),p.jsx("li",{children:"Personal use only"})]})]}),p.jsxs("section",{className:"deal-plan-card featured",children:[p.jsx("span",{children:Xn.ltd.audience}),p.jsx("h3",{children:"Plus"}),p.jsx("strong",{children:Xn.ltd.ltd}),p.jsxs("p",{children:["$5/mo or $40/year. ",Xn.ltd.note]}),p.jsxs("ul",{children:[p.jsxs("li",{children:["Up to ",jl," devices"]}),p.jsx("li",{children:"No standard ad banner"}),p.jsx("li",{children:"Personal, creator, homelab use"})]}),p.jsxs("button",{className:"deal-card-button",onClick:i?()=>ua("ltd"):yr,disabled:st!=="free"||_==="checkout"||_==="auth"||n||F,type:"button",children:[p.jsx(El,{size:16}),st==="free"?i?"Buy Plus LTD":"Sign in for Plus":"Plus active"]})]}),p.jsxs("section",{className:"deal-plan-card",children:[p.jsx("span",{children:Xn.pro.audience}),p.jsx("h3",{children:"Pro"}),p.jsx("strong",{children:Xn.pro.ltd}),p.jsxs("p",{children:["$15/mo or $120/year. ",Xn.pro.note]}),p.jsxs("ul",{children:[p.jsx("li",{children:"30+ device walls"}),p.jsx("li",{children:"Commercial use included"}),p.jsx("li",{children:"Future team and advanced controls"})]}),p.jsxs("button",{className:"deal-card-button",onClick:i?()=>ua("pro"):yr,disabled:st==="pro"||_==="checkout"||_==="auth"||n||F,type:"button",children:[p.jsx(El,{size:16}),st==="pro"?"Pro active":i?"Buy Pro LTD":"Sign in for Pro"]})]})]}),p.jsxs("section",{className:"deal-module",children:[p.jsxs("div",{className:"deal-module-title",children:[p.jsx("strong",{children:"LiveDesk includes"}),p.jsx("span",{children:Ms})]}),p.jsxs("ul",{className:"deal-feature-list",children:[p.jsxs("li",{children:[p.jsx(cs,{size:16}),p.jsx("span",{children:"Screen wall slots"}),p.jsx("b",{children:"120+"})]}),p.jsxs("li",{children:[p.jsx(jh,{size:16}),p.jsx("span",{children:"Focused control"}),p.jsx("b",{children:"Local"})]}),p.jsxs("li",{children:[p.jsx(Op,{size:16}),p.jsx("span",{children:"Remote PC audio"}),p.jsx("b",{children:"PCM"})]}),p.jsxs("li",{children:[p.jsx(dh,{size:16}),p.jsx("span",{children:"File transfer"}),p.jsx("b",{children:"24MB"})]})]})]}),p.jsxs("section",{className:"deal-open-price",children:[p.jsx("span",{children:"Current plan"}),p.jsx("strong",{children:Ql.name}),p.jsxs("small",{children:[He.length,"/",L1(Ss)," devices. Cloud relay, hosted services, and future paid add-ons may require a subscription."]})]}),p.jsxs("p",{className:"deal-note",children:[p.jsx(mb,{size:15}),"Commercial use requires Pro. Plus LTD is for personal, creator, and homelab use."]}),p.jsxs("button",{className:"deal-cta",onClick:i?()=>ua(st==="ltd"?"pro":"ltd"):yr,disabled:Ui,type:"button",children:[p.jsx(El,{size:18}),Ds]}),p.jsx("button",{className:"deal-later",onClick:()=>J("wall"),type:"button",children:"Later"})]})]}):p.jsx(p.Fragment,{children:p.jsxs("section",{className:`monitor-layout ${tt?"dock-collapsed":""}`,children:[p.jsxs("section",{ref:wi,className:`screen-wall-panel ${Ic?"drop-active":""}`,onClick:b=>{b.currentTarget===b.target&&gn()},onDragEnter:b=>{b.preventDefault(),vs(!0)},onDragOver:b=>{b.preventDefault(),b.dataTransfer.dropEffect="copy"},onDragLeave:b=>{b.currentTarget===b.target&&vs(!1)},onDrop:Vn,children:[rt?p.jsx("section",{className:"control-focus",children:p.jsxs("div",{className:"control-wall",onClick:b=>{b.currentTarget===b.target&&gn()},children:[W&&Va.length>1&&p.jsx("div",{className:"control-monitor-tabs","aria-label":"Select monitor",children:Va.map(b=>p.jsxs("button",{className:b.index===da?"active":"",onClick:()=>Ni(W.deviceId,b.index),title:K1(b),type:"button",children:[p.jsx("span",{children:b.name||`Display ${b.index+1}`}),b.width>0&&b.height>0&&p.jsxs("small",{children:[b.width,"x",b.height]})]},b.index))}),W?p.jsx(My,{device:W,frame:_e,selected:!0,controlEnabled:Bt&&ue,showStatus:re.showScreenStatus,monitorIndex:Hn(Ht[W.deviceId],Bn(W)),monitorCount:Bn(W),onSelect:()=>vr(W.deviceId),onFocusDevice:()=>Ln(W.deviceId),onOpenControl:()=>pn(W.deviceId),onCycleMonitor:b=>br(W.deviceId,b),onCanvasReady:ws,sendInput:On},W.deviceId):p.jsx(Ly,{index:0,selected:za.has(1),onSelect:()=>ca(1)})]})}):p.jsx("div",{className:`screen-wall size-${ae}`,onClick:b=>{b.currentTarget===b.target&&gn()},children:Ua.map((b,M)=>{const K=M+1;return b?p.jsx(My,{device:b,frame:pr.get(b.deviceId),selected:fr.has(b.deviceId)||za.has(K),controlEnabled:Bt&&ue&&W?.deviceId===b.deviceId,showStatus:re.showScreenStatus,monitorIndex:Hn(Ht[b.deviceId],Bn(b)),monitorCount:Bn(b),onSelect:()=>vr(b.deviceId),onFocusDevice:()=>Ln(b.deviceId),onOpenControl:()=>pn(b.deviceId),onCycleMonitor:B=>br(b.deviceId,B),onCanvasReady:ws,sendInput:On},b.deviceId):p.jsx(Ly,{index:M,selected:za.has(K),onSelect:()=>ca(K)},`slot-${M}`)})}),p.jsx(cT,{visible:Pa&&!rt})]}),p.jsxs("aside",{className:`right-dock ${Jl?"settings-mode":"actions-mode"} ${tt?"collapsed":""}`,"aria-label":"LiveDesk tools",children:[p.jsx("button",{className:"dock-toggle",onClick:()=>nt(b=>!b),"aria-label":tt?"Show control panel":"Hide control panel",title:tt?"Show control panel":"Hide control panel",type:"button",children:tt?p.jsx(Uy,{size:18}):p.jsx(zy,{size:18})}),!tt&&(Jl?p.jsxs(p.Fragment,{children:[(R||l||ee||Q)&&p.jsx("section",{className:"notice-band",children:R||l||ee||Q}),p.jsxs("section",{className:"command-deck",children:[p.jsxs("div",{className:"setup-card",children:[p.jsxs("div",{className:"setup-head",children:[p.jsx("span",{className:"setup-icon",children:p.jsx(cs,{size:18})}),p.jsxs("div",{children:[p.jsx("strong",{children:"Add workstation"}),p.jsx("span",{children:"Connect another local PC to this wall."})]})]}),p.jsxs("div",{className:"setup-pin-row",children:[p.jsxs("div",{children:[p.jsx("span",{children:"Pairing PIN"}),p.jsx("strong",{children:Fa})]}),p.jsxs("button",{className:"text-button ghost compact",onClick:Nn,disabled:!T?.started||_==="pin",type:"button",children:[p.jsx(Tb,{size:15}),"New PIN"]})]}),p.jsxs("button",{className:"text-button primary full",onClick:()=>Tl(Kn),type:"button",children:[p.jsx(wl,{size:16}),"Copy setup"]}),p.jsxs("button",{className:"setup-disclosure",onClick:()=>gs(b=>!b),type:"button",children:[p.jsx(rs,{size:15}),"Advanced setup"]}),na&&p.jsxs("div",{className:"setup-code-row",children:[p.jsx("code",{children:Kn}),p.jsx("button",{className:"icon-button",onClick:()=>Tl(Kn),title:"Copy setup command",type:"button",children:p.jsx(wl,{size:16})})]})]}),p.jsxs("div",{className:"settings-card",children:[p.jsxs("div",{className:"panel-title",children:[p.jsx(dh,{size:17}),p.jsx("h2",{children:"Files"})]}),p.jsxs("label",{className:"field-row",children:[p.jsx("span",{children:"Remote folder"}),p.jsx("input",{value:La,onChange:b=>Pc(b.target.value),placeholder:"Desktop/LiveDeskFiles"})]}),p.jsx("p",{className:"muted",children:"Blank uses Desktop/LiveDeskFiles on each workstation."})]}),p.jsxs("div",{className:"deck-actions",children:[p.jsxs("button",{className:"text-button primary",onClick:()=>jn({takeover:!0,requestLocalAccess:!0}),disabled:!i||_==="host",type:"button",children:[p.jsx(uh,{size:16}),"Sync access"]}),p.jsxs("button",{className:"text-button buy",onClick:()=>ua(st==="ltd"?"pro":"ltd"),disabled:_==="checkout"||st==="pro",type:"button",children:[p.jsx(El,{size:16}),ou]})]})]}),p.jsxs("section",{className:"status-strip",children:[p.jsxs("div",{className:`status-item state-${ao}`,children:[p.jsx(mh,{size:18}),p.jsx("span",{children:"Local app"}),p.jsx("strong",{children:ao})]}),p.jsxs("div",{className:"status-item",children:[p.jsx(jp,{size:18}),p.jsx("span",{children:"Slots"}),p.jsxs("strong",{children:[Sr,"/",en]})]}),p.jsxs("div",{className:"status-item",children:[p.jsx(ch,{size:18}),p.jsx("span",{children:"Frames"}),p.jsxs("strong",{children:[Rs," / ",Et]})]}),p.jsxs("div",{className:"status-item",children:[p.jsx(Rp,{size:18}),p.jsx("span",{children:"Plan"}),p.jsx("strong",{children:Ms})]})]})]}):p.jsxs(p.Fragment,{children:[p.jsxs("section",{className:"action-dock",children:[p.jsxs("div",{className:"action-context",children:[p.jsx("span",{children:wr>0?"Selection":"No selection"}),p.jsx("strong",{children:lu})]}),p.jsx("input",{ref:_i,className:"hidden-file-input",type:"file",multiple:!0,onChange:b=>{b.currentTarget.files&&Ga(b.currentTarget.files),b.currentTarget.value=""}}),(R||Q)&&p.jsx("div",{className:"notice-band compact",children:p.jsx("span",{children:R||Q})}),p.jsxs("div",{className:"action-grid",children:[p.jsxs("button",{className:"action-tile primary",onClick:()=>W&&Ia(W.deviceId),disabled:!Ha,type:"button",children:[p.jsx(Cp,{size:21}),p.jsx("span",{children:"Live"})]}),p.jsxs("button",{className:`action-tile ${ue?"active":""}`,onClick:()=>ge(b=>!b),disabled:!Bt,type:"button",children:[p.jsx(jh,{size:21}),p.jsx("span",{children:Oi!=="idle"?Oi:"Control"})]}),p.jsxs("button",{className:`action-tile ${X?"active":""}`,onClick:xs,disabled:!ut,type:"button",title:Ti?"Remote PC audio":"Remote audio is not supported by this workstation yet",children:[p.jsx(Op,{size:21}),p.jsx("span",{children:X&&ks!=="idle"?ks:"Audio"})]}),p.jsxs("button",{className:"action-tile",onClick:()=>_i.current?.click(),disabled:!Ze||zt.length===0,type:"button",title:"File transfer",children:[p.jsx(dh,{size:21}),p.jsx("span",{children:"Files"})]}),p.jsxs("button",{className:"action-tile",disabled:!0,type:"button",title:"Reboot",children:[p.jsx(Lb,{size:21}),p.jsx("span",{children:"Reboot"})]}),p.jsxs("button",{className:"action-tile",disabled:!0,type:"button",title:"Power",children:[p.jsx(jb,{size:21}),p.jsx("span",{children:"Power"})]}),p.jsxs("button",{className:"action-tile",disabled:!0,type:"button",title:"Terminal",children:[p.jsx(rs,{size:21}),p.jsx("span",{children:"Shell"})]})]})]}),W&&Je&&p.jsxs("section",{className:"side-panel selected-panel",children:[p.jsxs("div",{className:"machine-detail-head",children:[p.jsxs("div",{className:"panel-title",children:[p.jsx(cs,{size:17}),p.jsx("h2",{children:"Machine detail"})]}),p.jsx("span",{className:`machine-health state-${Je.state}`,children:Je.label})]}),p.jsxs("div",{className:"machine-title",children:[p.jsx("strong",{children:Lc(W)}),p.jsx("span",{children:Je.role})]}),p.jsx("div",{className:"machine-metric-grid",children:Je.metrics.map(b=>p.jsxs("article",{className:`machine-metric state-${b.state}`,children:[p.jsx("span",{children:b.label}),p.jsx("strong",{children:b.value}),p.jsx("small",{children:b.detail}),b.ratio!==void 0&&p.jsx("i",{children:p.jsx("b",{style:{width:`${Math.round(b.ratio*100)}%`}})})]},b.id))}),p.jsxs("section",{className:"machine-section",children:[p.jsxs("div",{className:"machine-section-title",children:[p.jsx(ch,{size:15}),p.jsx("span",{children:"Stream"})]}),p.jsxs("dl",{className:"facts compact",children:[p.jsx("dt",{children:"Frames"}),p.jsx("dd",{children:Wc}),p.jsx("dt",{children:"Wall RX"}),p.jsxs("dd",{children:[Rs," screens / ",Et]}),p.jsx("dt",{children:"Painted"}),p.jsx("dd",{children:Os}),p.jsx("dt",{children:"Changed"}),p.jsx("dd",{children:Jc}),p.jsx("dt",{children:"Decoder"}),p.jsx("dd",{children:Xc}),p.jsx("dt",{children:"Latency"}),p.jsx("dd",{children:Qc}),p.jsx("dt",{children:"Receive gap"}),p.jsx("dd",{children:Zc}),p.jsx("dt",{children:"Paint gap"}),p.jsx("dd",{children:eu}),p.jsx("dt",{children:"Seq gap"}),p.jsx("dd",{children:to}),p.jsx("dt",{children:"Selected"}),p.jsx("dd",{children:no}),p.jsx("dt",{children:"Requested"}),p.jsx("dd",{children:tu}),p.jsx("dt",{children:"Mode"}),p.jsx("dd",{children:js}),p.jsx("dt",{children:"Chunk"}),p.jsx("dd",{children:Ls}),p.jsx("dt",{children:"Size"}),p.jsx("dd",{children:nu}),p.jsx("dt",{children:"Native"}),p.jsx("dd",{children:Di}),p.jsx("dt",{children:"Monitor"}),p.jsx("dd",{children:au}),p.jsx("dt",{children:"Source"}),p.jsx("dd",{children:iu}),p.jsx("dt",{children:"Input"}),p.jsx("dd",{children:ru})]})]}),p.jsxs("section",{className:"machine-section",children:[p.jsxs("div",{className:"machine-section-title",children:[p.jsx(rs,{size:15}),p.jsx("span",{children:"Local services"})]}),p.jsx("div",{className:"tool-probe-list",children:Je.tools.map(b=>p.jsxs("span",{className:`tool-probe state-${b.status}`,children:[p.jsx("b",{children:b.label}),p.jsx("em",{children:b.detail})]},b.id))})]}),p.jsxs("section",{className:"machine-section",children:[p.jsxs("div",{className:"machine-section-title",children:[p.jsx(fh,{size:15}),p.jsx("span",{children:"Workload"})]}),p.jsxs("div",{className:"workload-card",children:[p.jsx("strong",{children:Je.taskLabel}),p.jsx("span",{children:Je.taskStatus}),Je.taskSummary&&p.jsx("p",{children:Je.taskSummary})]})]}),p.jsxs("div",{className:"machine-section",children:[p.jsxs("div",{className:"machine-section-title",children:[p.jsx(mh,{size:15}),p.jsx("span",{children:"System"})]}),p.jsxs("dl",{className:"facts compact",children:[p.jsx("dt",{children:"Platform"}),p.jsxs("dd",{children:[W.platform||"-"," ",W.arch||""]}),p.jsx("dt",{children:"Release"}),p.jsx("dd",{children:Xt(W.status,"release")||"-"}),p.jsx("dt",{children:"Uptime"}),p.jsx("dd",{children:_v(it(W.status,"uptimeSec"))}),p.jsx("dt",{children:"Last seen"}),p.jsx("dd",{children:yy(W.lastSeenAt||W.connectedAt)}),p.jsx("dt",{children:"Agent"}),p.jsx("dd",{children:W.agentVersion||"-"}),p.jsx("dt",{children:"Address"}),p.jsx("dd",{children:W.remoteAddress||"-"})]})]}),As&&p.jsx("p",{className:"panel-warning",children:As}),p.jsxs("button",{className:"text-button full",onClick:()=>W&&Ia(W.deviceId),disabled:!Ha,type:"button",children:[p.jsx(Cp,{size:16}),"Start live"]})]}),p.jsxs("section",{className:"side-panel task-panel",children:[p.jsxs("div",{className:"panel-title",children:[p.jsx(fh,{size:17}),p.jsx("h2",{children:"Task"})]}),p.jsx("textarea",{value:pe,onChange:b=>A(b.target.value),placeholder:"Prepare a short status report.",rows:4}),p.jsxs("button",{className:"text-button full primary",onClick:Cs,disabled:_==="task"||!pe.trim()||!Ze,type:"button",children:[p.jsx(fh,{size:16}),"Send to connected"]})]})]}))]})]})})]}),wt&&p.jsxs("aside",{className:`transfer-bar state-${wt.status}`,"aria-live":"polite",children:[p.jsx("div",{className:"transfer-bar-track",children:p.jsx("span",{style:{width:`${Math.max(0,Math.min(100,wt.progress))}%`}})}),p.jsx("p",{children:wt.message})]})]})}tb.createRoot(document.getElementById("root")).render(p.jsx(O.StrictMode,{children:p.jsx(uT,{})}));
|